浏览代码

Merge branch 'lcy' of http://47.107.53.207:3000/traineeCoder001/Digital-Investment

JensionDzero 1 年之前
父节点
当前提交
2ffa8005bf
共有 20 个文件被更改,包括 284 次插入23 次删除
  1. 2 2
      ruoyi-demo/src/main/java/com/ruoyi/demo/controller/GoodsController.java
  2. 18 3
      ruoyi-demo/src/main/java/com/ruoyi/demo/controller/OrderController.java
  3. 14 5
      ruoyi-demo/src/main/java/com/ruoyi/demo/controller/PlanController.java
  4. 16 2
      ruoyi-demo/src/main/java/com/ruoyi/demo/controller/StatisticsController.java
  5. 13 0
      ruoyi-demo/src/main/java/com/ruoyi/demo/entity/Goods.java
  6. 6 0
      ruoyi-demo/src/main/java/com/ruoyi/demo/entity/Order.java
  7. 9 0
      ruoyi-demo/src/main/java/com/ruoyi/demo/entity/Plan.java
  8. 1 0
      ruoyi-demo/src/main/java/com/ruoyi/demo/entity/bo/GoodsBo.java
  9. 1 0
      ruoyi-demo/src/main/java/com/ruoyi/demo/entity/bo/GoodsDeleteBo.java
  10. 9 0
      ruoyi-demo/src/main/java/com/ruoyi/demo/entity/bo/OrderAddBo.java
  11. 4 0
      ruoyi-demo/src/main/java/com/ruoyi/demo/entity/bo/PlanAddBo.java
  12. 9 0
      ruoyi-demo/src/main/java/com/ruoyi/demo/entity/bo/StatisticsAddBo.java
  13. 8 0
      ruoyi-demo/src/main/java/com/ruoyi/demo/entity/vo/GoodsListVo.java
  14. 3 1
      ruoyi-demo/src/main/java/com/ruoyi/demo/service/OrderService.java
  15. 1 0
      ruoyi-demo/src/main/java/com/ruoyi/demo/service/PlanService.java
  16. 3 1
      ruoyi-demo/src/main/java/com/ruoyi/demo/service/StatisticsService.java
  17. 4 0
      ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/GoodsServiceImpl.java
  18. 65 2
      ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/OrderServiceImpl.java
  19. 35 6
      ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/PlanServiceImpl.java
  20. 63 1
      ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/StatisticsServiceImpl.java

+ 2 - 2
ruoyi-demo/src/main/java/com/ruoyi/demo/controller/GoodsController.java

@@ -33,12 +33,12 @@ public class GoodsController {
         return R.fail("删除失败");
     }
 
-    @GetMapping("/list")
+    @PostMapping("/list")
     public R goodsList(@RequestBody PlanBo bo){
         return R.ok(goodsService.getGoodsList(bo));
     }
 
-    @GetMapping("/detail")
+    @PostMapping("/detail")
     public R goodsDetail(@RequestBody GoodsBo bo){
         return R.ok(goodsService.getGoodsDetail(bo));
     }

+ 18 - 3
ruoyi-demo/src/main/java/com/ruoyi/demo/controller/OrderController.java

@@ -2,6 +2,7 @@ package com.ruoyi.demo.controller;
 
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.demo.entity.Order;
+import com.ruoyi.demo.entity.bo.OrderAddBo;
 import com.ruoyi.demo.entity.bo.PlanBo;
 import com.ruoyi.demo.service.OrderService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -13,15 +14,29 @@ public class OrderController {
     @Autowired
     OrderService orderService;
 
+    // 获取sign——用于测试
+    @PostMapping("/getSign")
+    public R getSign(@RequestBody OrderAddBo bo){
+        String sign = orderService.getSign(bo);
+        if (sign.equals("error"))
+            return R.fail("无效的appkey");
+        return R.ok(sign);
+    }
+
+    // 添加订单
     @PostMapping()
-    public R addOrder(@RequestBody Order order){
-        int i = orderService.addOrder(order);
+    public R addOrder(@RequestBody OrderAddBo bo){
+        int i = orderService.addOrder(bo);
         if (i == 1)
             return R.ok("添加成功");
+        if (i == -1)
+            return R.fail("无效的appkey");
+        if (i == -3)
+            return R.fail("校验sign出错");
         return R.fail("添加失败");
     }
 
-    @GetMapping("/list")
+    @PostMapping("/list")
     public R orderList(@RequestBody PlanBo bo){
         return R.ok(orderService.getOrderList(bo));
     }

+ 14 - 5
ruoyi-demo/src/main/java/com/ruoyi/demo/controller/PlanController.java

@@ -38,7 +38,7 @@ public class PlanController {
         return R.fail("失败");
     }
     // 查询广告计划列表
-    @GetMapping("/list")
+    @PostMapping("/list")
     public R planList(@RequestBody PlanBo bo){
         PageInfo<List<PlanListVo>> planList = planService.getPlanList(bo);
         return R.ok(planList);
@@ -82,7 +82,7 @@ public class PlanController {
         return R.ok(vos);
     }
     // 查询广告计划管理列表
-    @GetMapping("/audit/list")
+    @PostMapping("/audit/list")
     public R auditList(@RequestBody PlanBo bo){
         PageInfo<List<PlanManageListVo>> list = planService.getPlanManageList(bo);
         return R.ok(list);
@@ -94,6 +94,14 @@ public class PlanController {
     }
 
     // 广告推送
+    // 获取sign——用于测试
+    @PostMapping("/getSign")
+    public R getSign(@RequestBody PlanAddBo bo){
+        String sign = planService.getSign(bo);
+        if (sign.equals("error"))
+            return R.fail("无效的appkey");
+        return R.ok(sign);
+    }
     // 添加广告推送计划
     @PostMapping()
     public R addPlan(@RequestBody PlanAddBo bo){
@@ -115,15 +123,16 @@ public class PlanController {
         return R.fail("删除失败");
     }
     // 查询广告计划推送计划列表
-    @GetMapping("/push/list")
+    @PostMapping("/push/list")
     public R pushList(@RequestBody PlanBo bo){
         PageInfo<List<PlanPushListVo>> list = planService.getPlanPushList(bo);
         return R.ok(list);
     }
 
+
     // 广告投放
     // 广告投放列表
-    @GetMapping("/statistics/list")
+    @PostMapping("/statistics/list")
     public R statisticsList(@RequestBody PlanBo bo){
         PageInfo<List<PlanPushStatisticsListVo>> list = planService.getPlanPushStatisticsList(bo);
         return R.ok(list);
@@ -138,7 +147,7 @@ public class PlanController {
 
     // 其他
     // 获取设备信息
-    @GetMapping("/getEquipments")
+    @PostMapping("/getEquipments")
     public R getEquipments(@RequestBody PlanBo bo){
         return R.ok(planService.getEquipments(bo));
     }

+ 16 - 2
ruoyi-demo/src/main/java/com/ruoyi/demo/controller/StatisticsController.java

@@ -3,6 +3,7 @@ package com.ruoyi.demo.controller;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.demo.entity.Statistics;
 import com.ruoyi.demo.entity.bo.PlanBo;
+import com.ruoyi.demo.entity.bo.StatisticsAddBo;
 import com.ruoyi.demo.service.StatisticsService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -14,7 +15,7 @@ public class StatisticsController {
     StatisticsService statisticsService;
 
     // 获取扫描日志
-    @GetMapping("/scanList")
+    @PostMapping("/scanList")
     public R scanList(@RequestBody PlanBo bo){
         return R.ok(statisticsService.getScanList(bo));
     }
@@ -25,12 +26,25 @@ public class StatisticsController {
         return R.ok(statisticsService.getScanTotal());
     }
 
+    // 获取sign——用于测试
+    @PostMapping("/getSign")
+    public R getSign(@RequestBody StatisticsAddBo bo){
+        String sign = statisticsService.getSign(bo);
+        if (sign.equals("error"))
+            return R.fail("无效的appkey");
+        return R.ok(sign);
+    }
+
     // 添加行为记录
     @PostMapping()
-    public R add(@RequestBody Statistics bo){
+    public R add(@RequestBody StatisticsAddBo bo){
         int i = statisticsService.add(bo);
         if (i == 1)
             return R.ok("添加成功");
+        if (i == -1)
+            return R.fail("无效的appkey");
+        if (i == -3)
+            return R.fail("校验sign出错");
         return R.fail("添加失败");
     }
 }

+ 13 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/Goods.java

@@ -17,6 +17,14 @@ import java.time.ZoneId;
 public class Goods {
     @TableField("appkey")
     private String appkey;
+
+    @TableField("app_name")
+    private String appName;
+    @TableField("vendor_id")
+    private String vendorId;
+    @TableField("vendor_name")
+    private String vendorName;
+
     @TableField("goods_id")
     private String goodsId;
     @TableField("goods_img")
@@ -43,6 +51,11 @@ public class Goods {
     public Goods(){}
     public Goods(Plan plan){
         this.appkey = plan.getAppkey();
+        this.appName = plan.getAppName();
+
+        this.vendorId = plan.getVendorId();
+        this.vendorName = plan.getVendorName();
+
         this.goodsId = plan.getGoodsId();
         this.goodsImg = plan.getGoodsImg();
         this.goodsName = plan.getGoodsName();

+ 6 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/Order.java

@@ -16,6 +16,12 @@ import java.time.LocalDateTime;
 public class Order {
     @TableField("order_id")
     private String orderId;
+
+    @TableField("vendor_id")
+    private String vendorId;
+    @TableField("vendor_name")
+    private String vendorName;
+
     @TableField("goods_id")
     private String goodsId;
     @TableField("goods_name")

+ 9 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/Plan.java

@@ -33,6 +33,12 @@ public class Plan {
     private String appkey;
     @TableField("app_name")
     private String appName;
+
+    @TableField("vendor_id")
+    private String vendorId;
+    @TableField("vendor_name")
+    private String vendorName;
+
     @TableField("goods_id")
     private String goodsId;
     @TableField("goods_img")
@@ -84,6 +90,9 @@ public class Plan {
 
         this.setPlanName(bo.getPlanName());
 
+        this.setVendorId(bo.getVendorId());
+        this.setVendorName(bo.getVendorName());
+
         this.setGoodsId(bo.getGoodsId());
         this.setGoodsImg(bo.getGoodsImg());
         this.setGoodsName(bo.getGoodsName());

+ 1 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/bo/GoodsBo.java

@@ -5,6 +5,7 @@ import lombok.Data;
 @Data
 public class GoodsBo {
     private String appkey;
+    private String vendorId;
     private String goodsId;
     private String goodsName;
     private String goodsClassify;

+ 1 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/bo/GoodsDeleteBo.java

@@ -8,5 +8,6 @@ import java.util.List;
 public class GoodsDeleteBo {
 //    private List<GoodsBo> deleteItems;
     private String appkey;
+    private String vendorId;
     private String goodsId;
 }

+ 9 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/bo/OrderAddBo.java

@@ -0,0 +1,9 @@
+package com.ruoyi.demo.entity.bo;
+
+import com.ruoyi.demo.entity.Order;
+import lombok.Data;
+
+@Data
+public class OrderAddBo extends Order {
+    private String sign;
+}

+ 4 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/bo/PlanAddBo.java

@@ -15,6 +15,10 @@ public class PlanAddBo {
     private String planName;
 
     private String appkey;
+
+    private String vendorId;
+    private String vendorName;
+
     private String goodsId;
     private String goodsImg;
     private String goodsName;

+ 9 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/bo/StatisticsAddBo.java

@@ -0,0 +1,9 @@
+package com.ruoyi.demo.entity.bo;
+
+import com.ruoyi.demo.entity.Statistics;
+import lombok.Data;
+
+@Data
+public class StatisticsAddBo extends Statistics {
+    private String sign;
+}

+ 8 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/vo/GoodsListVo.java

@@ -6,6 +6,10 @@ import lombok.Data;
 @Data
 public class GoodsListVo {
     private String appkey;
+
+    private String appName;
+    private String vendorName;
+
     private String goodsId;
     private String goodsImg;
     private String goodsName;
@@ -15,6 +19,10 @@ public class GoodsListVo {
     public GoodsListVo(){}
     public GoodsListVo(Goods goods){
         this.appkey = goods.getAppkey();
+
+        this.appName = goods.getAppName();
+        this.vendorName = goods.getVendorName();
+
         this.goodsId = goods.getGoodsId();
         this.goodsImg = goods.getGoodsId();
         this.goodsName = goods.getGoodsName();

+ 3 - 1
ruoyi-demo/src/main/java/com/ruoyi/demo/service/OrderService.java

@@ -2,11 +2,13 @@ package com.ruoyi.demo.service;
 
 import com.github.pagehelper.PageInfo;
 import com.ruoyi.demo.entity.Order;
+import com.ruoyi.demo.entity.bo.OrderAddBo;
 import com.ruoyi.demo.entity.bo.PlanBo;
 
 import java.util.List;
 
 public interface OrderService {
-    int addOrder(Order order);
+    String getSign(OrderAddBo bo);
+    int addOrder(OrderAddBo bo);
     PageInfo<List<Order>> getOrderList(PlanBo bo);
 }

+ 1 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/service/PlanService.java

@@ -11,6 +11,7 @@ import com.ruoyi.demo.entity.vo.*;
 import java.util.List;
 
 public interface PlanService {
+    String getSign(PlanAddBo bo);
     int addPlan(PlanAddBo bo);
     int deletePlan(String id);
     int deletePlans(List<String> ids);

+ 3 - 1
ruoyi-demo/src/main/java/com/ruoyi/demo/service/StatisticsService.java

@@ -3,6 +3,7 @@ package com.ruoyi.demo.service;
 import com.github.pagehelper.PageInfo;
 import com.ruoyi.demo.entity.Statistics;
 import com.ruoyi.demo.entity.bo.PlanBo;
+import com.ruoyi.demo.entity.bo.StatisticsAddBo;
 import com.ruoyi.demo.entity.vo.PlanHomeVo;
 import com.ruoyi.demo.entity.vo.ScanListVo;
 
@@ -12,5 +13,6 @@ public interface StatisticsService {
     PageInfo<List<ScanListVo>> getScanList(PlanBo bo);
     PlanHomeVo getScanTotal();
 
-    int add(Statistics bo);
+    String getSign(StatisticsAddBo bo);
+    int add(StatisticsAddBo bo);
 }

+ 4 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/GoodsServiceImpl.java

@@ -32,6 +32,7 @@ public class GoodsServiceImpl implements GoodsService {
         QueryWrapper<Goods> goodsQueryWrapper = new QueryWrapper<>();
         goodsQueryWrapper.eq("appkey",goods.getAppkey());
         goodsQueryWrapper.eq("goods_id",goods.getGoodsId());
+        goodsQueryWrapper.eq("vendor_id",goods.getVendorId());
         Goods one = goodsMapper.selectOne(goodsQueryWrapper);
         if (one != null)
             return 2;
@@ -44,6 +45,7 @@ public class GoodsServiceImpl implements GoodsService {
         QueryWrapper<Goods> goodsQueryWrapper = new QueryWrapper<>();
         goodsQueryWrapper.eq("appkey",bo.getAppkey());
         goodsQueryWrapper.eq("goods_id",bo.getGoodsId());
+        goodsQueryWrapper.eq("vendor_id",bo.getVendorId());
         return goodsMapper.delete(goodsQueryWrapper);
     }
 
@@ -67,6 +69,7 @@ public class GoodsServiceImpl implements GoodsService {
         QueryWrapper<Goods> goodsQueryWrapper = new QueryWrapper<>();
         goodsQueryWrapper.eq("appkey",bo.getAppkey());
         goodsQueryWrapper.eq("goods_id",bo.getGoodsId());
+        goodsQueryWrapper.eq("vendor_id",bo.getVendorId());
         Goods goods = goodsMapper.selectOne(goodsQueryWrapper);
         return new GoodsDetailVo(goods);
     }
@@ -76,6 +79,7 @@ public class GoodsServiceImpl implements GoodsService {
         QueryWrapper<Goods> goodsQueryWrapper = new QueryWrapper<>();
         goodsQueryWrapper.eq("appkey",goods.getAppkey());
         goodsQueryWrapper.eq("goods_id",goods.getGoodsId());
+        goodsQueryWrapper.eq("vendor_id",goods.getVendorId());
         return goodsMapper.update(goods,goodsQueryWrapper);
     }
 }

+ 65 - 2
ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/OrderServiceImpl.java

@@ -1,27 +1,90 @@
 package com.ruoyi.demo.service.impl;
 
+import cn.hutool.core.lang.Dict;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
+import com.ruoyi.demo.entity.App;
 import com.ruoyi.demo.entity.Order;
+import com.ruoyi.demo.entity.bo.OrderAddBo;
 import com.ruoyi.demo.entity.bo.PlanBo;
+import com.ruoyi.demo.mapper.AppMapper;
 import com.ruoyi.demo.mapper.OrderMapper;
 import com.ruoyi.demo.service.OrderService;
+import com.ruoyi.demo.utils.SignUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
+import java.util.Map;
 
 @Service
 @Transactional
 public class OrderServiceImpl implements OrderService {
     @Autowired
     OrderMapper orderMapper;
+    @Autowired
+    AppMapper appMapper;
+
+    @Override
+    public String getSign(OrderAddBo bo) {
+        QueryWrapper<App> appQueryWrapper = new QueryWrapper<>();
+        appQueryWrapper.eq("appkey",bo.getAppkey());
+        App app = appMapper.selectOne(appQueryWrapper);
+        if (app == null)
+            return "error";
+        Map<String,Object> params = Dict.create()
+            .set("appName",bo.getAppName())
+            .set("appkey",bo.getAppkey())
+            .set("commercialId",bo.getCommercialId())
+            .set("commercialName",bo.getCommercialName())
+            .set("createTime",bo.getCreateTime())
+            .set("goodsId",bo.getGoodsId())
+            .set("goodsName",bo.getGoodsName())
+            .set("goodsPrice",bo.getGoodsPrice())
+            .set("orderId",bo.getOrderId())
+            .set("totalPrice",bo.getTotalPrice())
+            .set("userId",bo.getUserId())
+            .set("userName",bo.getUserName())
+            .set("userTelephone",bo.getUserTelephone())
+            .set("vendorId",bo.getVendorId())
+            .set("vendorName",bo.getVendorName())
+            .set("sign",null)
+            .set("specs",bo.getSpecs())
+            .set("state",bo.getState());
+        return SignUtil.sign(params,app.getAppSecret());
+    }
 
     @Override
-    public int addOrder(Order order) {
-        return orderMapper.insert(order);
+    public int addOrder(OrderAddBo bo) {
+        QueryWrapper<App> appQueryWrapper = new QueryWrapper<>();
+        appQueryWrapper.eq("appkey",bo.getAppkey());
+        App app = appMapper.selectOne(appQueryWrapper);
+        if (app == null)
+            return -1;
+        Map<String,Object> params = Dict.create()
+            .set("appName",bo.getAppName())
+            .set("appkey",bo.getAppkey())
+            .set("commercialId",bo.getCommercialId())
+            .set("commercialName",bo.getCommercialName())
+            .set("createTime",bo.getCreateTime())
+            .set("goodsId",bo.getGoodsId())
+            .set("goodsName",bo.getGoodsName())
+            .set("goodsPrice",bo.getGoodsPrice())
+            .set("orderId",bo.getOrderId())
+            .set("totalPrice",bo.getTotalPrice())
+            .set("userId",bo.getUserId())
+            .set("userName",bo.getUserName())
+            .set("userTelephone",bo.getUserTelephone())
+            .set("vendorId",bo.getVendorId())
+            .set("vendorName",bo.getVendorName())
+            .set("sign",bo.getSign())
+            .set("specs",bo.getSpecs())
+            .set("state",bo.getState());
+        if (!SignUtil.verify(params,app.getAppSecret()))
+            return -3;
+        return orderMapper.insert(bo);
     }
 
     @Override

+ 35 - 6
ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/PlanServiceImpl.java

@@ -52,6 +52,32 @@ public class PlanServiceImpl implements PlanService {
 //    @Autowired
 //    SysUserMapper sysUserMapper;
 
+    @Override
+    public String getSign(PlanAddBo bo) {
+        QueryWrapper<App> appQueryWrapper = new QueryWrapper<>();
+        appQueryWrapper.eq("appkey",bo.getAppkey());
+        appQueryWrapper.eq("deleted","0");
+        App app = appMapper.selectOne(appQueryWrapper);
+        if (app == null)
+            return "error";
+        Map<String,Object> params = Dict.create()
+            .set("appkey",bo.getAppkey())
+            .set("goodsId",bo.getGoodsId())
+            .set("goodsImg",bo.getGoodsImg())
+            .set("goodsIntroduce",bo.getGoodsIntroduce())
+            .set("goodsLogo",bo.getGoodsLogo())
+            .set("goodsName",bo.getGoodsName())
+            .set("goodsClassify",bo.getGoodsClassify())
+            .set("goodsPrice",bo.getGoodsPrice())
+            .set("items",bo.getItems())
+            .set("planEndTime",bo.getPlanEndTime())
+            .set("planStartTime",bo.getPlanStartTime())
+            .set("sign",null)
+            .set("vendorId",bo.getVendorId())
+            .set("vendorName",bo.getVendorName());
+        return SignUtil.sign(params,app.getAppSecret());
+    }
+
     @Override
     public int addPlan(PlanAddBo bo) {
         QueryWrapper<App> appQueryWrapper = new QueryWrapper<>();
@@ -64,15 +90,17 @@ public class PlanServiceImpl implements PlanService {
             .set("appkey",bo.getAppkey())
             .set("goodsId",bo.getGoodsId())
             .set("goodsImg",bo.getGoodsImg())
-            .set("goodsName",bo.getGoodsName())
-            .set("goodsLogo",bo.getGoodsLogo())
             .set("goodsIntroduce",bo.getGoodsIntroduce())
-            .set("goodsPrice",bo.getGoodsPrice())
+            .set("goodsLogo",bo.getGoodsLogo())
+            .set("goodsName",bo.getGoodsName())
             .set("goodsClassify",bo.getGoodsClassify())
-            .set("planStartTime",bo.getPlanStartTime())
-            .set("planEndTime",bo.getPlanEndTime())
+            .set("goodsPrice",bo.getGoodsPrice())
             .set("items",bo.getItems())
-            .set("sign",bo.getSign());
+            .set("planEndTime",bo.getPlanEndTime())
+            .set("planStartTime",bo.getPlanStartTime())
+            .set("sign",bo.getSign())
+            .set("vendorId",bo.getVendorId())
+            .set("vendorName",bo.getVendorName());
         if (!SignUtil.verify(params,app.getAppSecret()))
             return -3;
         // 插入广告计划
@@ -87,6 +115,7 @@ public class PlanServiceImpl implements PlanService {
         QueryWrapper<Goods> goodsQueryWrapper = new QueryWrapper<>();
         goodsQueryWrapper.eq("appkey",bo.getAppkey());
         goodsQueryWrapper.eq("goods_id",bo.getGoodsId());
+        goodsQueryWrapper.eq("vendor_id",bo.getVendorId());
         Goods query = goodsMapper.selectOne(goodsQueryWrapper);
         if (query == null){
             Goods goods = new Goods(plan);

+ 63 - 1
ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/StatisticsServiceImpl.java

@@ -1,16 +1,21 @@
 package com.ruoyi.demo.service.impl;
 
+import cn.hutool.core.lang.Dict;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
+import com.ruoyi.demo.entity.App;
 import com.ruoyi.demo.entity.DlUser;
 import com.ruoyi.demo.entity.Statistics;
 import com.ruoyi.demo.entity.bo.PlanBo;
+import com.ruoyi.demo.entity.bo.StatisticsAddBo;
 import com.ruoyi.demo.entity.vo.PlanHomeVo;
 import com.ruoyi.demo.entity.vo.ScanListVo;
+import com.ruoyi.demo.mapper.AppMapper;
 import com.ruoyi.demo.mapper.DlUserMapper;
 import com.ruoyi.demo.mapper.StatisticsMapper;
 import com.ruoyi.demo.service.StatisticsService;
+import com.ruoyi.demo.utils.SignUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -19,6 +24,7 @@ import java.time.LocalDateTime;
 import java.time.ZoneId;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 
 @Service
 @Transactional
@@ -27,6 +33,8 @@ public class StatisticsServiceImpl implements StatisticsService {
     StatisticsMapper statisticsMapper;
     @Autowired
     DlUserMapper dlUserMapper;
+    @Autowired
+    AppMapper appMapper;
 
     @Override
     public PageInfo<List<ScanListVo>> getScanList(PlanBo bo) {
@@ -53,7 +61,61 @@ public class StatisticsServiceImpl implements StatisticsService {
     }
 
     @Override
-    public int add(Statistics bo) {
+    public String getSign(StatisticsAddBo bo) {
+        QueryWrapper<App> appQueryWrapper = new QueryWrapper<>();
+        appQueryWrapper.eq("appkey",bo.getAppkey());
+        App app = appMapper.selectOne(appQueryWrapper);
+        if (app == null)
+            return "error";
+        Map<String,Object> params = Dict.create()
+            .set("addrInfo",bo.getAddrInfo())
+            .set("appkey",bo.getAppkey())
+            .set("behavior",bo.getBehavior())
+            .set("dealToolCount",bo.getDealToolCount())
+            .set("dealToolPrice",bo.getDealToolPrice())
+            .set("equipmentCode",bo.getEquipmentCode())
+            .set("equipmentId",bo.getEquipmentId())
+            .set("equipmentName",bo.getEquipmentName())
+            .set("goodsId",bo.getGoodsId())
+            .set("goodsName",bo.getGoodsName())
+            .set("planId",bo.getPlanId())
+            .set("planName",bo.getPlanName())
+            .set("time",bo.getTime())
+            .set("userId",bo.getUserId())
+            .set("userName",bo.getUserName())
+            .set("userTelephone",bo.getUserTelephone())
+            .set("sign",bo.getSign());
+        return SignUtil.sign(params,app.getAppSecret());
+    }
+
+    @Override
+    public int add(StatisticsAddBo bo) {
+        QueryWrapper<App> appQueryWrapper = new QueryWrapper<>();
+        appQueryWrapper.eq("appkey",bo.getAppkey());
+        App app = appMapper.selectOne(appQueryWrapper);
+        if (app == null)
+            return -1;
+        Map<String,Object> params = Dict.create()
+            .set("addrInfo",bo.getAddrInfo())
+            .set("appkey",bo.getAppkey())
+            .set("behavior",bo.getBehavior())
+            .set("dealToolCount",bo.getDealToolCount())
+            .set("dealToolPrice",bo.getDealToolPrice())
+            .set("equipmentCode",bo.getEquipmentCode())
+            .set("equipmentId",bo.getEquipmentId())
+            .set("equipmentName",bo.getEquipmentName())
+            .set("goodsId",bo.getGoodsId())
+            .set("goodsName",bo.getGoodsName())
+            .set("planId",bo.getPlanId())
+            .set("planName",bo.getPlanName())
+            .set("time",bo.getTime())
+            .set("userId",bo.getUserId())
+            .set("userName",bo.getUserName())
+            .set("userTelephone",bo.getUserTelephone())
+            .set("sign",bo.getSign());
+        if (!SignUtil.verify(params,app.getAppSecret()))
+            return -3;
+
         QueryWrapper<DlUser> userQueryWrapper = new QueryWrapper<>();
         userQueryWrapper.eq("user_id",bo.getUserId());
         DlUser user = dlUserMapper.selectOne(userQueryWrapper);