From d7fb76fa0d153cb570ae816cb5f45a780bf0f48f Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期五, 01 九月 2023 19:19:30 +0800
Subject: [PATCH] bug

---
 ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityGoodsMapper.xml                      |    1 
 ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml                                 |    5 ++
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/conslole/QYWXCallBackController.java |    3 +
 ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityMapper.xml                           |   10 ++--
 ruoyi-modules/ruoyi-system/src/test/java/com/ruoyi/system/systemTest.java                                 |    7 +++
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityServiceImpl.java    |    6 ++-
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/conslole/StaffController.java        |   17 ++++++++
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysWxCpServiceImpl.java      |   28 ++++++++++++++
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/AppSimpleActivityGoodsVo.java           |    3 +
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/activity/ActivityGoods.java     |    5 ++
 ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml                                               |    6 +-
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/staff/SysWxCpService.java               |    5 ++
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/AppGoodsInfoVo.java                     |    4 ++
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsServiceImpl.java          |    6 ++-
 14 files changed, 92 insertions(+), 14 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/activity/ActivityGoods.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/activity/ActivityGoods.java
index 41c46a3..0be4878 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/activity/ActivityGoods.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/activity/ActivityGoods.java
@@ -65,6 +65,11 @@
     @TableField("activity_number")
     private Integer activityNumber;
     /**
+     * 活动库存
+     */
+    @TableField("activity_stock")
+    private Integer activityStock;
+    /**
      * 活动已售数量
      */
     @TableField("sales_number")
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/AppGoodsInfoVo.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/AppGoodsInfoVo.java
index e6e5cc5..8fee6f7 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/AppGoodsInfoVo.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/AppGoodsInfoVo.java
@@ -86,6 +86,10 @@
     @ApiModelProperty(value = "结束时间戳")
     private long timestamp;
 
+    @ApiModelProperty(value = "活动开始时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date activityStartTime;
+
     @ApiModelProperty(value = "活动截止时间")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date activityDeadline;
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/AppSimpleActivityGoodsVo.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/AppSimpleActivityGoodsVo.java
index 0008c72..73af998 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/AppSimpleActivityGoodsVo.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/AppSimpleActivityGoodsVo.java
@@ -61,6 +61,9 @@
     private long timestamp;
 
     @ApiModelProperty(value = "结束时间")
+    private Date startTime;
+
+    @ApiModelProperty(value = "结束时间")
     private Date endTime;
 
     @ApiModelProperty(value = "限购标记0否1是")
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityServiceImpl.java
index bcdd488..0901f6d 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityServiceImpl.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityServiceImpl.java
@@ -172,6 +172,7 @@
                 activity.setApplicableShop(result);
             }
         }
+        activity.setActivityStatus(0);
         this.saveOrUpdate(activity);
         // 获取活动商品信息
         List<MgtActivityGoodsEditDto> mgtActivityGoodsEditDtoList = mgtActivityEditDto.getMgtActivityGoodsEditDtoList();
@@ -186,6 +187,7 @@
                         activityGoods.setActivityPrice(dto.getActivityPrice());
                         activityGoods.setActivitySubscription(dto.getActivitySubscription());
                         activityGoods.setActivityNumber(dto.getActivityNumber());
+                        activityGoods.setActivityStock(dto.getActivityNumber());
                         activityGoods.setSalesNumber(0);
                         activityGoods.setActivityDeadline(activity.getActivityEndTime());
                         activityGoods.setSellOutFlag(0);
@@ -466,7 +468,7 @@
         activityGoodsGetVo.setActivitySubscription(activityGoods.getActivitySubscription());
         activityGoodsGetVo.setActivityStatus(activity.getActivityStatus());
         //剩余库存
-        Integer availableBuyNum = activityGoods.getActivityNumber();
+        Integer availableBuyNum = activityGoods.getActivityStock();
         //限购判断
         if(activityGoods.getPurchaseLimitationFlag()==1){
             Integer buyNum = activityRecordService.getUserActivityGoodsNum(goodsId,activityId,activityGoodsGetDto.getUserId());
@@ -552,7 +554,7 @@
             List<ActivityGoods> activityGoodsList = activityGoodsService.listByActivityId(activityId);
             if(activityGoodsList!=null&&!activityGoodsList.isEmpty()){
                 for(ActivityGoods activityGoods : activityGoodsList){
-                    redisService.setCacheObject(SecurityConstant.ACTIVITY_GOODS+"-"+activityId+"-"+activityGoods.getGoodsId(),activityGoods.getActivityNumber());
+                    redisService.setCacheObject(SecurityConstant.ACTIVITY_GOODS+"-"+activityId+"-"+activityGoods.getGoodsId(),activityGoods.getActivityStock());
                 }
             }
             this.saveOrUpdate(activity);
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsServiceImpl.java
index 14f2251..301ba19 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsServiceImpl.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsServiceImpl.java
@@ -187,6 +187,7 @@
         //活动商品判断
         if(appGoodsInfoGetDto.getActivityFlag()==1){
             ActivityGoods activityGoods = activityGoodsService.getByGoodsId(appGoodsInfoGetDto.getActivityId(),goods.getGoodsId());
+            Activity activity = activityService.getById(appGoodsInfoGetDto.getActivityId());
             //原价取较大值
             if(shopGoods!=null&&goods.getSalesPrice().compareTo(shopGoods.getSalesPrice())>0){
                 appGoodsInfoVo.setSalesPrice(goods.getSalesPrice());
@@ -194,8 +195,9 @@
             appGoodsInfoVo.setActivityFlag(1);
             appGoodsInfoVo.setActivityPrice(activityGoods.getActivityPrice());
             appGoodsInfoVo.setSalesNum(activityGoods.getSalesNumber());
-            appGoodsInfoVo.setActivityDeadline(activityGoods.getActivityDeadline());
-            appGoodsInfoVo.setTimestamp(activityGoods.getActivityDeadline().getTime());
+            appGoodsInfoVo.setActivityStartTime(activity.getActivityStartTime());
+            appGoodsInfoVo.setActivityDeadline(activity.getActivityEndTime());
+            appGoodsInfoVo.setTimestamp(activity.getActivityEndTime().getTime());
             Integer availableBuyNum = 0;
             //售罄判断
             if(activityGoods.getActivityNumber().equals(activityGoods.getSalesNumber())){
diff --git a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityGoodsMapper.xml b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityGoodsMapper.xml
index ffeb137..4ec808a 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityGoodsMapper.xml
+++ b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityGoodsMapper.xml
@@ -100,5 +100,6 @@
         INNER JOIN t_goods tg ON tag.goods_id = tg.goods_id
         WHERE tag.del_flag = 0
           AND tag.activity_id = #{activityId}
+        ORDER BY tag.ag_id
     </select>
 </mapper>
diff --git a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityMapper.xml b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityMapper.xml
index f18cfcf..0156008 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityMapper.xml
+++ b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityMapper.xml
@@ -145,7 +145,7 @@
     <update id="addActivityGoodsStock">
         UPDATE t_activity_goods
         SET sales_number = sales_number - #{param.changeNum},
-            activity_number = activity_number + #{param.changeNum},
+            activity_stock = activity_stock + #{param.changeNum},
             sell_out_flag =  0,
             sell_out_time = NULL
         WHERE activity_id = #{param.activityId} AND goods_id = #{param.goodsId}
@@ -154,10 +154,10 @@
     <update id="subActivityGoodsStock">
         UPDATE t_activity_goods
         SET sales_number = sales_number + #{param.changeNum},
-            activity_number = activity_number - #{param.changeNum},
-            sell_out_flag = CASE WHEN activity_number = 0 THEN 1 ELSE sell_out_flag END,
-            sell_out_time = CASE WHEN activity_number = 0 THEN NOW() ELSE sell_out_time END
-        WHERE activity_id = #{param.activityId} AND goods_id = #{param.goodsId} AND activity_number &gt;= #{param.changeNum}
+            activity_stock = activity_stock - #{param.changeNum},
+            sell_out_flag = CASE WHEN activity_stock - #{param.changeNum} = 0 THEN 1 ELSE sell_out_flag END,
+            sell_out_time = CASE WHEN activity_stock - #{param.changeNum} = 0 THEN NOW() ELSE sell_out_time END
+        WHERE activity_id = #{param.activityId} AND goods_id = #{param.goodsId} AND activity_stock &gt;= #{param.changeNum}
     </update>
 
     <select id="checkSellOut" resultType="java.lang.Integer">
diff --git a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml
index 6bb925f..91f45c6 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml
+++ b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml
@@ -497,14 +497,17 @@
         tg.goods_nurses goodsNurses,
         tag.activity_number activityNumber,
         tag.sales_number salesNumber,
-        tag.activity_deadline endTime,
+        ta.activity_start_time startTime,
+        ta.activity_end_time endTime,
         tag.purchase_limitation_flag purchaseLimitationFlag,
         tag.limit_number limitNumber
         FROM t_activity_goods tag
+        INNER JOIN t_activity ta ON ta.activity_id = tag.activity_id
         INNER JOIN t_goods tg ON tg.goods_id = tag.goods_id
         LEFT JOIN t_goods_file tgf ON tg.goods_id = tgf.goods_id AND tgf.del_flag = 0 AND tgf.file_type = 1
         LEFT JOIN t_shop_goods tsg ON tg.goods_id = tsg.goods_id AND tsg.shop_id = #{param.shopId}
         WHERE tag.del_flag = 0 AND tg.del_flag = 0 AND tg.goods_status = 1 AND tag.activity_id = #{param.activityId}
+        ORDER BY tag.ag_id
     </select>
 
     <select id="listGoodsNameByGoodsClass" resultType="java.lang.String">
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/conslole/QYWXCallBackController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/conslole/QYWXCallBackController.java
index f392497..cb306b8 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/conslole/QYWXCallBackController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/conslole/QYWXCallBackController.java
@@ -62,4 +62,7 @@
         }
         return "SUCCESS";
     }
+
+
+
 }
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/conslole/StaffController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/conslole/StaffController.java
index cb34520..4d0a8c3 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/conslole/StaffController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/conslole/StaffController.java
@@ -5,6 +5,7 @@
 import com.ruoyi.system.api.domain.dto.MerEditUserDto;
 import com.ruoyi.system.domain.pojo.staff.SysStaff;
 import com.ruoyi.system.service.staff.SysStaffService;
+import com.ruoyi.system.service.staff.SysWxCpService;
 import io.swagger.annotations.Api;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -22,6 +23,9 @@
 public class StaffController {
     @Resource
     private SysStaffService sysStaffService;
+
+    @Resource
+    private SysWxCpService sysWxCpService;
 
     /**
      * @description  判断员工是否领导
@@ -52,4 +56,17 @@
         sysStaffService.editSysStaffInfo(merEditUserDto);
         return R.ok();
     }
+
+
+    @PostMapping("/updateDept")
+    public R updateDept(){
+        sysWxCpService.updateDept();
+        return R.ok();
+    }
+
+    @PostMapping("/sendMessage")
+    public R sendMessage(){
+        sysWxCpService.sendMessage();
+        return R.ok();
+    }
 }
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysWxCpServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysWxCpServiceImpl.java
index 5763a73..3f6867d 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysWxCpServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysWxCpServiceImpl.java
@@ -118,6 +118,7 @@
     public void sendTaskMessage(){
         //获取员工任务列表
         List<MgtUserTaskMsgVo> userTaskMsgVoList = remoteShopService.getTaskMsgList().getData();
+        log.info("定时发送通知任务任务列表---"+userTaskMsgVoList.size());
         WxCpMessage message;
         SysStaff sysStaff;
         if(userTaskMsgVoList!=null&&!userTaskMsgVoList.isEmpty()){
@@ -140,4 +141,31 @@
             }
         }
     }
+
+    @Override
+    public void updateDept(){
+        WxCpDepart group = new WxCpDepart();
+        group.setId(240L);
+        group.setName("软件开发测试部门");
+        try {
+            wxCpService.getDepartmentService().update(group);
+        } catch (WxErrorException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    @Override
+    public void sendMessage(){
+        WxCpMessage message;
+        message = new WxCpMessage();
+        message.setAgentId(1000024);
+        message.setToUser("jiangqiushi");
+        message.setMsgType("text");
+        message.setContent("今日需要任务跟进,请注意!");
+        try {
+            WxCpMessageSendResult result = wxCpService.getMessageService().send(message);
+        } catch (WxErrorException e) {
+            throw new RuntimeException(e);
+        }
+    }
 }
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/staff/SysWxCpService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/staff/SysWxCpService.java
index 173155e..cc69edf 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/staff/SysWxCpService.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/staff/SysWxCpService.java
@@ -34,4 +34,9 @@
      * @return  void
      */
     void sendTaskMessage();
+
+
+    void updateDept();
+
+    void sendMessage();
 }
diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml b/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml
index 5132060..5f68674 100644
--- a/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml
+++ b/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml
@@ -48,9 +48,9 @@
     agentId: 1000024
     agentSecret: -wuQ2EBxNT9BJa40LdpFqyxI_8RqrZTCUNiabzBasi8
     authorizeState: HONGRUITANG
-    suiteSecret: ""
-    token: "HaiHeng2023"
-    encodingAESKey: "jWmYm7qr5nMoAUwZRjGtBxmz3KA1tkAj3ykkR6q2B2C"
+    suiteSecret: HoHhls3QUFESA2wDypkaWvldYYHBciwZJ2zEpPVrjNx
+    token: HaiHeng2023
+    encodingAESKey: jWmYm7qr5nMoAUwZRjGtBxmz3KA1tkAj3ykkR6q2B2C
 
 
 
diff --git a/ruoyi-modules/ruoyi-system/src/test/java/com/ruoyi/system/systemTest.java b/ruoyi-modules/ruoyi-system/src/test/java/com/ruoyi/system/systemTest.java
index 680da4b..e9b8001 100644
--- a/ruoyi-modules/ruoyi-system/src/test/java/com/ruoyi/system/systemTest.java
+++ b/ruoyi-modules/ruoyi-system/src/test/java/com/ruoyi/system/systemTest.java
@@ -2,6 +2,7 @@
 
 
 import com.ruoyi.system.service.staff.SysWxCpService;
+import me.chanjar.weixin.cp.api.WxCpService;
 import org.junit.runner.RunWith;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@@ -22,7 +23,11 @@
     @Resource
     private SysWxCpService sysWxCpService;
 
+    @Resource
+    private WxCpService wxCpService;
+
     /*@Test
-    public void main() {
+    public void main() throws WxErrorException {
+
     }*/
 }

--
Gitblit v1.7.1