|
@@ -1,23 +1,18 @@
|
|
|
package cn.iocoder.yudao.module.member.service.signin;
|
|
|
|
|
|
-import cn.iocoder.yudao.module.member.controller.admin.signin.vo.MemberSignInConfigCreateReqVO;
|
|
|
-import cn.iocoder.yudao.module.member.controller.admin.signin.vo.MemberSignInConfigUpdateReqVO;
|
|
|
+import cn.iocoder.yudao.module.member.controller.admin.signin.vo.config.MemberSignInConfigCreateReqVO;
|
|
|
+import cn.iocoder.yudao.module.member.controller.admin.signin.vo.config.MemberSignInConfigUpdateReqVO;
|
|
|
import cn.iocoder.yudao.module.member.convert.signin.MemberSignInConfigConvert;
|
|
|
import cn.iocoder.yudao.module.member.dal.dataobject.signin.MemberSignInConfigDO;
|
|
|
import cn.iocoder.yudao.module.member.dal.mysql.signin.MemberSignInConfigMapper;
|
|
|
-import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
|
|
-import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
-
|
|
|
import java.util.List;
|
|
|
|
|
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
|
|
-import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.SIGN_IN_CONFIG_EXISTS;
|
|
|
-import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.SIGN_IN_CONFIG_NOT_EXISTS;
|
|
|
+import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.*;
|
|
|
|
|
|
/**
|
|
|
* 积分签到规则 Service 实现类
|
|
@@ -29,16 +24,16 @@ import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.SIGN_IN_CO
|
|
|
public class MemberSignInConfigServiceImpl implements MemberSignInConfigService {
|
|
|
|
|
|
@Resource
|
|
|
- private MemberSignInConfigMapper memberSignInConfigMapper;
|
|
|
+ private MemberSignInConfigMapper signInConfigMapper;
|
|
|
|
|
|
@Override
|
|
|
- public Integer createSignInConfig(MemberSignInConfigCreateReqVO createReqVO) {
|
|
|
+ public Long createSignInConfig(MemberSignInConfigCreateReqVO createReqVO) {
|
|
|
// 判断是否重复插入签到天数
|
|
|
- validateSignInConfigExistsDay(createReqVO.getDay());
|
|
|
+ validateSignInConfigDayDuplicate(createReqVO.getDay(), null);
|
|
|
|
|
|
// 插入
|
|
|
MemberSignInConfigDO signInConfig = MemberSignInConfigConvert.INSTANCE.convert(createReqVO);
|
|
|
- memberSignInConfigMapper.insert(signInConfig);
|
|
|
+ signInConfigMapper.insert(signInConfig);
|
|
|
// 返回
|
|
|
return signInConfig.getId();
|
|
|
}
|
|
@@ -47,52 +42,54 @@ public class MemberSignInConfigServiceImpl implements MemberSignInConfigService
|
|
|
public void updateSignInConfig(MemberSignInConfigUpdateReqVO updateReqVO) {
|
|
|
// 校验存在
|
|
|
validateSignInConfigExists(updateReqVO.getId());
|
|
|
- //判断是否重复插入签到天数
|
|
|
- validateSignInConfigSameDayNotSelf(updateReqVO);
|
|
|
+ // 判断是否重复插入签到天数
|
|
|
+ validateSignInConfigDayDuplicate(updateReqVO.getDay(), updateReqVO.getId());
|
|
|
|
|
|
// 判断更新
|
|
|
MemberSignInConfigDO updateObj = MemberSignInConfigConvert.INSTANCE.convert(updateReqVO);
|
|
|
- memberSignInConfigMapper.updateIfPresent(updateObj);
|
|
|
+ signInConfigMapper.updateIfPresent(updateObj);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void deleteSignInConfig(Integer id) {
|
|
|
+ public void deleteSignInConfig(Long id) {
|
|
|
// 校验存在
|
|
|
validateSignInConfigExists(id);
|
|
|
// 删除
|
|
|
- memberSignInConfigMapper.deleteById(id);
|
|
|
+ signInConfigMapper.deleteById(id);
|
|
|
}
|
|
|
|
|
|
- private void validateSignInConfigExists(Integer id) {
|
|
|
- if (memberSignInConfigMapper.selectById(id) == null) {
|
|
|
+ private void validateSignInConfigExists(Long id) {
|
|
|
+ if (signInConfigMapper.selectById(id) == null) {
|
|
|
throw exception(SIGN_IN_CONFIG_NOT_EXISTS);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- //根据签到天数判断是否存在一个相同的天数
|
|
|
- private void validateSignInConfigExistsDay(Integer day) {
|
|
|
- MemberSignInConfigDO configDO = memberSignInConfigMapper.selectByDay(day);
|
|
|
- if (configDO != null) {
|
|
|
+ /**
|
|
|
+ * 校验 day 是否重复
|
|
|
+ *
|
|
|
+ * @param day 天
|
|
|
+ * @param id 编号,只有更新的时候会传递
|
|
|
+ */
|
|
|
+ private void validateSignInConfigDayDuplicate(Integer day, Long id) {
|
|
|
+ MemberSignInConfigDO configDO = signInConfigMapper.selectByDay(day);
|
|
|
+ // 1. 新增时,configDO 非空,则说明重复
|
|
|
+ if (id == null && configDO != null) {
|
|
|
throw exception(SIGN_IN_CONFIG_EXISTS);
|
|
|
}
|
|
|
- }
|
|
|
-
|
|
|
- // 更新天数时判断是否有重复的天数,需要去除自己
|
|
|
- private void validateSignInConfigSameDayNotSelf(MemberSignInConfigUpdateReqVO reqVO) {
|
|
|
- MemberSignInConfigDO configDO = memberSignInConfigMapper.selectByDay(reqVO.getDay());
|
|
|
- if (configDO != null && configDO.getId() != reqVO.getId()) {
|
|
|
+ // 2. 更新时,如果 configDO 非空,且 id 不相等,则说明重复
|
|
|
+ if (id != null && configDO != null && !configDO.getId().equals(id)) {
|
|
|
throw exception(SIGN_IN_CONFIG_EXISTS);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public MemberSignInConfigDO getSignInConfig(Integer id) {
|
|
|
- return memberSignInConfigMapper.selectById(id);
|
|
|
+ public MemberSignInConfigDO getSignInConfig(Long id) {
|
|
|
+ return signInConfigMapper.selectById(id);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public List <MemberSignInConfigDO> getSignInConfigList() {
|
|
|
- return memberSignInConfigMapper.getList();
|
|
|
+ return signInConfigMapper.getList();
|
|
|
}
|
|
|
|
|
|
}
|