From d77aa9268ed02e7bda8a67aab2213e42cb5afcf4 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期四, 08 六月 2023 13:43:11 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/1.1' into 1.1

---
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCouponController.java |   59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 56 insertions(+), 3 deletions(-)

diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCouponController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCouponController.java
index b0d0eac..0e38599 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCouponController.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCouponController.java
@@ -3,12 +3,16 @@
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.stylefeng.guns.core.base.controller.BaseController;
 import com.stylefeng.guns.core.base.tips.SuccessTip;
+import com.stylefeng.guns.core.shiro.ShiroKit;
 import com.stylefeng.guns.core.util.DateUtil;
 import com.stylefeng.guns.modular.system.controller.req.CouponSendReq;
 import com.stylefeng.guns.modular.system.enums.CouponStatusEnum;
+import com.stylefeng.guns.modular.system.enums.StatusEnum;
+import com.stylefeng.guns.modular.system.model.TAgent;
 import com.stylefeng.guns.modular.system.model.TUserToCoupon;
 import com.stylefeng.guns.modular.system.service.ITUserToCouponService;
 import io.swagger.annotations.ApiOperation;
+import org.apache.poi.hdf.extractor.TC;
 import org.springframework.stereotype.Controller;
 import org.springframework.util.Assert;
 import org.springframework.util.CollectionUtils;
@@ -87,10 +91,11 @@
         // 开始,结束时间
         if(StringUtils.hasLength(createTime)){
             String[] split = createTime.split(" - ");
-            Date startTime = DateUtil.getDate_str4(split[0]);
-            Date endTime = DateUtil.getDate_str4(split[1]);
+            Date startTime = DateUtil.getDate_str3(split[0]+" 00:00:00");
+            Date endTime = DateUtil.getDate_str3(split[1]+" 23:59:59");
             wrapper.between("create_time",startTime,endTime);
         }
+        wrapper.ne("status", StatusEnum.DELETE.getCode());
         wrapper.orderBy(true,"create_time",false);
         return tCouponService.selectList(wrapper);
     }
@@ -131,6 +136,16 @@
         if(isExit){
             return new SuccessTip(500,"该优惠券名称与类型已存在!");
         }
+        // 如果是新人优惠券,查询是否存在已启用的新人优惠券
+        if(tCoupon.getCouponType() == 2){
+            int count = tCouponService.selectCount(new EntityWrapper<TCoupon>()
+                    .eq("coupon_type", 2)
+                    .eq("coupon_state", 1)
+                    .eq("status", true));
+            if(count>0){
+                return new SuccessTip(500,"已存在已启用的新人优惠券!");
+            }
+        }
         tCouponService.insert(tCoupon);
         return SUCCESS_TIP;
     }
@@ -141,7 +156,37 @@
     @RequestMapping(value = "/delete")
     @ResponseBody
     public Object delete(@RequestParam Integer tCouponId) {
+        /*TCoupon tCoupon = tCouponService.selectById(tCouponId);
+        tCoupon.setCouponStatus(StatusEnum.DELETE.getCode());
+        tCouponService.updateById(tCoupon);*/
         tCouponService.deleteById(tCouponId);
+        return SUCCESS_TIP;
+    }
+
+    /**
+     * 修改优惠券状态
+     */
+    @RequestMapping(value = "/update-status")
+    @ResponseBody
+    public Object updateStatus(Integer id,Integer status) {
+        TCoupon tCoupon = tCouponService.selectById(id);
+
+        // 查询已启用的新人券数量
+        int count = tCouponService.selectCount(new EntityWrapper<TCoupon>().eq("coupon_state", 1)
+                .eq("coupon_type",2));
+
+        // 判断是否为新人券,新人券只可启用一条记录
+        if(count > 0 && 2 == tCoupon.getCouponType() && 2 == status){
+            return new SuccessTip(500,"已有启动的新人券!");
+        }
+
+        if(1 == status){
+            tCoupon.setCouponState(2);
+        }
+        if(2 == status){
+            tCoupon.setCouponState(1);
+        }
+        tCouponService.updateById(tCoupon);
         return SUCCESS_TIP;
     }
 
@@ -187,8 +232,16 @@
             tUserToCoupon.setCouponTotal(1);
             tUserToCoupon.setValidCount(1);
             Date expireTime = Date.from(LocalDate.now().plusDays(tCoupon.getCouponValidity()).atStartOfDay().atZone(ZoneId.systemDefault()).toInstant());
-            System.err.println(expireTime);
             tUserToCoupon.setExpireTime(expireTime);
+
+            // 添加发放人id和类型
+            if(ShiroKit.getUser().getRoleType() == 1){
+                tUserToCoupon.setObjectId(1);
+            }else {
+                tUserToCoupon.setObjectId(ShiroKit.getUser().getObjectId());
+            }
+            tUserToCoupon.setRoleType(ShiroKit.getUser().getRoleType());
+
             tUserToCoupons.add(tUserToCoupon);
         }
         tUserToCouponService.insertBatch(tUserToCoupons);

--
Gitblit v1.7.1