Przeglądaj źródła

修改优惠券相关bug

zc 2 miesięcy temu
rodzic
commit
819f4daace

+ 13 - 6
alien-entity/src/main/java/shop/alien/entity/store/ActivityInviteConfig.java

@@ -35,17 +35,24 @@ public class ActivityInviteConfig {
     @ApiModelProperty(value = "邀请人数")
     private Integer invitePersonNum;
 
-    @ApiModelProperty(value = "邀请奖励类型:1.积分,2.其他")
+    @ApiModelProperty(value = "邀请奖励类型:1.优惠券,2.积分")
     private Integer inviteRewardType;
 
-    @ApiModelProperty(value = "邀请奖励")
-    private String inviteRewardContent;
+    @ApiModelProperty(value = "邀请奖励积分")
+    private Integer inviteRewardPoint;
 
-    @ApiModelProperty(value = "被邀请奖励类型:1.优惠券,2.其他")
+    @ApiModelProperty(value = "邀请奖励优惠券")
+    private Integer inviteRewardCoupon;
+
+    @ApiModelProperty(value = "被邀请奖励类型:1.优惠券,2.积分")
     private Integer invitedRewardType;
 
-    @ApiModelProperty(value = "被邀请奖励")
-    private Integer invitedRewardContent;
+    @ApiModelProperty(value = "被邀请奖励积分")
+    private Integer invitedRewardPoint;
+
+    @ApiModelProperty(value = "被邀请奖励优惠券")
+    private Integer invitedRewardCoupon;
+
 
     @ApiModelProperty(value = "每天最大邀请人数")
     private Integer maxInviteNum;

+ 12 - 6
alien-entity/src/main/java/shop/alien/entity/store/ActivityInviteLog.java

@@ -34,17 +34,23 @@ public class ActivityInviteLog {
     @ApiModelProperty(value = "被邀请人用户ID")
     private Integer invitedUserId;
 
-    @ApiModelProperty(value = "邀请奖励类型:1.积分,2.其他")
+    @ApiModelProperty(value = "邀请奖励类型:1.优惠券,2.积分")
     private Integer inviteRewardType;
 
-    @ApiModelProperty(value = "邀请奖励")
-    private String inviteRewardContent;
+    @ApiModelProperty(value = "邀请奖励积分")
+    private Integer inviteRewardPoint;
 
-    @ApiModelProperty(value = "被邀请奖励类型:1.优惠券,2.其他")
+    @ApiModelProperty(value = "邀请奖励优惠券")
+    private Integer inviteRewardCoupon;
+
+    @ApiModelProperty(value = "被邀请奖励类型:1.优惠券,2.积分")
     private Integer invitedRewardType;
 
-    @ApiModelProperty(value = "被邀请奖励")
-    private Integer invitedRewardContent;
+    @ApiModelProperty(value = "被邀请奖励积分")
+    private Integer invitedRewardPoint;
+
+    @ApiModelProperty(value = "被邀请奖励优惠券")
+    private Integer invitedRewardCoupon;
 
     @ApiModelProperty(value = "创建时间")
     @TableField(value = "created_time", fill = FieldFill.INSERT)

+ 2 - 0
alien-entity/src/main/java/shop/alien/entity/store/vo/ActivityInviteConfigVo.java

@@ -2,6 +2,7 @@ package shop.alien.entity.store.vo;
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -15,6 +16,7 @@ import shop.alien.entity.store.ActivityInviteConfig;
 @EqualsAndHashCode(callSuper = true)
 @Data
 @JsonInclude
+@ApiModel(value = "ActivityInviteConfigVo对象", description = "ActivityInviteConfigVo")
 public class ActivityInviteConfigVo extends ActivityInviteConfig {
     @ApiModelProperty(value = "返回错误信息")
     @TableField(exist = false)

+ 2 - 0
alien-entity/src/main/java/shop/alien/entity/store/vo/ActivityInviteInfoVo.java

@@ -1,6 +1,7 @@
 package shop.alien.entity.store.vo;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -13,6 +14,7 @@ import lombok.EqualsAndHashCode;
 @EqualsAndHashCode(callSuper = false)
 @Data
 @JsonInclude
+@ApiModel(value = "ActivityInviteInfoVo对象", description = "ActivityInviteInfoVo")
 public class ActivityInviteInfoVo {
 
     @ApiModelProperty(value = "邀请码")

+ 8 - 0
alien-entity/src/main/java/shop/alien/entity/store/vo/ActivityInviteLogVo.java

@@ -1,6 +1,7 @@
 package shop.alien.entity.store.vo;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -14,8 +15,15 @@ import shop.alien.entity.store.ActivityInviteLog;
 @EqualsAndHashCode(callSuper = false)
 @Data
 @JsonInclude
+@ApiModel(value = "ActivityInviteLogVo对象", description = "ActivityInviteLogVo")
 public class ActivityInviteLogVo extends ActivityInviteLog {
 
     @ApiModelProperty(value = "被邀请人头像")
     private String userImage;
+
+    @ApiModelProperty(value = "邀请人电话")
+    private String invitePhone;
+
+    @ApiModelProperty(value = "被邀请电话")
+    private String invitedPhone;
 }

+ 2 - 0
alien-entity/src/main/java/shop/alien/entity/store/vo/ActivityPeriodVo.java

@@ -2,6 +2,7 @@ package shop.alien.entity.store.vo;
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -9,6 +10,7 @@ import shop.alien.entity.store.ActivityPeriod;
 @EqualsAndHashCode(callSuper = true)
 @Data
 @JsonInclude
+@ApiModel(value = "ActivityPeriodVo对象", description = "ActivityPeriodVo")
 public class ActivityPeriodVo extends ActivityPeriod {
     /**
      * 活动名称

+ 2 - 0
alien-entity/src/main/java/shop/alien/entity/store/vo/ActivityPointInfoVo.java

@@ -1,6 +1,7 @@
 package shop.alien.entity.store.vo;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -13,6 +14,7 @@ import lombok.EqualsAndHashCode;
 @EqualsAndHashCode(callSuper = false)
 @Data
 @JsonInclude
+@ApiModel(value = "ActivityPointInfoVo对象", description = "ActivityPointInfoVo")
 public class ActivityPointInfoVo {
     @ApiModelProperty(value = "积分")
     private Integer point;

+ 5 - 2
alien-entity/src/main/java/shop/alien/mapper/ActivityInviteLogMapper.java

@@ -16,6 +16,9 @@ import shop.alien.entity.store.vo.ActivityInviteLogVo;
 @Mapper
 public interface ActivityInviteLogMapper extends BaseMapper<ActivityInviteLog> {
 
-    @Select("select ail.*, lu.user_image  from activity_invite_log ail left join life_user lu on lu.id  = ail.invited_user_id ${ew.customSqlSegment}")
-    IPage<ActivityInviteLogVo> getInviteActivityLogList(IPage<ActivityInviteLog> iPage, @Param(Constants.WRAPPER) QueryWrapper<ActivityInviteLog> wrapper);
+    @Select("select ail.*, lu.user_phone as invitePhone, lu1.user_phone as invitedPhone, lu1.user_image  " +
+            "from activity_invite_log ail " +
+            "left join life_user lu on lu.id = ail.invite_user_id and lu.delete_flag  = 0 " +
+            "left join life_user lu1 on lu1.id = ail.invited_user_id and lu1.delete_flag = 0 ${ew.customSqlSegment}")
+    IPage<ActivityInviteLogVo> getInviteActivityLogList(IPage<ActivityInviteLogVo> iPage, @Param(Constants.WRAPPER) QueryWrapper<ActivityInviteLogVo> wrapper);
 }

+ 9 - 3
alien-store/src/main/java/shop/alien/store/controller/ActivityInviteConfigController.java

@@ -112,13 +112,19 @@ public class ActivityInviteConfigController {
     @ApiImplicitParams({
             @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
             @ApiImplicitParam(name = "pageSize", value = "页容", dataType = "int", paramType = "query", required = true),
-            @ApiImplicitParam(name = "userId", value = "用户ID", dataType = "Integer", paramType = "query")
+            @ApiImplicitParam(name = "userId", value = "邀请人", dataType = "Integer", paramType = "query"),
+            @ApiImplicitParam(name = "invitePhone", value = "手机号", dataType = "String", paramType = "query"),
+            @ApiImplicitParam(name = "inviteStartTime", value = "开始时间", dataType = "String", paramType = "query"),
+            @ApiImplicitParam(name = "inviteEndTime", value = "结束时间", dataType = "String", paramType = "query")
     })
     @GetMapping("/getInviteActivityLogList")
     public R<IPage<ActivityInviteLogVo>> getInviteActivityLogList(@RequestParam(defaultValue = "1") int pageNum,
                                                                 @RequestParam(defaultValue = "10") int pageSize,
-                                                                @RequestParam(required = false) Integer userId){
-        IPage<ActivityInviteLogVo> activityLogList = activityInviteConfigService.getInviteActivityLogList(pageNum, pageSize, userId);
+                                                                @RequestParam(required = false) Integer userId,
+                                                                  @RequestParam(required = false) String invitePhone,
+                                                                  @RequestParam(required = false) String inviteStartTime,
+                                                                  @RequestParam(required = false) String inviteEndTime){
+        IPage<ActivityInviteLogVo> activityLogList = activityInviteConfigService.getInviteActivityLogList(pageNum, pageSize, userId, invitePhone, inviteStartTime, inviteEndTime);
         return R.data(activityLogList);
     }
 

+ 1 - 1
alien-store/src/main/java/shop/alien/store/service/ActivityInviteConfigService.java

@@ -39,7 +39,7 @@ public interface ActivityInviteConfigService extends IService<ActivityInviteConf
 
     ActivityInviteInfoVo getInviteInfo(Integer userId);
 
-    IPage<ActivityInviteLogVo> getInviteActivityLogList(int pageNum, int pageSize, Integer status);
+    IPage<ActivityInviteLogVo> getInviteActivityLogList(int pageNum, int pageSize, Integer status, String invitePhone, String inviteStartTime, String inviteEndTime);
 
     String bindInviteCode(Integer invitedUserId, String inviteCode);
 

+ 18 - 9
alien-store/src/main/java/shop/alien/store/service/impl/ActivityInviteConfigServiceImpl.java

@@ -178,8 +178,8 @@ public class ActivityInviteConfigServiceImpl extends ServiceImpl<ActivityInviteC
             inviteCount = activityInviteLogList.size();
             for(ActivityInviteLog activityInviteLog : activityInviteLogList){
                 int inviteRewardType = activityInviteLog.getInviteRewardType();
-                if(inviteRewardType == 1 && StringUtils.isNotBlank(activityInviteLog.getInviteRewardContent())){
-                    invitePoint = Integer.parseInt(activityInviteLog.getInviteRewardContent()) + invitePoint;
+                if(inviteRewardType == 2 && activityInviteLog.getInviteRewardPoint() != null){
+                    invitePoint = activityInviteLog.getInviteRewardPoint() + invitePoint;
                 }
             }
         }
@@ -192,13 +192,20 @@ public class ActivityInviteConfigServiceImpl extends ServiceImpl<ActivityInviteC
     }
 
     @Override
-    public IPage<ActivityInviteLogVo> getInviteActivityLogList(int pageNum, int pageSize, Integer userId) {
+    public IPage<ActivityInviteLogVo> getInviteActivityLogList(int pageNum, int pageSize, Integer userId, String invitePhone, String inviteStartTime, String inviteEndTime) {
 
-        IPage<ActivityInviteLog> iPage = new Page<>(pageNum, pageSize);
-        QueryWrapper<ActivityInviteLog> queryWrapper = new QueryWrapper<>();
+        IPage<ActivityInviteLogVo> iPage = new Page<>(pageNum, pageSize);
+        QueryWrapper<ActivityInviteLogVo> queryWrapper = new QueryWrapper<>();
         if(userId != null) {
-            queryWrapper.lambda().eq(ActivityInviteLog::getInviteUserId, userId);
+            queryWrapper.eq("ail.invite_user_id", userId);
         }
+        if(StringUtils.isNotBlank(invitePhone)) {
+            queryWrapper.eq("lu.user_phone", invitePhone);
+        }
+        if(StringUtils.isNotBlank(inviteStartTime) && StringUtils.isNotBlank(inviteEndTime) ) {
+            queryWrapper.between("ail.invite_time", inviteStartTime + " 00:00:00",inviteEndTime + " 23:59:59");
+        }
+
         return activityInviteLogMapper.getInviteActivityLogList(iPage, queryWrapper);
     }
 
@@ -254,10 +261,12 @@ public class ActivityInviteConfigServiceImpl extends ServiceImpl<ActivityInviteC
                    }
                    // 邀请奖励
                    activityInviteLog.setInviteRewardType(activityInviteConfig.getInviteRewardType());
-                   activityInviteLog.setInviteRewardContent(activityInviteConfig.getInviteRewardContent());
+                   activityInviteLog.setInviteRewardCoupon(activityInviteConfig.getInviteRewardCoupon());
+                   activityInviteLog.setInviteRewardPoint(activityInviteConfig.getInviteRewardPoint());
                    // 被邀请奖励
-                   activityInviteLog.setInviteRewardType(activityInviteConfig.getInvitedRewardType());
-                   activityInviteLog.setInvitedRewardContent(activityInviteConfig.getInvitedRewardContent());
+                   activityInviteLog.setInvitedRewardType(activityInviteConfig.getInvitedRewardType());
+                   activityInviteLog.setInvitedRewardCoupon(activityInviteConfig.getInvitedRewardCoupon());
+                   activityInviteLog.setInvitedRewardPoint(activityInviteConfig.getInvitedRewardPoint());
                    activityInviteLog.setInviteTime(Date.from(Instant.now()));
                    activityInviteLogMapper.insert(activityInviteLog);
 

+ 26 - 0
alien-store/src/main/java/shop/alien/store/service/impl/LifeDiscountCouponUserServiceImpl.java

@@ -1,17 +1,23 @@
 package shop.alien.store.service.impl;
 
 import com.aliyun.tea.utils.StringUtils;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.BeansException;
 import org.springframework.stereotype.Service;
 import shop.alien.entity.result.R;
+import shop.alien.entity.store.LifeCollect;
 import shop.alien.entity.store.LifeDiscountCoupon;
 import shop.alien.entity.store.LifeDiscountCouponUser;
+import shop.alien.entity.store.StoreInfo;
 import shop.alien.entity.store.dto.LifeDiscountCouponUserDto;
+import shop.alien.mapper.LifeCollectMapper;
 import shop.alien.mapper.LifeDiscountCouponMapper;
 import shop.alien.mapper.LifeDiscountCouponUserMapper;
+import shop.alien.mapper.StoreInfoMapper;
 import shop.alien.store.service.LifeDiscountCouponUserService;
 import shop.alien.util.common.constant.DiscountCouponEnum;
 
@@ -32,6 +38,10 @@ import java.util.Date;
 @RequiredArgsConstructor
 public class LifeDiscountCouponUserServiceImpl extends ServiceImpl<LifeDiscountCouponUserMapper, LifeDiscountCouponUser> implements LifeDiscountCouponUserService {
 
+    private final LifeCollectMapper lifeCollectMapper;
+
+    private final StoreInfoMapper storeInfoMapper;
+
     private final LifeDiscountCouponMapper lifeDiscountCouponMapper;
 
     private final LifeDiscountCouponUserMapper lifeDiscountCouponUserMapper;
@@ -81,6 +91,22 @@ public class LifeDiscountCouponUserServiceImpl extends ServiceImpl<LifeDiscountC
             //削减该优惠券库存
             lifeDiscountCoupon.setSingleQty(lifeDiscountCoupon.getSingleQty() - receiveQuantity);
             lifeDiscountCouponMapper.updateById(lifeDiscountCoupon);
+
+            //是否领取优惠券收藏店铺
+            Integer attentionCanReceived = lifeDiscountCoupon.getAttentionCanReceived();
+            if(attentionCanReceived != null && attentionCanReceived == 1){
+                LifeCollect lifeCollect = new LifeCollect();
+                lifeCollect.setStoreId(lifeDiscountCoupon.getStoreId());
+                lifeCollect.setUserId(lifeDiscountCouponUserDto.getUserId().toString());
+                lifeCollectMapper.insert(lifeCollect);
+
+                //同步店铺收藏数量
+                if (!StringUtils.isEmpty(lifeCollect.getStoreId())) {
+                    LambdaQueryWrapper<LifeCollect> queryWrapper = new LambdaQueryWrapper<>();
+                    queryWrapper.eq(LifeCollect::getStoreId, lifeCollect.getStoreId());
+                    storeInfoMapper.update(null, new LambdaUpdateWrapper<StoreInfo>().eq(StoreInfo::getId, lifeCollect.getStoreId()).set(StoreInfo::getCollectNum, lifeCollectMapper.selectCount(queryWrapper)));
+                }
+            }
         } catch (BeansException e) {
             log.error("LifeDiscountCouponController.receiveCoupon ERROR Msg=" + e.getMessage());
             return R.fail("领取失败");