Commit 5190b971 authored by zhaobiyan's avatar zhaobiyan

Merge branch 'feature_member_score_zby' into feature_member_score

parents fe56588f 5b817148
...@@ -3,9 +3,9 @@ package cn.iocoder.yudao.module.member.controller.admin.level; ...@@ -3,9 +3,9 @@ package cn.iocoder.yudao.module.member.controller.admin.level;
import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.member.service.level.MemberUserLevelConfigService; import cn.iocoder.yudao.module.member.service.level.MemberUserLevelConfigService;
import cn.iocoder.yudao.module.member.vo.userLevel.MemberUserLevelBaseRespVO; import cn.iocoder.yudao.module.member.vo.userLevel.MemberUserLevelConfigBaseRespVO;
import cn.iocoder.yudao.module.member.vo.userLevel.MemberUserLevelReqVO; import cn.iocoder.yudao.module.member.vo.userLevel.MemberUserLevelConfigReqVO;
import cn.iocoder.yudao.module.member.vo.userLevel.MemberUserLevelUpdateVO; import cn.iocoder.yudao.module.member.vo.userLevel.MemberUserLevelConfigUpdateVO;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
...@@ -35,7 +35,7 @@ public class MemberUserLevelConfigController { ...@@ -35,7 +35,7 @@ public class MemberUserLevelConfigController {
@PostMapping("/page") @PostMapping("/page")
@ApiOperation("列表") @ApiOperation("列表")
public CommonResult<PageResult<MemberUserLevelBaseRespVO>> getLevelPage(@Valid @RequestBody MemberUserLevelReqVO query) { public CommonResult<PageResult<MemberUserLevelConfigBaseRespVO>> getLevelPage(@Valid @RequestBody MemberUserLevelConfigReqVO query) {
return success(userLevelConfigService.getLevelPage(query)); return success(userLevelConfigService.getLevelPage(query));
} }
...@@ -47,13 +47,13 @@ public class MemberUserLevelConfigController { ...@@ -47,13 +47,13 @@ public class MemberUserLevelConfigController {
@PostMapping("/add") @PostMapping("/add")
@ApiOperation("新增") @ApiOperation("新增")
public CommonResult<Boolean> add(@Valid @RequestBody MemberUserLevelUpdateVO query) { public CommonResult<Boolean> add(@Valid @RequestBody MemberUserLevelConfigUpdateVO query) {
return success(userLevelConfigService.add(query)); return success(userLevelConfigService.add(query));
} }
@PostMapping("/update") @PostMapping("/update")
@ApiOperation("编辑") @ApiOperation("编辑")
public CommonResult<Boolean> update(@Valid @RequestBody MemberUserLevelUpdateVO query) { public CommonResult<Boolean> update(@Valid @RequestBody MemberUserLevelConfigUpdateVO query) {
return success(userLevelConfigService.updateLevel(query)); return success(userLevelConfigService.updateLevel(query));
} }
} }
...@@ -27,6 +27,7 @@ import cn.iocoder.yudao.module.member.dal.dataobject.userEnterpriseAuth.UserEnte ...@@ -27,6 +27,7 @@ import cn.iocoder.yudao.module.member.dal.dataobject.userEnterpriseAuth.UserEnte
import cn.iocoder.yudao.module.member.dal.dataobject.userOperationLog.UserOperationLogDO; import cn.iocoder.yudao.module.member.dal.dataobject.userOperationLog.UserOperationLogDO;
import cn.iocoder.yudao.module.member.enums.ErrorCodeConstants; import cn.iocoder.yudao.module.member.enums.ErrorCodeConstants;
import cn.iocoder.yudao.module.member.enums.UserAuditStatusEnum; import cn.iocoder.yudao.module.member.enums.UserAuditStatusEnum;
import cn.iocoder.yudao.module.member.service.level.MemberUserLevelConfigService;
import cn.iocoder.yudao.module.member.service.user.MemberUserService; import cn.iocoder.yudao.module.member.service.user.MemberUserService;
import cn.iocoder.yudao.module.member.service.userCardAuth.UserCardAuthService; import cn.iocoder.yudao.module.member.service.userCardAuth.UserCardAuthService;
import cn.iocoder.yudao.module.member.service.userEnterpriseAuth.UserEnterpriseAuthService; import cn.iocoder.yudao.module.member.service.userEnterpriseAuth.UserEnterpriseAuthService;
...@@ -35,6 +36,8 @@ import cn.iocoder.yudao.module.member.vo.userCardAuth.UserCardAuthBackVO; ...@@ -35,6 +36,8 @@ import cn.iocoder.yudao.module.member.vo.userCardAuth.UserCardAuthBackVO;
import cn.iocoder.yudao.module.member.vo.userCardAuth.UserCardAuthCreateReqVO; import cn.iocoder.yudao.module.member.vo.userCardAuth.UserCardAuthCreateReqVO;
import cn.iocoder.yudao.module.member.vo.userEnterpriseAuth.UserEnterpriseAuthBackVO; import cn.iocoder.yudao.module.member.vo.userEnterpriseAuth.UserEnterpriseAuthBackVO;
import cn.iocoder.yudao.module.member.vo.userEnterpriseAuth.UserEnterpriseAuthCreateReqVO; import cn.iocoder.yudao.module.member.vo.userEnterpriseAuth.UserEnterpriseAuthCreateReqVO;
import cn.iocoder.yudao.module.member.vo.userLevel.MemberUserLevelConfigBaseRespVO;
import cn.iocoder.yudao.module.member.vo.userLevel.MemberUserScoreLevelVO;
import cn.iocoder.yudao.module.member.vo.userOperationLog.UserOperationLogBackVO; import cn.iocoder.yudao.module.member.vo.userOperationLog.UserOperationLogBackVO;
import com.alibaba.excel.util.CollectionUtils; import com.alibaba.excel.util.CollectionUtils;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
...@@ -95,6 +98,9 @@ public class MemberUserController { ...@@ -95,6 +98,9 @@ public class MemberUserController {
@Resource @Resource
private PasswordEncoder passwordEncoder; private PasswordEncoder passwordEncoder;
@Resource
private MemberUserLevelConfigService memberUserLevelConfigService;
@GetMapping("/member-user-list") @GetMapping("/member-user-list")
@ApiOperation("获得会员帐号列表-下拉列表使用") @ApiOperation("获得会员帐号列表-下拉列表使用")
...@@ -136,6 +142,16 @@ public class MemberUserController { ...@@ -136,6 +142,16 @@ public class MemberUserController {
if (passwordEncoder.matches("88888888", user.getPassword())) { if (passwordEncoder.matches("88888888", user.getPassword())) {
userBackVO.setIsSimplePassword(Boolean.TRUE); userBackVO.setIsSimplePassword(Boolean.TRUE);
} }
MemberUserLevelConfigBaseRespVO userScoreLevelVO = memberUserLevelConfigService.getLevelByCount(user.getTotalScore());
MemberUserScoreLevelVO scoreLevelVO = MemberUserScoreLevelVO.builder().memberId(user.getId())
.memberCode(user.getMemberCode())
.holdScore(user.getHoldScore())
.expiredScore(user.getExpiredScore())
.usedScore(user.getUsedScore())
.levelIcon(userScoreLevelVO.getIcon())
.levelName(userScoreLevelVO.getName())
.build();
userBackVO.setUserScoreLevelInfo(scoreLevelVO);
userBackVO.setPassword(null); userBackVO.setPassword(null);
userBackVO.setBackLetterImg(null); userBackVO.setBackLetterImg(null);
return success(userBackVO); return success(userBackVO);
......
package cn.iocoder.yudao.module.member.controller.admin.user.vo; package cn.iocoder.yudao.module.member.controller.admin.user.vo;
import cn.iocoder.yudao.module.member.vo.userLevel.MemberUserScoreLevelVO;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
...@@ -233,4 +234,26 @@ public class UserBackVO { ...@@ -233,4 +234,26 @@ public class UserBackVO {
@ApiModelProperty(value = "是否简单密码", example = "false") @ApiModelProperty(value = "是否简单密码", example = "false")
private Boolean isSimplePassword = Boolean.FALSE; private Boolean isSimplePassword = Boolean.FALSE;
/**
* 客户编码
*/
@ApiModelProperty(value = "客户编码")
private String customerCode;
/**
* 客户编码
*/
@ApiModelProperty(value = "客户id")
private Long customerId;
@ApiModelProperty(value = "会员编码")
private String memberCode;
@ApiModelProperty(value = "会员积分信息")
private MemberUserScoreLevelVO userScoreLevelInfo;
@ApiModelProperty(value = "会员国家中文")
private String countryTitleZh;
@ApiModelProperty(value = "会员国家英文")
private String countryTitleEn;
@ApiModelProperty(value = "会员城市中文")
private String cityTitleZh;
@ApiModelProperty(value = "会员国家英文")
private String cityTitleEn;
} }
...@@ -31,5 +31,8 @@ public class UserQueryVO { ...@@ -31,5 +31,8 @@ public class UserQueryVO {
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
@ApiModelProperty(value = "创建结束时间") @ApiModelProperty(value = "创建结束时间")
private Date endCreateTime; private Date endCreateTime;
@ApiModelProperty(value = "客户编码")
private String customerCode;
@ApiModelProperty(value = "会员编码")
private String memberCode;
} }
...@@ -9,6 +9,7 @@ import lombok.*; ...@@ -9,6 +9,7 @@ import lombok.*;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import java.util.Date; import java.util.Date;
import java.util.Optional;
/** /**
* 会员用户 DO * 会员用户 DO
...@@ -237,4 +238,36 @@ public class MemberUserDO extends TenantBaseDO { ...@@ -237,4 +238,36 @@ public class MemberUserDO extends TenantBaseDO {
private String code; private String code;
private Integer holdScore; private Integer holdScore;
private Integer usedScore;
private Integer expiredScore;
/**
* 客户编码
*/
@TableField(exist = false)
private String customerCode;
/**
* 客户编码
*/
@TableField(exist = false)
private Long customerId;
@TableField(exist = false)
private String memberCode;
@TableField(exist = false)
private String countryTitleZh;
@TableField(exist = false)
private String countryTitleEn;
@TableField(exist = false)
private String cityTitleZh;
@TableField(exist = false)
private String cityTitleEn;
public Integer getTotalScore() {
return Optional.ofNullable(holdScore).orElse(0)
+ Optional.ofNullable(usedScore).orElse(0)
+ Optional.ofNullable(expiredScore).orElse(0);
}
} }
...@@ -161,12 +161,25 @@ public interface MemberUserMapper extends BaseMapperX<MemberUserDO> { ...@@ -161,12 +161,25 @@ public interface MemberUserMapper extends BaseMapperX<MemberUserDO> {
" uea.`create_time` as enterprise_audit_create_time,", " uea.`create_time` as enterprise_audit_create_time,",
" uea.`audit_time` as enterprise_audit_time," , " uea.`audit_time` as enterprise_audit_time," ,
" uea.`audit_remark` as enterprise_audit_remark,", " uea.`audit_remark` as enterprise_audit_remark,",
" ifnull( mus.`hold_score`, 0) as hold_score", " ec.id as customerId,",
" ec.number as customerCode,",
" u.code as memberCode,",
" er.title_zh as countryTitleZh,",
" er.title_en as countryTitleEn,",
" ert.title_zh as cityTitleZh,",
" ert.title_en as cityTitleEn,",
" ifnull( mus.`hold_score`, 0) as hold_score,",
" ifnull( mus.`used_score`, 0) as used_score,",
" ifnull( mus.`expired_score`, 0) as expired_score",
"from member_user u ", "from member_user u ",
"left join member_user_enterprise e on e.user_id = u.id and e.deleted = 0 ", "left join member_user_enterprise e on e.user_id = u.id and e.deleted = 0 ",
"left join member_user_card_auth uca on u.id = uca.user_id and uca.deleted = 0 " , "left join member_user_card_auth uca on u.id = uca.user_id and uca.deleted = 0 " ,
"left join member_user_enterprise_auth uea on u.id = uea.user_id and uea.deleted = 0 ", "left join member_user_enterprise_auth uea on u.id = uea.user_id and uea.deleted = 0 ",
"left join member_user_score mus on u.id = mus.member_id and mus.deleted = 0 ", "left join member_user_score mus on u.id = mus.member_id and mus.deleted = 0 ",
"left join ecw_customer_contacts ecc on u.id = ecc.userid and ecc.is_default = 1 and ecc.deleted = 0",
"left join ecw_customer ec on ecc.customer_id = ec.id and ec.deleted = 0",
"left join ecw_region er on er.id = u.country",
"left join ecw_region ert on ert.id = u.city",
"where ", "where ",
"u.deleted = 0 ", "u.deleted = 0 ",
"AND u.id = #{id} ", "AND u.id = #{id} ",
......
...@@ -3,9 +3,9 @@ package cn.iocoder.yudao.module.member.service.level; ...@@ -3,9 +3,9 @@ package cn.iocoder.yudao.module.member.service.level;
import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.service.IService; import cn.iocoder.yudao.framework.mybatis.core.service.IService;
import cn.iocoder.yudao.module.member.dal.dataobject.level.MemberUserLevelConfigDO; import cn.iocoder.yudao.module.member.dal.dataobject.level.MemberUserLevelConfigDO;
import cn.iocoder.yudao.module.member.vo.userLevel.MemberUserLevelBaseRespVO; import cn.iocoder.yudao.module.member.vo.userLevel.MemberUserLevelConfigBaseRespVO;
import cn.iocoder.yudao.module.member.vo.userLevel.MemberUserLevelReqVO; import cn.iocoder.yudao.module.member.vo.userLevel.MemberUserLevelConfigReqVO;
import cn.iocoder.yudao.module.member.vo.userLevel.MemberUserLevelUpdateVO; import cn.iocoder.yudao.module.member.vo.userLevel.MemberUserLevelConfigUpdateVO;
import java.util.List; import java.util.List;
...@@ -16,11 +16,13 @@ import java.util.List; ...@@ -16,11 +16,13 @@ import java.util.List;
*/ */
public interface MemberUserLevelConfigService extends IService<MemberUserLevelConfigDO> { public interface MemberUserLevelConfigService extends IService<MemberUserLevelConfigDO> {
PageResult<MemberUserLevelBaseRespVO> getLevelPage(MemberUserLevelReqVO query); PageResult<MemberUserLevelConfigBaseRespVO> getLevelPage(MemberUserLevelConfigReqVO query);
Boolean delete(List<Long> ids); Boolean delete(List<Long> ids);
Boolean add(MemberUserLevelUpdateVO query); Boolean add(MemberUserLevelConfigUpdateVO query);
Boolean updateLevel(MemberUserLevelUpdateVO query); Boolean updateLevel(MemberUserLevelConfigUpdateVO query);
MemberUserLevelConfigBaseRespVO getLevelByCount(Integer scoreCount);
} }
...@@ -5,10 +5,9 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; ...@@ -5,10 +5,9 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.service.AbstractService; import cn.iocoder.yudao.framework.mybatis.core.service.AbstractService;
import cn.iocoder.yudao.module.member.dal.dataobject.level.MemberUserLevelConfigDO; import cn.iocoder.yudao.module.member.dal.dataobject.level.MemberUserLevelConfigDO;
import cn.iocoder.yudao.module.member.dal.mysql.memberUserLevel.MemberUserLevelConfigMapper; import cn.iocoder.yudao.module.member.dal.mysql.memberUserLevel.MemberUserLevelConfigMapper;
import cn.iocoder.yudao.module.member.vo.memberUserScore.MemberUserScoreBackVO; import cn.iocoder.yudao.module.member.vo.userLevel.MemberUserLevelConfigBaseRespVO;
import cn.iocoder.yudao.module.member.vo.userLevel.MemberUserLevelBaseRespVO; import cn.iocoder.yudao.module.member.vo.userLevel.MemberUserLevelConfigReqVO;
import cn.iocoder.yudao.module.member.vo.userLevel.MemberUserLevelReqVO; import cn.iocoder.yudao.module.member.vo.userLevel.MemberUserLevelConfigUpdateVO;
import cn.iocoder.yudao.module.member.vo.userLevel.MemberUserLevelUpdateVO;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
...@@ -17,11 +16,11 @@ import org.springframework.context.annotation.Lazy; ...@@ -17,11 +16,11 @@ import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import java.util.Comparator;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.infra.enums.ErrorCodeConstants.GET_LOCK_FAILED;
import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.LEVEL_BOUND_RANGE_CONFLICT; import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.LEVEL_BOUND_RANGE_CONFLICT;
import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.LEVEL_BOUND_RANGE_ERROR; import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.LEVEL_BOUND_RANGE_ERROR;
...@@ -42,14 +41,14 @@ public class MemberUserLevelConfigServiceImpl extends AbstractService<MemberUser ...@@ -42,14 +41,14 @@ public class MemberUserLevelConfigServiceImpl extends AbstractService<MemberUser
} }
@Override @Override
public PageResult<MemberUserLevelBaseRespVO> getLevelPage(MemberUserLevelReqVO query) { public PageResult<MemberUserLevelConfigBaseRespVO> getLevelPage(MemberUserLevelConfigReqVO query) {
int start = (query.getPageNo() - 1) * query.getPageSize(); int start = (query.getPageNo() - 1) * query.getPageSize();
int size = query.getPageSize(); int size = query.getPageSize();
LambdaQueryWrapper<MemberUserLevelConfigDO> wrapper = Wrappers.lambdaQuery(); LambdaQueryWrapper<MemberUserLevelConfigDO> wrapper = Wrappers.lambdaQuery();
wrapper.eq(MemberUserLevelConfigDO::getDeleted, 0); wrapper.eq(MemberUserLevelConfigDO::getDeleted, 0);
wrapper.last(String.format("limit %s, %s", start, size)); wrapper.last(String.format("limit %s, %s", start, size));
List<MemberUserLevelConfigDO> list = this.list(wrapper); List<MemberUserLevelConfigDO> list = this.list(wrapper);
List<MemberUserLevelBaseRespVO> result = list.stream().map(i -> BeanUtil.copyProperties(i, MemberUserLevelBaseRespVO.class)).collect(Collectors.toList()); List<MemberUserLevelConfigBaseRespVO> result = list.stream().map(i -> BeanUtil.copyProperties(i, MemberUserLevelConfigBaseRespVO.class)).collect(Collectors.toList());
Long total = memberUserLevelConfigMapper.selectCount(); Long total = memberUserLevelConfigMapper.selectCount();
return new PageResult<>(result, total, query.getPageSize(), query.getPageNo(), (total + query.getPageSize() - 1) / query.getPageSize()); return new PageResult<>(result, total, query.getPageSize(), query.getPageNo(), (total + query.getPageSize() - 1) / query.getPageSize());
} }
...@@ -66,13 +65,13 @@ public class MemberUserLevelConfigServiceImpl extends AbstractService<MemberUser ...@@ -66,13 +65,13 @@ public class MemberUserLevelConfigServiceImpl extends AbstractService<MemberUser
} }
@Override @Override
public Boolean add(MemberUserLevelUpdateVO query) { public Boolean add(MemberUserLevelConfigUpdateVO query) {
validate(query); validate(query);
MemberUserLevelConfigDO memberUserLevelConfigDO = BeanUtil.copyProperties(query, MemberUserLevelConfigDO.class); MemberUserLevelConfigDO memberUserLevelConfigDO = BeanUtil.copyProperties(query, MemberUserLevelConfigDO.class);
return this.saveOrUpdate(memberUserLevelConfigDO); return this.saveOrUpdate(memberUserLevelConfigDO);
} }
private void validate(MemberUserLevelUpdateVO query) { private void validate(MemberUserLevelConfigUpdateVO query) {
if (query.getLowerCount() > query.getUpperCount()) { if (query.getLowerCount() > query.getUpperCount()) {
throw exception(LEVEL_BOUND_RANGE_ERROR); throw exception(LEVEL_BOUND_RANGE_ERROR);
} }
...@@ -93,9 +92,20 @@ public class MemberUserLevelConfigServiceImpl extends AbstractService<MemberUser ...@@ -93,9 +92,20 @@ public class MemberUserLevelConfigServiceImpl extends AbstractService<MemberUser
} }
@Override @Override
public Boolean updateLevel(MemberUserLevelUpdateVO query) { public Boolean updateLevel(MemberUserLevelConfigUpdateVO query) {
validate(query); validate(query);
MemberUserLevelConfigDO memberUserLevelConfigDO = BeanUtil.copyProperties(query, MemberUserLevelConfigDO.class); MemberUserLevelConfigDO memberUserLevelConfigDO = BeanUtil.copyProperties(query, MemberUserLevelConfigDO.class);
return this.saveOrUpdate(memberUserLevelConfigDO); return this.saveOrUpdate(memberUserLevelConfigDO);
} }
@Override
public MemberUserLevelConfigBaseRespVO getLevelByCount(Integer scoreCount) {
List<MemberUserLevelConfigDO> levelConfigList = this.list();
List<MemberUserLevelConfigDO> sortLevelConfig = levelConfigList.stream()
.sorted(Comparator.comparing(MemberUserLevelConfigDO::getLowerCount))
.collect(Collectors.toList());
MemberUserLevelConfigDO memberUserLevelConfigDO = sortLevelConfig.stream().filter(config -> config.getLowerCount() >= scoreCount && config.getUpperCount() <= scoreCount)
.findAny().orElse(sortLevelConfig.get(sortLevelConfig.size() - 1));
return BeanUtil.copyProperties(memberUserLevelConfigDO, MemberUserLevelConfigBaseRespVO.class);
}
} }
...@@ -402,7 +402,12 @@ public class MemberUserServiceImpl implements MemberUserService { ...@@ -402,7 +402,12 @@ public class MemberUserServiceImpl implements MemberUserService {
if (query.getBeginCreateTime() != null && query.getEndCreateTime() != null) { if (query.getBeginCreateTime() != null && query.getEndCreateTime() != null) {
wrapper.between("create_time", query.getBeginCreateTime(), query.getEndCreateTime()); wrapper.between("create_time", query.getBeginCreateTime(), query.getEndCreateTime());
} }
if (StringUtils.isNotBlank(query.getCustomerCode())) {
wrapper.like("customerCode", query.getCustomerCode());
}
if (StringUtils.isNotBlank(query.getMemberCode())) {
wrapper.like("code", query.getMemberCode());
}
//成交状态 //成交状态
Boolean isDeal = query.getIsDeal(); Boolean isDeal = query.getIsDeal();
wrapper.apply(isDeal != null, "customer_status " + (Boolean.TRUE.equals(isDeal) ? " = 3 " : " != 3"), null); wrapper.apply(isDeal != null, "customer_status " + (Boolean.TRUE.equals(isDeal) ? " = 3 " : " != 3"), null);
......
...@@ -31,4 +31,6 @@ public class MemberUserScoreQueryVO extends PageParam { ...@@ -31,4 +31,6 @@ public class MemberUserScoreQueryVO extends PageParam {
private Date startTime; private Date startTime;
@ApiModelProperty(value = "会员创建时间结束") @ApiModelProperty(value = "会员创建时间结束")
private Date endTime; private Date endTime;
@ApiModelProperty(value = "会员id")
private Long memberId;
} }
...@@ -29,4 +29,6 @@ public class MemberUserScoreLogQueryVO extends PageParam { ...@@ -29,4 +29,6 @@ public class MemberUserScoreLogQueryVO extends PageParam {
private Date startTime; private Date startTime;
@ApiModelProperty(value = "结束时间") @ApiModelProperty(value = "结束时间")
private Date endTime; private Date endTime;
@ApiModelProperty(value = "会员id")
private Long memberId;
} }
...@@ -6,7 +6,7 @@ import lombok.Data; ...@@ -6,7 +6,7 @@ import lombok.Data;
@Data @Data
@ApiModel("管理后台 - 会员等级查询返回 VO") @ApiModel("管理后台 - 会员等级查询返回 VO")
public class MemberUserLevelBaseRespVO { public class MemberUserLevelConfigBaseRespVO {
@ApiModelProperty(value = "id") @ApiModelProperty(value = "id")
private Long id; private Long id;
/** /**
......
...@@ -10,7 +10,7 @@ import lombok.Data; ...@@ -10,7 +10,7 @@ import lombok.Data;
*/ */
@Data @Data
@ApiModel("管理后台 - 会员等级配置查询 VO") @ApiModel("管理后台 - 会员等级配置查询 VO")
public class MemberUserLevelReqVO extends PageParam { public class MemberUserLevelConfigReqVO extends PageParam {
@ApiModelProperty(value = "id") @ApiModelProperty(value = "id")
private Long id; private Long id;
} }
...@@ -8,7 +8,7 @@ import javax.validation.constraints.NotNull; ...@@ -8,7 +8,7 @@ import javax.validation.constraints.NotNull;
@Data @Data
@ApiModel("管理后台 - 会员等级编辑 VO") @ApiModel("管理后台 - 会员等级编辑 VO")
public class MemberUserLevelUpdateVO { public class MemberUserLevelConfigUpdateVO {
@ApiModelProperty(value = "id") @ApiModelProperty(value = "id")
private Long id; private Long id;
/** /**
......
package cn.iocoder.yudao.module.member.vo.userLevel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@ApiModel("管理后台 - 会员积分等级 VO")
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class MemberUserScoreLevelVO {
@ApiModelProperty(value = "会员id")
private Long memberId;
@ApiModelProperty(value = "会员编码")
private String memberCode;
@ApiModelProperty(value = "持有积分")
private Integer holdScore;
@ApiModelProperty(value = "已使用积分")
private Integer usedScore;
@ApiModelProperty(value = "过期积分")
private Integer expiredScore;
@ApiModelProperty(value = "会员等级名称")
private String levelName;
@ApiModelProperty(value = "会员等级图标")
private String levelIcon;
}
...@@ -24,10 +24,15 @@ ...@@ -24,10 +24,15 @@
uea.`create_time` as enterprise_audit_create_time, uea.`create_time` as enterprise_audit_create_time,
uea.`audit_time` as enterprise_audit_time, uea.`audit_time` as enterprise_audit_time,
uea.`audit_remark` as enterprise_audit_remark uea.`audit_remark` as enterprise_audit_remark,
ec.id as customerId,
ec.number as customerCode,
u.code as memberCode
from member_user u from member_user u
left join member_user_card_auth uca on u.id = uca.user_id left join member_user_card_auth uca on u.id = uca.user_id
left join member_user_enterprise_auth uea on u.id = uea.user_id left join member_user_enterprise_auth uea on u.id = uea.user_id
left join ecw_customer_contacts ecc on u.id = ecc.userid
left join ecw_customer ec on ec.id = ecc.customer_id
where 1 = 1 where 1 = 1
and uca.deleted = 0 or uca.deleted is null and uca.deleted = 0 or uca.deleted is null
</sql> </sql>
......
...@@ -68,5 +68,8 @@ ...@@ -68,5 +68,8 @@
and musl.score_count &lt; #{query.scoreCount} and musl.score_count &lt; #{query.scoreCount}
</if> </if>
</if> </if>
<if test="query.memberId != null">
and musl.member_id = #{query.memberId}
</if>
</sql> </sql>
</mapper> </mapper>
...@@ -32,4 +32,6 @@ public class RewardRedeemPageReqVO extends PageParam { ...@@ -32,4 +32,6 @@ public class RewardRedeemPageReqVO extends PageParam {
private Integer entrance; private Integer entrance;
@ApiModelProperty(value = "兑换网点") @ApiModelProperty(value = "兑换网点")
private Integer nodeId; private Integer nodeId;
@ApiModelProperty(value = "会员id")
private Long memberId;
} }
...@@ -151,5 +151,8 @@ ...@@ -151,5 +151,8 @@
<if test="req.endTime != null "> <if test="req.endTime != null ">
and err.create_time &lt;= #{req.endTime} and err.create_time &lt;= #{req.endTime}
</if> </if>
<if test="req.memberId != null">
and err.member_id = #{req.memberId}
</if>
</sql> </sql>
</mapper> </mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment