Browse Source

Merge branch 'dev_0814' of http://121.42.41.42:7070/r/esua-epdc-cloud into dev_0814

dev
qushutong 6 years ago
parent
commit
871f9c4787
  1. 23
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/async/AppUserTask.java
  2. 17
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java
  3. 9
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java
  4. 178
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/MessageServiceImpl.java
  5. 2
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcDeleteWxFormIdFormDTO.java
  6. 49
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/result/EpdcUserRegisterAuditMsgResultDTO.java
  7. 14
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppUserController.java
  8. 4
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppUserWxFormIdController.java
  9. 21
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserDao.java
  10. 11
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java
  11. 18
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java
  12. 27
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml

23
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/async/AppUserTask.java

@ -0,0 +1,23 @@
package com.elink.esua.epdc.async;
import com.elink.esua.epdc.feign.UserFeignClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
/**
* @author work@yujt.net.cn
* @date 19/09/26 15:50
*/
@Component
public class AppUserTask {
@Autowired
private UserFeignClient userFeignClient;
@Async
public void updateUserLoginInfo(){
}
}

17
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java

@ -5,9 +5,10 @@ import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.UserDTO; import com.elink.esua.epdc.dto.UserDTO;
import com.elink.esua.epdc.dto.UserWxFormIdDTO; import com.elink.esua.epdc.dto.UserWxFormIdDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserRegistFormDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcUserRegistFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserWxFormIdFormDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcDeleteWxFormIdFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserSaveWxFormIdFormDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcUserSaveWxFormIdFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserRegisterAuditMsgResultDTO;
import com.elink.esua.epdc.feign.fallback.UserFeignClientFallback; import com.elink.esua.epdc.feign.fallback.UserFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
@ -105,15 +106,15 @@ public interface UserFeignClient {
Result updateMobileOrAvatar(@RequestBody UserDTO userDTO); Result updateMobileOrAvatar(@RequestBody UserDTO userDTO);
/** /**
* 根据ID获取用户信 * 用户注册审核之后查询用户审核结果用于发送服务消息和短信消
* *
* @param id * @param userId
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.UserDTO> * @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.epdc.result.EpdcUserRegisterAuditMsgResultDTO>
* @author work@yujt.net.cn * @author work@yujt.net.cn
* @date 2019/9/25 15:29 * @date 2019/9/27 09:22
*/ */
@GetMapping(value = "app-user/user/{id}") @GetMapping("app-user/epdc-app/user/registerResult/{userId}")
Result<UserDTO> getUserById(@PathVariable("id") String id); Result<EpdcUserRegisterAuditMsgResultDTO> getUserRegisterAuditResult(@PathVariable("userId") String userId);
/** /**
* 完成推送之后删除用过的formid * 完成推送之后删除用过的formid
@ -124,7 +125,7 @@ public interface UserFeignClient {
* @date 2019/9/26 14:15 * @date 2019/9/26 14:15
*/ */
@PostMapping(value = "app-user/epdc-app/wxformid/deleteById", consumes = MediaType.APPLICATION_JSON_VALUE) @PostMapping(value = "app-user/epdc-app/wxformid/deleteById", consumes = MediaType.APPLICATION_JSON_VALUE)
Result deleteWxFormIdById(EpdcUserWxFormIdFormDTO dto); Result deleteWxFormIdById(EpdcDeleteWxFormIdFormDTO dto);
/** /**
* 新增一条 * 新增一条

9
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java

@ -6,9 +6,10 @@ import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.UserDTO; import com.elink.esua.epdc.dto.UserDTO;
import com.elink.esua.epdc.dto.UserWxFormIdDTO; import com.elink.esua.epdc.dto.UserWxFormIdDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserRegistFormDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcUserRegistFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserWxFormIdFormDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcDeleteWxFormIdFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserSaveWxFormIdFormDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcUserSaveWxFormIdFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserRegisterAuditMsgResultDTO;
import com.elink.esua.epdc.feign.UserFeignClient; import com.elink.esua.epdc.feign.UserFeignClient;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@ -56,12 +57,12 @@ public class UserFeignClientFallback implements UserFeignClient {
} }
@Override @Override
public Result<UserDTO> getUserById(String id) { public Result<EpdcUserRegisterAuditMsgResultDTO> getUserRegisterAuditResult(String userId) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "getUserById", id); return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "getUserRegisterAuditResult", userId);
} }
@Override @Override
public Result deleteWxFormIdById(EpdcUserWxFormIdFormDTO dto) { public Result deleteWxFormIdById(EpdcDeleteWxFormIdFormDTO dto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "deleteWxFormIdById", dto); return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "deleteWxFormIdById", dto);
} }

178
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/MessageServiceImpl.java

@ -1,26 +1,30 @@
package com.elink.esua.epdc.service.impl; package com.elink.esua.epdc.service.impl;
import cn.binarywang.wx.miniapp.api.WxMaMsgService;
import cn.binarywang.wx.miniapp.api.WxMaService; import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.binarywang.wx.miniapp.bean.WxMaTemplateData;
import cn.binarywang.wx.miniapp.bean.WxMaUniformMessage; import cn.binarywang.wx.miniapp.bean.WxMaUniformMessage;
import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.UserDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcDeleteWxFormIdFormDTO;
import com.elink.esua.epdc.dto.UserWxFormIdDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcUserRegisterAuditMsgResultDTO;
import com.elink.esua.epdc.dto.form.EpdcRegisterResultSmsFormDTO;
import com.elink.esua.epdc.enums.AppUserAuditStateEnum; import com.elink.esua.epdc.enums.AppUserAuditStateEnum;
import com.elink.esua.epdc.feign.MessageFeignClient; import com.elink.esua.epdc.feign.MessageFeignClient;
import com.elink.esua.epdc.feign.UserFeignClient; import com.elink.esua.epdc.feign.UserFeignClient;
import com.elink.esua.epdc.service.MessageService; import com.elink.esua.epdc.service.MessageService;
import com.google.common.collect.Lists;
import lombok.extern.slf4j.Slf4j;
import me.chanjar.weixin.common.error.WxErrorException; import me.chanjar.weixin.common.error.WxErrorException;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
/** /**
* @author yujintao * @author yujintao
* @email yujintao@elink-cn.com * @email yujintao@elink-cn.com
* @date 2019/9/11 21:03 * @date 2019/9/11 21:03
*/ */
@Slf4j
@Service @Service
public class MessageServiceImpl implements MessageService { public class MessageServiceImpl implements MessageService {
@ -33,6 +37,21 @@ public class MessageServiceImpl implements MessageService {
@Autowired @Autowired
private WxMaService wxMaService; private WxMaService wxMaService;
/**
* 注册审核失败服务消息模版
*/
private static String FAILURE_TEMPLATE_ID = "jL6UPR2ZBcZT8Qu2UijcApvUI2xa3K68paDl8ZZV7as";
/**
* 注册审核成功服务消息模版
*/
private static String SUCCESS_TEMPLATE_ID = "jL6UPR2ZBcZT8Qu2UijcAoGddYg70BGAyFZXyr4XBSY";
/**
* 服务消息跳转小程序页面
*/
private static String MA_PAGE = "pages/index/index";
/** /**
* 发送六位短信验证码 * 发送六位短信验证码
* *
@ -55,22 +74,147 @@ public class MessageServiceImpl implements MessageService {
if (null == userAuditStateEnum || userAuditStateEnum.equals(AppUserAuditStateEnum.UNDER_AUDIT)) { if (null == userAuditStateEnum || userAuditStateEnum.equals(AppUserAuditStateEnum.UNDER_AUDIT)) {
return new Result().error("审核状态无效"); return new Result().error("审核状态无效");
} }
Result<UserDTO> userResult = userFeignClient.getUserById(userId); Result<EpdcUserRegisterAuditMsgResultDTO> userResult = userFeignClient.getUserRegisterAuditResult(userId);
if (!userResult.success() || null == userResult.getData()) { if (!userResult.success() || null == userResult.getData()) {
return new Result().error("查询用户信息失败"); return new Result().error("查询用户信息失败");
} }
UserDTO userDto = userResult.getData(); // 用户审核结果
EpdcUserRegisterAuditMsgResultDTO registerAuditResultDto = userResult.getData();
switch (userAuditStateEnum) { if (StringUtils.isBlank(registerAuditResultDto.getWxFormId())) {
case AUDIT_FAILURE: return new Result().error("没有可用的wxFormId");
EpdcRegisterResultSmsFormDTO form = new EpdcRegisterResultSmsFormDTO(); }
form.setMobile(userDto.getMobile());
form.setReason(userDto.getRemark()); if (state.equals(AppUserAuditStateEnum.AUDIT_SUCCESS.value())) {
return this.messageFeignClient.registerFailure(form); this.sendRegisterSuccessMaMsg(registerAuditResultDto);
case AUDIT_SUCCESS: } else {
return this.messageFeignClient.registerSuccess(userDto.getMobile()); this.sendRegisterFailureMaMsg(registerAuditResultDto);
default: }
return new Result().error("短信发送失败"); this.deleteWxFormId(registerAuditResultDto.getWxFormIdId());
return new Result();
}
/**
* 删除用过的wxFormId
*
* @param id 存放formId的数据库表主键
* @return void
* @author work@yujt.net.cn
* @date 2019/9/27 09:33
*/
private void deleteWxFormId(String id) {
EpdcDeleteWxFormIdFormDTO dto = new EpdcDeleteWxFormIdFormDTO();
dto.setId(id);
userFeignClient.deleteWxFormIdById(dto);
} }
/**
* 注册失败的小程序服务消息
*
* @param registerAuditResultDto
* @return void
* @author work@yujt.net.cn
* @date 2019/9/26 17:26
*/
private void sendRegisterFailureMaMsg(EpdcUserRegisterAuditMsgResultDTO registerAuditResultDto) {
/*姓名,手机号,申请时间,审核时间,不通过原因,审核结果 jL6UPR2ZBcZT8Qu2UijcApvUI2xa3K68paDl8ZZV7as*/
List<WxMaTemplateData> dataList = this.getWxMaTemplateData(registerAuditResultDto);
WxMaTemplateData templateData = new WxMaTemplateData();
templateData.setName("keyword5");
templateData.setValue(registerAuditResultDto.getRemark());
templateData.setColor("#FF4500");
dataList.add(templateData);
templateData = new WxMaTemplateData();
templateData.setName("keyword6");
templateData.setValue("注册失败");
dataList.add(templateData);
WxMaUniformMessage message = WxMaUniformMessage.builder()
.isMpTemplateMsg(false)
.toUser(registerAuditResultDto.getWxOpenId())
.formId(registerAuditResultDto.getWxFormId())
.templateId(FAILURE_TEMPLATE_ID)
.page(MA_PAGE)
.data(dataList)
.emphasisKeyword("keyword6.DATA")
.build();
try {
wxMaService.getMsgService().sendUniformMsg(message);
} catch (WxErrorException e) {
log.error("->sendRegisterFailureMaMsg::发送小程序服务通知失败::userId:::{}::errorMsg::{}",
registerAuditResultDto.getUserId(), e.getMessage());
}
}
/**
* 注册成功的小程序服务消息
*
* @param registerAuditResultDto
* @return void
* @author work@yujt.net.cn
* @date 2019/9/26 17:26
*/
private void sendRegisterSuccessMaMsg(EpdcUserRegisterAuditMsgResultDTO registerAuditResultDto) {
/*姓名,手机号,申请时间,审核时间,审核结果 jL6UPR2ZBcZT8Qu2UijcAoGddYg70BGAyFZXyr4XBSY*/
List<WxMaTemplateData> dataList = this.getWxMaTemplateData(registerAuditResultDto);
WxMaTemplateData templateData = new WxMaTemplateData();
templateData.setName("keyword5");
templateData.setValue("注册成功");
dataList.add(templateData);
WxMaUniformMessage message = WxMaUniformMessage.builder()
.isMpTemplateMsg(false)
.toUser(registerAuditResultDto.getWxOpenId())
.formId(registerAuditResultDto.getWxFormId())
.templateId(SUCCESS_TEMPLATE_ID)
.page(MA_PAGE)
.data(dataList)
.emphasisKeyword("keyword5.DATA")
.build();
try {
wxMaService.getMsgService().sendUniformMsg(message);
} catch (WxErrorException e) {
log.error("->sendRegisterSuccessMaMsg::发送小程序服务通知失败::userId:::{}::errorMsg::{}",
registerAuditResultDto.getUserId(), e.getMessage());
}
}
/**
* 因为注册审核的两个模版消息的前四项关键词是一样的所以抽出了方法
*
* @param registerAuditResultDto
* @return java.util.List<cn.binarywang.wx.miniapp.bean.WxMaTemplateData>
* @author work@yujt.net.cn
* @date 2019/9/26 17:24
*/
private List<WxMaTemplateData> getWxMaTemplateData(EpdcUserRegisterAuditMsgResultDTO registerAuditResultDto) {
List<WxMaTemplateData> dataList = Lists.newArrayList();
WxMaTemplateData templateData = new WxMaTemplateData();
templateData.setName("keyword1");
templateData.setValue(registerAuditResultDto.getRealName());
dataList.add(templateData);
templateData = new WxMaTemplateData();
templateData.setName("keyword2");
templateData.setValue(registerAuditResultDto.getMobile());
dataList.add(templateData);
templateData = new WxMaTemplateData();
templateData.setName("keyword3");
templateData.setValue(registerAuditResultDto.getCreatedTime());
dataList.add(templateData);
templateData = new WxMaTemplateData();
templateData.setName("keyword4");
templateData.setValue(registerAuditResultDto.getRegisterTime());
dataList.add(templateData);
return dataList;
} }
} }

2
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcUserWxFormIdFormDTO.java → esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcDeleteWxFormIdFormDTO.java

@ -11,7 +11,7 @@ import java.io.Serializable;
* @Description: 发送完消息之后删除 * @Description: 发送完消息之后删除
*/ */
@Data @Data
public class EpdcUserWxFormIdFormDTO implements Serializable { public class EpdcDeleteWxFormIdFormDTO implements Serializable {
private static final long serialVersionUID = 1708791774502867360L; private static final long serialVersionUID = 1708791774502867360L;

49
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/result/EpdcUserRegisterAuditMsgResultDTO.java

@ -0,0 +1,49 @@
package com.elink.esua.epdc.dto.epdc.result;
import lombok.Data;
import java.io.Serializable;
/**
* 用于发送关于用户注册审核结果的服务通知
*
* @author work@yujt.net.cn
* @date 19/09/27 9:03
*/
@Data
public class EpdcUserRegisterAuditMsgResultDTO implements Serializable {
private static final long serialVersionUID = -5435160234376760275L;
private String userId;
private String realName;
private String mobile;
private String state;
/**
* 审核时间
*/
private String registerTime;
/**
* 提交注册时间
*/
private String createdTime;
/**
* 审核备注
*/
private String remark;
private String wxOpenId;
private String wxFormId;
/**
* 存放wxFormId的表的主键
*/
private String wxFormIdId;
}

14
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppUserController.java

@ -5,6 +5,7 @@ import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.UserDTO; import com.elink.esua.epdc.dto.UserDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserRegistFormDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcUserRegistFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserRegisterAuditMsgResultDTO;
import com.elink.esua.epdc.service.UserService; import com.elink.esua.epdc.service.UserService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -116,4 +117,17 @@ public class EpdcAppUserController {
public Result verifyUserRegisterData(@RequestBody EpdcUserRegistFormDTO formDto) { public Result verifyUserRegisterData(@RequestBody EpdcUserRegistFormDTO formDto) {
return userService.verifyUserRegisterData(formDto); return userService.verifyUserRegisterData(formDto);
} }
/**
* 用户注册审核之后查询用户审核结果用于发送服务消息和短信消息
*
* @param userId
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.epdc.result.EpdcUserRegisterAuditMsgResultDTO>
* @author work@yujt.net.cn
* @date 2019/9/27 09:13
*/
@GetMapping("registerResult/{userId}")
public Result<EpdcUserRegisterAuditMsgResultDTO> getUserRegisterAuditResult(@PathVariable("userId") String userId) {
return userService.getUserRegisterAuditResult(userId);
}
} }

4
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppUserWxFormIdController.java

@ -22,7 +22,7 @@ import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup; import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup;
import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup; import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
import com.elink.esua.epdc.dto.UserWxFormIdDTO; import com.elink.esua.epdc.dto.UserWxFormIdDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserWxFormIdFormDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcDeleteWxFormIdFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserSaveWxFormIdFormDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcUserSaveWxFormIdFormDTO;
import com.elink.esua.epdc.service.UserWxFormIdService; import com.elink.esua.epdc.service.UserWxFormIdService;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
@ -51,7 +51,7 @@ public class EpdcAppUserWxFormIdController {
* @date 2019/9/26 14:15 * @date 2019/9/26 14:15
*/ */
@PostMapping("deleteById") @PostMapping("deleteById")
public Result deleteById(@RequestBody EpdcUserWxFormIdFormDTO dto) { public Result deleteById(@RequestBody EpdcDeleteWxFormIdFormDTO dto) {
//效验数据 //效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
userWxFormIdService.deleteById(dto.getId()); userWxFormIdService.deleteById(dto.getId());

21
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserDao.java

@ -19,8 +19,10 @@ package com.elink.esua.epdc.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserRegisterAuditMsgResultDTO;
import com.elink.esua.epdc.entity.UserEntity; import com.elink.esua.epdc.entity.UserEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/** /**
* 用户信息表 * 用户信息表
@ -50,4 +52,23 @@ public interface UserDao extends BaseDao<UserEntity> {
*/ */
void deleteByUnionId(String wxUnionId); void deleteByUnionId(String wxUnionId);
/**
* 用户注册审核之后查询用户审核结果用于发送服务消息和短信消息
*
* @param userId
* @return com.elink.esua.epdc.dto.epdc.result.EpdcUserRegisterAuditMsgResultDTO
* @author work@yujt.net.cn
* @date 2019/9/27 09:14
*/
EpdcUserRegisterAuditMsgResultDTO getUserRegisterAuditResult(@Param("userId") String userId);
/**
* 根据wxOpenId删除审核失败的记录
*
* @param wxOpenId
* @return int
* @author work@yujt.net.cn
* @date 2019/9/27 10:08
*/
int deleteAuditFailureByOpenId(@Param("wxOpenId") String wxOpenId);
} }

11
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java

@ -23,6 +23,7 @@ import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.UserDTO; import com.elink.esua.epdc.dto.UserDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserRegistFormDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcUserRegistFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserRegisterAuditMsgResultDTO;
import com.elink.esua.epdc.entity.UserEntity; import com.elink.esua.epdc.entity.UserEntity;
import java.util.List; import java.util.List;
@ -122,4 +123,14 @@ public interface UserService extends BaseService<UserEntity> {
* @date 2019/9/24 13:57 * @date 2019/9/24 13:57
*/ */
Result<UserDTO> getUserForLoginByOpenId(String openId); Result<UserDTO> getUserForLoginByOpenId(String openId);
/**
* 用户注册审核之后查询用户审核结果用于发送服务消息和短信消息
*
* @param userId
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.epdc.result.EpdcUserRegisterAuditMsgResultDTO>
* @author work@yujt.net.cn
* @date 2019/9/27 09:13
*/
Result<EpdcUserRegisterAuditMsgResultDTO> getUserRegisterAuditResult(String userId);
} }

18
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java

@ -35,6 +35,7 @@ import com.elink.esua.epdc.dto.PartyMembersDTO;
import com.elink.esua.epdc.dto.UserDTO; import com.elink.esua.epdc.dto.UserDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserRegistFormDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcUserRegistFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserRegisterAuditMsgResultDTO;
import com.elink.esua.epdc.entity.UserEntity; import com.elink.esua.epdc.entity.UserEntity;
import com.elink.esua.epdc.enums.AppUserAuditStateEnum; import com.elink.esua.epdc.enums.AppUserAuditStateEnum;
import com.elink.esua.epdc.redis.UserRedis; import com.elink.esua.epdc.redis.UserRedis;
@ -46,6 +47,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays; import java.util.Arrays;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -145,8 +147,8 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void audit(UserDTO dto) { public void audit(UserDTO dto) {
//先删除以前审核未通过的那条数据 根据WX_UNION_ID 判断 //先删除以前审核未通过的那条数据
deleteByUnionId(dto); this.baseDao.deleteAuditFailureByOpenId(dto.getWxOpenId());
UserEntity entity = ConvertUtils.sourceToTarget(dto, UserEntity.class); UserEntity entity = ConvertUtils.sourceToTarget(dto, UserEntity.class);
//是否通过审核 //是否通过审核
if (AppUserAuditStateEnum.AUDIT_SUCCESS.value().equals(dto.getPass())) { if (AppUserAuditStateEnum.AUDIT_SUCCESS.value().equals(dto.getPass())) {
@ -154,6 +156,8 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
} else if (AppUserAuditStateEnum.AUDIT_FAILURE.value().equals(dto.getPass())) { } else if (AppUserAuditStateEnum.AUDIT_FAILURE.value().equals(dto.getPass())) {
entity.setState(AppUserAuditStateEnum.AUDIT_FAILURE.value()); entity.setState(AppUserAuditStateEnum.AUDIT_FAILURE.value());
} }
// createdTime作为提交注册时间,registerTime作为注册审核时间(即注册时间)
entity.setRegisterTime(new Date());
updateById(entity); updateById(entity);
//判断是否是党员 //判断是否是党员
if (YesOrNoEnum.YES.value().equals(dto.getPartyFlag()) && YesOrNoEnum.YES.value().equals(dto.getPass())) { if (YesOrNoEnum.YES.value().equals(dto.getPartyFlag()) && YesOrNoEnum.YES.value().equals(dto.getPass())) {
@ -166,10 +170,6 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
} }
} }
private void deleteByUnionId(UserDTO dto) {
String wxUnionId = dto.getWxUnionId();
baseDao.deleteByUnionId(wxUnionId);
}
@Override @Override
public Result<UserDTO> getUserForLoginByOpenId(String openId) { public Result<UserDTO> getUserForLoginByOpenId(String openId) {
@ -263,4 +263,10 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
} }
return new Result(); return new Result();
} }
@Override
public Result<EpdcUserRegisterAuditMsgResultDTO> getUserRegisterAuditResult(String userId) {
EpdcUserRegisterAuditMsgResultDTO dto = this.baseDao.getUserRegisterAuditResult(userId);
return new Result().ok(dto);
}
} }

27
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml

@ -3,6 +3,10 @@
<mapper namespace="com.elink.esua.epdc.dao.UserDao"> <mapper namespace="com.elink.esua.epdc.dao.UserDao">
<delete id="deleteAuditFailureByOpenId">
DELETE FROM epdc_user WHERE WX_OPEN_ID = #{wxOpenId} AND STATE = '2'
</delete>
<select id="selectOneInfoById" resultType="com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO"> <select id="selectOneInfoById" resultType="com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO">
SELECT SELECT
eu.ID AS id, eu.ID AS id,
@ -34,4 +38,27 @@
AND STATE = '2' AND STATE = '2'
</select> </select>
<select id="getUserRegisterAuditResult"
resultType="com.elink.esua.epdc.dto.epdc.result.EpdcUserRegisterAuditMsgResultDTO">
SELECT
u.ID,
u.MOBILE,
u.REMARK,
u.REAL_NAME,
DATE_FORMAT( u.CREATED_TIME, '%Y-%m-%d %H:%i:%s' ) AS CREATED_TIME,
DATE_FORMAT( u.REGISTER_TIME, '%Y-%m-%d %H:%i:%s' ) AS REGISTER_TIME,
u.WX_OPEN_ID,
u.STATE,
f.ID AS wxFormIdId,
f.WX_FORM_ID
FROM
epdc_user u
LEFT JOIN epdc_user_wx_form_id f ON u.WX_OPEN_ID = f.WX_OPEN_ID
AND f.DEL_FLAG = '0'
WHERE
u.DEL_FLAG = '0' AND u.ID = #{userId}
ORDER BY f.CREATED_TIME DESC
LIMIT 1
</select>
</mapper> </mapper>
Loading…
Cancel
Save