diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonUserFeignClient.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonUserFeignClient.java new file mode 100644 index 0000000000..0f8f937a8a --- /dev/null +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonUserFeignClient.java @@ -0,0 +1,20 @@ +package com.epmet.commons.tools.feign; + +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.feign.fallback.CommonUserFeignClientFallBackFactory; +import com.epmet.commons.tools.redis.common.bean.ResiUserInfoCache; +import com.epmet.commons.tools.utils.Result; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; + +/** + * @Author zqf + * @DateTime 2022/3/17 1:42 下午 + * @DESC + */ +@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallbackFactory = CommonUserFeignClientFallBackFactory.class) +public interface CommonUserFeignClient { + @PostMapping("/epmetuser/userbaseinfo/getUserInfo/{userId}") + Result getUserInfo(@PathVariable("userId") String userId); +} diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonUserFeignClientFallBackFactory.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonUserFeignClientFallBackFactory.java new file mode 100644 index 0000000000..269ee6d985 --- /dev/null +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonUserFeignClientFallBackFactory.java @@ -0,0 +1,24 @@ +package com.epmet.commons.tools.feign.fallback; + +import com.epmet.commons.tools.exception.ExceptionUtils; +import com.epmet.commons.tools.feign.CommonUserFeignClient; +import feign.hystrix.FallbackFactory; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * @Author zqf + * @DateTime 2022/3/17 1:46 下午 + * @DESC + */ +@Slf4j +@Component +public class CommonUserFeignClientFallBackFactory implements FallbackFactory { + private CommonUserFeignClientFallback fallback = new CommonUserFeignClientFallback(); + @Override + public CommonUserFeignClient create(Throwable cause) { + log.error(String.format("FeignClient调用发生异常,异常信息:%s", ExceptionUtils.getThrowableErrorStackTrace(cause))); + return fallback; + } + +} diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonUserFeignClientFallback.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonUserFeignClientFallback.java new file mode 100644 index 0000000000..8cd5660484 --- /dev/null +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonUserFeignClientFallback.java @@ -0,0 +1,23 @@ +package com.epmet.commons.tools.feign.fallback; + +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.feign.CommonUserFeignClient; +import com.epmet.commons.tools.redis.common.bean.ResiUserInfoCache; +import com.epmet.commons.tools.utils.ModuleUtils; +import com.epmet.commons.tools.utils.Result; +import org.springframework.stereotype.Component; + +/** + * 调用政府端权限 + * @Author zqf + * @Description + * @Date 2020/4/24 11:17 + **/ +@Component +public class CommonUserFeignClientFallback implements CommonUserFeignClient { + + @Override + public Result getUserInfo(String userId) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getUserInfo", userId); + } +} diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerResiUserRedis.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerResiUserRedis.java new file mode 100644 index 0000000000..5b34fcdee7 --- /dev/null +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerResiUserRedis.java @@ -0,0 +1,90 @@ +package com.epmet.commons.tools.redis.common; + +import cn.hutool.core.bean.BeanUtil; +import com.epmet.commons.tools.exception.RenException; +import com.epmet.commons.tools.feign.CommonUserFeignClient; +import com.epmet.commons.tools.redis.RedisKeys; +import com.epmet.commons.tools.redis.RedisUtils; +import com.epmet.commons.tools.redis.common.bean.ResiUserInfoCache; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.Result; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.jetbrains.annotations.Nullable; +import org.springframework.stereotype.Component; +import org.springframework.util.CollectionUtils; + +import javax.annotation.PostConstruct; +import javax.annotation.Resource; +import java.util.Map; + +/** + * 居民缓存通用类 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-04-22 + */ +@Slf4j +@Component +public class CustomerResiUserRedis { + @Resource + private RedisUtils redisUtils; + @Resource + private CommonUserFeignClient commonUserFeignClient; + + private static CustomerResiUserRedis customerResiUserRedis; + private static final String ROLE_MAP_KEY = "roleMap"; + + @PostConstruct + public void init() { + customerResiUserRedis = this; + customerResiUserRedis.redisUtils = this.redisUtils; + customerResiUserRedis.commonUserFeignClient = this.commonUserFeignClient; + } + + /** + * desc: 获取居民缓存 + * + * @param userId + * @return com.epmet.commons.tools.redis.common.bean.CustomerStaffInfoCache + * @author LiuJanJun + * @date 2021/8/19 10:29 下午 + * @remark 此方法仅用于 获取某个工作人员的信息,不用于获取客户下所有工作人员信息 + */ + public static ResiUserInfoCache getUserBaseInfo(String userId) { + if (StringUtils.isBlank(userId)){ + log.warn("getUserBaseInfo param is blank,userId:{}",userId); + return null; + } + String key = RedisKeys.getResiUserKey(userId); + Map map = customerResiUserRedis.redisUtils.hGetAll(key); + if (!CollectionUtils.isEmpty(map)) { + return ConvertUtils.mapToEntity(map, ResiUserInfoCache.class); + } + + ResiUserInfoCache resultData = reloadStaffCache(userId, key); + if (resultData == null) { + return null; + } + + return resultData; + } + + @Nullable + private static ResiUserInfoCache reloadStaffCache(String userId, String key) { + Result result = customerResiUserRedis.commonUserFeignClient.getUserInfo(userId); + if (result == null || !result.success()) { + throw new RenException("获取居民信息失败"); + } + ResiUserInfoCache resultData = result.getData(); + if (null == resultData) { + log.warn("居民信息为空,userId:{}", userId); + return null; + } + + Map map = BeanUtil.beanToMap(resultData, false, true); + customerResiUserRedis.redisUtils.hMSet(key, map); + return resultData; + } + +} diff --git a/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/PointApplyDTO.java b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/PointApplyDTO.java index 459447f84c..1cd7fc89e5 100644 --- a/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/PointApplyDTO.java +++ b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/PointApplyDTO.java @@ -1,8 +1,11 @@ package com.epmet.dto; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + import java.io.Serializable; import java.util.Date; -import lombok.Data; +import java.util.List; /** @@ -115,7 +118,7 @@ public class PointApplyDTO implements Serializable { * 昵称 */ private String nickname; - + private String showName; /** * 性别;未知0;男1;女2 */ @@ -141,6 +144,9 @@ public class PointApplyDTO implements Serializable { */ private String remark; + private List annexList; + private Integer pointValue; + /** * 删除标识;0.未删除 1.已删除 */ @@ -159,6 +165,7 @@ public class PointApplyDTO implements Serializable { /** * 创建时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") private Date createdTime; /** diff --git a/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/CommonPageUserFormDTO.java b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/CommonPageUserFormDTO.java index 6ccb0b2a51..d76f874e4c 100644 --- a/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/CommonPageUserFormDTO.java +++ b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/CommonPageUserFormDTO.java @@ -29,4 +29,6 @@ public class CommonPageUserFormDTO implements Serializable { @NotBlank(message = "获取不到客户Id" , groups = PageUserGroup.class) private String customerId; + + private String categoryCode; } diff --git a/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/PointApplyPageFormDTO.java b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/PointApplyPageFormDTO.java new file mode 100644 index 0000000000..13a1581e06 --- /dev/null +++ b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/PointApplyPageFormDTO.java @@ -0,0 +1,44 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.dto.form.PageFormDTO; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description + * @Author zhaoqifeng + * @Date 2022/6/15 14:57 + */ +@Data +public class PointApplyPageFormDTO extends PageFormDTO implements Serializable { + private static final long serialVersionUID = -2274024797424706386L; + /** + * 姓名 + */ + private String name; + /** + * 身份证 + */ + private String idCard; + /** + * 手机号 + */ + private String mobile; + /** + * 申请状态;0已提交;1已驳回;2已通过 + */ + private String status; + /** + * 开始时间 + */ + private String startTime; + /** + * 结束时间 + */ + private String endTime; + + private String categoryCode; + + private String agencyId; +} diff --git a/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/PointAuditFormDTO.java b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/PointAuditFormDTO.java new file mode 100644 index 0000000000..6acae8a5af --- /dev/null +++ b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/PointAuditFormDTO.java @@ -0,0 +1,20 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @Description + * @Author zhaoqifeng + * @Date 2022/6/15 15:18 + */ +@Data +public class PointAuditFormDTO implements Serializable { + private static final long serialVersionUID = -2470114698294263404L; + private String id; + private String status; + private String remark; + private List ids; +} diff --git a/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/PointAditiveRecordDailyDTO.java b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/PointAditiveRecordDailyDTO.java new file mode 100644 index 0000000000..91df1f3397 --- /dev/null +++ b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/PointAditiveRecordDailyDTO.java @@ -0,0 +1,43 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description + * @Author zhaoqifeng + * @Date 2022/6/15 9:47 + */ +@Data +public class PointAditiveRecordDailyDTO implements Serializable { + private static final long serialVersionUID = -239326201168528901L; + /** + * 日期yyyy-MM-dd + */ + private String dateStr; + /** + * 时间hh:mm + */ + private String timeStr; + /** + * 标题 + */ + private String title; + /** + * 积分说明 + */ + private String statement; + /** + * 积分值 + */ + private String pointValue; + /** + * 业务主键 + */ + private String businessId; + /** + * 业务类型 积分申请point_apply;积分奖励point_reward;积分扣罚point_fine;积分花费point_cost;驳回积分申请point_reject + */ + private String businessCode; +} diff --git a/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/PointAditiveRecordResultDTO.java b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/PointAditiveRecordResultDTO.java new file mode 100644 index 0000000000..5ba929dfeb --- /dev/null +++ b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/PointAditiveRecordResultDTO.java @@ -0,0 +1,21 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @Description + * @Author zhaoqifeng + * @Date 2022/6/15 9:46 + */ +@Data +public class PointAditiveRecordResultDTO implements Serializable { + private static final long serialVersionUID = -1498111500078847600L; + /** + * 日期yyyy-MM-dd + */ + private String dateStr; + private List recordList; +} diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/common/enu/ApplyStatusEnum.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/common/enu/ApplyStatusEnum.java index 5db66d452b..855dcaf599 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/common/enu/ApplyStatusEnum.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/common/enu/ApplyStatusEnum.java @@ -9,7 +9,7 @@ import java.util.Objects; public enum ApplyStatusEnum { //审核状态 AUDITING("0", "未审核"), - REJECT("1", "未通过"), + REJECT("1", "已驳回"), PASSED("2", "已通过"); private String code; diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/PointApplyController.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/PointApplyController.java index 4f7ba03a07..f446225764 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/PointApplyController.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/PointApplyController.java @@ -12,12 +12,12 @@ import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.PointApplyDTO; import com.epmet.dto.form.PointApplyFormDTO; +import com.epmet.dto.form.PointApplyPageFormDTO; +import com.epmet.dto.form.PointAuditFormDTO; import com.epmet.service.PointApplyService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import java.util.Map; - /** * 积分申请 @@ -32,13 +32,13 @@ public class PointApplyController { @Autowired private PointApplyService pointApplyService; - @RequestMapping("page") - public Result> page(@RequestParam Map params){ - PageData page = pointApplyService.page(params); + @RequestMapping("listall") + public Result> page(@RequestBody PointApplyPageFormDTO formDTO){ + PageData page = pointApplyService.page(formDTO); return new Result>().ok(page); } - @RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) + @RequestMapping(value = "detail/{id}",method = {RequestMethod.POST,RequestMethod.GET}) public Result get(@PathVariable("id") String id){ PointApplyDTO data = pointApplyService.get(id); return new Result().ok(data); @@ -81,4 +81,12 @@ public class PointApplyController { return new Result(); } + @NoRepeatSubmit + @PostMapping("examine/submit") + public Result audit(@LoginUser TokenDto tokenDto, @RequestBody PointAuditFormDTO formDTO){ + //效验数据 + pointApplyService.audit(tokenDto, formDTO); + return new Result(); + } + } diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/ResiPointController.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/ResiPointController.java index 05b37956d2..2969519951 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/ResiPointController.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/ResiPointController.java @@ -8,10 +8,7 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.form.*; import com.epmet.dto.result.*; -import com.epmet.service.PointVerificationLogService; -import com.epmet.service.UserPointActionLogService; -import com.epmet.service.UserPointStatisticalDailyService; -import com.epmet.service.UserPointTotalService; +import com.epmet.service.*; import com.epmet.utils.ModuleConstant; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -20,6 +17,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; import java.util.List; /** @@ -39,6 +37,8 @@ public class ResiPointController { private PointVerificationLogService pointVerificationLogService; @Autowired private UserPointActionLogService pointActionLogService; + @Resource + private PointAditiveRecordService pointAditiveRecordService; /** * @Description 获取指定居民的积分信息 @@ -237,5 +237,20 @@ public class ResiPointController { return new Result>().ok(userPointTotalService.totalPoint(tokenDto)); } - + /** + * 德育积分/党建积分的积分记录 + * + * @Param dto + * @Param pageUserParam + * @Return {@link Result>} + * @Author zhaoqifeng + * @Date 2022/6/15 9:55 + */ + @PostMapping("aditiverecordlist") + public Result> aditiveRecords(@LoginUser TokenDto dto,@RequestBody CommonPageUserFormDTO pageUserParam){ + pageUserParam.setUserId(dto.getCustomerId()); + pageUserParam.setUserId(dto.getUserId()); + ValidatorUtils.validateEntity(pageUserParam, CommonPageUserFormDTO.PageUserGroup.class); + return new Result>().ok(pointAditiveRecordService.getRecords(pageUserParam)); + } } diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/PointAditiveRecordDao.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/PointAditiveRecordDao.java index cf95a4367c..83c06481b5 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/PointAditiveRecordDao.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/PointAditiveRecordDao.java @@ -1,8 +1,12 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.result.PointAditiveRecordDailyDTO; import com.epmet.entity.PointAditiveRecordEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 附加积分记录 @@ -12,5 +16,15 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface PointAditiveRecordDao extends BaseDao { - + /** + * 积分记录 + * + * @Param customerId + * @Param categoryCode + * @Param subjectId + * @Return {@link List< PointAditiveRecordDailyDTO>} + * @Author zhaoqifeng + * @Date 2022/6/15 10:12 + */ + List selectRecordList(@Param("customerId") String customerId, @Param("categoryCode") String categoryCode, @Param("subjectId") String subjectId); } \ No newline at end of file diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/PointApplyDao.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/PointApplyDao.java index 29fd3d8c90..809226c58d 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/PointApplyDao.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/PointApplyDao.java @@ -1,8 +1,13 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.PointApplyDTO; +import com.epmet.dto.form.PointApplyPageFormDTO; import com.epmet.entity.PointApplyEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 积分申请 @@ -12,5 +17,24 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface PointApplyDao extends BaseDao { + + /** + * 获取积分申请详情 + * + * @Param id + * @Return {@link PointApplyDTO} + * @Author zhaoqifeng + * @Date 2022/6/15 14:31 + */ + PointApplyDTO getDetail(@Param("id") String id); + + /** + * 申请列表 + * @Param formDTO + * @Return {@link List< PointApplyDTO>} + * @Author zhaoqifeng + * @Date 2022/6/15 15:01 + */ + List getList(PointApplyPageFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/PointAditiveRecordService.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/PointAditiveRecordService.java index 857d5b797d..77f576d718 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/PointAditiveRecordService.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/PointAditiveRecordService.java @@ -3,6 +3,8 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.PointAditiveRecordDTO; +import com.epmet.dto.form.CommonPageUserFormDTO; +import com.epmet.dto.result.PointAditiveRecordResultDTO; import com.epmet.entity.PointAditiveRecordEntity; import java.util.List; @@ -75,4 +77,14 @@ public interface PointAditiveRecordService extends BaseService} + * @Author zhaoqifeng + * @Date 2022/6/15 9:55 + */ + List getRecords(CommonPageUserFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/PointApplyService.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/PointApplyService.java index 7988b94f26..74160b5099 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/PointApplyService.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/PointApplyService.java @@ -2,8 +2,11 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dto.PointApplyDTO; import com.epmet.dto.form.PointApplyFormDTO; +import com.epmet.dto.form.PointApplyPageFormDTO; +import com.epmet.dto.form.PointAuditFormDTO; import com.epmet.entity.PointApplyEntity; import java.util.List; @@ -25,7 +28,7 @@ public interface PointApplyService extends BaseService { * @author generator * @date 2022-06-14 */ - PageData page(Map params); + PageData page(PointApplyPageFormDTO formDTO); /** * 默认查询 @@ -85,4 +88,15 @@ public interface PointApplyService extends BaseService { * @Date 2022/6/14 14:14 */ void submit(PointApplyFormDTO formDTO); + + /** + * 审核 + * + * @Param tokenDto + * @Param formDTO + * @Return + * @Author zhaoqifeng + * @Date 2022/6/15 15:20 + */ + void audit(TokenDto tokenDto, PointAuditFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointAditiveRecordServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointAditiveRecordServiceImpl.java index 6ca0fb5f22..fb98405897 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointAditiveRecordServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointAditiveRecordServiceImpl.java @@ -2,22 +2,34 @@ package com.epmet.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.common.CommonConstant; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; -import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.utils.Result; import com.epmet.dao.PointAditiveRecordDao; import com.epmet.dto.PointAditiveRecordDTO; +import com.epmet.dto.form.CommonPageUserFormDTO; +import com.epmet.dto.result.*; import com.epmet.entity.PointAditiveRecordEntity; +import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.service.PointAditiveRecordService; +import com.github.pagehelper.PageHelper; +import com.google.common.collect.Maps; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * 附加积分记录 @@ -28,6 +40,8 @@ import java.util.Map; @Service public class PointAditiveRecordServiceImpl extends BaseServiceImpl implements PointAditiveRecordService { + @Resource + private EpmetUserOpenFeignClient epmetUserOpenFeignClient; @Override public PageData page(Map params) { @@ -81,4 +95,51 @@ public class PointAditiveRecordServiceImpl extends BaseServiceImpl} + * @Author zhaoqifeng + * @Date 2022/6/15 9:55 + */ + @Override + public List getRecords(CommonPageUserFormDTO formDTO) { + List list = new ArrayList<>(); + String subjectId; + //如果申请类型为德育积分,需要获取用户所在房屋 + if (CommonConstant.MORAL_EDUCATION.equals(formDTO.getCategoryCode())) { + Result result = epmetUserOpenFeignClient.getHomeInfo(); + if (!result.success() || null == result.getData()) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取居民所在家庭信息失败", "获取居民所在家庭信息失败"); + } + if (StringUtils.isBlank(result.getData().getHouseId())) { + return list; + } + subjectId = result.getData().getHouseId(); + } else { + subjectId = formDTO.getUserId(); + } + + PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()); + List recordList = baseDao.selectRecordList(formDTO.getCustomerId(), formDTO.getCategoryCode(), subjectId); + + if(CollectionUtils.isNotEmpty(recordList)){ + Map> map = + recordList.stream().collect(Collectors.groupingBy(PointAditiveRecordDailyDTO::getDateStr)); + + Map> sortedMap = Maps.newLinkedHashMap(); + map.entrySet().stream().sorted(Map.Entry.>comparingByKey().reversed()) + .forEachOrdered(e -> sortedMap.put(e.getKey(), e.getValue())); + sortedMap.forEach((key, value) -> { + PointAditiveRecordResultDTO o = new PointAditiveRecordResultDTO(); + o.setDateStr(key); + o.setRecordList(value); + list.add(o); + }); + + } + return list; + } + } \ No newline at end of file diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointApplyServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointApplyServiceImpl.java index 4827ab4d2d..51588a6586 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointApplyServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointApplyServiceImpl.java @@ -1,28 +1,40 @@ package com.epmet.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.common.CommonConstant; import com.epmet.common.enu.ApplyStatusEnum; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.enums.GenderEnum; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.redis.common.CustomerOrgRedis; +import com.epmet.commons.tools.redis.common.CustomerResiUserRedis; import com.epmet.commons.tools.redis.common.bean.GridInfoCache; +import com.epmet.commons.tools.redis.common.bean.ResiUserInfoCache; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; +import com.epmet.dao.PointAditiveCalcDao; +import com.epmet.dao.PointAditiveRecordDao; import com.epmet.dao.PointAnnexDao; import com.epmet.dao.PointApplyDao; import com.epmet.dto.PointApplyDTO; import com.epmet.dto.form.PointApplyFormDTO; +import com.epmet.dto.form.PointApplyPageFormDTO; +import com.epmet.dto.form.PointAuditFormDTO; import com.epmet.dto.result.HomeInfoResultDTO; +import com.epmet.entity.PointAditiveCalcEntity; +import com.epmet.entity.PointAditiveRecordEntity; import com.epmet.entity.PointAnnexEntity; import com.epmet.entity.PointApplyEntity; import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.service.PointApplyService; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; @@ -47,14 +59,29 @@ public class PointApplyServiceImpl extends BaseServiceImpl page(Map params) { - IPage page = baseDao.selectPage( - getPage(params, FieldConstant.CREATED_TIME, false), - getWrapper(params) - ); - return getPageData(page, PointApplyDTO.class); + public PageData page(PointApplyPageFormDTO formDTO) { + PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()); + List list = baseDao.getList(formDTO); + PageInfo pageInfo = new PageInfo<>(list); + if (CollectionUtils.isNotEmpty(list)) { + list.forEach(item -> { + //获取居民信息 + ResiUserInfoCache userInfo = CustomerResiUserRedis.getUserBaseInfo(item.getUserId()); + if (null != userInfo) { + item.setHeadImgUrl(userInfo.getHeadImgUrl()); + item.setGender(GenderEnum.getName(userInfo.getGender())); + item.setShowName(userInfo.getShowName()); + item.setStatus(ApplyStatusEnum.getName(item.getStatus())); + } + }); + } + return new PageData<>(list, pageInfo.getTotal()); } @Override @@ -75,8 +102,18 @@ public class PointApplyServiceImpl extends BaseServiceImpl wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(PointAditiveCalcEntity::getCustomerId, tokenDto.getCustomerId()); + wrapper.eq(PointAditiveCalcEntity::getSubjectId, subjectId); + wrapper.eq(PointAditiveCalcEntity::getCategoryCode, dto.getCategoryCode()); + PointAditiveCalcEntity calc = pointAditiveCalcDao.selectOne(wrapper); + if (null != calc) { + calc.setUpdatedBy(null); + calc.setUpdatedTime(null); + calc.setTotal(calc.getTotal() + dto.getPointValue()); + pointAditiveCalcDao.updateById(calc); + } else { + calc = new PointAditiveCalcEntity(); + calc.setCustomerId(tokenDto.getCustomerId()); + calc.setCategoryCode(dto.getCategoryCode()); + calc.setSubjectId(subjectId); + calc.setSpend(NumConstant.ZERO); + calc.setTotal(dto.getPointValue()); + pointAditiveCalcDao.insert(calc); + } + } + } \ No newline at end of file diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/PointAditiveRecordDao.xml b/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/PointAditiveRecordDao.xml index 4839dd26fa..872a2734ff 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/PointAditiveRecordDao.xml +++ b/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/PointAditiveRecordDao.xml @@ -20,6 +20,29 @@ + \ No newline at end of file diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/PointApplyDao.xml b/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/PointApplyDao.xml index 6daa8936d8..0efdbe3eb7 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/PointApplyDao.xml +++ b/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/PointApplyDao.xml @@ -37,5 +37,92 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserBaseInfoController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserBaseInfoController.java index adc98f7a08..a60efed8cc 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserBaseInfoController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserBaseInfoController.java @@ -19,6 +19,7 @@ package com.epmet.controller; import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.redis.common.bean.ResiUserInfoCache; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ExcelUtils; import com.epmet.commons.tools.utils.Result; @@ -215,5 +216,10 @@ public class UserBaseInfoController { public Result resiRelationInfo(@RequestParam("userId")String userId){ return new Result().ok(userBaseInfoService.resiRelationInfo(userId)); } + + @PostMapping("getUserInfo/{userId}") + public Result getUserInfo(@PathVariable("userId") String userId){ + return new Result().ok(userBaseInfoService.getUserInfo(userId)); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBaseInfoService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBaseInfoService.java index 01bac74fc2..f66453c243 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBaseInfoService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBaseInfoService.java @@ -19,6 +19,7 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.redis.common.bean.ResiUserInfoCache; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.RegisterRelationDTO; import com.epmet.dto.UserBaseInfoDTO; @@ -203,4 +204,13 @@ public interface UserBaseInfoService extends BaseService { * @date 2021/12/30 3:12 下午 */ RegisterRelationDTO resiRelationInfo(String userId); + + /** + * 获取用户缓存信息 + * @Param userId + * @Return {@link UserBaseInfoResultDTO} + * @Author zhaoqifeng + * @Date 2022/6/15 16:09 + */ + ResiUserInfoCache getUserInfo(String userId); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java index 898a7735d2..5970d78788 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java @@ -27,6 +27,7 @@ import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.redis.common.bean.ResiUserInfoCache; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.dao.*; @@ -504,4 +505,18 @@ public class UserBaseInfoServiceImpl extends BaseServiceImpl