puzhibing
12 小时以前 d2a65425646e33c26b8a98c394c7990a6bfb6b03
修改bug
13个文件已修改
242 ■■■■ 已修改文件
ruoyi-api/ruoyi-api-goods/src/main/java/com/ruoyi/goods/api/domain/TLotteryEventUser.java 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-goods/src/main/java/com/ruoyi/goods/api/factory/LotteryEventFallbackFactory.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-goods/src/main/java/com/ruoyi/goods/api/service/LotteryEventClient.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/concole/LotteryEventController.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/lottery/LotteryEventUserMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/LotteryEventUserServiceImpl.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/lottery/ILotteryEventUserService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/resources/mapper/lottery/LotteryEventMapper.xml 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/miniapp/AppCouponController.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/miniapp/AppIntegralController.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/miniapp/AppMemberController.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-goods/src/main/java/com/ruoyi/goods/api/domain/TLotteryEventUser.java
@@ -34,122 +34,11 @@
     */
    @TableField("user_id")
    @ApiModelProperty("用户id")
    private Integer user_id;
    private Long user_id;
    /**
     * 门店id
     * 抽奖活动id
     */
    @TableField("shop_id")
    @ApiModelProperty("门店id")
    private Integer shopId;
    /**
     * 抽奖名称
     */
    @TableField("name")
    @ApiModelProperty("抽奖名称")
    private String name;
    /**
     * 活动简介名称
     */
    @TableField("activity_profile")
    @ApiModelProperty("活动简介名称")
    private String activityProfile;
    /**
     * 开启方式(1=新注册用户,2=下单,3=分享小程序,4=普通抽奖,5=答题抽奖)
     */
    @TableField("activity_type")
    @ApiModelProperty("开启方式(1=新注册用户,2=下单,3=分享小程序,4=普通抽奖,5=答题抽奖)")
    private Integer activityType;
    /**
     * 可抽奖次数
     */
    @TableField("times")
    @ApiModelProperty("可抽奖次数")
    private Integer times;
    /**
     * 活动开始时间
     */
    @TableField("start_time")
    @ApiModelProperty("活动开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime startTime;
    /**
     * 活动结束时间
     */
    @TableField("end_time")
    @ApiModelProperty("活动结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime endTime;
    /**
     * 分享抽奖间隔天数
     */
    @TableField("interval_time")
    @ApiModelProperty("分享抽奖间隔天数")
    private Integer intervalTime;
    /**
     * 下单支付金额
     */
    @TableField("pay_money")
    @ApiModelProperty("下单支付金额")
    private BigDecimal payMoney;
    /**
     * 答题抽奖正确率%
     */
    @TableField("accuracy")
    @ApiModelProperty("答题抽奖正确率%")
    private BigDecimal accuracy;
    /**
     * 答题时间限制(分钟)
     */
    @TableField("answering_time")
    @ApiModelProperty("答题时间限制(分钟)")
    private Integer answeringTime;
    /**
     * 封面图
     */
    @TableField("cover_image")
    @ApiModelProperty("封面图")
    private String coverImage;
    /**
     * 详情介绍
     */
    @TableField("activity_content")
    @ApiModelProperty("详情介绍")
    private String activityContent;
    /**
     * 微信小程序二维码
     */
    @TableField("wx_mini_program_qr_code")
    @ApiModelProperty("微信小程序二维码")
    private String wxMiniProgramQrCode;
    /**
     * 删除标记
     */
    @TableField("del_flag")
    private Integer delFlag;
    /**
     * 创建用户id
     */
    @TableField("create_user_id")
    private Long createUserId;
    /**
     * 创建时间
     */
    @TableField("create_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createTime;
    /**
     * 更新用户id
     */
    @TableField("update_user_id")
    private Long updateUserId;
    /**
     * 更新时间
     */
    @TableField("update_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime updateTime;
    @TableField(exist = false)
    @ApiModelProperty("奖品列表")
    private List<TLotteryEventPrize> prizes;
    @TableField("lottery_event_id")
    @ApiModelProperty("抽奖活动id")
    private String lotteryEventId;
}
ruoyi-api/ruoyi-api-goods/src/main/java/com/ruoyi/goods/api/factory/LotteryEventFallbackFactory.java
@@ -3,6 +3,7 @@
import com.ruoyi.common.core.domain.R;
import com.ruoyi.goods.api.domain.GetLotteryEventList;
import com.ruoyi.goods.api.domain.TLotteryEvent;
import com.ruoyi.goods.api.domain.TLotteryEventUser;
import com.ruoyi.goods.api.service.LotteryEventClient;
import org.springframework.cloud.openfeign.FallbackFactory;
@@ -21,6 +22,11 @@
            public R<List<TLotteryEvent>> getLotteryEventList(GetLotteryEventList getLotteryEventList) {
                return R.fail("根据开启方式获取活动列表失败:" + cause.getMessage());
            }
            @Override
            public R addLotteryEventUser(TLotteryEventUser lotteryEventUser) {
                return R.fail("添加用户抽奖弹框记录失败:" + cause.getMessage());
            }
        };
    }
}
ruoyi-api/ruoyi-api-goods/src/main/java/com/ruoyi/goods/api/service/LotteryEventClient.java
@@ -4,6 +4,7 @@
import com.ruoyi.common.core.domain.R;
import com.ruoyi.goods.api.domain.GetLotteryEventList;
import com.ruoyi.goods.api.domain.TLotteryEvent;
import com.ruoyi.goods.api.domain.TLotteryEventUser;
import com.ruoyi.goods.api.domain.TUserLotteryEvent;
import com.ruoyi.goods.api.factory.LotteryEventFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
@@ -29,4 +30,16 @@
     */
    @PostMapping("/lotteryEvent/getLotteryEventList")
    R<List<TLotteryEvent>> getLotteryEventList(@RequestBody GetLotteryEventList getLotteryEventList);
    /**
     * 添加用户抽奖弹框记录
     * @param lotteryEventUser
     * @return
     */
    @PostMapping("/lotteryEvent/addLotteryEventUser")
    R addLotteryEventUser(@RequestBody TLotteryEventUser lotteryEventUser);
}
ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java
@@ -6,11 +6,14 @@
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.JwtUtils;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.utils.bean.BeanUtils;
import com.ruoyi.common.core.utils.uuid.IdUtils;
import com.ruoyi.common.security.auth.AuthUtil;
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.goods.api.domain.GetLotteryEventList;
import com.ruoyi.goods.api.domain.TLotteryEvent;
import com.ruoyi.goods.api.domain.TLotteryEventUser;
import com.ruoyi.goods.api.service.LotteryEventClient;
import com.ruoyi.system.api.domain.dto.AppMiniRegisterDto;
import com.ruoyi.system.api.model.AppMiniLoginDto;
@@ -85,6 +88,12 @@
        if (data.size() > 0) {
            miniToken.put("lotteryDraw", true);
            miniToken.put("lotteryEventId", data.get(0).getId());
            //将数据添加到普通抽奖列表中
            TLotteryEventUser lotteryEventUser = new TLotteryEventUser();
            lotteryEventUser.setId(IdUtils.simpleUUID());
            lotteryEventUser.setLotteryEventId(data.get(0).getId());
            lotteryEventUser.setUser_id(SecurityUtils.getUserId());
            lotteryEventClient.addLotteryEventUser(lotteryEventUser);
        }
        return R.ok(miniToken);
    }
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/concole/LotteryEventController.java
@@ -3,10 +3,15 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.uuid.IdUtils;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.goods.api.domain.GetLotteryEventList;
import com.ruoyi.goods.api.domain.TLotteryEvent;
import com.ruoyi.goods.api.domain.TLotteryEventUser;
import com.ruoyi.goods.api.domain.TUserLotteryEvent;
import com.ruoyi.goods.api.service.LotteryEventClient;
import com.ruoyi.goods.service.lottery.ILotteryEventService;
import com.ruoyi.goods.service.lottery.ILotteryEventUserService;
import com.ruoyi.goods.service.lottery.IUserLotteryEventService;
import org.springframework.web.bind.annotation.*;
@@ -28,6 +33,9 @@
    @Resource
    private IUserLotteryEventService userLotteryEventService;
    @Resource
    private ILotteryEventUserService lotteryEventUserService;
    
    
    /**
@@ -55,5 +63,24 @@
        }
        return R.ok(list);
    }
    /**
     * 添加用户抽奖弹框记录
     * @param lotteryEventUser
     * @return
     */
    @ResponseBody
    @PostMapping("/addLotteryEventUser")
    public R addLotteryEventUser(@RequestBody TLotteryEventUser lotteryEventUser){
        TLotteryEventUser one = lotteryEventUserService.getOne(new LambdaQueryWrapper<TLotteryEventUser>().eq(TLotteryEventUser::getLotteryEventId, lotteryEventUser.getLotteryEventId())
                .eq(TLotteryEventUser::getUser_id, lotteryEventUser.getUser_id()));
        if(null == one){
            lotteryEventUserService.save(lotteryEventUser);
        }
        return R.ok();
    }
}
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/lottery/LotteryEventUserMapper.java
@@ -1,6 +1,6 @@
package com.ruoyi.goods.mapper.lottery;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.goods.api.domain.TLotteryEventUser;
public interface LotteryEventUserMapper extends BaseMapper<TLotteryEventUser> {
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/LotteryEventUserServiceImpl.java
@@ -1,9 +1,11 @@
package com.ruoyi.goods.service.impl.lottery;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.goods.api.domain.TLotteryEventUser;
import com.ruoyi.goods.mapper.lottery.LotteryEventUserMapper;
import com.ruoyi.goods.service.lottery.ILotteryEventUserService;
import org.springframework.stereotype.Service;
@Service
public class LotteryEventUserServiceImpl extends ServiceImpl<LotteryEventUserMapper, TLotteryEventUser> implements ILotteryEventUserService {
}
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/lottery/ILotteryEventUserService.java
@@ -1,7 +1,8 @@
package com.ruoyi.goods.service.lottery;
import com.baomidou.mybatisplus.service.IService;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.goods.api.domain.TLotteryEventUser;
public interface ILotteryEventUserService extends IService<TLotteryEventUser> {
}
ruoyi-modules/ruoyi-goods/src/main/resources/mapper/lottery/LotteryEventMapper.xml
@@ -19,11 +19,12 @@
                        WHEN NOW() &lt; a.start_time THEN 3
                        ELSE 4 END as sort
              from t_lottery_event a
                       left join (select count(1) as num, lottery_event_id
                                  from t_user_lottery_event
                                  where user_id = #{userId}
                                  group by lottery_event_id) b on a.id = b.lottery_event_id
              where a.del_flag = 0 and a.activity_type in (4, 5) and now() &lt; a.end_time and a.shop_id is null) as aa
              left join (
              select count(1) as num, lottery_event_id
              from t_user_lottery_event where user_id = #{userId} group by lottery_event_id
              ) b on a.id = b.lottery_event_id
              where a.del_flag = 0 and now() &lt; a.end_time and a.shop_id is null and (a.activity_type in (4, 5) or (a.activity_type in (1, 3) and id in (select lottery_event_id from t_lottery_event_user where user_id = #{userId})))
              ) as aa
        order by aa.sort, aa.startTime
    </select>
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/miniapp/AppCouponController.java
@@ -5,9 +5,12 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.utils.bean.BeanUtils;
import com.ruoyi.common.core.utils.uuid.IdUtils;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.goods.api.domain.GetLotteryEventList;
import com.ruoyi.goods.api.domain.TLotteryEvent;
import com.ruoyi.goods.api.domain.TLotteryEventUser;
import com.ruoyi.goods.api.service.LotteryEventClient;
import com.ruoyi.member.domain.dto.AppMemberCouponPageDto;
import com.ruoyi.member.domain.pojo.coupon.Coupon;
@@ -160,7 +163,14 @@
        getLotteryEventList.setUserId(SecurityUtils.getUserId());
        List<TLotteryEvent> data = lotteryEventClient.getLotteryEventList(getLotteryEventList).getData();
        if (data.size() > 0) {
            return R.ok(data.get(0).getId());
            //将数据添加到普通抽奖列表中
            String id = data.get(0).getId();
            TLotteryEventUser lotteryEventUser = new TLotteryEventUser();
            lotteryEventUser.setId(IdUtils.simpleUUID());
            lotteryEventUser.setLotteryEventId(id);
            lotteryEventUser.setUser_id(SecurityUtils.getUserId());
            lotteryEventClient.addLotteryEventUser(lotteryEventUser);
            return R.ok(id);
        }
        return R.ok();
    }
@@ -174,8 +184,8 @@
    })
    public R<Boolean> determineClaimCoupon(@PathVariable("couponId") String couponId){
        Long userId = SecurityUtils.getUserId();
        MemberCoupon one = memberCouponService.getOne(new QueryWrapper<MemberCoupon>().eq("coupon_id", couponId)
        int count = memberCouponService.count(new QueryWrapper<MemberCoupon>().eq("coupon_id", couponId)
                .eq("user_id", userId).ne("coupon_status", -1));
        return R.ok(null != one);
        return R.ok(0 < count);
    }
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/miniapp/AppIntegralController.java
@@ -3,9 +3,12 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.utils.bean.BeanUtils;
import com.ruoyi.common.core.utils.uuid.IdUtils;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.goods.api.domain.GetLotteryEventList;
import com.ruoyi.goods.api.domain.TLotteryEvent;
import com.ruoyi.goods.api.domain.TLotteryEventUser;
import com.ruoyi.goods.api.service.LotteryEventClient;
import com.ruoyi.member.domain.vo.AppIntegralRecordPageVo;
import com.ruoyi.member.domain.vo.AppIntegralTaskListVo;
@@ -104,6 +107,12 @@
            map.put("lotteryEventId", tLotteryEvent.getId());
            map.put("name", tLotteryEvent.getActivityProfile());
            map.put("image", tLotteryEvent.getCoverImage());
            //将数据添加到普通抽奖列表中
            TLotteryEventUser lotteryEventUser = new TLotteryEventUser();
            lotteryEventUser.setId(IdUtils.simpleUUID());
            lotteryEventUser.setLotteryEventId(tLotteryEvent.getId());
            lotteryEventUser.setUser_id(SecurityUtils.getUserId());
            lotteryEventClient.addLotteryEventUser(lotteryEventUser);
        }
        return R.ok(map);
    }
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/miniapp/AppMemberController.java
@@ -4,9 +4,12 @@
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.utils.bean.BeanUtils;
import com.ruoyi.common.core.utils.uuid.IdUtils;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.goods.api.domain.GetLotteryEventList;
import com.ruoyi.goods.api.domain.TLotteryEvent;
import com.ruoyi.goods.api.domain.TLotteryEventUser;
import com.ruoyi.goods.api.service.LotteryEventClient;
import com.ruoyi.member.domain.dto.AppMemberBrowseDto;
import com.ruoyi.member.domain.vo.AppBirthdayCardVo;
@@ -71,7 +74,6 @@
        getLotteryEventList.setActivityType(3);
        getLotteryEventList.setUserId(SecurityUtils.getUserId());
        List<TLotteryEvent> data = lotteryEventClient.getLotteryEventList(getLotteryEventList).getData();
        Map<String, Object> map = new HashMap<>();
        if(data.size() > 0){
            TLotteryEvent tLotteryEvent = data.get(0);
            appUserInfoVo.setLotteryEventId(tLotteryEvent.getId());
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
@@ -2256,8 +2256,15 @@
//    @GlobalTransactional(rollbackFor = Exception.class) todo 放开分布式事务注解
    public MerVerifyOrderVo sureVerifyOrderDouYin(MerVerifyOrderDto merVerifyOrderDto) {
        String phone = merVerifyOrderDto.getPhone();
        String name = merVerifyOrderDto.getName();
        String orderId = merVerifyOrderDto.getOrderId();
        Long shopId = merVerifyOrderDto.getShopId();
        if(StringUtils.isEmpty(phone)){
            throw new ServiceException("请填写核销用户电话号码");
        }
        if(StringUtils.isEmpty(name)){
            throw new ServiceException("请填写核销用户姓名");
        }
        //获取核销商户
        Shop shop = remoteShopService.getShop(shopId).getData();
        CertificatePrepareResponseData data = VerifyUtil.certificatePrepare(orderId);
@@ -2289,7 +2296,6 @@
        }
        Member member = remoteMemberService.getMemberByMobile(phone).getData();//绑定用户判断核销商户
        if(null == member){
            String name = merVerifyOrderDto.getName();
            //创建新用户
            String memberId = IdUtils.simpleUUID();
            SysUser sysUser = new SysUser();
@@ -2568,8 +2574,15 @@
//    @GlobalTransactional(rollbackFor = Exception.class) todo 放开分布式事务注解
    public MerVerifyOrderVo sureVerifyOrderKuaiShou(MerVerifyOrderDto merVerifyOrderDto) {
        String phone = merVerifyOrderDto.getPhone();
        String name = merVerifyOrderDto.getName();
        String orderId = merVerifyOrderDto.getOrderId();
        Long shopId = merVerifyOrderDto.getShopId();
        if(StringUtils.isEmpty(phone)){
            throw new ServiceException("请填写核销用户电话号码");
        }
        if(StringUtils.isEmpty(name)){
            throw new ServiceException("请填写核销用户姓名");
        }
        //获取核销商户
        Shop shop = remoteShopService.getShop(shopId).getData();
        VerifyPrepareDataNew data = KSVerifyUtil.certificatePrepare(redisService, orderId);