commit
0619989586
33
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/level/MemberExperienceLogController.java → yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/level/MemberExperienceRecordController.java
33
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/level/MemberExperienceLogController.java → yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/level/MemberExperienceRecordController.java
2
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/level/vo/experience/MemberExperienceLogBaseVO.java → yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/level/vo/experience/MemberExperienceRecordBaseVO.java
2
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/level/vo/experience/MemberExperienceLogBaseVO.java → yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/level/vo/experience/MemberExperienceRecordBaseVO.java
2
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/level/vo/experience/MemberExperienceLogPageReqVO.java → yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/level/vo/experience/MemberExperienceRecordPageReqVO.java
2
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/level/vo/experience/MemberExperienceLogPageReqVO.java → yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/level/vo/experience/MemberExperienceRecordPageReqVO.java
2
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/level/vo/experience/MemberExperienceLogRespVO.java → yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/level/vo/experience/MemberExperienceRecordRespVO.java
2
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/level/vo/experience/MemberExperienceLogRespVO.java → yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/level/vo/experience/MemberExperienceRecordRespVO.java
@ -1,16 +1,13 @@
|
|||||||
package cn.iocoder.yudao.module.member.controller.admin.level.vo.level;
|
package cn.iocoder.yudao.module.member.controller.admin.level.vo.level;
|
||||||
|
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
|
||||||
import lombok.ToString;
|
import lombok.ToString;
|
||||||
|
|
||||||
@Schema(description = "管理后台 - 会员等级分页 Request VO")
|
@Schema(description = "管理后台 - 会员等级分页 Request VO")
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = true)
|
|
||||||
@ToString(callSuper = true)
|
@ToString(callSuper = true)
|
||||||
public class MemberLevelPageReqVO extends PageParam {
|
public class MemberLevelListReqVO {
|
||||||
|
|
||||||
@Schema(description = "等级名称", example = "芋艿")
|
@Schema(description = "等级名称", example = "芋艿")
|
||||||
private String name;
|
private String name;
|
||||||
2
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/level/vo/log/MemberLevelLogPageReqVO.java → yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/level/vo/log/MemberLevelRecordPageReqVO.java
2
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/level/vo/log/MemberLevelLogPageReqVO.java → yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/level/vo/log/MemberLevelRecordPageReqVO.java
@ -1,27 +0,0 @@
|
|||||||
package cn.iocoder.yudao.module.member.convert.level;
|
|
||||||
|
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.level.vo.experience.MemberExperienceLogRespVO;
|
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.level.MemberExperienceLogDO;
|
|
||||||
import org.mapstruct.Mapper;
|
|
||||||
import org.mapstruct.factory.Mappers;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 会员经验记录 Convert
|
|
||||||
*
|
|
||||||
* @author owen
|
|
||||||
*/
|
|
||||||
@Mapper
|
|
||||||
public interface MemberExperienceLogConvert {
|
|
||||||
|
|
||||||
MemberExperienceLogConvert INSTANCE = Mappers.getMapper(MemberExperienceLogConvert.class);
|
|
||||||
|
|
||||||
MemberExperienceLogRespVO convert(MemberExperienceLogDO bean);
|
|
||||||
|
|
||||||
List<MemberExperienceLogRespVO> convertList(List<MemberExperienceLogDO> list);
|
|
||||||
|
|
||||||
PageResult<MemberExperienceLogRespVO> convertPage(PageResult<MemberExperienceLogDO> page);
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -0,0 +1,30 @@
|
|||||||
|
package cn.iocoder.yudao.module.member.convert.level;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
|
import cn.iocoder.yudao.module.member.controller.admin.level.vo.experience.MemberExperienceRecordRespVO;
|
||||||
|
import cn.iocoder.yudao.module.member.dal.dataobject.level.MemberExperienceRecordDO;
|
||||||
|
import org.mapstruct.Mapper;
|
||||||
|
import org.mapstruct.factory.Mappers;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员经验记录 Convert
|
||||||
|
*
|
||||||
|
* @author owen
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface MemberExperienceRecordConvert {
|
||||||
|
|
||||||
|
MemberExperienceRecordConvert INSTANCE = Mappers.getMapper(MemberExperienceRecordConvert.class);
|
||||||
|
|
||||||
|
MemberExperienceRecordRespVO convert(MemberExperienceRecordDO bean);
|
||||||
|
|
||||||
|
List<MemberExperienceRecordRespVO> convertList(List<MemberExperienceRecordDO> list);
|
||||||
|
|
||||||
|
PageResult<MemberExperienceRecordRespVO> convertPage(PageResult<MemberExperienceRecordDO> page);
|
||||||
|
|
||||||
|
MemberExperienceRecordDO convert(Long userId, Integer experience, Integer totalExperience,
|
||||||
|
String bizId, Integer bizType,
|
||||||
|
String title, String description);
|
||||||
|
}
|
||||||
@ -1,27 +0,0 @@
|
|||||||
package cn.iocoder.yudao.module.member.convert.level;
|
|
||||||
|
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.level.vo.log.MemberLevelLogRespVO;
|
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.level.MemberLevelLogDO;
|
|
||||||
import org.mapstruct.Mapper;
|
|
||||||
import org.mapstruct.factory.Mappers;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 会员等级记录 Convert
|
|
||||||
*
|
|
||||||
* @author owen
|
|
||||||
*/
|
|
||||||
@Mapper
|
|
||||||
public interface MemberLevelLogConvert {
|
|
||||||
|
|
||||||
MemberLevelLogConvert INSTANCE = Mappers.getMapper(MemberLevelLogConvert.class);
|
|
||||||
|
|
||||||
MemberLevelLogRespVO convert(MemberLevelLogDO bean);
|
|
||||||
|
|
||||||
List<MemberLevelLogRespVO> convertList(List<MemberLevelLogDO> list);
|
|
||||||
|
|
||||||
PageResult<MemberLevelLogRespVO> convertPage(PageResult<MemberLevelLogDO> page);
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -0,0 +1,37 @@
|
|||||||
|
package cn.iocoder.yudao.module.member.convert.level;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
|
import cn.iocoder.yudao.module.member.controller.admin.level.vo.log.MemberLevelRecordRespVO;
|
||||||
|
import cn.iocoder.yudao.module.member.dal.dataobject.level.MemberLevelDO;
|
||||||
|
import cn.iocoder.yudao.module.member.dal.dataobject.level.MemberLevelRecordDO;
|
||||||
|
import org.mapstruct.Mapper;
|
||||||
|
import org.mapstruct.factory.Mappers;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员等级记录 Convert
|
||||||
|
*
|
||||||
|
* @author owen
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface MemberLevelRecordConvert {
|
||||||
|
|
||||||
|
MemberLevelRecordConvert INSTANCE = Mappers.getMapper(MemberLevelRecordConvert.class);
|
||||||
|
|
||||||
|
MemberLevelRecordRespVO convert(MemberLevelRecordDO bean);
|
||||||
|
|
||||||
|
List<MemberLevelRecordRespVO> convertList(List<MemberLevelRecordDO> list);
|
||||||
|
|
||||||
|
PageResult<MemberLevelRecordRespVO> convertPage(PageResult<MemberLevelRecordDO> page);
|
||||||
|
|
||||||
|
default MemberLevelRecordDO copyTo(MemberLevelDO from, MemberLevelRecordDO to) {
|
||||||
|
if (from != null) {
|
||||||
|
to.setLevelId(from.getId());
|
||||||
|
to.setLevel(from.getLevel());
|
||||||
|
to.setDiscountPercent(from.getDiscountPercent());
|
||||||
|
to.setExperience(from.getExperience());
|
||||||
|
}
|
||||||
|
return to;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,28 +0,0 @@
|
|||||||
package cn.iocoder.yudao.module.member.dal.mysql.level;
|
|
||||||
|
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
||||||
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
|
||||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.level.vo.experience.MemberExperienceLogPageReqVO;
|
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.level.MemberExperienceLogDO;
|
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 会员经验记录 Mapper
|
|
||||||
*
|
|
||||||
* @author owen
|
|
||||||
*/
|
|
||||||
@Mapper
|
|
||||||
public interface MemberExperienceLogMapper extends BaseMapperX<MemberExperienceLogDO> {
|
|
||||||
|
|
||||||
default PageResult<MemberExperienceLogDO> selectPage(MemberExperienceLogPageReqVO reqVO) {
|
|
||||||
return selectPage(reqVO, new LambdaQueryWrapperX<MemberExperienceLogDO>()
|
|
||||||
.eqIfPresent(MemberExperienceLogDO::getUserId, reqVO.getUserId())
|
|
||||||
.eqIfPresent(MemberExperienceLogDO::getBizId, reqVO.getBizId())
|
|
||||||
.eqIfPresent(MemberExperienceLogDO::getBizType, reqVO.getBizType())
|
|
||||||
.eqIfPresent(MemberExperienceLogDO::getTitle, reqVO.getTitle())
|
|
||||||
.betweenIfPresent(MemberExperienceLogDO::getCreateTime, reqVO.getCreateTime())
|
|
||||||
.orderByDesc(MemberExperienceLogDO::getId));
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -0,0 +1,28 @@
|
|||||||
|
package cn.iocoder.yudao.module.member.dal.mysql.level;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
|
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||||
|
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||||
|
import cn.iocoder.yudao.module.member.controller.admin.level.vo.experience.MemberExperienceRecordPageReqVO;
|
||||||
|
import cn.iocoder.yudao.module.member.dal.dataobject.level.MemberExperienceRecordDO;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员经验记录 Mapper
|
||||||
|
*
|
||||||
|
* @author owen
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface MemberExperienceRecordMapper extends BaseMapperX<MemberExperienceRecordDO> {
|
||||||
|
|
||||||
|
default PageResult<MemberExperienceRecordDO> selectPage(MemberExperienceRecordPageReqVO reqVO) {
|
||||||
|
return selectPage(reqVO, new LambdaQueryWrapperX<MemberExperienceRecordDO>()
|
||||||
|
.eqIfPresent(MemberExperienceRecordDO::getUserId, reqVO.getUserId())
|
||||||
|
.eqIfPresent(MemberExperienceRecordDO::getBizId, reqVO.getBizId())
|
||||||
|
.eqIfPresent(MemberExperienceRecordDO::getBizType, reqVO.getBizType())
|
||||||
|
.eqIfPresent(MemberExperienceRecordDO::getTitle, reqVO.getTitle())
|
||||||
|
.betweenIfPresent(MemberExperienceRecordDO::getCreateTime, reqVO.getCreateTime())
|
||||||
|
.orderByDesc(MemberExperienceRecordDO::getId));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -1,64 +0,0 @@
|
|||||||
package cn.iocoder.yudao.module.member.service.level;
|
|
||||||
|
|
||||||
import cn.hutool.core.util.StrUtil;
|
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.level.vo.experience.MemberExperienceLogPageReqVO;
|
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.level.MemberExperienceLogDO;
|
|
||||||
import cn.iocoder.yudao.module.member.dal.mysql.level.MemberExperienceLogMapper;
|
|
||||||
import cn.iocoder.yudao.module.member.enums.MemberExperienceBizTypeEnum;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
import org.springframework.validation.annotation.Validated;
|
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 会员经验记录 Service 实现类
|
|
||||||
*
|
|
||||||
* @author owen
|
|
||||||
*/
|
|
||||||
@Service
|
|
||||||
@Validated
|
|
||||||
public class MemberExperienceLogServiceImpl implements MemberExperienceLogService {
|
|
||||||
|
|
||||||
@Resource
|
|
||||||
private MemberExperienceLogMapper experienceLogMapper;
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public MemberExperienceLogDO getExperienceLog(Long id) {
|
|
||||||
return experienceLogMapper.selectById(id);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<MemberExperienceLogDO> getExperienceLogList(Collection<Long> ids) {
|
|
||||||
return experienceLogMapper.selectBatchIds(ids);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public PageResult<MemberExperienceLogDO> getExperienceLogPage(MemberExperienceLogPageReqVO pageReqVO) {
|
|
||||||
return experienceLogMapper.selectPage(pageReqVO);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void createAdjustLog(Long userId, int experience, int totalExperience) {
|
|
||||||
// 管理员调整时, 没有业务编号, 记录对应的枚举值
|
|
||||||
String bizId = MemberExperienceBizTypeEnum.ADMIN.getValue() + "";
|
|
||||||
this.createBizLog(userId, experience, totalExperience, MemberExperienceBizTypeEnum.ADMIN, bizId);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void createBizLog(Long userId, int experience, int totalExperience, MemberExperienceBizTypeEnum bizType, String bizId) {
|
|
||||||
MemberExperienceLogDO experienceLogDO = new MemberExperienceLogDO();
|
|
||||||
experienceLogDO.setUserId(userId);
|
|
||||||
experienceLogDO.setExperience(experience);
|
|
||||||
experienceLogDO.setTotalExperience(totalExperience);
|
|
||||||
experienceLogDO.setBizId(bizId);
|
|
||||||
experienceLogDO.setBizType(bizType.getValue());
|
|
||||||
experienceLogDO.setTitle(bizType.getTitle());
|
|
||||||
experienceLogDO.setDescription(StrUtil.format(bizType.getDesc(), experience));
|
|
||||||
experienceLogMapper.insert(experienceLogDO);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -0,0 +1,56 @@
|
|||||||
|
package cn.iocoder.yudao.module.member.service.level;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
|
import cn.iocoder.yudao.module.member.controller.admin.level.vo.experience.MemberExperienceRecordPageReqVO;
|
||||||
|
import cn.iocoder.yudao.module.member.convert.level.MemberExperienceRecordConvert;
|
||||||
|
import cn.iocoder.yudao.module.member.dal.dataobject.level.MemberExperienceRecordDO;
|
||||||
|
import cn.iocoder.yudao.module.member.dal.mysql.level.MemberExperienceRecordMapper;
|
||||||
|
import cn.iocoder.yudao.module.member.enums.MemberExperienceBizTypeEnum;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员经验记录 Service 实现类
|
||||||
|
*
|
||||||
|
* @author owen
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@Validated
|
||||||
|
public class MemberExperienceRecordServiceImpl implements MemberExperienceRecordService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private MemberExperienceRecordMapper experienceLogMapper;
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public MemberExperienceRecordDO getExperienceRecord(Long id) {
|
||||||
|
return experienceLogMapper.selectById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<MemberExperienceRecordDO> getExperienceRecordList(Collection<Long> ids) {
|
||||||
|
return experienceLogMapper.selectBatchIds(ids);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PageResult<MemberExperienceRecordDO> getExperienceRecordPage(MemberExperienceRecordPageReqVO pageReqVO) {
|
||||||
|
return experienceLogMapper.selectPage(pageReqVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void createExperienceRecord(Long userId, Integer experience, Integer totalExperience,
|
||||||
|
MemberExperienceBizTypeEnum bizType, String bizId) {
|
||||||
|
String description = StrUtil.format(bizType.getDesc(), experience);
|
||||||
|
MemberExperienceRecordDO recordDO = MemberExperienceRecordConvert.INSTANCE.convert(userId,
|
||||||
|
experience, totalExperience,
|
||||||
|
bizId, bizType.getValue(), bizType.getTitle(),
|
||||||
|
description);
|
||||||
|
experienceLogMapper.insert(recordDO);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -1,109 +0,0 @@
|
|||||||
package cn.iocoder.yudao.module.member.service.level;
|
|
||||||
|
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.level.vo.log.MemberLevelLogPageReqVO;
|
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.level.MemberLevelDO;
|
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.level.MemberLevelLogDO;
|
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
|
|
||||||
import cn.iocoder.yudao.module.member.dal.mysql.level.MemberLevelLogMapper;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
import org.springframework.validation.annotation.Validated;
|
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
|
||||||
import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.LEVEL_LOG_NOT_EXISTS;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 会员等级记录 Service 实现类
|
|
||||||
*
|
|
||||||
* @author owen
|
|
||||||
*/
|
|
||||||
@Service
|
|
||||||
@Validated
|
|
||||||
public class MemberLevelLogServiceImpl implements MemberLevelLogService {
|
|
||||||
|
|
||||||
@Resource
|
|
||||||
private MemberLevelLogMapper levelLogMapper;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void deleteLevelLog(Long id) {
|
|
||||||
// 校验存在
|
|
||||||
validateLevelLogExists(id);
|
|
||||||
// 删除
|
|
||||||
levelLogMapper.deleteById(id);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void validateLevelLogExists(Long id) {
|
|
||||||
if (levelLogMapper.selectById(id) == null) {
|
|
||||||
throw exception(LEVEL_LOG_NOT_EXISTS);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public MemberLevelLogDO getLevelLog(Long id) {
|
|
||||||
return levelLogMapper.selectById(id);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<MemberLevelLogDO> getLevelLogList(Collection<Long> ids) {
|
|
||||||
return levelLogMapper.selectBatchIds(ids);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public PageResult<MemberLevelLogDO> getLevelLogPage(MemberLevelLogPageReqVO pageReqVO) {
|
|
||||||
return levelLogMapper.selectPage(pageReqVO);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void createCancelLog(Long userId, String reason) {
|
|
||||||
MemberLevelLogDO levelLogDO = new MemberLevelLogDO();
|
|
||||||
levelLogDO.setUserId(userId);
|
|
||||||
levelLogDO.setRemark(reason);
|
|
||||||
levelLogDO.setDescription("管理员取消");
|
|
||||||
levelLogMapper.insert(levelLogDO);
|
|
||||||
|
|
||||||
// 给会员发送等级变动消息
|
|
||||||
notifyMember(userId, levelLogDO);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void createAdjustLog(MemberUserDO user, MemberLevelDO level, int experience, String reason) {
|
|
||||||
MemberLevelLogDO levelLogDO = new MemberLevelLogDO();
|
|
||||||
levelLogDO.setUserId(user.getId());
|
|
||||||
levelLogDO.setLevelId(level.getId());
|
|
||||||
levelLogDO.setLevel(level.getLevel());
|
|
||||||
levelLogDO.setDiscountPercent(level.getDiscountPercent());
|
|
||||||
levelLogDO.setUserExperience(level.getExperience());
|
|
||||||
levelLogDO.setExperience(experience);
|
|
||||||
levelLogDO.setRemark(reason);
|
|
||||||
levelLogDO.setDescription("管理员调整为:" + level.getName());
|
|
||||||
levelLogMapper.insert(levelLogDO);
|
|
||||||
|
|
||||||
// 给会员发送等级变动消息
|
|
||||||
notifyMember(user.getId(), levelLogDO);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void createAutoUpgradeLog(MemberUserDO user, MemberLevelDO level) {
|
|
||||||
MemberLevelLogDO levelLogDO = new MemberLevelLogDO();
|
|
||||||
levelLogDO.setUserId(user.getId());
|
|
||||||
levelLogDO.setLevelId(level.getId());
|
|
||||||
levelLogDO.setLevel(level.getLevel());
|
|
||||||
levelLogDO.setDiscountPercent(level.getDiscountPercent());
|
|
||||||
levelLogDO.setExperience(level.getExperience());
|
|
||||||
levelLogDO.setUserExperience(user.getExperience());
|
|
||||||
levelLogDO.setDescription("成为:" + level.getName());
|
|
||||||
levelLogMapper.insert(levelLogDO);
|
|
||||||
|
|
||||||
// 给会员发送等级变动消息
|
|
||||||
notifyMember(user.getId(), levelLogDO);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void notifyMember(Long userId, MemberLevelLogDO level) {
|
|
||||||
//todo: 给会员发消息
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -0,0 +1,47 @@
|
|||||||
|
package cn.iocoder.yudao.module.member.service.level;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
|
import cn.iocoder.yudao.module.member.controller.admin.level.vo.log.MemberLevelRecordPageReqVO;
|
||||||
|
import cn.iocoder.yudao.module.member.dal.dataobject.level.MemberLevelRecordDO;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员等级记录 Service 接口
|
||||||
|
*
|
||||||
|
* @author owen
|
||||||
|
*/
|
||||||
|
public interface MemberLevelRecordService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获得会员等级记录
|
||||||
|
*
|
||||||
|
* @param id 编号
|
||||||
|
* @return 会员等级记录
|
||||||
|
*/
|
||||||
|
MemberLevelRecordDO getLevelRecord(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获得会员等级记录列表
|
||||||
|
*
|
||||||
|
* @param ids 编号
|
||||||
|
* @return 会员等级记录列表
|
||||||
|
*/
|
||||||
|
List<MemberLevelRecordDO> getLevelRecordList(Collection<Long> ids);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获得会员等级记录分页
|
||||||
|
*
|
||||||
|
* @param pageReqVO 分页查询
|
||||||
|
* @return 会员等级记录分页
|
||||||
|
*/
|
||||||
|
PageResult<MemberLevelRecordDO> getLevelRecordPage(MemberLevelRecordPageReqVO pageReqVO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建会员等级记录
|
||||||
|
*
|
||||||
|
* @param levelRecord 会员等级记录
|
||||||
|
*/
|
||||||
|
void createLevelRecord(MemberLevelRecordDO levelRecord);
|
||||||
|
}
|
||||||
@ -0,0 +1,55 @@
|
|||||||
|
package cn.iocoder.yudao.module.member.service.level;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
|
import cn.iocoder.yudao.module.member.controller.admin.level.vo.log.MemberLevelRecordPageReqVO;
|
||||||
|
import cn.iocoder.yudao.module.member.dal.dataobject.level.MemberLevelRecordDO;
|
||||||
|
import cn.iocoder.yudao.module.member.dal.mysql.level.MemberLevelRecordMapper;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||||
|
import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.LEVEL_LOG_NOT_EXISTS;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员等级记录 Service 实现类
|
||||||
|
*
|
||||||
|
* @author owen
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@Validated
|
||||||
|
public class MemberLevelRecordServiceImpl implements MemberLevelRecordService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private MemberLevelRecordMapper levelLogMapper;
|
||||||
|
|
||||||
|
private void validateLevelLogExists(Long id) {
|
||||||
|
if (levelLogMapper.selectById(id) == null) {
|
||||||
|
throw exception(LEVEL_LOG_NOT_EXISTS);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public MemberLevelRecordDO getLevelRecord(Long id) {
|
||||||
|
return levelLogMapper.selectById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<MemberLevelRecordDO> getLevelRecordList(Collection<Long> ids) {
|
||||||
|
return levelLogMapper.selectBatchIds(ids);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PageResult<MemberLevelRecordDO> getLevelRecordPage(MemberLevelRecordPageReqVO pageReqVO) {
|
||||||
|
return levelLogMapper.selectPage(pageReqVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void createLevelRecord(MemberLevelRecordDO levelRecord) {
|
||||||
|
levelLogMapper.insert(levelRecord);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue