Browse Source

Merge remote-tracking branch 'origin/房屋tree_yzm'

master
yinzuomei 3 years ago
parent
commit
867a190de0
  1. 1
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AdviceListFormDTO.java
  2. 5
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/BadgeAuditFormDTO.java
  3. 16
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CertificationAddFormDTO.java
  4. 26
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PageRegUserFormDTO.java
  5. 11
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ReplyAdviceFormDTO.java
  6. 18
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/ResiUserBaseInfoResultDTO.java
  7. 3
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/BadgeController.java
  8. 6
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserAdviceController.java
  9. 22
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserBadgeController.java
  10. 18
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserBaseInfoController.java
  11. 3
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserAdviceDao.java
  12. 8
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserBaseInfoDao.java
  13. 3
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/BadgeService.java
  14. 7
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/OperUserService.java
  15. 3
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserAdviceService.java
  16. 8
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBaseInfoService.java
  17. 24
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/BadgeServiceImpl.java
  18. 16
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/OperUserServiceImpl.java
  19. 27
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserAdviceServiceImpl.java
  20. 69
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBadgeServiceImpl.java
  21. 28
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java
  22. 2
      epmet-user/epmet-user-server/src/main/resources/mapper/UserAdviceDao.xml
  23. 3
      epmet-user/epmet-user-server/src/main/resources/mapper/UserBadgeDao.xml
  24. 49
      epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml

1
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AdviceListFormDTO.java

@ -28,7 +28,6 @@ public class AdviceListFormDTO {
/**
* 组织id 不填查询所有
*/
@NotBlank(message = "agencyId不能为空",groups = WorkPcGroup.class)
private String agencyId;
/**

5
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/BadgeAuditFormDTO.java

@ -20,4 +20,9 @@ public class BadgeAuditFormDTO implements Serializable {
@NotBlank(message = "审核结果不能为空")
private String auditStatus;
private String auditRemark;
/**
* tokenDto.getUserId
*/
private String currentUserId;
}

16
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CertificationAddFormDTO.java

@ -65,4 +65,20 @@ public class CertificationAddFormDTO implements Serializable {
*/
private String code;
/**
* 是否需要发送站内信
* 您有一条徽章认证消息,%s申请认证%s请审核
* true:发送
* false:不发送
* 微信小程序发送
* 烟台钉钉自动通过默认false不发送
*/
private Boolean sendMsgFlag;
/**
* 自动通过标识
* true:自动通过目前只有烟台这么搞
*/
private Boolean autoPassFlag;
}

26
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PageRegUserFormDTO.java

@ -0,0 +1,26 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 来源于烟台需求pc端新增菜单用户完善信息列表
* @Author yzm
* @Date 2023/1/31 14:37
*/
@Data
public class PageRegUserFormDTO extends PageFormDTO implements Serializable {
private String agencyId;
private String gridId;
private String regStartTime;
private String regEndTime;
private String name;
/**
* 查询详情时也调用此接口
*/
private String userId;
}

11
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ReplyAdviceFormDTO.java

@ -24,4 +24,15 @@ public class ReplyAdviceFormDTO implements Serializable {
private List<String> govImgList;
private String govContent;
/**
* 回复人id
* 工作端回复customer_staff.user_id
* 运营端回复oper_user.user_id
*/
private String replyUserId;
/**
* 政府端:gov居民端:resi运营端:oper
*/
private String app;
}

18
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/ResiUserBaseInfoResultDTO.java

@ -1,7 +1,10 @@
package com.epmet.dto.result;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 用户基础信息 返回值
@ -73,4 +76,19 @@ public class ResiUserBaseInfoResultDTO implements Serializable {
* 头像目前来源于微信后续系统顾客支持上传头像
*/
private String headImgUrl;
/**
* 注册时间
* user_Base_info.CREATED_TIME
* register_relation.CREATED_TIME
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date regTime;
/**
* 用户完善信息列表返回
*/
private String gridId;
private String agencyId;
private String showIdNum;
}

3
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/BadgeController.java

@ -152,7 +152,8 @@ public class BadgeController {
@NoRepeatSubmit
public Result audit(@LoginUser TokenDto tokenDto, @RequestBody BadgeAuditFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
badgeService.audit(tokenDto, formDTO);
formDTO.setCurrentUserId(tokenDto.getUserId());
badgeService.audit(formDTO);
return new Result();
}

6
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserAdviceController.java

@ -118,9 +118,11 @@ public class UserAdviceController {
* @Date 2020/11/10 9:34
*/
@PostMapping("replyadvice")
public Result replyAdvice(@RequestBody ReplyAdviceFormDTO dto) {
public Result replyAdvice(@LoginUser TokenDto tokenDto,@RequestBody ReplyAdviceFormDTO dto) {
dto.setReplyUserId(tokenDto.getUserId());
dto.setApp(tokenDto.getApp());
ValidatorUtils.validateEntity(dto);
userAdviceService.replyAdvice(dto, loginUserUtil.getLoginUserId());
userAdviceService.replyAdvice(dto);
return new Result();
}

22
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserBadgeController.java

@ -1,6 +1,7 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
@ -56,6 +57,27 @@ public class UserBadgeController {
*/
@PostMapping("authbadgerecord")
public Result authBadgeRecord(@RequestBody CertificationAddFormDTO certificationAddFormDTO){
//发送微信站内信
certificationAddFormDTO.setSendMsgFlag(true);
certificationAddFormDTO.setAutoPassFlag(false);
ValidatorUtils.validateEntity(certificationAddFormDTO, CertificationAddFormDTO.CertificationAdd.class);
return userBadgeService.authBadgeRecord(certificationAddFormDTO);
}
/**
* 烟台钉钉居民端应用
*
* @param tokenDto
* @param certificationAddFormDTO
* @return
*/
@NoRepeatSubmit
@PostMapping("certification/add-autopass")
public Result certificationAddAutoPass(@LoginUser TokenDto tokenDto, @RequestBody CertificationAddFormDTO certificationAddFormDTO) {
certificationAddFormDTO.setUserId(tokenDto.getUserId());
certificationAddFormDTO.setSendMsgFlag(false);
// 是否自动通过
certificationAddFormDTO.setAutoPassFlag(true);
ValidatorUtils.validateEntity(certificationAddFormDTO, CertificationAddFormDTO.CertificationAdd.class);
return userBadgeService.authBadgeRecord(certificationAddFormDTO);
}

18
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserBaseInfoController.java

@ -18,6 +18,8 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.annotation.MaskResponse;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.common.bean.ResiUserInfoCache;
import com.epmet.commons.tools.security.dto.TokenDto;
@ -30,10 +32,7 @@ import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.RegisterRelationDTO;
import com.epmet.dto.UserBaseInfoDTO;
import com.epmet.dto.form.CommonUserIdFormDTO;
import com.epmet.dto.form.DingLoginResiFormDTO;
import com.epmet.dto.form.IssueInitiatorFormDTO;
import com.epmet.dto.form.VolunteerRegResiFormDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.entity.UserBaseInfoEntity;
import com.epmet.excel.UserBaseInfoExcel;
@ -238,5 +237,16 @@ public class UserBaseInfoController {
public Result<DingLoginResiResDTO> dingResiLogin(@RequestBody DingLoginResiFormDTO formDTO){
return new Result<DingLoginResiResDTO>().ok(userBaseInfoService.dingResiLogin(formDTO));
}
/**
* 来源于烟台需求pc端新增菜单用户完善信息列表
* @return
*/
@MaskResponse(fieldNames = { "showIdNum"}, fieldsMaskType = {MaskResponse.MASK_TYPE_ID_CARD })
@PostMapping("page-reguser")
public Result<PageData<ResiUserBaseInfoResultDTO>> pageRegUser(@RequestBody PageRegUserFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO, PageFormDTO.AddUserInternalGroup.class);
return new Result<PageData<ResiUserBaseInfoResultDTO>>().ok(userBaseInfoService.pageRegUser(formDTO));
}
}

3
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserAdviceDao.java

@ -38,7 +38,8 @@ public interface UserAdviceDao extends BaseDao<UserAdviceEntity> {
void replyAdvice(@Param("adviceId") String adviceId,
@Param("replyContent") String replyContent,
@Param("govContent") String govContent,
@Param("replyUserId") String loginUserId);
@Param("replyUserId") String replyUserId,
@Param("replyUserName")String replyUserName);
List<MyAdviceListResultDTO> myAdviceList(@Param("pageSize") int pageSize,
@Param("pageNo") int pageNo,

8
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserBaseInfoDao.java

@ -94,4 +94,12 @@ public interface UserBaseInfoDao extends BaseDao<UserBaseInfoEntity> {
String selectIdCard(String userId);
UserBaseInfoEntity selectUserByMobile(@Param("customerId") String customerId, @Param("mobile")String mobile);
List<ResiUserBaseInfoResultDTO> pageRegUser(@Param("customerId") String customerId,
@Param("agencyId") String agencyId,
@Param("gridId") String gridId,
@Param("name") String name,
@Param("regStartTime") String regStartTime,
@Param("regEndTime") String regEndTime,
@Param("userId") String userId);
}

3
epmet-user/epmet-user-server/src/main/java/com/epmet/service/BadgeService.java

@ -169,11 +169,10 @@ public interface BadgeService extends BaseService<BadgeEntity> {
* 审核
* @author zhaoqifeng
* @date 2020/11/5 11:08
* @param tokenDto
* @param formDTO
* @return void
*/
void audit(TokenDto tokenDto, BadgeAuditFormDTO formDTO);
void audit(BadgeAuditFormDTO formDTO);
void testCache();

7
epmet-user/epmet-user-server/src/main/java/com/epmet/service/OperUserService.java

@ -107,4 +107,11 @@ public interface OperUserService extends BaseService<OperUserEntity> {
* @param dto
*/
void updatePwd(String userId, PasswordDTO dto);
/**
* 查询运营人员信息
* @param userId
* @return
*/
OperUserDTO getOperUserDTO(String userId);
}

3
epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserAdviceService.java

@ -102,12 +102,11 @@ public interface UserAdviceService extends BaseService<UserAdviceEntity> {
/**
* @Description 回复建议
* @param dto
* @param loginUserId
* @return void
* @Author liushaowen
* @Date 2020/11/6 16:44
*/
void replyAdvice(ReplyAdviceFormDTO dto, String loginUserId);
void replyAdvice(ReplyAdviceFormDTO dto);
/**
* @Description 建议详情

8
epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBaseInfoService.java

@ -25,6 +25,7 @@ import com.epmet.dto.RegisterRelationDTO;
import com.epmet.dto.UserBaseInfoDTO;
import com.epmet.dto.form.CommonUserIdFormDTO;
import com.epmet.dto.form.DingLoginResiFormDTO;
import com.epmet.dto.form.PageRegUserFormDTO;
import com.epmet.dto.form.VolunteerRegResiFormDTO;
import com.epmet.dto.result.*;
import com.epmet.entity.UserBaseInfoEntity;
@ -220,4 +221,11 @@ public interface UserBaseInfoService extends BaseService<UserBaseInfoEntity> {
* @Date 2022/9/15 11:17
*/
DingLoginResiResDTO dingResiLogin(DingLoginResiFormDTO formDTO);
/**
* 用户完善信息列表
* @param formDTO
* @return
*/
PageData<ResiUserBaseInfoResultDTO> pageRegUser(PageRegUserFormDTO formDTO);
}

24
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/BadgeServiceImpl.java

@ -356,32 +356,30 @@ public class BadgeServiceImpl extends BaseServiceImpl<BadgeDao, BadgeEntity> imp
/**
* 审核
*
* @param tokenDto token
* @param formDTO 入参
* @return void
* @author zhaoqifeng
* @date 2020/11/5 11:08
*/
@Override
public void audit(TokenDto tokenDto, BadgeAuditFormDTO formDTO) {
public void audit(BadgeAuditFormDTO formDTO) {
if(BadgeConstant.REJECTED.equals(formDTO.getAuditStatus())) {
if (StringUtils.isEmpty(formDTO.getAuditRemark())) {
throw new ValidateException(EpmetErrorCode.CUSTOMER_VALIDATE_ERROR.getCode(), "驳回理由不能为空");
}
}
UserBadgeCertificateRecordDTO dto = userBadgeCertificateRecordService.get(formDTO.getRecordId());
BadgeDetailResultDTO detail = baseDao.selectDetail(dto.getCustomerId(), dto.getBadgeId());
dto.setAuditStatus(formDTO.getAuditStatus());
dto.setAuditRemark(formDTO.getAuditRemark());
dto.setStaffId(tokenDto.getUserId());
dto.setStaffId(formDTO.getCurrentUserId());
dto.setIsLast(BadgeConstant.YES);
dto.setAuditTime(new Date());
userBadgeCertificateRecordService.update(dto);
BadgeDetailResultDTO detail = baseDao.selectDetail(dto.getCustomerId(), dto.getBadgeId());
List<UserMessageFormDTO> msgList = new ArrayList<>();
List<WxSubscribeMessageFormDTO> wxmpMsgList = new ArrayList<>();
if(BadgeConstant.APPROVED.equals(formDTO.getAuditStatus())) {
ResiUserBadgeDTO resiUserBadgeDTO = new ResiUserBadgeDTO();
resiUserBadgeDTO.setCustomerId(dto.getCustomerId());
resiUserBadgeDTO.setBadgeId(dto.getBadgeId());
@ -435,12 +433,16 @@ public class BadgeServiceImpl extends BaseServiceImpl<BadgeDao, BadgeEntity> imp
wxmp.setGridId(dto.getGridId());
wxmpMsgList.add(wxmp);
}
messageFeignClient.saveUserMessageList(msgList);
log.info("徽章消息,开始推送微信订阅消息");
Result result = epmetMessageOpenFeignClient.sendWxSubscribeMessage(wxmpMsgList);
if (!result.success()) {
log.error("徽章消息,发送微信订阅消息失败" + JSON.toJSONString(result));
}
if(CollectionUtils.isNotEmpty(msgList)){
messageFeignClient.saveUserMessageList(msgList);
}
if(CollectionUtils.isNotEmpty(wxmpMsgList)){
log.info("徽章消息,开始推送微信订阅消息");
Result result = epmetMessageOpenFeignClient.sendWxSubscribeMessage(wxmpMsgList);
if (!result.success()) {
log.error("徽章消息,发送微信订阅消息失败" + JSON.toJSONString(result));
}
}
}
@Override

16
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/OperUserServiceImpl.java

@ -196,4 +196,20 @@ public class OperUserServiceImpl extends BaseServiceImpl<OperUserDao, OperUserEn
baseDao.update(param, lambdaQueryWrapper);
}
/**
* 查询运营人员信息
*
* @param userId
* @return
*/
@Override
public OperUserDTO getOperUserDTO(String userId) {
LambdaQueryWrapper<OperUserEntity> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(OperUserEntity::getUserId, userId);
OperUserEntity entity = baseDao.selectOne(queryWrapper);
if (null != entity) {
return ConvertUtils.sourceToTarget(entity, OperUserDTO.class);
}
return null;
}
}

27
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserAdviceServiceImpl.java

@ -21,10 +21,13 @@ import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.AppClientConstant;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.scan.param.ImgScanParamDTO;
import com.epmet.commons.tools.scan.param.ImgTaskDTO;
import com.epmet.commons.tools.scan.param.TextScanParamDTO;
@ -33,10 +36,12 @@ import com.epmet.commons.tools.scan.result.SyncScanResult;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.ScanContentUtils;
import com.epmet.commons.tools.utils.SpringContextUtils;
import com.epmet.constant.UserAdviceConstant;
import com.epmet.dao.UserAdviceDao;
import com.epmet.dto.CustomerDTO;
import com.epmet.dto.CustomerGridDTO;
import com.epmet.dto.OperUserDTO;
import com.epmet.dto.UserAdviceDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.AdviceDetailResultDTO;
@ -148,14 +153,13 @@ public class UserAdviceServiceImpl extends BaseServiceImpl<UserAdviceDao, UserAd
/**
* @param dto
* @param loginUserId
* @return void
* @Description 回复建议
* @Author liushaowen
* @Date 2020/11/6 16:44
*/
@Override
public void replyAdvice(ReplyAdviceFormDTO dto, String loginUserId) {
public void replyAdvice(ReplyAdviceFormDTO dto) {
//检验是否已经回复过
UserAdviceEntity userAdviceEntity = baseDao.selectById(dto.getAdviceId());
if (StringUtils.isNotBlank(userAdviceEntity.getReplyContent()) || StringUtils.isNotBlank(userAdviceEntity.getReplyUserId())) {
@ -164,9 +168,16 @@ public class UserAdviceServiceImpl extends BaseServiceImpl<UserAdviceDao, UserAd
//审核图片
auditPic(dto.getGovImgList());
//审核文字
auditText(dto.getReplyContent());
// auditText(dto.getReplyContent());// 运营端或者工组人员回复,不需要走内容审核了。
String replyUserName = StrConstant.EPMETY_STR;
if (AppClientConstant.APP_GOV.equals(dto.getApp())) {
replyUserName = CustomerStaffRedis.getStaffInfo(userAdviceEntity.getCustomerId(), dto.getReplyUserId()).getRealName();
} else if (AppClientConstant.APP_OPER.equals(dto.getApp())) {
OperUserDTO operUserDTO = SpringContextUtils.getBean(OperUserServiceImpl.class).getOperUserDTO(dto.getReplyUserId());
replyUserName = null != operUserDTO ? operUserDTO.getRealName() : StrConstant.EPMETY_STR;
}
//更新advice表
baseDao.replyAdvice(dto.getAdviceId(), dto.getReplyContent(), dto.getGovContent(), loginUserId);
baseDao.replyAdvice(dto.getAdviceId(), dto.getReplyContent(), dto.getGovContent(), dto.getReplyUserId(),replyUserName);
//如果govImg不为空,插入advice_img表
List<String> govImgList = dto.getGovImgList();
if (!Collections.isEmpty(govImgList)) {
@ -179,7 +190,7 @@ public class UserAdviceServiceImpl extends BaseServiceImpl<UserAdviceDao, UserAd
UserAdviceImgEntity entity = new UserAdviceImgEntity();
entity.setImgUrl(govImgList.get(i));
entity.setAdviceId(dto.getAdviceId());
entity.setType("oper");
entity.setType(dto.getApp());
userAdviceImgEntities.add(entity);
}
userAdviceImgService.insertBatch(userAdviceImgEntities);
@ -222,9 +233,9 @@ public class UserAdviceServiceImpl extends BaseServiceImpl<UserAdviceDao, UserAd
List<String> govImgList = new ArrayList<>();
List<String> resiImgList = new ArrayList<>();
for (UserAdviceImgEntity entity : imgsByAdviceId) {
if ("resi".equals(entity.getType())) {
if (AppClientConstant.APP_RESI.equals(entity.getType())) {
resiImgList.add(entity.getImgUrl());
} else if ("oper".equals(entity.getType())) {
} else if (AppClientConstant.APP_OPER.equals(entity.getType())||AppClientConstant.APP_GOV.equals(entity.getType())) {
govImgList.add(entity.getImgUrl());
}
}
@ -410,7 +421,7 @@ public class UserAdviceServiceImpl extends BaseServiceImpl<UserAdviceDao, UserAd
UserAdviceImgEntity entity = new UserAdviceImgEntity();
entity.setImgUrl(govImgList.get(i));
entity.setAdviceId(userAdviceDTO.getId());
entity.setType("resi");
entity.setType(AppClientConstant.APP_RESI);
userAdviceImgEntities.add(entity);
}
userAdviceImgService.insertBatch(userAdviceImgEntities);

69
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBadgeServiceImpl.java

@ -1,6 +1,7 @@
package com.epmet.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
@ -8,6 +9,7 @@ import com.epmet.commons.tools.exception.RenException;
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.commons.tools.utils.SpringContextUtils;
import com.epmet.commons.tools.validator.PhoneValidatorUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.constant.BadgeConstant;
@ -24,6 +26,8 @@ import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.feign.GovOrgFeignClient;
import com.epmet.redis.UserBadgeRedis;
import com.epmet.redis.UserBaseInfoRedis;
import com.epmet.service.ResiUserBadgeService;
import com.epmet.service.UserBadgeCertificateRecordService;
import com.epmet.service.UserBadgeService;
import com.epmet.service.UserBaseInfoService;
import com.epmet.util.ModuleConstant;
@ -274,8 +278,11 @@ public class UserBadgeServiceImpl implements UserBadgeService {
List<String> userIds = new ArrayList<>();
userIds.add(certificationAddFormDTO.getUserId());
List<UserBaseInfoResultDTO> userBaseInfoResultDTOS = userBaseInfoService.queryUserBaseInfo(userIds);
if (CollectionUtils.isEmpty(userBaseInfoResultDTOS)) {
throw new RenException("查询用户基本信息集合为空......");
if (CollectionUtils.isEmpty(userBaseInfoResultDTOS)||null==userBaseInfoResultDTOS.get(NumConstant.ZERO)) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),String.format("查询用户基本信息集合为空,userId:%s",certificationAddFormDTO.getUserId()),"查询用户基本信息异常");
}
if(StringUtils.isBlank(userBaseInfoResultDTOS.get(NumConstant.ZERO).getRegisteredGridId())){
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"异常信息:注册网格为空","服务器开小差了...注册网格为空");
}
userBadgeDao.updateCertificateRecordIsLast(form.getBadgeId(),form.getUserId());
form.setGridId(userBaseInfoResultDTOS.get(NumConstant.ZERO).getRegisteredGridId());
@ -283,17 +290,57 @@ public class UserBadgeServiceImpl implements UserBadgeService {
form.setCertificationImg(certificationAddFormDTO.getCertificationImg());
form.setSurname(certificationAddFormDTO.getSurname());
log.info(JSON.toJSONString(form));
String recordId=IdWorker.getIdStr();
form.setId(recordId);
userBadgeDao.insertUserBadgeCertificateRecord(form);
//TODO 站内信发送
String badgeName = badgeDao.selectBadgeName(form.getCustomerId(), form.getBadgeId());
String s = StringUtils.isBlank(userBaseInfoResultDTOS.get(NumConstant.ZERO).getDistrict()) ? userBaseInfoResultDTOS.get(NumConstant.ZERO).getRealName() : userBaseInfoResultDTOS.get(NumConstant.ZERO).getDistrict().concat(userBaseInfoResultDTOS.get(NumConstant.ZERO).getRealName());
String msg = String.format(BadgeConstant.MESSAGE_CONTENT, s, badgeName);
// 记录待审核id,和消息类型
sendMessage(BadgeConstant.AUTH_TITLE,msg,form.getGridId(),form.getUserId(),form.getCustomerId(),
UserMessageTypeConstant.BADGE_AUTH_APPLY,
form.getId());
if(certificationAddFormDTO.getSendMsgFlag()){
//TODO 站内信发送
String badgeName = badgeDao.selectBadgeName(form.getCustomerId(), form.getBadgeId());
String s = StringUtils.isBlank(userBaseInfoResultDTOS.get(NumConstant.ZERO).getDistrict()) ? userBaseInfoResultDTOS.get(NumConstant.ZERO).getRealName() : userBaseInfoResultDTOS.get(NumConstant.ZERO).getDistrict().concat(userBaseInfoResultDTOS.get(NumConstant.ZERO).getRealName());
String msg = String.format(BadgeConstant.MESSAGE_CONTENT, s, badgeName);
// 记录待审核id,和消息类型
sendMessage(BadgeConstant.AUTH_TITLE,msg,form.getGridId(),form.getUserId(),form.getCustomerId(),
UserMessageTypeConstant.BADGE_AUTH_APPLY,
form.getId());
}
//烟台:徽章认证自动审核通过
if(certificationAddFormDTO.getAutoPassFlag()){
BadgeAuditFormDTO badgeAuditFormDTO=new BadgeAuditFormDTO();
badgeAuditFormDTO.setRecordId(recordId);
//审核状态 approved:审核通过,rejected:审核驳回;auditing:审核中
badgeAuditFormDTO.setAuditStatus(BadgeConstant.APPROVED);
badgeAuditFormDTO.setCurrentUserId("APP_USER");
autoPassBadge(badgeAuditFormDTO);
}
Map resultMap=new HashMap();
resultMap.put("recordId",recordId);
return new Result().ok(resultMap);
}
/**
* 烟台:徽章认证自动审核通过
* @param badgeAuditFormDTO
*/
private void autoPassBadge(BadgeAuditFormDTO badgeAuditFormDTO) {
UserBadgeCertificateRecordDTO dto = SpringContextUtils.getBean(UserBadgeCertificateRecordService.class).get(badgeAuditFormDTO.getRecordId());
dto.setAuditStatus(badgeAuditFormDTO.getAuditStatus());
dto.setAuditRemark(badgeAuditFormDTO.getAuditRemark());
dto.setStaffId(badgeAuditFormDTO.getCurrentUserId());
dto.setIsLast(BadgeConstant.YES);
dto.setAuditTime(new Date());
SpringContextUtils.getBean(UserBadgeCertificateRecordService.class).update(dto);
ResiUserBadgeDTO resiUserBadgeDTO = new ResiUserBadgeDTO();
resiUserBadgeDTO.setCustomerId(dto.getCustomerId());
resiUserBadgeDTO.setBadgeId(dto.getBadgeId());
resiUserBadgeDTO.setGridId(dto.getGridId());
resiUserBadgeDTO.setUserId(dto.getUserId());
resiUserBadgeDTO.setIsOpened(NumConstant.ONE);
resiUserBadgeDTO.setCertificationAutidStatus(dto.getAuditStatus());
SpringContextUtils.getBean(ResiUserBadgeService.class).save(resiUserBadgeDTO);
//更新Redis
userBadgeRedis.pushOrRemoveUserBadge4List(dto.getUserId(),dto.getBadgeId(),dto.getCustomerId());
return new Result();
}
private void validateParams(CertificationAddFormDTO certificationAddFormDTO, AuthFieldFormDTO authFieldFormDTO) {

28
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java

@ -34,6 +34,7 @@ import com.epmet.commons.tools.redis.common.CustomerOrgRedis;
import com.epmet.commons.tools.redis.common.bean.GridInfoCache;
import com.epmet.commons.tools.redis.common.bean.ResiUserInfoCache;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.EpmetRequestHolder;
import com.epmet.commons.tools.utils.NameUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.*;
@ -41,10 +42,7 @@ import com.epmet.dto.RegisterRelationDTO;
import com.epmet.dto.UserBaseInfoDTO;
import com.epmet.dto.UserResiInfoDTO;
import com.epmet.dto.UserWechatDTO;
import com.epmet.dto.form.CommonUserIdFormDTO;
import com.epmet.dto.form.DingLoginResiFormDTO;
import com.epmet.dto.form.UserRoleFormDTO;
import com.epmet.dto.form.VolunteerRegResiFormDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.entity.RegisterRelationEntity;
import com.epmet.entity.UserBaseInfoEntity;
@ -58,6 +56,8 @@ import com.epmet.service.RegisterRelationService;
import com.epmet.service.UserBaseInfoService;
import com.epmet.service.UserResiInfoService;
import com.epmet.util.ModuleConstant;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@ -602,4 +602,24 @@ public class UserBaseInfoServiceImpl extends BaseServiceImpl<UserBaseInfoDao, Us
}
return result;
}
/**
* 用户完善信息列表
*
* @param formDTO
* @return
*/
@Override
public PageData<ResiUserBaseInfoResultDTO> pageRegUser(PageRegUserFormDTO formDTO) {
PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage());
List<ResiUserBaseInfoResultDTO> list = baseDao.pageRegUser(EpmetRequestHolder.getLoginUserCustomerId(),
formDTO.getAgencyId(),
formDTO.getGridId(),
formDTO.getName(),
formDTO.getRegStartTime(),
formDTO.getRegEndTime(),
formDTO.getUserId());
PageInfo<ResiUserBaseInfoResultDTO> pageInfo = new PageInfo<>(list);
return new PageData<>(list, pageInfo.getTotal());
}
}

2
epmet-user/epmet-user-server/src/main/resources/mapper/UserAdviceDao.xml

@ -39,7 +39,7 @@
reply_user_id = #{replyUserId},
reply_time = now(),
gov_content = #{govContent},
reply_user_name = (select real_name from oper_user where user_id = #{replyUserId} and del_flag = 0),
reply_user_name = #{replyUserName},
updated_by = #{replyUserId},
updated_time = now()
where id = #{adviceId} and del_flag = 0

3
epmet-user/epmet-user-server/src/main/resources/mapper/UserBadgeDao.xml

@ -171,9 +171,6 @@
<!-- 徽章审核记录表插入 -->
<insert id="insertUserBadgeCertificateRecord" useGeneratedKeys="true" keyColumn="ID" keyProperty="id" parameterType="com.epmet.dto.UserBadgeCertificateRecordDTO">
<selectKey keyProperty="id" resultType="java.lang.String" order="BEFORE">
select replace(uuid(),'-','') AS ID
</selectKey>
INSERT INTO user_badge_certificate_record (
ID,
CUSTOMER_ID,

49
epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml

@ -83,7 +83,8 @@
DISTRICT district,
BUILDING_ADDRESS buildingAddress,
NICKNAME nickname,
HEAD_IMG_URL headImgUrl
HEAD_IMG_URL headImgUrl,
CREATED_TIME as regTime
FROM user_base_info
WHERE DEL_FLAG = '0'
AND USER_ID = #{userId}
@ -167,4 +168,50 @@
AND ubi.DEL_FLAG = '0'
order by ubi.CREATED_TIME desc limit 1
</select>
<select id="pageRegUser" parameterType="map" resultType="com.epmet.dto.result.ResiUserBaseInfoResultDTO">
SELECT
ubi.USER_ID userId,
ubi.SURNAME surname,
ubi.`NAME` `name`,
ubi.REAL_NAME realName,
ubi.ID_NUM idNum,
ubi.GENDER gender,
IFNULL( ubi.MOBILE, '' ) mobile,
ubi.STREET street,
ubi.DISTRICT district,
ubi.BUILDING_ADDRESS buildingAddress,
ubi.NICKNAME nickname,
ubi.HEAD_IMG_URL headImgUrl,
rr.CREATED_TIME as regTime,
rr.GRID_ID,
rr.AGENCY_ID,
ubi.ID_NUM as showIdNum
FROM
register_relation rr
LEFT JOIN user_base_info ubi ON ( rr.USER_ID = ubi.USER_ID )
WHERE
rr.DEL_FLAG = '0'
AND rr.CUSTOMER_ID = #{customerId}
AND rr.FIRST_REGISTER = '1'
<if test="userId != null and userId.trim() != ''">
AND rr.USER_ID = #{userId}
</if>
<if test="gridId != null and gridId.trim() != ''">
AND rr.GRID_ID = #{gridId}
</if>
<if test="agencyId != null and agencyId.trim() != ''">
AND rr.AGENCY_ID_PATH LIKE concat( '%', #{agencyId}, '%' )
</if>
<if test="name != null and name.trim() != ''">
and ubi.REAL_NAME like concat( '%', #{name}, '%' )
</if>
<if test="regStartTime != null and regStartTime != ''">
AND DATE_FORMAT( rr.CREATED_TIME, '%Y%m%d' ) &gt;= #{regStartTime}
</if>
<if test="regEndTime != null and regEndTime != ''">
AND DATE_FORMAT( rr.CREATED_TIME, '%Y%m%d' ) &lt;= #{regEndTime}
</if>
order by rr.CREATED_TIME desc
</select>
</mapper>

Loading…
Cancel
Save