From 33fb76bd70cf84cebbe26b96e5faedd22961f0b0 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期三, 16 八月 2023 15:54:47 +0800 Subject: [PATCH] 修改bug --- management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCouponController.java | 118 +++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 107 insertions(+), 11 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 43f9696..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 @@ -2,10 +2,17 @@ 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; @@ -20,6 +27,8 @@ import com.stylefeng.guns.modular.system.model.TCoupon; import com.stylefeng.guns.modular.system.service.ITCouponService; +import java.time.LocalDate; +import java.time.ZoneId; import java.util.*; /** @@ -36,6 +45,8 @@ @Autowired private ITCouponService tCouponService; + @Autowired + private ITUserToCouponService tUserToCouponService; /** * 跳转到首页 @@ -69,7 +80,7 @@ */ @RequestMapping(value = "/list") @ResponseBody - public Object list(Integer couponType,Integer couponServiceType,String createtime) { + public Object list(Integer couponType,Integer couponServiceType,String createTime) { EntityWrapper<TCoupon> wrapper = new EntityWrapper<>(); if(Objects.nonNull(couponType)){ wrapper.eq("coupon_type",couponType); @@ -78,15 +89,30 @@ wrapper.eq("coupon_service_type",couponServiceType); } // 开始,结束时间 - if(StringUtils.hasLength(createtime)){ - String[] split = createtime.split(" - "); - Date startTime = DateUtil.getDate_str4(split[0]); - Date endTime = DateUtil.getDate_str4(split[1]); - wrapper.between("createtime",startTime,endTime); + if(StringUtils.hasLength(createTime)){ + String[] split = createTime.split(" - "); + 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.orderBy(true,"createtime",false); - wrapper.groupBy(true,"coupon_name"); - wrapper.groupBy(true,"coupon_type"); + wrapper.ne("status", StatusEnum.DELETE.getCode()); + wrapper.orderBy(true,"create_time",false); + return tCouponService.selectList(wrapper); + } + + /** + * 获取活动券列表 + */ + @RequestMapping(value = "/activityCouponList") + @ResponseBody + public Object activityCouponList(String couponName) { + EntityWrapper<TCoupon> wrapper = new EntityWrapper<>(); + if(StringUtils.hasLength(couponName)){ + wrapper.like("coupon_name",couponName); + } + wrapper.eq("coupon_type",1); + wrapper.eq("coupon_state",1); + wrapper.orderBy(true,"create_time",false); return tCouponService.selectList(wrapper); } @@ -107,6 +133,19 @@ public Object add(TCoupon tCoupon) { // 校验是否添加的是同类型同名称的优惠券 Boolean isExit = tCouponService.isExit(tCoupon); + 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; } @@ -117,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; } @@ -150,8 +219,35 @@ List<Integer> userIds = couponSendReq.getUserIds(); + // 查询选择的优惠券 + TCoupon tCoupon = tCouponService.selectById(couponSendReq.getCouponId()); + + List<TUserToCoupon> tUserToCoupons = new ArrayList<>(userIds.size()); + + for (Integer userId : userIds) { + // 创建用户优惠券关联表 + TUserToCoupon tUserToCoupon = new TUserToCoupon(); + tUserToCoupon.setCouponId(tCoupon.getId()); + tUserToCoupon.setUserId(userId); + tUserToCoupon.setCouponTotal(1); + tUserToCoupon.setValidCount(1); + Date expireTime = Date.from(LocalDate.now().plusDays(tCoupon.getCouponValidity()).atStartOfDay().atZone(ZoneId.systemDefault()).toInstant()); + 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); + // 查询该优惠券的列表 - List<TCoupon> tCoupons = tCouponService.selectList(new EntityWrapper<TCoupon>().eq("coupon_name", couponSendReq.getCouponName()) + /*List<TCoupon> tCoupons = tCouponService.selectList(new EntityWrapper<TCoupon>().eq("coupon_name", couponSendReq.getCouponName()) .eq("coupon_status",CouponStatusEnum.UNISSUED.getCode())); Assert.isTrue(!CollectionUtils.isEmpty(tCoupons),"该优惠券不存在!"); List<TCoupon> tCouponList = new ArrayList<>(); @@ -182,7 +278,7 @@ } if(!CollectionUtils.isEmpty(tCouponList)){ tCouponService.updateBatchById(tCouponList); - } + }*/ return SUCCESS_TIP; } -- Gitblit v1.7.1