wangzhijun 1 hete
szülő
commit
a53a2e8205

+ 5 - 37
nightFragrance-massage/src/main/java/com/ylx/lottery/domain/vo/LocalActivityTableVO.java

@@ -4,8 +4,6 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.io.Serializable;
-import java.time.LocalDateTime;
-import java.util.List;
 
 @Data
 public class LocalActivityTableVO implements Serializable {
@@ -14,49 +12,19 @@ public class LocalActivityTableVO implements Serializable {
     @ApiModelProperty("ID")
     private String id;
 
-    @ApiModelProperty("标题")
-    private String title;
-
-    @ApiModelProperty("说明")
-    private String instructions;
-
-    @ApiModelProperty("开始时间")
-    private LocalDateTime startTime;
-
-    @ApiModelProperty("结束时间")
-    private LocalDateTime endTime;
-
-    @ApiModelProperty("用户类型")
-    private String userType;
-
-    @ApiModelProperty("用户等级ID")
-    private String userLevelId;
-
-    @ApiModelProperty("奖品类型")
-    private String awardType;
-
-    @ApiModelProperty("转盘ID")
-    private String turntableId;
+    @ApiModelProperty(value = "积分数量")
+    private Integer pointNumber;
 
     @ApiModelProperty("类型 6-报价 7-签到 8-出单 9-承保")
     private String type;
 
-    @ApiModelProperty("背景图")
-    private String backImage;
-
-    @ApiModelProperty("报价次数")
-    private String qutNum;
-
-    @ApiModelProperty("报价获得抽奖次数")
-    private String qutLotteryNum;
-
-    @ApiModelProperty("报价最大抽奖次数")
-    private String qutLotteryMax;
-
     @ApiModelProperty(value = "是否是商品商户 1 商品 2 商户")
     private String isProduct;
 
     @ApiModelProperty(value = "指定商品id")
     private String productId;
 
+    @ApiModelProperty(value = "每日最大抽奖次数")
+    private String qutLotteryMax;
+
 }

+ 0 - 51
nightFragrance-massage/src/main/java/com/ylx/lottery/domain/vo/LotteryActivityAwardVO.java

@@ -1,51 +0,0 @@
-package com.ylx.lottery.domain.vo;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.io.Serializable;
-import java.math.BigDecimal;
-
-@Data
-public class LotteryActivityAwardVO implements Serializable {
-    private static final long serialVersionUID = -6917976093671797777L;
-
-    @ApiModelProperty("奖品ID")
-    private String id;
-
-    @ApiModelProperty("活动ID")
-    private String activityId;
-
-    @ApiModelProperty("奖品类型 1-现金 2-积分 5-感谢参与 6-会员")
-    private Integer awardType;
-
-    @ApiModelProperty("优惠券ID")
-    private String couponId;
-
-    @ApiModelProperty("优惠券名称")
-    private String couponName;
-
-    @ApiModelProperty("奖品图标")
-    private String icon;
-
-    @ApiModelProperty("中奖概率")
-    private Integer winningProbability;
-
-    @ApiModelProperty("兑换类型")
-    private Integer redemptionType;
-
-    @ApiModelProperty("奖品名称")
-    private String awardName;
-
-    @ApiModelProperty("积分数量")
-    private Integer pointNum;
-
-    @ApiModelProperty("红包金额")
-    private BigDecimal redAmount;
-
-    @ApiModelProperty("付费会员ID")
-    private Long paidMemberId;
-
-    @ApiModelProperty("付费会员规则ID")
-    private Long paidMemberRulesId;
-}

+ 21 - 0
nightFragrance-massage/src/main/java/com/ylx/lottery/domain/vo/LotteryActivityRulesProductVO.java

@@ -0,0 +1,21 @@
+package com.ylx.lottery.domain.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class LotteryActivityRulesProductVO implements Serializable {
+    private static final long serialVersionUID = -6758927198878789658L;
+
+    @ApiModelProperty(value = "主键")
+    private String id;
+
+    @ApiModelProperty(value = "活动id")
+    private String activityId;
+
+    @ApiModelProperty(value = "商品id")
+    private String productId;
+
+}

+ 16 - 29
nightFragrance-massage/src/main/java/com/ylx/lottery/domain/vo/LotteryActivityVO.java

@@ -4,7 +4,6 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.io.Serializable;
-import java.time.LocalDate;
 import java.util.List;
 
 @Data
@@ -14,42 +13,30 @@ public class LotteryActivityVO implements Serializable {
     @ApiModelProperty("活动ID")
     private String id;
 
-    @ApiModelProperty("活动名称")
-    private String activityName;
-
-    @ApiModelProperty("场景编码")
-    private Integer scene;
-
-    @ApiModelProperty("场景名称")
-    private String sceneName;
-
-    @ApiModelProperty("类型")
-    private Integer type;
-
-    @ApiModelProperty("活动开始时间")
-    private LocalDate activityStartTime;
-
-    @ApiModelProperty("活动结束时间")
-    private LocalDate activityEndTime;
-
     @ApiModelProperty("参与规则")
     private Integer participationRules;
 
-    @ApiModelProperty("活动背景图")
-    private String activityBackgroundImage;
+    @ApiModelProperty(value = "消费奖励 1商品限制 2消费限制")
+    private Integer productRestriction;
 
-    @ApiModelProperty("海报背景图")
-    private String posterBackgroundImage;
+    @ApiModelProperty(value = "消费奖励 购买指定商品得几次抽奖机会")
+    private Integer productLotteryNum;
 
-    @ApiModelProperty("活动链接")
-    private String activityUrl;
+    @ApiModelProperty(value = "消费奖励 每个用户最多得几次")
+    private Integer productUserMaxNum;
 
-    @ApiModelProperty("活动描述")
-    private String activityDescribe;
+    @ApiModelProperty(value = "消费奖励 消费满几元")
+    private Integer consumeAmount;
 
-    @ApiModelProperty("奖品列表")
-    private List<LotteryActivityAwardVO> lotteryActivityAwards;
+    @ApiModelProperty(value = "消费奖励 消费满几元的几次抽奖机会")
+    private Integer consumeAmountLottery;
+
+    @ApiModelProperty(value = "商品")
+    private List<LotteryActivityRulesProductVO> lotteryActivityRulesProducts;
 
     @ApiModelProperty("本地活动表")
     private List<LocalActivityTableVO> localActivityTables;
+
+    @ApiModelProperty(value = "广誉源积分活动")
+    private List<LocalActivityTableVO> gyyPointTables;
 }

+ 85 - 9
nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/TCommentUserServiceImpl.java

@@ -1,9 +1,18 @@
 package com.ylx.massage.service.impl;
 
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ylx.common.core.domain.model.WxLoginUser;
 import com.ylx.common.exception.ServiceException;
 import com.ylx.common.utils.StringUtils;
+import com.ylx.lottery.domain.LotteryCountLog;
+import com.ylx.lottery.domain.vo.LocalActivityTableVO;
+import com.ylx.lottery.domain.vo.LotteryActivityVO;
+import com.ylx.lottery.domain.vo.LotteryStatVO;
+import com.ylx.lottery.service.LotteryCountLogService;
+import com.ylx.lottery.service.LotteryCountService;
 import com.ylx.massage.domain.CommentUserAudit;
 import com.ylx.massage.domain.TComment;
 import com.ylx.massage.domain.TOrder;
@@ -38,29 +47,33 @@ public class TCommentUserServiceImpl extends ServiceImpl<TCommentUserMapper, TCo
 
     @Resource
     private TCommentUserMapper tCommentUserMapper;
+    @Resource
+    private LotteryCountService lotteryCountService;
+    @Resource
+    private LotteryCountLogService lotteryCountLogService;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Boolean saveComment(TCommentUser comment, WxLoginUser wxLoginUser) {
         //订单ID不能为空
-        if(StringUtils.isBlank(comment.getOrderId())){
+        if (StringUtils.isBlank(comment.getOrderId())) {
             throw new ServiceException("订单id不能为空");
         }
         //判断订单是否存在
         TOrder order1 = orderService.getById(comment.getOrderId());
-        if(order1 == null){
+        if (order1 == null) {
             throw new ServiceException("订单不存在");
         }
-        if(StringUtils.isBlank(comment.getOrderNo())){
+        if (StringUtils.isBlank(comment.getOrderNo())) {
             throw new ServiceException("订单号不能为空");
         }
-        if(StringUtils.isBlank(comment.getText())){
+        if (StringUtils.isBlank(comment.getText())) {
             throw new ServiceException("评论内容不能空");
         }
-        if(StringUtils.isBlank(comment.getJsId())){
+        if (StringUtils.isBlank(comment.getJsId())) {
             throw new ServiceException("技师id不能空");
         }
-        if(StringUtils.isBlank(comment.getName())){
+        if (StringUtils.isBlank(comment.getName())) {
             throw new ServiceException("技师姓名不能空");
         }
         comment.setOpenId(wxLoginUser.getCOpenid());
@@ -84,13 +97,76 @@ public class TCommentUserServiceImpl extends ServiceImpl<TCommentUserMapper, TCo
         //修改订单状态(已完成)
         order.setnStatus(OrderStatusEnum.COMPLETE.getCode());
         order.setcId(comment.getOrderId());
-        return orderService.updateById(order);
+        boolean bool = orderService.updateById(order);
+        if (bool) {
+
+            // 评价有礼
+            List<LotteryActivityVO> lotteryActivityVOS = lotteryCountService.queryActivityRules();
+            if (CollUtil.isNotEmpty(lotteryActivityVOS)) {
+                for (LotteryActivityVO activity : lotteryActivityVOS) {
+
+                    List<LocalActivityTableVO> gyyPointTables = activity.getGyyPointTables();
+                    if (CollUtil.isNotEmpty(gyyPointTables)) {
+                        for (LocalActivityTableVO localActivityTable : gyyPointTables) {
+
+                            LotteryCountLog lotteryCountLog = new LotteryCountLog();
+                            lotteryCountLog.setOpenId(wxLoginUser.getCOpenid());
+                            lotteryCountLog.setUserId(wxLoginUser.getId());
+                            lotteryCountLog.setUserPhone(wxLoginUser.getCPhone());
+                            // 活动类型:2.任务奖励
+                            lotteryCountLog.setActivityType(2);
+                            lotteryCountLog.setLocalActivityTableId(localActivityTable.getId());
+                            lotteryCountLog.setLotteryNum(localActivityTable.getPointNumber());
+                            lotteryCountLog.setReceiveTime(new Date());
+                            lotteryCountLog.setIsDelete("0");
+                            // 同步状态 0-未同步到本地生活
+                            lotteryCountLog.setStatus(0);
+                            lotteryCountLogService.save(lotteryCountLog);
+                        }
+                    } else {
+
+                        // 非任务奖励活动
+                        if (ObjectUtil.isNull(activity.getParticipationRules()) || ObjectUtil.notEqual(activity.getParticipationRules(), 3)) {
+                            continue;
+                        }
+
+                        List<LocalActivityTableVO> localActivityTables = activity.getLocalActivityTables();
+                        if (CollUtil.isEmpty(localActivityTables)) {
+                            continue;
+                        }
+
+                        for (LocalActivityTableVO localActivityTable : localActivityTables) {
+
+                            // 判断是否评价有礼
+                            if (ObjectUtil.isNull(localActivityTable.getType()) || ObjectUtil.notEqual(localActivityTable.getType(), 4)) {
+                                continue;
+                            }
+
+                            LotteryCountLog lotteryCountLog = new LotteryCountLog();
+                            lotteryCountLog.setOpenId(wxLoginUser.getCOpenid());
+                            lotteryCountLog.setUserId(wxLoginUser.getId());
+                            lotteryCountLog.setUserPhone(wxLoginUser.getCPhone());
+                            // 活动类型:2.任务奖励
+                            lotteryCountLog.setActivityType(2);
+                            lotteryCountLog.setLocalActivityTableId(localActivityTable.getId());
+                            lotteryCountLog.setLotteryNum(1);
+                            lotteryCountLog.setReceiveTime(new Date());
+                            lotteryCountLog.setIsDelete("0");
+                            // 同步状态 0-未同步到本地生活
+                            lotteryCountLog.setStatus(0);
+                            lotteryCountLogService.save(lotteryCountLog);
+                        }
+                    }
+                }
+            }
+        }
+        return bool;
     }
 
 
-     @Override
+    @Override
     public List<TCommentUser> selectAll(TCommentUser tCommentUser) {
-         return tCommentUserMapper.selectAll(tCommentUser);
+        return tCommentUserMapper.selectAll(tCommentUser);
     }
 }