Browse Source

居民端积分相关接口

dev
wangchao 5 years ago
parent
commit
f0bb1e886f
  1. 5
      epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/UserPointStatisticalDailyDTO.java
  2. 23
      epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/ResiCommonUserIdFormDTO.java
  3. 33
      epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/ResiPointRankFormDTO.java
  4. 27
      epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/ResiPointDetailResultDTO.java
  5. 26
      epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/ResiPointLogListResultDTO.java
  6. 42
      epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/ResiPointLogPeriodResultDTO.java
  7. 37
      epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/ResiPointRankListResultDTO.java
  8. 27
      epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/ResiPointRankResultDTO.java
  9. 23
      epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/ResiPointRankingResultDTO.java
  10. 2
      epmet-module/epmet-point/epmet-point-server/pom.xml
  11. 15
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/PointVerificationLogDao.java
  12. 15
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/UserPointActionLogDao.java
  13. 17
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/UserPointStatisticalDailyDao.java
  14. 25
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/UserPointTotalDao.java
  15. 5
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/entity/UserPointStatisticalDailyEntity.java
  16. 11
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/PointVerificationLogService.java
  17. 12
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/UserPointActionLogService.java
  18. 11
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/UserPointStatisticalDailyService.java
  19. 34
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointVerificationLogServiceImpl.java
  20. 38
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java
  21. 20
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointStatisticalDailyServiceImpl.java
  22. 29
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/utils/ModuleConstant.java
  23. 18
      epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/PointVerificationLogDao.xml
  24. 17
      epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/UserPointActionLogDao.xml
  25. 36
      epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/UserPointStatisticalDailyDao.xml
  26. 25
      epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/UserPointTotalDao.xml

5
epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/UserPointStatisticalDailyDTO.java

@ -38,6 +38,11 @@ public class UserPointStatisticalDailyDTO implements Serializable {
*/
private String id;
/**
* 用户Id
* */
private String userId;
/**
* yyyy-MM-dd
*/

23
epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/ResiCommonUserIdFormDTO.java

@ -0,0 +1,23 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description
* @ClassName ResiCommonUserIdFormDTO
* @Auth wangc
* @Date 2020-07-22 14:07
*/
@Data
public class ResiCommonUserIdFormDTO implements Serializable {
private static final long serialVersionUID = -1961545266124776452L;
public interface UserId extends CustomerClientShowGroup{}
@NotBlank(message = "获取不到用户Id",groups = UserId.class)
private String userId;
}

33
epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/ResiPointRankFormDTO.java

@ -0,0 +1,33 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.Min;
import java.io.Serializable;
/**
* @Description 查询用户积分总排行周排行月排行参数
* @ClassName ResiPointRankParam
* @Auth wangc
* @Date 2020-07-21 16:22
*/
@Data
public class ResiPointRankFormDTO implements Serializable {
private static final long serialVersionUID = 1534061512200591149L;
/**
* 页码
* */
@Min(1)
private Integer pageNo;
/**
* 每页数据条数
* */
private Integer pageSize;
/**
* 时间维度 week month
* */
private String timeDimension;
}

27
epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/ResiPointDetailResultDTO.java

@ -0,0 +1,27 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 居民端用户查询累计积分可用积分
* @ClassName ResiPointDetailResultDTO
* @Auth wangc
* @Date 2020-07-21 11:06
*/
@Data
public class ResiPointDetailResultDTO implements Serializable {
private static final long serialVersionUID = -4909273528724428776L;
/**
* 累计积分
* */
private Integer accumulatedPoint;
/**
* 可用积分
* */
private Integer usablePoint;
}

26
epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/ResiPointLogListResultDTO.java

@ -0,0 +1,26 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Description 用户积分记录列表返参DTO
* @ClassName ResiPointLogListResultDTO
* @Auth wangc
* @Date 2020-07-22 14:03
*/
@Data
public class ResiPointLogListResultDTO implements Serializable {
private static final long serialVersionUID = 5316430104874305245L;
/**
* 日期 yyyy-MM-dd 字符串
* */
private String date;
/**
* 当日积分记录列表
* */
private List<ResiPointLogPeriodResultDTO> dailyList;
}

42
epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/ResiPointLogPeriodResultDTO.java

@ -0,0 +1,42 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 用户积分记录时段DTO
* @ClassName ResiPointLogPeriodResultDTO
* @Auth wangc
* @Date 2020-07-22 10:54
*/
@Data
public class ResiPointLogPeriodResultDTO implements Serializable {
private static final long serialVersionUID = -7686828993714392843L;
/**
* 日期 yyyy-MM-dd
* */
private String date;
/**
* 时段 HH:mm
* */
private String time;
/**
* +100 -25
* */
private String point;
/**
* 标题
* */
private String title;
/**
* 备注内容
* */
private String remark;
}

37
epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/ResiPointRankListResultDTO.java

@ -0,0 +1,37 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Description 居民端积分总排行周排行月排行接口返参DTO
* @ClassName ResiPointRankListResultDTO
* @Auth wangc
* @Date 2020-07-21 16:48
*/
@Data
public class ResiPointRankListResultDTO implements Serializable {
private static final long serialVersionUID = 685408245193506541L;
/**
* 当前用户昵称
* */
private String myNickname;
/**
* 当前用户积分
* */
private Integer myPoint;
/**
* 当前用户排名
* */
private Integer myRanking;
/**
* 积分排名列表
* */
private List<ResiPointRankingResultDTO> rankList;
}

27
epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/ResiPointRankResultDTO.java

@ -0,0 +1,27 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* @Description 用户积分排名DTO
* @ClassName ResiPointRankResultDTO
* @Auth wangc
* @Date 2020-07-21 14:52
*/
@Data
public class ResiPointRankResultDTO implements Serializable {
private static final long serialVersionUID = 2095785598460202838L;
private Integer rank;
private String userId;
private String customerId;
private Integer totalPoint;
}

23
epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/ResiPointRankingResultDTO.java

@ -0,0 +1,23 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description
* @ClassName ResiPointRankingResultDTO
* @Auth wangc
* @Date 2020-07-21 16:38
*/
@Data
public class ResiPointRankingResultDTO implements Serializable {
private static final long serialVersionUID = -5073341813089351068L;
private String nickname;
private Integer ranking;
private Integer point;
}

2
epmet-module/epmet-point/epmet-point-server/pom.xml

@ -116,7 +116,7 @@
<spring.redis.port>6379</spring.redis.port>
<spring.redis.password>123456</spring.redis.password>
<!-- nacos -->
<nacos.register-enabled>true</nacos.register-enabled>
<nacos.register-enabled>false</nacos.register-enabled>
<nacos.server-addr>122.152.200.70:8848</nacos.server-addr>
<nacos.discovery.namespace>fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b</nacos.discovery.namespace>
<nacos.config.namespace></nacos.config.namespace>

15
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/PointVerificationLogDao.java

@ -18,8 +18,12 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.result.ResiPointLogPeriodResultDTO;
import com.epmet.entity.PointVerificationLogEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 核销记录/确认表
@ -29,5 +33,14 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface PointVerificationLogDao extends BaseDao<PointVerificationLogEntity> {
/**
* @Description 查询指定用户兑换记录
* @param userId
* @return
* @author wangc
* @date 2020.07.22 15:38
**/
List<ResiPointLogPeriodResultDTO> selectVerificationLog(@Param("userId") String userId);
}

15
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/UserPointActionLogDao.java

@ -18,8 +18,12 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.result.ResiPointLogPeriodResultDTO;
import com.epmet.entity.UserPointActionLogEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 用户积分行为记录
@ -29,5 +33,14 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface UserPointActionLogDao extends BaseDao<UserPointActionLogEntity> {
/**
* @Description 查询用户积分明细按照时间倒叙
* @param userId
* @return
* @author wangc
* @date 2020.07.22 13:56
**/
List<ResiPointLogPeriodResultDTO> selectPointActionLogList(@Param("userId") String userId);
}

17
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/UserPointStatisticalDailyDao.java

@ -18,8 +18,12 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.result.ResiPointRankResultDTO;
import com.epmet.entity.UserPointStatisticalDailyEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 用户积分统计情况
@ -29,5 +33,16 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface UserPointStatisticalDailyDao extends BaseDao<UserPointStatisticalDailyEntity> {
/**
* @Description 查询客户下周/月度用户积分排行榜
* @param customerId
* @param dimension
* @param dimensionId
* @return
* @author wangc
* @date 2020.07.22 10:47
**/
List<ResiPointRankResultDTO> selectPointRankWithinTimeZone(@Param("customerId") String customerId,@Param("dimension") String dimension,@Param("dimensionId") String dimensionId);
}

25
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/UserPointTotalDao.java

@ -18,8 +18,13 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.result.ResiPointDetailResultDTO;
import com.epmet.dto.result.ResiPointRankResultDTO;
import com.epmet.entity.UserPointTotalEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 用户积分总计
@ -29,5 +34,23 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface UserPointTotalDao extends BaseDao<UserPointTotalEntity> {
/**
* @Description 根据用户Id查询他的累计积分以及可用积分
* @param userId
* @return
* @author wangc
* @date 2020.07.21 13:38
**/
ResiPointDetailResultDTO selectPointByUserId(@Param("userId")String userId);
/**
* @Description 查询客户下的用户累计积分排名榜
* @param customerId
* @return
* @author wangc
* @date 2020.07.21 15:16
**/
List<ResiPointRankResultDTO> selectUserPointRank(@Param("customerId") String customerId);
}

5
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/entity/UserPointStatisticalDailyEntity.java

@ -38,6 +38,11 @@ public class UserPointStatisticalDailyEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 用户Id
* */
private String userId;
/**
* yyyy-MM-dd
*/

11
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/PointVerificationLogService.java

@ -20,6 +20,8 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.PointVerificationLogDTO;
import com.epmet.dto.form.ResiCommonUserIdFormDTO;
import com.epmet.dto.result.ResiPointLogListResultDTO;
import com.epmet.entity.PointVerificationLogEntity;
import java.util.List;
@ -92,4 +94,13 @@ public interface PointVerificationLogService extends BaseService<PointVerificati
* @date 2020-07-20
*/
void delete(String[] ids);
/**
* @Description 查找指定用户的积分兑换记录
* @param userId
* @return
* @author wangc
* @date 2020.07.22 14:05
**/
List<ResiPointLogListResultDTO> getMyExchangeRecord(ResiCommonUserIdFormDTO userId);
}

12
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/UserPointActionLogService.java

@ -20,6 +20,8 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.UserPointActionLogDTO;
import com.epmet.dto.form.ResiCommonUserIdFormDTO;
import com.epmet.dto.result.ResiPointLogListResultDTO;
import com.epmet.entity.UserPointActionLogEntity;
import java.util.List;
@ -92,4 +94,14 @@ public interface UserPointActionLogService extends BaseService<UserPointActionLo
* @date 2020-07-20
*/
void delete(String[] ids);
/**
* @Description 查找指定用户的积分记录
* @param userId
* @return
* @author wangc
* @date 2020.07.22 14:05
**/
List<ResiPointLogListResultDTO> getMyPointRecord(ResiCommonUserIdFormDTO userId);
}

11
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/UserPointStatisticalDailyService.java

@ -20,6 +20,8 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.UserPointStatisticalDailyDTO;
import com.epmet.dto.form.ResiPointRankFormDTO;
import com.epmet.dto.result.ResiPointRankListResultDTO;
import com.epmet.entity.UserPointStatisticalDailyEntity;
import java.util.List;
@ -92,4 +94,13 @@ public interface UserPointStatisticalDailyService extends BaseService<UserPointS
* @date 2020-07-20
*/
void delete(String[] ids);
/**
* @Description 获取居民端周/月积分排行榜 还有当前用的信息
* @param pointRankFormDTO
* @return
* @author wangc
* @date 2020.07.21 16:57
**/
ResiPointRankListResultDTO getPointRankWithinTimeZone(ResiPointRankFormDTO pointRankFormDTO);
}

34
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointVerificationLogServiceImpl.java

@ -25,15 +25,21 @@ import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.dao.PointVerificationLogDao;
import com.epmet.dto.PointVerificationLogDTO;
import com.epmet.dto.form.ResiCommonUserIdFormDTO;
import com.epmet.dto.result.ResiPointLogListResultDTO;
import com.epmet.dto.result.ResiPointLogPeriodResultDTO;
import com.epmet.entity.PointVerificationLogEntity;
import com.epmet.service.PointVerificationLogService;
import com.google.common.collect.Maps;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 核销记录/确认表
@ -96,4 +102,32 @@ public class PointVerificationLogServiceImpl extends BaseServiceImpl<PointVerifi
baseDao.deleteBatchIds(Arrays.asList(ids));
}
/**
* @Description 查找指定用户的积分兑换记录
* @param userId
* @return
* @author wangc
* @date 2020.07.22 14:05
**/
@Override
public List<ResiPointLogListResultDTO> getMyExchangeRecord(ResiCommonUserIdFormDTO userId) {
List<ResiPointLogPeriodResultDTO> logList = baseDao.selectVerificationLog(userId.getUserId());
List<ResiPointLogListResultDTO> result = new LinkedList<>();
if(null != logList && !logList.isEmpty()){
Map<String,List<ResiPointLogPeriodResultDTO>> map =
logList.stream().collect(Collectors.groupingBy(ResiPointLogPeriodResultDTO::getDate));
Map<String, List<ResiPointLogPeriodResultDTO>> sortedMap = Maps.newLinkedHashMap();
map.entrySet().stream().sorted(Map.Entry.<String, List<ResiPointLogPeriodResultDTO>>comparingByKey().reversed())
.forEachOrdered(e -> sortedMap.put(e.getKey(), e.getValue()));
map.entrySet().forEach(e -> {
ResiPointLogListResultDTO o = new ResiPointLogListResultDTO();
o.setDate(e.getKey());
o.setDailyList(e.getValue());
result.add(o);
});
}
return result;
}
}

38
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java

@ -25,15 +25,18 @@ import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.dao.UserPointActionLogDao;
import com.epmet.dto.UserPointActionLogDTO;
import com.epmet.dto.form.ResiCommonUserIdFormDTO;
import com.epmet.dto.result.ResiPointLogListResultDTO;
import com.epmet.dto.result.ResiPointLogPeriodResultDTO;
import com.epmet.entity.UserPointActionLogEntity;
import com.epmet.service.UserPointActionLogService;
import com.google.common.collect.Maps;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
/**
* 用户积分行为记录
@ -97,4 +100,33 @@ public class UserPointActionLogServiceImpl extends BaseServiceImpl<UserPointActi
baseDao.deleteBatchIds(Arrays.asList(ids));
}
/**
* @Description 查找指定用户的积分记录
* @param userId
* @return
* @author wangc
* @date 2020.07.22 14:05
**/
@Override
public List<ResiPointLogListResultDTO> getMyPointRecord(ResiCommonUserIdFormDTO userId) {
List<ResiPointLogPeriodResultDTO> logList = baseDao.selectPointActionLogList(userId.getUserId());
List<ResiPointLogListResultDTO> result = new LinkedList<>();
if(null != logList && !logList.isEmpty()){
Map<String,List<ResiPointLogPeriodResultDTO>> map =
logList.stream().collect(Collectors.groupingBy(ResiPointLogPeriodResultDTO::getDate));
Map<String, List<ResiPointLogPeriodResultDTO>> sortedMap = Maps.newLinkedHashMap();
map.entrySet().stream().sorted(Map.Entry.<String, List<ResiPointLogPeriodResultDTO>>comparingByKey().reversed())
.forEachOrdered(e -> sortedMap.put(e.getKey(), e.getValue()));
map.entrySet().forEach(e -> {
ResiPointLogListResultDTO o = new ResiPointLogListResultDTO();
o.setDate(e.getKey());
o.setDailyList(e.getValue());
result.add(o);
});
}
return result;
}
}

20
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointStatisticalDailyServiceImpl.java

@ -25,8 +25,11 @@ import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.dao.UserPointStatisticalDailyDao;
import com.epmet.dto.UserPointStatisticalDailyDTO;
import com.epmet.dto.form.ResiPointRankFormDTO;
import com.epmet.dto.result.ResiPointRankListResultDTO;
import com.epmet.entity.UserPointStatisticalDailyEntity;
import com.epmet.service.UserPointStatisticalDailyService;
import com.epmet.utils.ModuleConstant;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -97,4 +100,21 @@ public class UserPointStatisticalDailyServiceImpl extends BaseServiceImpl<UserPo
baseDao.deleteBatchIds(Arrays.asList(ids));
}
/**
* @Description 获取居民端周/月积分排行榜 还有当前用的信息
* @param pointRankFormDTO
* @return
* @author wangc
* @date 2020.07.21 16:57
**/
@Override
public ResiPointRankListResultDTO getPointRankWithinTimeZone(ResiPointRankFormDTO pointRankFormDTO) {
//默认查周数据
if(StringUtils.isBlank(pointRankFormDTO.getTimeDimension())) {
pointRankFormDTO.setTimeDimension(ModuleConstant.TIME_ZONE_WEEK);
}
return null;
}
}

29
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/utils/ModuleConstant.java

@ -18,4 +18,33 @@ import com.epmet.commons.tools.constant.Constant;
*/
public interface ModuleConstant extends Constant {
/**
* 正则表达式 日期 严格按照yyyy-MM-dd格式匹配
* */
String DATE_REG = "^([1-9]\\d{3}-)([0-1][1-9]-)(([0-3]{0,1}[0-9]))$";
/**
* 正则表达式 严格按照yyyyWcc格式匹配
* */
String WEEK_REG = "^([1-9]\\d{3}W)(([0-4][1-9])|50|51|52)";
/**
* 正则表达式 月份 严格按照yyyy-MM格式匹配
* */
String MONTH_REG = "^([1-9]\\d{3}-)(([0][1-9])|10|11|12)";
/**
* 兑换记录标题
* */
String TITLE_EXCHANGE_POINT = "积分兑换";
/**
* 按周排行
* */
String TIME_ZONE_WEEK = "week";
/**
* 按月排行
* */
String TIME_ZONE_MONTH = "month";
}

18
epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/PointVerificationLogDao.xml

@ -25,5 +25,21 @@
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<!-- 查询指定用户兑换记录 传参:用户Id -->
<select id="selectVerificationLog" resultType="com.epmet.dto.result.ResiPointLogPeriodResultDTO">
SELECT
USER_ID,
'积分兑换' AS TITLE,
concat( '兑换', EXCHANGED_ITEM ) AS REMARK,
concat( '-', POINT ) AS point,
DATE_FORMAT( CREATED_TIME, '%Y-%m-%d' ) AS DATE,
DATE_FORMAT( CREATED_TIME, '%H:%i' ) AS TIME
FROM
POINT_VERIFICATION_LOG
WHERE
DEL_FLAG = '0'
AND USER_ID = #{userId}
ORDER BY
CREATED_TIME DESC
</select>
</mapper>

17
epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/UserPointActionLogDao.xml

@ -21,5 +21,22 @@
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<!-- 查询用户积分明细,按照时间倒叙 传参:用户Id -->
<select id="selectPointActionLogList" resultType="com.epmet.dto.result.ResiPointLogPeriodResultDTO">
SELECT
EVENT_NAME AS TITLE,
EVENT_STATEMENT AS REMARK,
CASE ACTION_FLAG WHEN 'plus' THEN concat('+',POINT) WHEN 'minus' THEN concat('-',POINT) END AS point,
DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') AS DATE,
DATE_FORMAT(CREATED_TIME,'%H:%i') AS TIME
FROM
USER_POINT_ACTION_LOG
WHERE
DEL_FLAG = '0'
AND
USER_ID = #{userId}
ORDER BY
CREATED_TIME DESC
</select>
</mapper>

36
epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/UserPointStatisticalDailyDao.xml

@ -5,7 +5,8 @@
<resultMap type="com.epmet.entity.UserPointStatisticalDailyEntity" id="userPointStatisticalDailyMap">
<result property="id" column="ID"/>
<result property="dateId" column="DATE_ID"/>
<result property="userId" column="USER_ID" />
<result property="dateId" column="DATE_ID"/>
<result property="weekId" column="WEEK_ID"/>
<result property="monthId" column="MONTH_ID"/>
<result property="quarterId" column="QUARTER_ID"/>
@ -21,5 +22,38 @@
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<!-- 查询客户下周/月度用户积分排行榜 传参:客户Id | 维度 | 维度值 -->
<select id="selectPointRankWithinTimeZone" resultType="com.epmet.dto.result.ResiPointRankResultDTO">
SELECT
IF
( @point > point.TOTAL_POINT, @rank := @rank + 1, @rank := @rank + 0 ) AS rank,
point.user_id,
point.TOTAL_POINT,
@point := point.TOTAL_POINT
FROM
(
SELECT
USER_ID,
SUM( POINT_CHANGE ) AS TOTAL_POINT
FROM
user_point_statistical_daily
WHERE
DEL_FLAG = '0'
AND CUSTOMER_ID = #{customerId}
<if test='dimension == "week"'>
AND WEEK_ID = #{dimensionId}
</if>
<if test='dimension == "month"'>
AND MONTH_ID = #{dimensionId}
</if>
AND ACTION_FLAG = 'plus'
GROUP BY
USER_ID
ORDER BY
TOTAL_POINT DESC
) point,
( SELECT @point := NULL, @rank := 1 ) a
</select>
</mapper>

25
epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/UserPointTotalDao.xml

@ -18,5 +18,30 @@
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<!-- 根据用户Id查询该用户的可用积分和累计积分 -->
<select id="selectPointByUserId" resultType="com.epmet.dto.result.ResiPointDetailResultDTO">
SELECT
USABLE_POINT AS usablePoint,
TOTAL_POINT AS accumulatedPoint
FROM
USER_POINT_TOTAL
WHERE
DEL_FLAG = '0'
AND
USER_ID = #{userId}
</select>
<!-- 查询客户下的用户积分排行,分页 传参:customerId -->
<select id="selectUserPointRank" resultType="com.epmet.dto.result.ResiPointRankResultDTO">
SELECT
IF ( @point > point.total_point, @rank := @rank + 1, @rank := @rank + 0 ) AS rank,
point.user_id,
point.customer_id,
point.total_point,
@point := point.total_point
FROM
( SELECT * FROM user_point_total ORDER BY total_point DESC ) point,
( SELECT @point := NULL, @rank := 1 ) a
</select>
</mapper>
Loading…
Cancel
Save