licailing il y a 5 ans
Parent
commit
870b2118fe

+ 6 - 0
src/main/java/com/izouma/dingdong/domain/PlatformFlow.java

@@ -10,7 +10,10 @@ import org.hibernate.annotations.Where;
 
 
 import javax.persistence.Column;
 import javax.persistence.Column;
 import javax.persistence.Entity;
 import javax.persistence.Entity;
+import javax.persistence.EnumType;
+import javax.persistence.Enumerated;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
+import java.time.LocalDateTime;
 
 
 @Entity
 @Entity
 @Data
 @Data
@@ -23,6 +26,7 @@ public class PlatformFlow extends BaseEntity {
 
 
     private Long userId;
     private Long userId;
 
 
+    @Enumerated(EnumType.STRING)
     private FlowType type;
     private FlowType type;
 
 
     private BigDecimal amount;
     private BigDecimal amount;
@@ -34,6 +38,8 @@ public class PlatformFlow extends BaseEntity {
      */
      */
     private Boolean isCash;
     private Boolean isCash;
 
 
+    private LocalDateTime time;
+
     @Column(nullable = false)
     @Column(nullable = false)
     @Builder.Default
     @Builder.Default
     private Boolean enabled = true;
     private Boolean enabled = true;

+ 3 - 0
src/main/java/com/izouma/dingdong/domain/merchant/Goods.java

@@ -44,6 +44,7 @@ public class Goods extends BaseEntity implements Serializable {
     @ApiModelProperty(value = "销量", name = "sales")
     @ApiModelProperty(value = "销量", name = "sales")
     private Integer totalSales;
     private Integer totalSales;
 
 
+    @Column(nullable = false)
     @ApiModelProperty(value = "点赞数量", name = "likes")
     @ApiModelProperty(value = "点赞数量", name = "likes")
     private Integer likes;
     private Integer likes;
 
 
@@ -56,6 +57,7 @@ public class Goods extends BaseEntity implements Serializable {
     @ApiModelProperty(value = "折扣价格", name = "discountAmount")
     @ApiModelProperty(value = "折扣价格", name = "discountAmount")
     private BigDecimal discountAmount;
     private BigDecimal discountAmount;
 
 
+    @Column(nullable = false)
     @ApiModelProperty(value = "招牌", name = "signboard")
     @ApiModelProperty(value = "招牌", name = "signboard")
     private Boolean signboard;
     private Boolean signboard;
 
 
@@ -103,6 +105,7 @@ public class Goods extends BaseEntity implements Serializable {
     @ApiModelProperty(value = "好评")
     @ApiModelProperty(value = "好评")
     private Boolean praise;
     private Boolean praise;
 
 
+    @Column(nullable = false)
     @ApiModelProperty(value = "人气")
     @ApiModelProperty(value = "人气")
     private Boolean popularity;
     private Boolean popularity;
 
 

+ 4 - 0
src/main/java/com/izouma/dingdong/repo/OrderInfoRepo.java

@@ -24,6 +24,10 @@ public interface OrderInfoRepo extends JpaRepository<OrderInfo, Long>, JpaSpecif
     //按商家查找
     //按商家查找
     List<OrderInfo> findAllByMerchantId(Long merchantId);
     List<OrderInfo> findAllByMerchantId(Long merchantId);
 
 
+    //按商家计算
+//    @Query("select count (t.id) from OrderInfo t where t.orderTime between ?1 and ?2 group by t.merchantId")
+//    Long countMerchant(LocalDateTime start, LocalDateTime end);
+
     //按用户查找
     //按用户查找
     List<OrderInfo> findAllByUserId(Long userId);
     List<OrderInfo> findAllByUserId(Long userId);
 
 

+ 5 - 0
src/main/java/com/izouma/dingdong/repo/PlatformFlowRepo.java

@@ -1,16 +1,21 @@
 package com.izouma.dingdong.repo;
 package com.izouma.dingdong.repo;
 
 
 import com.izouma.dingdong.domain.PlatformFlow;
 import com.izouma.dingdong.domain.PlatformFlow;
+import com.izouma.dingdong.enums.FlowType;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
 import org.springframework.data.jpa.repository.Modifying;
 import org.springframework.data.jpa.repository.Modifying;
 import org.springframework.data.jpa.repository.Query;
 import org.springframework.data.jpa.repository.Query;
 
 
 import javax.transaction.Transactional;
 import javax.transaction.Transactional;
+import java.time.LocalDateTime;
+import java.util.List;
 
 
 public interface PlatformFlowRepo extends JpaRepository<PlatformFlow, Long>, JpaSpecificationExecutor<PlatformFlow> {
 public interface PlatformFlowRepo extends JpaRepository<PlatformFlow, Long>, JpaSpecificationExecutor<PlatformFlow> {
     @Query("update PlatformFlow t set t.enabled = false where t.id = ?1")
     @Query("update PlatformFlow t set t.enabled = false where t.id = ?1")
     @Modifying
     @Modifying
     @Transactional
     @Transactional
     void deleteById(Long id);
     void deleteById(Long id);
+
+    List<PlatformFlow> findAllByTypeAndTimeBetween(FlowType type, LocalDateTime start, LocalDateTime end);
 }
 }

+ 0 - 3
src/main/java/com/izouma/dingdong/service/OrderInfoService.java

@@ -6,7 +6,6 @@ import cn.hutool.core.util.StrUtil;
 import com.izouma.dingdong.domain.*;
 import com.izouma.dingdong.domain.*;
 import com.izouma.dingdong.domain.backstage.BlackList;
 import com.izouma.dingdong.domain.backstage.BlackList;
 import com.izouma.dingdong.domain.merchant.Merchant;
 import com.izouma.dingdong.domain.merchant.Merchant;
-import com.izouma.dingdong.domain.rider.Rider;
 import com.izouma.dingdong.domain.user.ShoppingCart;
 import com.izouma.dingdong.domain.user.ShoppingCart;
 import com.izouma.dingdong.domain.merchant.Goods;
 import com.izouma.dingdong.domain.merchant.Goods;
 import com.izouma.dingdong.domain.merchant.MerchantSettings;
 import com.izouma.dingdong.domain.merchant.MerchantSettings;
@@ -27,7 +26,6 @@ import com.izouma.dingdong.repo.merchant.MerchantSettingsRepo;
 import com.izouma.dingdong.repo.user.AddressRepo;
 import com.izouma.dingdong.repo.user.AddressRepo;
 import com.izouma.dingdong.repo.user.UserCouponRepo;
 import com.izouma.dingdong.repo.user.UserCouponRepo;
 import com.izouma.dingdong.service.merchant.GoodsService;
 import com.izouma.dingdong.service.merchant.GoodsService;
-import com.izouma.dingdong.service.merchant.MerchantService;
 import com.izouma.dingdong.service.merchant.SalesService;
 import com.izouma.dingdong.service.merchant.SalesService;
 import com.izouma.dingdong.service.rider.DeliveryFeeService;
 import com.izouma.dingdong.service.rider.DeliveryFeeService;
 import com.izouma.dingdong.service.tencent.UserSigService;
 import com.izouma.dingdong.service.tencent.UserSigService;
@@ -53,7 +51,6 @@ public class OrderInfoService {
     private ShoppingCartRepo        shoppingCartRepo;
     private ShoppingCartRepo        shoppingCartRepo;
     private AddressRepo             addressRepo;
     private AddressRepo             addressRepo;
     private UserRepo                userRepo;
     private UserRepo                userRepo;
-    private MerchantService         merchantService;
     private SalesService            salesService;
     private SalesService            salesService;
     private MerchantRepo            merchantRepo;
     private MerchantRepo            merchantRepo;
     private UserCouponRepo          userCouponRepo;
     private UserCouponRepo          userCouponRepo;

+ 2 - 0
src/main/java/com/izouma/dingdong/service/OrderRefundApplyService.java

@@ -253,6 +253,7 @@ public class OrderRefundApplyService {
                 .isCash(false)
                 .isCash(false)
                 .amount(orderInfo.getRealAmount())
                 .amount(orderInfo.getRealAmount())
                 .type(FlowType.INCOME)
                 .type(FlowType.INCOME)
+                .time(LocalDateTime.now())
                 .build();
                 .build();
 
 
         //扣除金额
         //扣除金额
@@ -308,6 +309,7 @@ public class OrderRefundApplyService {
                 .isCash(false)
                 .isCash(false)
                 .amount(orderInfo.getRealAmount())
                 .amount(orderInfo.getRealAmount())
                 .type(FlowType.REFUND)
                 .type(FlowType.REFUND)
+                .time(LocalDateTime.now())
                 .build());
                 .build());
     }
     }
 }
 }

+ 132 - 2
src/main/java/com/izouma/dingdong/service/PlatformFlowService.java

@@ -3,6 +3,7 @@ package com.izouma.dingdong.service;
 import com.izouma.dingdong.domain.PlatformFlow;
 import com.izouma.dingdong.domain.PlatformFlow;
 import com.izouma.dingdong.domain.User;
 import com.izouma.dingdong.domain.User;
 import com.izouma.dingdong.enums.ApplyStatus;
 import com.izouma.dingdong.enums.ApplyStatus;
+import com.izouma.dingdong.enums.FlowType;
 import com.izouma.dingdong.enums.Identity;
 import com.izouma.dingdong.enums.Identity;
 import com.izouma.dingdong.enums.OrderStatus;
 import com.izouma.dingdong.enums.OrderStatus;
 import com.izouma.dingdong.repo.OrderInfoRepo;
 import com.izouma.dingdong.repo.OrderInfoRepo;
@@ -13,8 +14,14 @@ import com.izouma.dingdong.repo.rider.RiderRepo;
 import lombok.AllArgsConstructor;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
-import java.util.HashMap;
-import java.util.Map;
+import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
+import java.time.format.DateTimeFormatter;
+import java.time.temporal.TemporalAdjusters;
+import java.util.*;
 
 
 @Service
 @Service
 @AllArgsConstructor
 @AllArgsConstructor
@@ -42,4 +49,127 @@ public class PlatformFlowService {
         return map;
         return map;
     }
     }
 
 
+
+    public Map<Object, BigDecimal> statistics(String type, FlowType flowType) {
+        if (type.equals("DATE")) {
+            return dayStatistics(flowType);
+        }
+        return getVipSummary(flowType);
+    }
+
+    /*
+   7天内的金钱统计
+    */
+    public Map<Object, BigDecimal> dayStatistics(FlowType type) {
+        Map<Object, BigDecimal> statistics = new HashMap<>(7);
+        LocalDateTime today = LocalDateTime.now();
+        LocalDateTime last = LocalDateTime.of(today.toLocalDate(), LocalTime.MIN);
+
+        int i = 7;
+        while (i > 0) {
+            BigDecimal add = platformFlowRepo.findAllByTypeAndTimeBetween(type, last, today)
+                    .stream()
+                    .map(PlatformFlow::getAmount)
+                    .reduce(BigDecimal::add)
+                    .orElse(BigDecimal.ZERO);
+            statistics.put(today.toLocalDate(), add);
+            i--;
+            today = last;
+            last = today.minusDays(1);
+        }
+        return statistics;
+    }
+
+    /*
+    半年内的金钱统计
+     */
+    public BigDecimal monthAmount(Integer month, FlowType type) {
+
+        //计算该月份的第一天
+        Calendar calendar = Calendar.getInstance();
+        // 设置月份
+        calendar.set(Calendar.MONTH, month - 1);
+        // 获取某月最小天数
+        int firstDay = calendar.getActualMinimum(Calendar.DAY_OF_MONTH);
+        // 设置日历中月份的最小天数
+        calendar.set(Calendar.DAY_OF_MONTH, firstDay);
+        // 格式化日期
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+        LocalDateTime start = LocalDateTime.parse(sdf.format(calendar.getTime()) + " 00:00:00", df);
+
+        // 计算当前月份的最后一天
+        Calendar calendar2 = Calendar.getInstance();
+        // 设置月份
+        calendar2.set(Calendar.MONTH, month - 1);
+        // 获取某月最大天数
+        int lastDay = calendar2.getActualMaximum(Calendar.DAY_OF_MONTH);
+        // 设置日历中月份的最大天数
+        calendar2.set(Calendar.DAY_OF_MONTH, lastDay);
+        LocalDateTime end = LocalDateTime.parse(sdf.format(calendar2.getTime()) + " 23:59:59", df);
+
+        // false线下会员,true线上
+        return platformFlowRepo.findAllByTypeAndTimeBetween(type, start, end)
+                .stream()
+                .map(PlatformFlow::getAmount)
+                .reduce(BigDecimal::add)
+                .orElse(BigDecimal.ZERO);
+
+
+    }
+
+    /*
+    每个顺序
+     */
+    public Map<Object, BigDecimal> getVipSummary(FlowType type) {
+        int nowMonth = LocalDateTime.now().getMonthValue();
+        List<Integer> monthList = new ArrayList<Integer>();
+        int monthScape = 6;
+        for (int i = 0; i <= monthScape; i++) {
+            if (i != 0) {
+                if (nowMonth != 1) {
+                    nowMonth = nowMonth - 1;
+                } else {
+                    break;
+                }
+
+            }
+            monthList.add(nowMonth);
+        }
+        Map<Object, BigDecimal> monthNewInMap = new HashMap<>(7);
+        monthList.forEach(month ->
+                monthNewInMap.put(month, monthAmount(month, type))
+        );
+        return monthNewInMap;
+    }
+
+//    public Map<String, Long> getHotSaleGoods(String type) {
+//        LocalDate today = LocalDate.now();
+//        switch (type) {
+//            case "DATE":
+//                return countDayMostSaleGoods();
+//            case "WEEK":
+//                LocalDate weekStart = today.minusDays(6);
+//                List<GoodsSale> goodsSales = orderFormGoodRepo.countAllByCreatedAtBetween(weekStart.atStartOfDay(), today.atTime(23, 59, 59, 99));
+//                Map<String, Long> goodsSaleCounts = new HashMap<>();
+//                goodsSales.forEach(goodsSale -> {
+//                    String goodName = goodsRepo.findById(goodsSale.getGoodsId()).orElse(Goods.builder().name("数据已丢失").build()).getName();
+//                    goodsSaleCounts.put(goodName, goodsSale.getSales());
+//                });
+//                return goodsSaleCounts;
+//            case "MONTH":
+//                LocalDate monthStart = today.with(TemporalAdjusters.firstDayOfMonth());
+//                LocalDate monthEnd = today.with(TemporalAdjusters.lastDayOfMonth());
+//                Map<String, Long> goodsSaleCounts2 = new HashMap<>();
+//                List<GoodsSale> goodsSales1 = orderFormGoodRepo.countAllByCreatedAtBetween(monthStart.atStartOfDay(), monthEnd.atTime(23, 59, 59, 99));
+//                goodsSales1.forEach(goodsSale -> {
+//                    String goodName = goodsRepo.findById(goodsSale.getGoodsId()).orElse(Goods.builder().name("数据已丢失").build()).getName();
+//                    goodsSaleCounts2.put(goodName, goodsSale.getSales());
+//                });
+//                return goodsSaleCounts2;
+//            default:
+//                return null;
+//        }
+//    }
+
 }
 }

+ 1 - 0
src/main/java/com/izouma/dingdong/service/WithdrawApplyService.java

@@ -119,6 +119,7 @@ public class WithdrawApplyService {
                     .isCash(false)
                     .isCash(false)
                     .type(FlowType.WITHDRAW)
                     .type(FlowType.WITHDRAW)
                     .remark(bankCard.getCardNo())
                     .remark(bankCard.getCardNo())
+                    .time(LocalDateTime.now())
                     .build());
                     .build());
 
 
             //发送邮件通知
             //发送邮件通知

+ 4 - 3
src/main/java/com/izouma/dingdong/service/merchant/GoodsService.java

@@ -1,5 +1,6 @@
 package com.izouma.dingdong.service.merchant;
 package com.izouma.dingdong.service.merchant;
 
 
+import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.izouma.dingdong.config.Constants;
 import com.izouma.dingdong.config.Constants;
 import com.izouma.dingdong.converter.LongArrayConverter;
 import com.izouma.dingdong.converter.LongArrayConverter;
@@ -348,10 +349,10 @@ public class GoodsService {
     public Goods change(Goods record) {
     public Goods change(Goods record) {
         Goods orig = goodsRepo.findById(record.getId()).orElseThrow(new BusinessException("无记录"));
         Goods orig = goodsRepo.findById(record.getId()).orElseThrow(new BusinessException("无记录"));
         //如果修改商品名称和图片就重新审核
         //如果修改商品名称和图片就重新审核
-        if (record.getName() != null || record.getImg() != null) {
-            record.setStatus(ApplyStatus.PENDING);
+//        if (record.getName() != null || record.getImg() != null) {
+//            record.setStatus(ApplyStatus.PENDING);
 //            record.setIsPass(false);
 //            record.setIsPass(false);
-        }
+//        }
         ObjUtils.merge(orig, record);
         ObjUtils.merge(orig, record);
         Goods save = this.save(orig);
         Goods save = this.save(orig);
         //如果修改价格,购物车内的商品就要重新计算
         //如果修改价格,购物车内的商品就要重新计算

+ 12 - 3
src/main/java/com/izouma/dingdong/web/PlatformFlowController.java

@@ -1,5 +1,7 @@
 package com.izouma.dingdong.web;
 package com.izouma.dingdong.web;
+
 import com.izouma.dingdong.domain.PlatformFlow;
 import com.izouma.dingdong.domain.PlatformFlow;
+import com.izouma.dingdong.enums.FlowType;
 import com.izouma.dingdong.service.PlatformFlowService;
 import com.izouma.dingdong.service.PlatformFlowService;
 import com.izouma.dingdong.dto.PageQuery;
 import com.izouma.dingdong.dto.PageQuery;
 import com.izouma.dingdong.exception.BusinessException;
 import com.izouma.dingdong.exception.BusinessException;
@@ -13,6 +15,8 @@ import org.springframework.web.bind.annotation.*;
 
 
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.io.IOException;
+import java.math.BigDecimal;
+import java.time.LocalDate;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
 
 
@@ -21,7 +25,7 @@ import java.util.Map;
 @AllArgsConstructor
 @AllArgsConstructor
 public class PlatformFlowController extends BaseController {
 public class PlatformFlowController extends BaseController {
     private PlatformFlowService platformFlowService;
     private PlatformFlowService platformFlowService;
-    private PlatformFlowRepo platformFlowRepo;
+    private PlatformFlowRepo    platformFlowRepo;
 
 
     //@PreAuthorize("hasRole('ADMIN')")
     //@PreAuthorize("hasRole('ADMIN')")
     @PostMapping("/save")
     @PostMapping("/save")
@@ -38,7 +42,7 @@ public class PlatformFlowController extends BaseController {
     //@PreAuthorize("hasRole('ADMIN')")
     //@PreAuthorize("hasRole('ADMIN')")
     @GetMapping("/all")
     @GetMapping("/all")
     public Page<PlatformFlow> all(PageQuery pageQuery) {
     public Page<PlatformFlow> all(PageQuery pageQuery) {
-        return platformFlowRepo.findAll(toSpecification(pageQuery,PlatformFlow.class), toPageRequest(pageQuery));
+        return platformFlowRepo.findAll(toSpecification(pageQuery, PlatformFlow.class), toPageRequest(pageQuery));
     }
     }
 
 
     @GetMapping("/get/{id}")
     @GetMapping("/get/{id}")
@@ -59,8 +63,13 @@ public class PlatformFlowController extends BaseController {
     }
     }
 
 
     @GetMapping("/getDashboard")
     @GetMapping("/getDashboard")
-    public Map<String,Object> getDashboard(){
+    public Map<String, Object> getDashboard() {
         return platformFlowService.getDashboard();
         return platformFlowService.getDashboard();
     }
     }
+
+    @GetMapping("/statistics")
+    public Map<Object, BigDecimal> statistics(String type, FlowType flowType) {
+        return platformFlowService.statistics(type, flowType);
+    }
 }
 }
 
 

+ 1 - 1
src/main/java/com/izouma/dingdong/web/merchant/GoodsController.java

@@ -49,7 +49,7 @@ public class GoodsController extends BaseController {
             //如果修改价格,购物车内的商品就要重新计算
             //如果修改价格,购物车内的商品就要重新计算
             ObjUtils.merge(orig, record);
             ObjUtils.merge(orig, record);
             return goodsService.save(orig);*/
             return goodsService.save(orig);*/
-            goodsService.change(record);
+            return goodsService.change(record);
         }
         }
         return goodsService.save(record);
         return goodsService.save(record);
     }
     }

+ 9 - 8
src/main/vue/src/views/merchant/VoiceEdit.vue

@@ -1,13 +1,13 @@
 <template>
 <template>
     <div class="edit-view">
     <div class="edit-view">
-        <el-form :model="formData" :rules="rules" ref="form" label-width="52px" label-position="right" size="small"
+        <el-form :model="formData" :rules="rules" ref="form" label-width="80px" label-position="right" size="small"
                  style="max-width: 500px;">
                  style="max-width: 500px;">
             <el-form-item prop="content" label="内容">
             <el-form-item prop="content" label="内容">
                 <el-input v-model="formData.content"></el-input>
                 <el-input v-model="formData.content"></el-input>
             </el-form-item>
             </el-form-item>
             <el-form-item prop="url" label="中文文件">
             <el-form-item prop="url" label="中文文件">
                 <el-upload
                 <el-upload
-                        class="avatar-uploader"
+                        class="upload-demo"
                         :action="uploadUrl"
                         :action="uploadUrl"
                         :limit="1"
                         :limit="1"
                         :show-file-list="true"
                         :show-file-list="true"
@@ -21,7 +21,7 @@
             </el-form-item>
             </el-form-item>
             <el-form-item prop="enUrl" label="英文文件">
             <el-form-item prop="enUrl" label="英文文件">
                 <el-upload
                 <el-upload
-                        class="avatar-uploader"
+                        class="upload-demo"
                         :action="uploadUrl"
                         :action="uploadUrl"
                         :limit="1"
                         :limit="1"
                         :show-file-list="true"
                         :show-file-list="true"
@@ -35,7 +35,7 @@
             </el-form-item>
             </el-form-item>
             <el-form-item prop="thUrl" label="泰文文件">
             <el-form-item prop="thUrl" label="泰文文件">
                 <el-upload
                 <el-upload
-                        class="avatar-uploader"
+                        class="upload-demo"
                         :action="uploadUrl"
                         :action="uploadUrl"
                         :limit="1"
                         :limit="1"
                         :show-file-list="true"
                         :show-file-list="true"
@@ -44,8 +44,6 @@
                         :beforeUpload="beforeAvatarUpload">
                         :beforeUpload="beforeAvatarUpload">
                     <el-button size="small" type="primary">点击上传</el-button>
                     <el-button size="small" type="primary">点击上传</el-button>
                 </el-upload>
                 </el-upload>
-                <!--<file-upload v-model="formData.url">
-                </file-upload>-->
             </el-form-item>
             </el-form-item>
             <el-form-item>
             <el-form-item>
                 <el-button @click="onSave" :loading="saving"
                 <el-button @click="onSave" :loading="saving"
@@ -85,6 +83,10 @@
                 rules: {},
                 rules: {},
                 uploadLoading: false,
                 uploadLoading: false,
                 uploadUrl: '',
                 uploadUrl: '',
+                fileList: [],
+                headers: {
+                    Authorization: 'Bearer ' + localStorage.getItem('token'),
+                },
             }
             }
         },
         },
 
 
@@ -146,7 +148,6 @@
 
 
                 this.$message.success('上传成功');
                 this.$message.success('上传成功');
             },
             },
-
             beforeAvatarUpload(file) {
             beforeAvatarUpload(file) {
                 this.uploadLoading = true;
                 this.uploadLoading = true;
                 var testmsg = file.name.substring(file.name.lastIndexOf('.') + 1)
                 var testmsg = file.name.substring(file.name.lastIndexOf('.') + 1)
@@ -158,7 +159,7 @@
                     })
                     })
                 }
                 }
                 return extension;
                 return extension;
-            }
+            },
         }
         }
     }
     }
 </script>
 </script>

+ 11 - 9
src/main/vue/src/widgets/LineChartWidget.vue

@@ -1,7 +1,7 @@
 <template>
 <template>
     <widget-card :bodyStyle="bodyStyle" ref="container">
     <widget-card :bodyStyle="bodyStyle" ref="container">
         <div slot="header" class="clearfix">
         <div slot="header" class="clearfix">
-            <span>会员新增趋势</span>
+            <span>收支趋势</span>
             <el-radio-group v-model="radio1" size="mini" @change="getStart">
             <el-radio-group v-model="radio1" size="mini" @change="getStart">
                 <el-radio-button label="MONTH">按月显示</el-radio-button>
                 <el-radio-button label="MONTH">按月显示</el-radio-button>
                 <el-radio-button label="DATE">按天显示</el-radio-button>=
                 <el-radio-button label="DATE">按天显示</el-radio-button>=
@@ -29,7 +29,7 @@ export default {
             labels: [],
             labels: [],
             colorMap: new Map([
             colorMap: new Map([
                 [
                 [
-                    "线上会员",
+                    "收入",
                     {
                     {
                         mainColor: "#E4B100",
                         mainColor: "#E4B100",
                         startColor: "rgba(228,177,0,0.7)",
                         startColor: "rgba(228,177,0,0.7)",
@@ -37,7 +37,7 @@ export default {
                     }
                     }
                 ],
                 ],
                 [
                 [
-                    "线下会员",
+                    "提现",
                     {
                     {
                         mainColor: "#20a0ff",
                         mainColor: "#20a0ff",
                         startColor: "rgba(32,160,255,0.7)",
                         startColor: "rgba(32,160,255,0.7)",
@@ -67,9 +67,10 @@ export default {
         },
         },
         getLineInfo() {
         getLineInfo() {
             return this.$http
             return this.$http
-                .get("/summary/getVipSummary", {
+                .get("/platformFlow/statistics", {
                     type: this.radio1,
                     type: this.radio1,
-                    isShare: true
+                    flowType: "INCOME"
+                    // isShare: true
                 })
                 })
                 .then(res => {
                 .then(res => {
                     let map = new Map();
                     let map = new Map();
@@ -82,11 +83,12 @@ export default {
                     });
                     });
                     map = new Map(list);
                     map = new Map(list);
                     this.labels = Array.from(map.keys());
                     this.labels = Array.from(map.keys());
-                    this.dataMap.set("线上会员", Array.from(map.values()));
+                    this.dataMap.set("收入", Array.from(map.values()));
 
 
-                    return this.$http.get("/summary/getVipSummary", {
+                    return this.$http.get("/platformFlow/statistics", {
                         type: this.radio1,
                         type: this.radio1,
-                        isShare: false
+                        flowType: "WITHDRAW"
+                        // isShare: false
                     });
                     });
                 })
                 })
                 .then(res => {
                 .then(res => {
@@ -100,7 +102,7 @@ export default {
                     });
                     });
                     map = new Map(list);
                     map = new Map(list);
                     this.labels = Array.from(map.keys());
                     this.labels = Array.from(map.keys());
-                    this.dataMap.set("线下会员", Array.from(map.values()));
+                    this.dataMap.set("提现", Array.from(map.values()));
                 });
                 });
         },
         },
         drawChart() {
         drawChart() {

+ 5 - 0
src/test/java/com/izouma/dingdong/service/AppraisalServiceTest.java

@@ -76,4 +76,9 @@ public class AppraisalServiceTest {
     public void testGetDto(){
     public void testGetDto(){
         System.out.println(appraisalController.getDto(1526L));
         System.out.println(appraisalController.getDto(1526L));
     }
     }
+
+    @Test
+    public void test5(){
+        System.out.println(appraisalService.goodsAppraisals(214L));
+    }
 }
 }

+ 18 - 8
src/test/java/com/izouma/dingdong/service/GoodsServiceTest.java

@@ -22,6 +22,7 @@ import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.test.context.junit4.SpringRunner;
 import org.springframework.test.context.junit4.SpringRunner;
 
 
 import java.math.BigDecimal;
 import java.math.BigDecimal;
+import java.time.LocalTime;
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.Comparator;
 import java.util.Comparator;
 import java.util.HashMap;
 import java.util.HashMap;
@@ -186,17 +187,26 @@ public class GoodsServiceTest {
     @Test
     @Test
     public void testSave() {
     public void testSave() {
         Goods goods = Goods.builder()
         Goods goods = Goods.builder()
-                //.recommend(true)
-                .signboard(true)
+//                .merchantId(189L)
+                .name("ceshi2333")
+//                .amount(BigDecimal.ONE)
+//                .discountAmount(BigDecimal.ONE)
+//                .inventory(1)
+//                .week("MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY")
+//                .startTime(LocalTime.parse("08:00:00"))
+//                .endTime(LocalTime.parse("20:00:00"))
+//                .introduction("112")
+//                .img("https://idingdong.oss-cn-hangzhou.aliyuncs.com/image/2020-06-10-18-20-13Ewedtfww.jpg")
+//                .packingPrice(BigDecimal.ZERO)
                 .build();
                 .build();
-        goods.setId(310L);
+        goods.setId(2805L);
 
 
-        Goods goods1 = Goods.builder()
-                .recommend(true)
-                .build();
-        goods1.setId(310L);
+//        Goods goods1 = Goods.builder()
+//                .recommend(true)
+//                .build();
+//        goods1.setId(310L);
 
 
-        goodsController.save(goods);
+        System.out.println(goodsController.save(goods).getPriority());
         //goodsController.save(goods1);
         //goodsController.save(goods1);
     }
     }
 
 

+ 23 - 0
src/test/java/com/izouma/dingdong/service/PlatformFlowServiceTest.java

@@ -0,0 +1,23 @@
+package com.izouma.dingdong.service;
+
+import com.izouma.dingdong.enums.FlowType;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class PlatformFlowServiceTest {
+    @Autowired
+    public PlatformFlowService platformFlowService;
+
+    @Test
+    public void test(){
+//        System.out.println(platformFlowService.dayStatistics(FlowType.INCOME));
+        System.out.println(platformFlowService.getVipSummary(FlowType.INCOME));
+    }
+
+
+}