From 07dbfc55466484caaa8c06abc2af66cf00ac083a Mon Sep 17 00:00:00 2001 From: YunaiV Date: Tue, 24 Oct 2023 19:08:08 +0800 Subject: [PATCH] =?UTF-8?q?code=20review=EF=BC=9Asign=20=E7=AD=BE=E5=88=B0?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/coupon/CouponTemplateApi.java | 23 ------------- .../api/coupon/dto/CouponTemplateRespDTO.java | 30 ----------------- .../api/coupon/CouponTemplateApiImpl.java | 33 ------------------- .../convert/coupon/CouponTemplateConvert.java | 3 -- .../mysql/coupon/CouponTemplateMapper.java | 4 --- .../service/coupon/CouponTemplateService.java | 2 +- .../coupon/CouponTemplateServiceImpl.java | 4 +-- .../signin/MemberSignInRecordConvert.java | 21 ++++++------ .../signin/MemberSignInRecordServiceImpl.java | 1 + 9 files changed, 14 insertions(+), 107 deletions(-) delete mode 100644 yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/api/coupon/CouponTemplateApi.java delete mode 100644 yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/api/coupon/dto/CouponTemplateRespDTO.java delete mode 100644 yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/api/coupon/CouponTemplateApiImpl.java diff --git a/yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/api/coupon/CouponTemplateApi.java b/yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/api/coupon/CouponTemplateApi.java deleted file mode 100644 index d31e80ec1..000000000 --- a/yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/api/coupon/CouponTemplateApi.java +++ /dev/null @@ -1,23 +0,0 @@ -package cn.iocoder.yudao.module.promotion.api.coupon; - -import cn.iocoder.yudao.module.promotion.api.coupon.dto.CouponTemplateRespDTO; - -import java.util.Collection; -import java.util.List; - -/** - * 优惠劵模版 API 接口 - * - * @author HUIHUI - */ -public interface CouponTemplateApi { - - /** - * 获得优惠券模版的精简信息列表 - * - * @param ids 优惠券模版编号 - * @return 优惠券模版的精简信息列表 - */ - List getCouponTemplateListByIds(Collection ids); - -} diff --git a/yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/api/coupon/dto/CouponTemplateRespDTO.java b/yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/api/coupon/dto/CouponTemplateRespDTO.java deleted file mode 100644 index a54ccf2b0..000000000 --- a/yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/api/coupon/dto/CouponTemplateRespDTO.java +++ /dev/null @@ -1,30 +0,0 @@ -package cn.iocoder.yudao.module.promotion.api.coupon.dto; - -import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; -import lombok.Data; - -/** - * 优惠券模版 Response DTO - * - * @author HUIHUI - */ -@Data -public class CouponTemplateRespDTO { - /** - * 模板编号,自增唯一 - */ - - private Long id; - /** - * 优惠劵名 - */ - private String name; - - /** - * 状态 - * - * 枚举 {@link CommonStatusEnum} - */ - private Integer status; - -} diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/api/coupon/CouponTemplateApiImpl.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/api/coupon/CouponTemplateApiImpl.java deleted file mode 100644 index 8c4f443f5..000000000 --- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/api/coupon/CouponTemplateApiImpl.java +++ /dev/null @@ -1,33 +0,0 @@ -package cn.iocoder.yudao.module.promotion.api.coupon; - -import cn.hutool.core.collection.CollUtil; -import cn.iocoder.yudao.module.promotion.api.coupon.dto.CouponTemplateRespDTO; -import cn.iocoder.yudao.module.promotion.convert.coupon.CouponTemplateConvert; -import cn.iocoder.yudao.module.promotion.service.coupon.CouponTemplateService; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; -import java.util.Collection; -import java.util.Collections; -import java.util.List; - -/** - * 优惠劵模版 API 接口实现类 - * - * @author HUIHUI - */ -@Service -public class CouponTemplateApiImpl implements CouponTemplateApi { - - @Resource - private CouponTemplateService couponTemplateService; - - @Override - public List getCouponTemplateListByIds(Collection ids) { - if (CollUtil.isEmpty(ids)) { // 防御一下 - return Collections.emptyList(); - } - return CouponTemplateConvert.INSTANCE.convertList(couponTemplateService.getCouponTemplateListByIds(ids)); - } - -} diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/convert/coupon/CouponTemplateConvert.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/convert/coupon/CouponTemplateConvert.java index 8e1c57f5c..e09d0f013 100755 --- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/convert/coupon/CouponTemplateConvert.java +++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/convert/coupon/CouponTemplateConvert.java @@ -2,7 +2,6 @@ package cn.iocoder.yudao.module.promotion.convert.coupon; import cn.hutool.core.map.MapUtil; import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.module.promotion.api.coupon.dto.CouponTemplateRespDTO; import cn.iocoder.yudao.module.promotion.controller.admin.coupon.vo.template.CouponTemplateCreateReqVO; import cn.iocoder.yudao.module.promotion.controller.admin.coupon.vo.template.CouponTemplatePageReqVO; import cn.iocoder.yudao.module.promotion.controller.admin.coupon.vo.template.CouponTemplateRespVO; @@ -59,6 +58,4 @@ public interface CouponTemplateConvert { } } - List convertList(List list); - } diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/mysql/coupon/CouponTemplateMapper.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/mysql/coupon/CouponTemplateMapper.java index ba5706a77..dc703d881 100755 --- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/mysql/coupon/CouponTemplateMapper.java +++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/mysql/coupon/CouponTemplateMapper.java @@ -75,8 +75,4 @@ public interface CouponTemplateMapper extends BaseMapperX { return canTakeConsumer; } - default List selectListByIds(Collection ids) { - return selectList(new LambdaQueryWrapperX().in(CouponTemplateDO::getId, ids)); - } - } diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/coupon/CouponTemplateService.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/coupon/CouponTemplateService.java index a47644a4c..02ed7585b 100755 --- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/coupon/CouponTemplateService.java +++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/coupon/CouponTemplateService.java @@ -98,6 +98,6 @@ public interface CouponTemplateService { * @param ids 优惠券模版编号 * @return 优惠券模版列表 */ - List getCouponTemplateListByIds(Collection ids); + List getCouponTemplateList(Collection ids); } diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/coupon/CouponTemplateServiceImpl.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/coupon/CouponTemplateServiceImpl.java index 8a7fbb8ba..deaa42638 100755 --- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/coupon/CouponTemplateServiceImpl.java +++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/coupon/CouponTemplateServiceImpl.java @@ -128,8 +128,8 @@ public class CouponTemplateServiceImpl implements CouponTemplateService { } @Override - public List getCouponTemplateListByIds(Collection ids) { - return couponTemplateMapper.selectListByIds(ids); + public List getCouponTemplateList(Collection ids) { + return couponTemplateMapper.selectBatchIds(ids); } } diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/convert/signin/MemberSignInRecordConvert.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/convert/signin/MemberSignInRecordConvert.java index 63d31dab3..734647f8d 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/convert/signin/MemberSignInRecordConvert.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/convert/signin/MemberSignInRecordConvert.java @@ -43,12 +43,13 @@ public interface MemberSignInRecordConvert { AppMemberSignInRecordRespVO coverRecordToAppRecordVo(MemberSignInRecordDO memberSignInRecordDO); - default MemberSignInRecordDO convert(Long userId, MemberSignInRecordDO lastRecord, List signInConfigs) { - // 1. 获取最大签到天数积分配置 - signInConfigs.sort(Comparator.comparing(MemberSignInConfigDO::getDay)); - MemberSignInConfigDO lastConfig = signInConfigs.get(signInConfigs.size() - 1); // 最大签到天数配置 + default MemberSignInRecordDO convert(Long userId, MemberSignInRecordDO lastRecord, List configs) { + // 1. 计算是第几天签到 + configs.sort(Comparator.comparing(MemberSignInConfigDO::getDay)); + MemberSignInConfigDO lastConfig = CollUtil.getLast(configs); // 最大签到天数配置 // 1.2. 计算今天是第几天签到 int day = 1; + // TODO @puhui999:要判断是不是昨天签到的;是否是昨天的判断,可以抽个方法到 util 里 if (lastRecord != null) { day = lastRecord.getDay() + 1; } @@ -56,14 +57,12 @@ public interface MemberSignInRecordConvert { if (day > lastConfig.getDay()) { day = 1; // 超过最大配置的天数,重置到第一天。(也就是说开启下一轮签到) } - // 1.4 初始化签到信息 - MemberSignInRecordDO record = new MemberSignInRecordDO().setUserId(userId) - .setDay(day) // 设置签到天数 - .setPoint(0) // 设置签到积分默认为 0 - .setExperience(0); // 设置签到经验默认为 0 - // 2. 获取签到对应的积分 - MemberSignInConfigDO config = CollUtil.findOne(signInConfigs, item -> ObjUtil.equal(item.getDay(), record.getDay())); + // 2.1 初始化签到信息 + MemberSignInRecordDO record = new MemberSignInRecordDO().setUserId(userId) + .setDay(day).setPoint(0).setExperience(0); + // 2.2 获取签到对应的积分 + MemberSignInConfigDO config = CollUtil.findOne(configs, item -> ObjUtil.equal(item.getDay(), record.getDay())); if (config == null) { return record; } diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/signin/MemberSignInRecordServiceImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/signin/MemberSignInRecordServiceImpl.java index e90d18e03..c7690688f 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/signin/MemberSignInRecordServiceImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/signin/MemberSignInRecordServiceImpl.java @@ -85,6 +85,7 @@ public class MemberSignInRecordServiceImpl implements MemberSignInRecordService // TODO @puhui999:连续签到,可以基于 lastRecord 的 day 和当前时间判断呀?按 day 统计连续签到天数可能不准确 // 1. day 只是记录第几天签到的有可能不连续,比如第一次签到是周一,第二次签到是周三这样 lastRecord 的 day 为 2 但是并不是连续的两天 // 2. day 超出签到规则的最大天数会重置到从第一天开始签到(我理解为开始下一轮,类似一周签到七天七天结束下周又从周一开始签到) + // 1. 回复:周三签到,day 要归 1 呀。连续签到哈; List signInRecords = signInRecordMapper.selectListByUserId(userId); signInRecords.sort(Comparator.comparing(MemberSignInRecordDO::getCreateTime).reversed()); // 根据签到时间倒序 summary.setContinuousDay(calculateConsecutiveDays(signInRecords));