Merge remote-tracking branch 'origin/feature/mall_product' into member_dev

This commit is contained in:
owen
2023-08-20 10:55:42 +08:00
92 changed files with 103 additions and 122 deletions

View File

@ -17,10 +17,9 @@ import javax.validation.Valid;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
// TODO @xiaqingurl 使用 member 作为前缀
@Tag(name = "管理后台 - 会员积分设置")
@RestController
@RequestMapping("/point/config")
@RequestMapping("/member/point/config")
@Validated
public class MemberPointConfigController {

View File

@ -25,10 +25,8 @@ import java.util.List;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
// TODO @xiaqingurl 使用 member 作为前缀
@Tag(name = "管理后台 - 用户积分记录")
@RestController
@RequestMapping("/point/record")
@RequestMapping("/member/point/record")
@Validated
public class MemberPointRecordController {

View File

@ -3,6 +3,8 @@ package cn.iocoder.yudao.module.member.controller.admin.point.vo.config;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* 会员积分配置 Base VO提供给添加、修改、详细的子 VO 使用
* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成
@ -10,18 +12,20 @@ import lombok.Data;
@Data
public class MemberPointConfigBaseVO {
// TODO @xiaqing参数校验注解
@Schema(description = "积分抵扣开关", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
@NotNull(message = "积分抵扣开发不能为空")
private Boolean tradeDeductEnable;
@Schema(description = "积分抵扣,单位:分", requiredMode = Schema.RequiredMode.REQUIRED, example = "13506")
@NotNull(message = "积分抵扣不能为空")
private Integer tradeDeductUnitPrice;
@Schema(description = "积分抵扣最大值", requiredMode = Schema.RequiredMode.REQUIRED, example = "32428")
@NotNull(message = "积分抵扣最大值不能为空")
private Integer tradeDeductMaxPrice;
@Schema(description = "1 元赠送多少分", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
@NotNull(message = "1 元赠送积分不能为空")
private Integer tradeGivePoint;
}

View File

@ -20,10 +20,9 @@ import java.util.List;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
// TODO @xiaqingurl 使用 member 作为前缀
@Tag(name = "管理后台 - 积分签到规则")
@RestController
@RequestMapping("/point/sign-in-config")
@RequestMapping("/member/point/sign-in-config")
@Validated
public class MemberSignInConfigController {

View File

@ -25,10 +25,9 @@ import java.util.List;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
// TODO @xiaqingurl 使用 member 作为前缀
@Tag(name = "管理后台 - 用户签到积分")
@RestController
@RequestMapping("/point/sign-in-record")
@RequestMapping("/member/point/sign-in-record")
@Validated
public class MemberSignInRecordController {

View File

@ -1,7 +1,9 @@
package cn.iocoder.yudao.module.member.controller.admin.signin.vo.config;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* 积分签到规则 Base VO提供给添加、修改、详细的子 VO 使用
@ -9,17 +11,17 @@ import lombok.*;
*/
@Data
public class MemberSignInConfigBaseVO {
// TODO @xiaqing必须的参数校验注解
@Schema(description = "签到第 x 天", requiredMode = Schema.RequiredMode.REQUIRED, example = "7")
@NotNull(message = "签到天数不能为空")
private Integer day;
@Schema(description = "签到天数对应分数", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
@Schema(description = "奖励积分", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
@NotNull(message = "奖励积分不能为空")
private Integer point;
// TODO @xiaqingenable
@NotNull
@Schema(description = "是否启用", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
private Boolean isEnable;
private Boolean enable;
}

View File

@ -31,14 +31,13 @@ public class MemberSignInConfigDO extends BaseDO {
*/
private Integer day;
/**
* 签到天数对应分数
* 奖励积分
*/
private Integer point;
// TODO @puhui999enable不用 is 开头
/**
* 是否启用
*/
private Boolean isEnable;
private Boolean enable;
}

View File

@ -21,7 +21,7 @@ public interface MemberPointRecordMapper extends BaseMapperX<MemberPointRecordDO
return selectPage(reqVO, new LambdaQueryWrapperX<MemberPointRecordDO>()
.inIfPresent(MemberPointRecordDO::getUserId, userIds)
.eqIfPresent(MemberPointRecordDO::getBizType, reqVO.getBizType())
.eqIfPresent(MemberPointRecordDO::getTitle, reqVO.getTitle())
.likeIfPresent(MemberPointRecordDO::getTitle, reqVO.getTitle())
.eqIfPresent(MemberPointRecordDO::getStatus, reqVO.getStatus())
.orderByDesc(MemberPointRecordDO::getId));
}

View File

@ -1,13 +1,9 @@
package cn.iocoder.yudao.module.member.dal.mysql.signin;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.member.dal.dataobject.signin.MemberSignInConfigDO;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 积分签到规则 Mapper
*
@ -16,21 +12,6 @@ import java.util.List;
@Mapper
public interface MemberSignInConfigMapper extends BaseMapperX<MemberSignInConfigDO> {
// TODO @qingxia是不是不用这个方法直接 updateById 即可
default int updateIfPresent(MemberSignInConfigDO updateObj){
LambdaUpdateWrapper <MemberSignInConfigDO> wrapper = new LambdaUpdateWrapper <>();
wrapper.eq(MemberSignInConfigDO::getId, updateObj.getId())
.set(updateObj.getDay() != null, MemberSignInConfigDO::getDay, updateObj.getDay())
.set(updateObj.getPoint() != null, MemberSignInConfigDO::getPoint, updateObj.getPoint())
.set(updateObj.getIsEnable() != null, MemberSignInConfigDO::getIsEnable, updateObj.getIsEnable());
return update(null,wrapper);
}
// TODO @qingxia不用这个方法selectList业务层自己排序即可
default List<MemberSignInConfigDO> getList() {
return selectList(new LambdaQueryWrapperX <MemberSignInConfigDO>().orderByAsc(MemberSignInConfigDO::getDay));
}
default MemberSignInConfigDO selectByDay(Integer day) {
return selectOne(MemberSignInConfigDO::getDay, day);
}

View File

@ -1,7 +1,6 @@
package cn.iocoder.yudao.module.member.service.point;
import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
import cn.iocoder.yudao.framework.common.util.object.ObjectUtils;
import cn.iocoder.yudao.module.member.controller.admin.point.vo.config.MemberPointConfigSaveReqVO;
import cn.iocoder.yudao.module.member.convert.point.MemberPointConfigConvert;
import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointConfigDO;
@ -26,22 +25,19 @@ public class MemberPointConfigServiceImpl implements MemberPointConfigService {
@Override
public void saveConfig(MemberPointConfigSaveReqVO saveReqVO) {
//获取当前记录
MemberPointConfigDO configDO = getConfig();
MemberPointConfigDO pointConfigDO = MemberPointConfigConvert.INSTANCE.convert(saveReqVO);
//当前存在记录,则更新,否则插入
if (configDO != null) {
pointConfigDO.setId(configDO.getId());
pointConfigMapper.updateById(pointConfigDO);
} else {
pointConfigDO.setId(null);
pointConfigMapper.insert(pointConfigDO);
// 存在,则进行更新
MemberPointConfigDO dbConfig = getConfig();
if (dbConfig != null) {
pointConfigMapper.updateById(MemberPointConfigConvert.INSTANCE.convert(saveReqVO).setId(dbConfig.getId()));
return;
}
// 不存在,则进行插入
pointConfigMapper.insert(MemberPointConfigConvert.INSTANCE.convert(saveReqVO));
}
@Override
public MemberPointConfigDO getConfig() {
List <MemberPointConfigDO> list = pointConfigMapper.selectList();
List<MemberPointConfigDO> list = pointConfigMapper.selectList();
return CollectionUtils.getFirst(list);
}

View File

@ -35,7 +35,7 @@ public class MemberPointRecordServiceImpl implements MemberPointRecordService {
@Override
public PageResult<MemberPointRecordDO> getRecordPage(MemberPointRecordPageReqVO pageReqVO) {
// 根据用户昵称查询出用户ids
// 根据用户昵称查询出用户 ids
Set<Long> userIds = null;
if (StringUtils.isNotBlank(pageReqVO.getNickname())) {
List<MemberUserRespDTO> users = memberUserApi.getUserListByNickname(pageReqVO.getNickname());
@ -45,6 +45,7 @@ public class MemberPointRecordServiceImpl implements MemberPointRecordService {
}
userIds = convertSet(users, MemberUserRespDTO::getId);
}
// 执行查询
return recordMapper.selectPage(pageReqVO, userIds);
}

View File

@ -9,10 +9,12 @@ import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.util.Comparator;
import java.util.List;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.*;
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;
/**
* 积分签到规则 Service 实现类
@ -47,7 +49,7 @@ public class MemberSignInConfigServiceImpl implements MemberSignInConfigService
// 判断更新
MemberSignInConfigDO updateObj = MemberSignInConfigConvert.INSTANCE.convert(updateReqVO);
signInConfigMapper.updateIfPresent(updateObj);
signInConfigMapper.updateById(updateObj);
}
@Override
@ -89,7 +91,9 @@ public class MemberSignInConfigServiceImpl implements MemberSignInConfigService
@Override
public List <MemberSignInConfigDO> getSignInConfigList() {
return signInConfigMapper.getList();
List<MemberSignInConfigDO> list = signInConfigMapper.selectList();
list.sort(Comparator.comparing(MemberSignInConfigDO::getDay));
return list;
}
}