mirror of
https://gitee.com/hhyykk/ipms-sjy.git
synced 2025-07-25 00:15:06 +08:00
Merge remote-tracking branch 'origin/feature/mall_product' into member_dev
This commit is contained in:
@ -17,10 +17,9 @@ import javax.validation.Valid;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
|
||||
// TODO @xiaqing:url 使用 member 作为前缀
|
||||
@Tag(name = "管理后台 - 会员积分设置")
|
||||
@RestController
|
||||
@RequestMapping("/point/config")
|
||||
@RequestMapping("/member/point/config")
|
||||
@Validated
|
||||
public class MemberPointConfigController {
|
||||
|
||||
|
@ -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 @xiaqing:url 使用 member 作为前缀
|
||||
@Tag(name = "管理后台 - 用户积分记录")
|
||||
@RestController
|
||||
@RequestMapping("/point/record")
|
||||
@RequestMapping("/member/point/record")
|
||||
@Validated
|
||||
public class MemberPointRecordController {
|
||||
|
||||
|
@ -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;
|
||||
|
||||
}
|
||||
|
@ -20,10 +20,9 @@ import java.util.List;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
|
||||
// TODO @xiaqing:url 使用 member 作为前缀
|
||||
@Tag(name = "管理后台 - 积分签到规则")
|
||||
@RestController
|
||||
@RequestMapping("/point/sign-in-config")
|
||||
@RequestMapping("/member/point/sign-in-config")
|
||||
@Validated
|
||||
public class MemberSignInConfigController {
|
||||
|
||||
|
@ -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 @xiaqing:url 使用 member 作为前缀
|
||||
@Tag(name = "管理后台 - 用户签到积分")
|
||||
@RestController
|
||||
@RequestMapping("/point/sign-in-record")
|
||||
@RequestMapping("/member/point/sign-in-record")
|
||||
@Validated
|
||||
public class MemberSignInRecordController {
|
||||
|
||||
|
@ -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 @xiaqing:enable
|
||||
@NotNull
|
||||
@Schema(description = "是否启用", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
private Boolean isEnable;
|
||||
private Boolean enable;
|
||||
|
||||
}
|
||||
|
@ -31,14 +31,13 @@ public class MemberSignInConfigDO extends BaseDO {
|
||||
*/
|
||||
private Integer day;
|
||||
/**
|
||||
* 签到天数对应分数
|
||||
* 奖励积分
|
||||
*/
|
||||
private Integer point;
|
||||
|
||||
// TODO @puhui999:enable;不用 is 开头
|
||||
/**
|
||||
* 是否启用
|
||||
*/
|
||||
private Boolean isEnable;
|
||||
private Boolean enable;
|
||||
|
||||
}
|
||||
|
@ -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));
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user