Commit 33323c1483604330b17b1767e774fd39d1c005fc

Authored by xiaqing
1 parent ba59ec85

会员签到针对代码格式、功能优化

1.优化todo建议
2.删除无用代码
Showing 16 changed files with 152 additions and 122 deletions
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/signin/MemberSignInConfigController.java
... ... @@ -3,7 +3,6 @@ package cn.iocoder.yudao.module.member.controller.admin.signin;
3 3 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
4 4 import cn.iocoder.yudao.framework.common.pojo.PageResult;
5 5 import cn.iocoder.yudao.module.member.controller.admin.signin.vo.MemberSignInConfigCreateReqVO;
6   -import cn.iocoder.yudao.module.member.controller.admin.signin.vo.MemberSignInConfigPageReqVO;
7 6 import cn.iocoder.yudao.module.member.controller.admin.signin.vo.MemberSignInConfigRespVO;
8 7 import cn.iocoder.yudao.module.member.controller.admin.signin.vo.MemberSignInConfigUpdateReqVO;
9 8 import cn.iocoder.yudao.module.member.convert.signin.MemberSignInConfigConvert;
... ... @@ -19,6 +18,8 @@ import org.springframework.web.bind.annotation.*;
19 18 import javax.annotation.Resource;
20 19 import javax.validation.Valid;
21 20  
  21 +import java.util.List;
  22 +
22 23 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
23 24  
24 25 @Tag(name = "管理后台 - 积分签到规则")
... ... @@ -63,12 +64,12 @@ public class MemberSignInConfigController {
63 64 return success(MemberSignInConfigConvert.INSTANCE.convert(signInConfig));
64 65 }
65 66  
66   - @GetMapping("/page")
  67 + @GetMapping("/list")
67 68 @Operation(summary = "获得积分签到规则分页")
68 69 @PreAuthorize("@ss.hasPermission('point:sign-in-config:query')")
69   - public CommonResult<PageResult<MemberSignInConfigRespVO>> getSignInConfigPage(@Valid MemberSignInConfigPageReqVO pageVO) {
70   - PageResult<MemberSignInConfigDO> pageResult = memberSignInConfigService.getSignInConfigPage(pageVO);
71   - return success(MemberSignInConfigConvert.INSTANCE.convertPage(pageResult));
  70 + public CommonResult<List<MemberSignInConfigRespVO>> getSignInConfigPage() {
  71 + List<MemberSignInConfigDO> pageResult = memberSignInConfigService.getSignInConfigList();
  72 + return success(MemberSignInConfigConvert.INSTANCE.convertList(pageResult));
72 73 }
73 74  
74 75 }
... ...
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/signin/MemberSignInRecordController.java
... ... @@ -7,16 +7,22 @@ import cn.iocoder.yudao.module.member.controller.admin.signin.vo.MemberSignInRec
7 7 import cn.iocoder.yudao.module.member.convert.signin.MemberSignInRecordConvert;
8 8 import cn.iocoder.yudao.module.member.dal.dataobject.signin.MemberSignInRecordDO;
9 9 import cn.iocoder.yudao.module.member.service.signin.MemberSignInRecordService;
  10 +import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
  11 +import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
10 12 import io.swagger.v3.oas.annotations.Operation;
11 13 import io.swagger.v3.oas.annotations.Parameter;
12 14 import io.swagger.v3.oas.annotations.tags.Tag;
13 15 import org.springframework.security.access.prepost.PreAuthorize;
  16 +import org.springframework.util.CollectionUtils;
14 17 import org.springframework.validation.annotation.Validated;
15 18 import org.springframework.web.bind.annotation.*;
16 19  
17 20 import javax.annotation.Resource;
18 21 import javax.validation.Valid;
19 22  
  23 +import java.util.List;
  24 +import java.util.stream.Collectors;
  25 +
20 26 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
21 27  
22 28 @Tag(name = "管理后台 - 用户签到积分")
... ... @@ -27,31 +33,22 @@ public class MemberSignInRecordController {
27 33  
28 34 @Resource
29 35 private MemberSignInRecordService memberSignInRecordService;
  36 + @Resource
  37 + AdminUserApi adminUserApi;
30 38  
31   - // TODO @xiaqing:签到是不是不用删除?
32   - @DeleteMapping("/delete")
33   - @Operation(summary = "删除用户签到积分")
34   - @Parameter(name = "id", description = "编号", required = true)
35   - @PreAuthorize("@ss.hasPermission('point:sign-in-record:delete')")
36   - public CommonResult<Boolean> deleteSignInRecord(@RequestParam("id") Long id) {
37   - memberSignInRecordService.deleteSignInRecord(id);
38   - return success(true);
39   - }
40   -
41   - @GetMapping("/get")
42   - @Operation(summary = "获得用户签到积分")
43   - @Parameter(name = "id", description = "编号", required = true, example = "1024")
44   - @PreAuthorize("@ss.hasPermission('point:sign-in-record:query')")
45   - public CommonResult<MemberSignInRecordRespVO> getSignInRecord(@RequestParam("id") Long id) {
46   - MemberSignInRecordDO signInRecord = memberSignInRecordService.getSignInRecord(id);
47   - return success(MemberSignInRecordConvert.INSTANCE.convert(signInRecord));
48   - }
49 39  
50 40 @GetMapping("/page")
51 41 @Operation(summary = "获得用户签到积分分页")
52 42 @PreAuthorize("@ss.hasPermission('point:sign-in-record:query')")
53   - public CommonResult<PageResult<MemberSignInRecordRespVO>> getSignInRecordPage(@Valid MemberSignInRecordPageReqVO pageVO) {
54   - PageResult<MemberSignInRecordDO> pageResult = memberSignInRecordService.getSignInRecordPage(pageVO);
55   - return success(MemberSignInRecordConvert.INSTANCE.convertPage(pageResult));
  43 + public CommonResult <PageResult <MemberSignInRecordRespVO>> getSignInRecordPage(@Valid MemberSignInRecordPageReqVO pageVO) {
  44 + PageResult <MemberSignInRecordDO> pageResult = memberSignInRecordService.getSignInRecordPage(pageVO);
  45 + List <MemberSignInRecordDO> result = pageResult.getList();
  46 + //设置获取的用户信息
  47 + List <AdminUserRespDTO> users = null;
  48 + if (!CollectionUtils.isEmpty(result)) {
  49 + List <Long> ids = result.stream().map(user -> user.getUserId()).collect(Collectors.toList());
  50 + users = adminUserApi.getUserList(ids);
  51 + }
  52 + return success(MemberSignInRecordConvert.INSTANCE.convertPage(pageResult, users));
56 53 }
57 54 }
... ...
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/signin/vo/MemberSignInConfigBaseVO.java
... ... @@ -16,4 +16,8 @@ public class MemberSignInConfigBaseVO {
16 16 @Schema(description = "签到天数对应分数", example = "10")
17 17 private Integer point;
18 18  
  19 + @Schema(description = "是否启用", example = "1")
  20 + private Boolean isEnable;
  21 +
  22 +
19 23 }
... ...
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/signin/vo/MemberSignInConfigPageReqVO.java deleted
1   -package cn.iocoder.yudao.module.member.controller.admin.signin.vo;
2   -
3   -import lombok.*;
4   -import io.swagger.v3.oas.annotations.media.Schema;
5   -import cn.iocoder.yudao.framework.common.pojo.PageParam;
6   -
7   -@Schema(description = "管理后台 - 积分签到规则分页 Request VO")
8   -@Data
9   -@EqualsAndHashCode(callSuper = true)
10   -@ToString(callSuper = true)
11   -public class MemberSignInConfigPageReqVO extends PageParam {
12   -
13   - @Schema(description = "签到第x天", example = "7")
14   - private Integer day;
15   -
16   -}
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/signin/vo/MemberSignInRecordBaseVO.java
... ... @@ -11,7 +11,7 @@ import lombok.Data;
11 11 public class MemberSignInRecordBaseVO {
12 12  
13 13 @Schema(description = "签到用户", example = "6507")
14   - private Integer userId;
  14 + private Long userId;
15 15  
16 16 @Schema(description = "第几天签到")
17 17 private Integer day;
... ...
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/signin/vo/MemberSignInRecordPageReqVO.java
... ... @@ -18,7 +18,7 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
18 18 public class MemberSignInRecordPageReqVO extends PageParam {
19 19  
20 20 @Schema(description = "签到用户", example = "6507")
21   - private Integer userId;
  21 + private Long userId;
22 22  
23 23 @Schema(description = "第几天签到")
24 24 private Integer day;
... ...
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/signin/vo/MemberSignInRecordRespVO.java
... ... @@ -19,4 +19,7 @@ public class MemberSignInRecordRespVO extends MemberSignInRecordBaseVO {
19 19 @Schema(description = "签到时间")
20 20 private LocalDateTime createTime;
21 21  
  22 + //昵称,用于前台展示
  23 + private String nickName;
  24 +
22 25 }
... ...
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/convert/signin/MemberSignInRecordConvert.java
1 1 package cn.iocoder.yudao.module.member.convert.signin;
2 2  
3 3 import cn.iocoder.yudao.framework.common.pojo.PageResult;
4   -import cn.iocoder.yudao.module.member.controller.admin.signin.vo.MemberSignInRecordCreateReqVO;
5 4 import cn.iocoder.yudao.module.member.controller.admin.signin.vo.MemberSignInRecordRespVO;
6   -import cn.iocoder.yudao.module.member.controller.admin.signin.vo.MemberSignInRecordUpdateReqVO;
7 5 import cn.iocoder.yudao.module.member.dal.dataobject.signin.MemberSignInRecordDO;
  6 +import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
8 7 import org.mapstruct.Mapper;
9 8 import org.mapstruct.factory.Mappers;
  9 +import org.springframework.util.CollectionUtils;
  10 +
  11 +import java.util.ArrayList;
  12 +import java.util.List;
  13 +import java.util.Map;
  14 +import java.util.function.Function;
  15 +import java.util.stream.Collectors;
10 16  
11 17 /**
12 18 * 用户签到积分 Convert
... ... @@ -18,12 +24,57 @@ public interface MemberSignInRecordConvert {
18 24  
19 25 MemberSignInRecordConvert INSTANCE = Mappers.getMapper(MemberSignInRecordConvert.class);
20 26  
21   - MemberSignInRecordDO convert(MemberSignInRecordCreateReqVO bean);
  27 + default public MemberSignInRecordRespVO convert(MemberSignInRecordDO bean) {
  28 + if (bean == null) {
  29 + return null;
  30 + }
  31 +
  32 + MemberSignInRecordRespVO memberSignInRecordRespVO = new MemberSignInRecordRespVO();
  33 +
  34 + memberSignInRecordRespVO.setUserId(bean.getUserId());
  35 + memberSignInRecordRespVO.setDay(bean.getDay());
  36 + memberSignInRecordRespVO.setPoint(bean.getPoint());
  37 + memberSignInRecordRespVO.setId(bean.getId());
  38 + memberSignInRecordRespVO.setCreateTime(bean.getCreateTime());
  39 +
  40 + return memberSignInRecordRespVO;
  41 + }
  42 +
  43 + default PageResult <MemberSignInRecordRespVO> convertPage(PageResult <MemberSignInRecordDO> page, List<AdminUserRespDTO> userRespDTOS) {
  44 + if (page == null) {
  45 + return null;
  46 + }
  47 +
  48 + PageResult <MemberSignInRecordRespVO> pageResult = new PageResult <MemberSignInRecordRespVO>();
  49 +
  50 + pageResult.setList(memberSignInRecordDOListToMemberSignInRecordRespVOList(page.getList(),userRespDTOS));
  51 + pageResult.setTotal(page.getTotal());
  52 +
  53 + return pageResult;
  54 + }
22 55  
23   - MemberSignInRecordDO convert(MemberSignInRecordUpdateReqVO bean);
  56 + default List <MemberSignInRecordRespVO> memberSignInRecordDOListToMemberSignInRecordRespVOList(List <MemberSignInRecordDO> list,List<AdminUserRespDTO> userRespDTOS) {
  57 + if (list == null) {
  58 + return null;
  59 + }
  60 + Map <Long, String> maps=null;
  61 + //是否需要转换用户标志
  62 + boolean userNickFlag = !CollectionUtils.isEmpty(userRespDTOS);
  63 + if(userNickFlag){
  64 + maps = userRespDTOS.stream()
  65 + .collect(Collectors.toMap(AdminUserRespDTO::getId, AdminUserRespDTO::getNickname, (key1, key2) -> key2));
  66 + }
  67 + List <MemberSignInRecordRespVO> list1 = new ArrayList <MemberSignInRecordRespVO>(list.size());
  68 + for (MemberSignInRecordDO memberSignInRecordDO : list) {
  69 + MemberSignInRecordRespVO recordRespVO = convert(memberSignInRecordDO);
  70 + if(userNickFlag){
  71 + recordRespVO.setNickName(maps.get(recordRespVO.getUserId()));
  72 + }
  73 + list1.add(recordRespVO);
  74 + }
24 75  
25   - MemberSignInRecordRespVO convert(MemberSignInRecordDO bean);
  76 + return list1;
  77 + }
26 78  
27   - PageResult<MemberSignInRecordRespVO> convertPage(PageResult<MemberSignInRecordDO> page);
28 79  
29 80 }
... ...
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/signin/MemberSignInConfigDO.java
... ... @@ -34,5 +34,8 @@ public class MemberSignInConfigDO extends BaseDO {
34 34 * 签到天数对应分数
35 35 */
36 36 private Integer point;
37   -
  37 + /**
  38 + * 是否启用
  39 + */
  40 + private Boolean isEnable;
38 41 }
... ...
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/signin/MemberSignInRecordDO.java
... ... @@ -29,7 +29,7 @@ public class MemberSignInRecordDO extends BaseDO {
29 29 /**
30 30 * 签到用户
31 31 */
32   - private Integer userId;
  32 + private Long userId;
33 33 /**
34 34 * 第几天签到
35 35 */
... ...
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/signin/MemberSignInConfigMapper.java
1 1 package cn.iocoder.yudao.module.member.dal.mysql.signin;
2 2  
3   -import cn.iocoder.yudao.framework.common.pojo.PageResult;
4 3 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
5 4 import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
6   -import cn.iocoder.yudao.module.member.controller.admin.signin.vo.MemberSignInConfigPageReqVO;
7   -import cn.iocoder.yudao.module.member.controller.admin.signin.vo.MemberSignInConfigUpdateReqVO;
8 5 import cn.iocoder.yudao.module.member.dal.dataobject.signin.MemberSignInConfigDO;
  6 +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
9 7 import org.apache.ibatis.annotations.Mapper;
10 8  
  9 +import java.util.List;
  10 +
11 11 /**
12 12 * 积分签到规则 Mapper
13 13 *
... ... @@ -16,18 +16,32 @@ import org.apache.ibatis.annotations.Mapper;
16 16 @Mapper
17 17 public interface MemberSignInConfigMapper extends BaseMapperX<MemberSignInConfigDO> {
18 18  
19   - default PageResult<MemberSignInConfigDO> selectPage(MemberSignInConfigPageReqVO reqVO) {
20   - return selectPage(reqVO, new LambdaQueryWrapperX<MemberSignInConfigDO>()
21   - .eqIfPresent(MemberSignInConfigDO::getDay, reqVO.getDay())
22   - .orderByAsc(MemberSignInConfigDO::getDay));
  19 + /**
  20 + * 描述 :选择性更新对象属性,如果不为空则更新。
  21 + * Author :xiaqing
  22 + * Date :2023-08-08 23:38:48
  23 + */
  24 + default int updateIfPresent(MemberSignInConfigDO updateObj){
  25 + LambdaUpdateWrapper <MemberSignInConfigDO> wrapper = new LambdaUpdateWrapper <>();
  26 + wrapper.eq(MemberSignInConfigDO::getId, updateObj.getId())
  27 + .set(updateObj.getDay() != null, MemberSignInConfigDO::getDay, updateObj.getDay())
  28 + .set(updateObj.getPoint() != null, MemberSignInConfigDO::getPoint, updateObj.getPoint())
  29 + .set(updateObj.getIsEnable() != null, MemberSignInConfigDO::getIsEnable, updateObj.getIsEnable());
  30 + return update(null,wrapper);
  31 + }
  32 +
  33 + default List <MemberSignInConfigDO> getList(){
  34 + return selectList(new LambdaQueryWrapperX <MemberSignInConfigDO>().orderByAsc(MemberSignInConfigDO::getDay));
23 35 }
24 36  
25   - //
26   - default long selectSameDayNotSelf(MemberSignInConfigUpdateReqVO reqVO){
27   - return selectCount(new LambdaQueryWrapperX <MemberSignInConfigDO>()
28   - .ne(MemberSignInConfigDO::getId, reqVO.getId())
29   - .eq(MemberSignInConfigDO::getDay,reqVO.getDay())
30   - );
  37 + /**
  38 + * 描述 :根据天数查询对应记录
  39 + * Date :2023-08-09 00:07:11
  40 + */
  41 + default MemberSignInConfigDO selectByDay(Integer day){
  42 + return selectOne(new LambdaQueryWrapperX <MemberSignInConfigDO>()
  43 + .eq(MemberSignInConfigDO::getDay,day));
  44 +
31 45 }
32 46  
33 47 }
... ...
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/signin/MemberSignInConfigService.java
1 1 package cn.iocoder.yudao.module.member.service.signin;
2 2  
3   -import cn.iocoder.yudao.framework.common.pojo.PageResult;
4 3 import cn.iocoder.yudao.module.member.controller.admin.signin.vo.MemberSignInConfigCreateReqVO;
5   -import cn.iocoder.yudao.module.member.controller.admin.signin.vo.MemberSignInConfigPageReqVO;
6 4 import cn.iocoder.yudao.module.member.controller.admin.signin.vo.MemberSignInConfigUpdateReqVO;
7 5 import cn.iocoder.yudao.module.member.dal.dataobject.signin.MemberSignInConfigDO;
8 6  
9 7 import javax.validation.Valid;
  8 +import java.util.List;
10 9  
11 10 /**
12 11 * 积分签到规则 Service 接口
... ... @@ -48,9 +47,8 @@ public interface MemberSignInConfigService {
48 47 /**
49 48 * 获得积分签到规则分页
50 49 *
51   - * @param pageReqVO 分页查询
52 50 * @return 积分签到规则分页
53 51 */
54   - PageResult<MemberSignInConfigDO> getSignInConfigPage(MemberSignInConfigPageReqVO pageReqVO);
  52 + List<MemberSignInConfigDO> getSignInConfigList();
55 53  
56 54 }
... ...
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/signin/MemberSignInConfigServiceImpl.java
1 1 package cn.iocoder.yudao.module.member.service.signin;
2 2  
3   -import cn.iocoder.yudao.framework.common.pojo.PageResult;
4 3 import cn.iocoder.yudao.module.member.controller.admin.signin.vo.MemberSignInConfigCreateReqVO;
5   -import cn.iocoder.yudao.module.member.controller.admin.signin.vo.MemberSignInConfigPageReqVO;
6 4 import cn.iocoder.yudao.module.member.controller.admin.signin.vo.MemberSignInConfigUpdateReqVO;
7 5 import cn.iocoder.yudao.module.member.convert.signin.MemberSignInConfigConvert;
8 6 import cn.iocoder.yudao.module.member.dal.dataobject.signin.MemberSignInConfigDO;
9 7 import cn.iocoder.yudao.module.member.dal.mysql.signin.MemberSignInConfigMapper;
  8 +import com.baomidou.mybatisplus.core.conditions.Wrapper;
  9 +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
  10 +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
10 11 import org.springframework.stereotype.Service;
11 12 import org.springframework.validation.annotation.Validated;
12 13  
13 14 import javax.annotation.Resource;
14 15  
  16 +import java.util.List;
  17 +
15 18 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
16 19 import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.SIGN_IN_CONFIG_EXISTS;
17 20 import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.SIGN_IN_CONFIG_NOT_EXISTS;
... ... @@ -28,30 +31,28 @@ public class MemberSignInConfigServiceImpl implements MemberSignInConfigService
28 31 @Resource
29 32 private MemberSignInConfigMapper memberSignInConfigMapper;
30 33  
31   - // TODO @xiaqing:这种写的逻辑,最好按照 校验 - 更新这样的顺序写;类似这里,37 要放到 34 前面;updateSignInConfig 也是一样的思路
32 34 @Override
33 35 public Integer createSignInConfig(MemberSignInConfigCreateReqVO createReqVO) {
  36 + // 判断是否重复插入签到天数
  37 + validateSignInConfigExistsDay(createReqVO.getDay());
  38 +
34 39 // 插入
35 40 MemberSignInConfigDO signInConfig = MemberSignInConfigConvert.INSTANCE.convert(createReqVO);
36   - // 判断是否重复插入签到天数
37   - validateSignInConfigExistsDay(signInConfig.getDay());
38 41 memberSignInConfigMapper.insert(signInConfig);
39 42 // 返回
40 43 return signInConfig.getId();
41 44 }
42 45  
43   - // TODO @xiaqing:这个逻辑的空行要注意;52 到 53 是没必要的空行;而 49 和 50 之间有个空行会好点,可以区分出是 校验 - 更新这样的逻辑间隔
44 46 @Override
45 47 public void updateSignInConfig(MemberSignInConfigUpdateReqVO updateReqVO) {
46 48 // 校验存在
47 49 validateSignInConfigExists(updateReqVO.getId());
48 50 //判断是否重复插入签到天数
49 51 validateSignInConfigSameDayNotSelf(updateReqVO);
50   - // 判断更新的
51   - MemberSignInConfigDO updateObj = MemberSignInConfigConvert.INSTANCE.convert(updateReqVO);
52   -
53 52  
54   - memberSignInConfigMapper.updateById(updateObj);
  53 + // 判断更新
  54 + MemberSignInConfigDO updateObj = MemberSignInConfigConvert.INSTANCE.convert(updateReqVO);
  55 + memberSignInConfigMapper.updateIfPresent(updateObj);
55 56 }
56 57  
57 58 @Override
... ... @@ -68,18 +69,18 @@ public class MemberSignInConfigServiceImpl implements MemberSignInConfigService
68 69 }
69 70 }
70 71  
71   - // TODO @xiaqing:这个唯一判断,也可以参考下别的模块哈;
72 72 //根据签到天数判断是否存在一个相同的天数
73 73 private void validateSignInConfigExistsDay(Integer day) {
74   - if (memberSignInConfigMapper.selectCount(MemberSignInConfigDO::getDay,day)>0) {
  74 + MemberSignInConfigDO configDO = memberSignInConfigMapper.selectByDay(day);
  75 + if (configDO != null) {
75 76 throw exception(SIGN_IN_CONFIG_EXISTS);
76 77 }
77 78 }
78 79  
79   - // TODO @xiaqing:参考下别的模块,判断唯一,排除自己怎么写的哈;
80 80 // 更新天数时判断是否有重复的天数,需要去除自己
81 81 private void validateSignInConfigSameDayNotSelf(MemberSignInConfigUpdateReqVO reqVO) {
82   - if (memberSignInConfigMapper.selectSameDayNotSelf(reqVO)>0) {
  82 + MemberSignInConfigDO configDO = memberSignInConfigMapper.selectByDay(reqVO.getDay());
  83 + if (configDO != null && configDO.getId() != reqVO.getId()) {
83 84 throw exception(SIGN_IN_CONFIG_EXISTS);
84 85 }
85 86 }
... ... @@ -90,8 +91,8 @@ public class MemberSignInConfigServiceImpl implements MemberSignInConfigService
90 91 }
91 92  
92 93 @Override
93   - public PageResult<MemberSignInConfigDO> getSignInConfigPage(MemberSignInConfigPageReqVO pageReqVO) {
94   - return memberSignInConfigMapper.selectPage(pageReqVO);
  94 + public List <MemberSignInConfigDO> getSignInConfigList() {
  95 + return memberSignInConfigMapper.getList();
95 96 }
96 97  
97 98 }
... ...
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/signin/MemberSignInRecordService.java
... ... @@ -11,20 +11,7 @@ import cn.iocoder.yudao.module.member.dal.dataobject.signin.MemberSignInRecordDO
11 11 */
12 12 public interface MemberSignInRecordService {
13 13  
14   - /**
15   - * 删除用户签到积分
16   - *
17   - * @param id 编号
18   - */
19   - void deleteSignInRecord(Long id);
20 14  
21   - /**
22   - * 获得用户签到积分
23   - *
24   - * @param id 编号
25   - * @return 用户签到积分
26   - */
27   - MemberSignInRecordDO getSignInRecord(Long id);
28 15  
29 16 /**
30 17 * 获得用户签到积分分页
... ... @@ -34,4 +21,5 @@ public interface MemberSignInRecordService {
34 21 */
35 22 PageResult<MemberSignInRecordDO> getSignInRecordPage(MemberSignInRecordPageReqVO pageReqVO);
36 23  
  24 +
37 25 }
... ...
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/signin/MemberSignInRecordServiceImpl.java
... ... @@ -4,6 +4,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
4 4 import cn.iocoder.yudao.module.member.controller.admin.signin.vo.MemberSignInRecordPageReqVO;
5 5 import cn.iocoder.yudao.module.member.dal.dataobject.signin.MemberSignInRecordDO;
6 6 import cn.iocoder.yudao.module.member.dal.mysql.signin.MemberSignInRecordMapper;
  7 +import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
7 8 import org.springframework.stereotype.Service;
8 9 import org.springframework.validation.annotation.Validated;
9 10  
... ... @@ -23,25 +24,10 @@ public class MemberSignInRecordServiceImpl implements MemberSignInRecordService
23 24  
24 25 @Resource
25 26 private MemberSignInRecordMapper memberSignInRecordMapper;
  27 + @Resource
  28 + AdminUserApi adminUserApi;
26 29  
27   - @Override
28   - public void deleteSignInRecord(Long id) {
29   - // 校验存在
30   - validateSignInRecordExists(id);
31   - // 删除
32   - memberSignInRecordMapper.deleteById(id);
33   - }
34 30  
35   - private void validateSignInRecordExists(Long id) {
36   - if (memberSignInRecordMapper.selectById(id) == null) {
37   - throw exception(SIGN_IN_RECORD_NOT_EXISTS);
38   - }
39   - }
40   -
41   - @Override
42   - public MemberSignInRecordDO getSignInRecord(Long id) {
43   - return memberSignInRecordMapper.selectById(id);
44   - }
45 31  
46 32 @Override
47 33 public PageResult<MemberSignInRecordDO> getSignInRecordPage(MemberSignInRecordPageReqVO pageReqVO) {
... ...
yudao-server/src/main/resources/application-local.yaml
... ... @@ -44,31 +44,31 @@ spring:
44 44 primary: master
45 45 datasource:
46 46 master:
47   - name: ruoyi-vue-pro
48   - url: jdbc:mysql://127.0.0.1:3306/${spring.datasource.dynamic.datasource.master.name}?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 连接的示例
  47 + name: mall
  48 + url: jdbc:mysql://10.211.55.5:3308/${spring.datasource.dynamic.datasource.master.name}?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 连接的示例
49 49 # url: jdbc:mysql://127.0.0.1:3306/${spring.datasource.dynamic.datasource.master.name}?useSSL=false&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=CTT # MySQL Connector/J 5.X 连接的示例
50 50 # url: jdbc:postgresql://127.0.0.1:5432/${spring.datasource.dynamic.datasource.master.name} # PostgreSQL 连接的示例
51 51 # url: jdbc:oracle:thin:@127.0.0.1:1521:xe # Oracle 连接的示例
52 52 # url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=${spring.datasource.dynamic.datasource.master.name} # SQLServer 连接的示例
53 53 username: root
54   - password: 123456
  54 + password: 1qaz!QAZ
55 55 # username: sa
56 56 # password: JSm:g(*%lU4ZAkz06cd52KqT3)i1?H7W
57 57 slave: # 模拟从库,可根据自己需要修改
58   - name: ruoyi-vue-pro
59   - url: jdbc:mysql://127.0.0.1:3306/${spring.datasource.dynamic.datasource.slave.name}?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 连接的示例
  58 + name: mall
  59 + url: jdbc:mysql://10.211.55.5:3308/${spring.datasource.dynamic.datasource.slave.name}?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 连接的示例
60 60 # url: jdbc:mysql://127.0.0.1:3306/${spring.datasource.dynamic.datasource.slave.name}?useSSL=false&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=CTT # MySQL Connector/J 5.X 连接的示例
61 61 # url: jdbc:postgresql://127.0.0.1:5432/${spring.datasource.dynamic.datasource.slave.name} # PostgreSQL 连接的示例
62 62 # url: jdbc:oracle:thin:@127.0.0.1:1521:xe # Oracle 连接的示例
63 63 # url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=${spring.datasource.dynamic.datasource.slave.name} # SQLServer 连接的示例
64 64 username: root
65   - password: 123456
  65 + password: 1qaz!QAZ
66 66 # username: sa
67 67 # password: JSm:g(*%lU4ZAkz06cd52KqT3)i1?H7W
68 68  
69 69 # Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优
70 70 redis:
71   - host: 127.0.0.1 # 地址
  71 + host: 10.211.55.5 # 地址
72 72 port: 6379 # 端口
73 73 database: 0 # 数据库索引
74 74 # password: dev # 密码,建议生产环境开启
... ...