Browse Source

第二个登录接口

dev
zhangyuan 3 years ago
parent
commit
7cb50e6848
  1. 14
      epmet-auth/src/main/java/com/epmet/controller/GovLoginController.java
  2. 43
      epmet-auth/src/main/java/com/epmet/dto/form/StaffOrgsAccountFormDTO.java
  3. 11
      epmet-auth/src/main/java/com/epmet/feign/EpmetUserFeignClient.java
  4. 4
      epmet-auth/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallback.java
  5. 9
      epmet-auth/src/main/java/com/epmet/service/GovLoginService.java
  6. 57
      epmet-auth/src/main/java/com/epmet/service/impl/GovLoginServiceImpl.java
  7. 4
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffInitResultDTO.java
  8. 13
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/StaffController.java
  9. 10
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java
  10. 5
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java
  11. 8
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/StaffService.java
  12. 19
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java
  13. 12
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java
  14. 2
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/CustomerStaffDao.java
  15. 9
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/CustomerStaffService.java
  16. 10
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java
  17. 8
      epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml

14
epmet-auth/src/main/java/com/epmet/controller/GovLoginController.java

@ -121,5 +121,19 @@ public class GovLoginController {
List<StaffOrgsResultDTO> staffOrgs = govLoginService.getMyOrgByPassword(formDTO); List<StaffOrgsResultDTO> staffOrgs = govLoginService.getMyOrgByPassword(formDTO);
return new Result<List<StaffOrgsResultDTO>>().ok(staffOrgs); return new Result<List<StaffOrgsResultDTO>>().ok(staffOrgs);
} }
/**
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List < com.epmet.dto.result.StaffOrgsResultDTO>>
* @author yinzuomei
* @description 6手机号密码获取组织
* @Date 2020/6/30 22:43
**/
@PostMapping(value = "/getmyorgbyaccount")
public Result<List<StaffOrgsResultDTO>> getMyOrgByAccount(@RequestBody StaffOrgsAccountFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, StaffOrgsAccountFormDTO.AddUserShowGroup.class, StaffOrgsAccountFormDTO.GetMyOrgByPassWordGroup.class);
List<StaffOrgsResultDTO> staffOrgs = govLoginService.getMyOrgByAccount(formDTO);
return new Result<List<StaffOrgsResultDTO>>().ok(staffOrgs);
}
} }

43
epmet-auth/src/main/java/com/epmet/dto/form/StaffOrgsAccountFormDTO.java

@ -0,0 +1,43 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 手机验证码获取组织接口入参
* @Author yinzuomei
* @Date 2020/4/18 10:38
*/
@Data
public class StaffOrgsAccountFormDTO implements Serializable {
private static final long serialVersionUID = 4193133227120225342L;
/**
* 添加用户操作的用户可见异常分组
* 该分组用于校验需要返回给前端错误信息提示的列需要继承CustomerClientShowGroup
* 返回错误码为8999提示信息为DTO中具体的列的校验注解message的内容
*/
public interface AddUserShowGroup extends CustomerClientShowGroup {
}
public interface GetMyOrgByPassWordGroup extends CustomerClientShowGroup {
}
public interface GetMyOrgByLoginWxmp extends CustomerClientShowGroup{}
/**
* 手机号
*/
@NotBlank(message = "手机号不能为空", groups = {AddUserShowGroup.class})
private String userAccount;
/**
* 验证码
*/
@NotBlank(message="验证码不能为空", groups = {GetMyOrgByLoginWxmp.class})
private String smsCode;
@NotBlank(message = "密码不能为空",groups ={GetMyOrgByPassWordGroup.class})
private String password;
}

11
epmet-auth/src/main/java/com/epmet/feign/EpmetUserFeignClient.java

@ -70,6 +70,17 @@ public interface EpmetUserFeignClient {
@GetMapping(value = "epmetuser/customerstaff/getcustsomerstaffbyphone/{mobile}") @GetMapping(value = "epmetuser/customerstaff/getcustsomerstaffbyphone/{mobile}")
Result<List<CustomerStaffDTO>> checkCustomerStaff(@PathVariable("mobile") String mobile); Result<List<CustomerStaffDTO>> checkCustomerStaff(@PathVariable("mobile") String mobile);
/**
* @param mobile
* @return com.epmet.commons.tools.utils.Result
* @Author yinzuomei
* @Description 根据手机号查询政府端工作人员基本信息校验用户是否存在
* @Date 2020/4/18 14:03
**/
@GetMapping(value = "epmetuser/customerstaff/getcustsomerstaffbyaccount/{userAccount}")
Result<List<CustomerStaffDTO>> checkCustomerStaffByAccount(@PathVariable("userAccount") String userAccount);
/** /**
* @param staffWechatFormDTO * @param staffWechatFormDTO
* @return com.epmet.commons.tools.utils.Result * @return com.epmet.commons.tools.utils.Result

4
epmet-auth/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallback.java

@ -44,6 +44,10 @@ public class EpmetUserFeignClientFallback implements EpmetUserFeignClient {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getCustsomerStaffByPhone", phone); return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getCustsomerStaffByPhone", phone);
} }
@Override
public Result<List<CustomerStaffDTO>> checkCustomerStaffByAccount(String userAccount) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getCustsomerStaffByAccount", userAccount);
}
@Override @Override
public Result saveStaffWechat(StaffWechatFormDTO staffWechatFormDTO) { public Result saveStaffWechat(StaffWechatFormDTO staffWechatFormDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "saveStaffWechat", staffWechatFormDTO); return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "saveStaffWechat", staffWechatFormDTO);

9
epmet-auth/src/main/java/com/epmet/service/GovLoginService.java

@ -76,4 +76,13 @@ public interface GovLoginService {
* @Date 2020/6/30 22:43 * @Date 2020/6/30 22:43
**/ **/
List<StaffOrgsResultDTO> getMyOrgByPassword(StaffOrgsFormDTO formDTO); List<StaffOrgsResultDTO> getMyOrgByPassword(StaffOrgsFormDTO formDTO);
/**
* @return java.util.List<com.epmet.dto.result.StaffOrgsResultDTO>
* @param formDTO
* @author yinzuomei
* @description 6手机号密码获取组织
* @Date 2020/6/30 22:43
**/
List<StaffOrgsResultDTO> getMyOrgByAccount(StaffOrgsAccountFormDTO formDTO);
} }

57
epmet-auth/src/main/java/com/epmet/service/impl/GovLoginServiceImpl.java

@ -381,6 +381,63 @@ public class GovLoginServiceImpl implements GovLoginService, ResultDataResolver
return new ArrayList<>(); return new ArrayList<>();
} }
@Override
public List<StaffOrgsResultDTO> getMyOrgByAccount(StaffOrgsAccountFormDTO formDTO) {
//1、根据手机号查询到用户信息
Result<List<CustomerStaffDTO>> customerStaffResult = epmetUserFeignClient.checkCustomerStaff(formDTO.getUserAccount());
if (!customerStaffResult.success()) {
logger.warn(String.format("账户密码登录异常,手机号[%s],code[%s],msg[%s]", formDTO.getUserAccount(), customerStaffResult.getCode(), customerStaffResult.getMsg()));
throw new RenException(customerStaffResult.getCode());
}
//2、密码是否正确
List<CustomerStaffDTO> customerStaffList=customerStaffResult.getData();
//3、查询用户所有的组织信息
List<String> customerIdList = new ArrayList<>();
//是否设置过密码
boolean havePasswordFlag=false;
//密码是否正确
boolean passwordRightFlag=false;
for (CustomerStaffDTO customerStaffDTO : customerStaffList) {
if(StringUtils.isNotBlank(customerStaffDTO.getPassword())){
havePasswordFlag=true;
}else{
logger.warn(String.format("当前用户:账户%s,客户Id%s下未设置密码.",formDTO.getUserAccount(),customerStaffDTO.getCustomerId()));
continue;
}
if (!PasswordUtils.matches(formDTO.getPassword(), customerStaffDTO.getPassword())) {
logger.warn(String.format("当前用户:账户%s,客户Id%s密码匹配错误.",formDTO.getUserAccount(),customerStaffDTO.getCustomerId()));
}else{
logger.warn(String.format("当前用户:账户%s,客户Id%s密码匹配正确.",formDTO.getUserAccount(),customerStaffDTO.getCustomerId()));
passwordRightFlag=true;
customerIdList.add(customerStaffDTO.getCustomerId());
}
}
//根据手机号查出来所有用户,密码都为空,表明用户未激活账户,未设置密码
if(!havePasswordFlag){
logger.warn(String.format("当前账户(%s)下所有账户都未设置密码,请先使用验证码登录激活账户",formDTO.getUserAccount()));
throw new RenException(EpmetErrorCode.PASSWORD_ERROR.getCode());
}
//密码错误
if(!passwordRightFlag){
logger.warn(String.format("根据当前账户(%s)密码未找到所属组织,密码错误",formDTO.getUserAccount()));
throw new RenException(EpmetErrorCode.PASSWORD_ERROR.getCode());
}
StaffOrgFormDTO staffOrgFormDTO = new StaffOrgFormDTO();
staffOrgFormDTO.setCustomerIdList(customerIdList);
Result<List<StaffOrgsResultDTO>> result = govOrgFeignClient.getStaffOrgList(staffOrgFormDTO);
if(result.success()&&null!=result.getData()){
return result.getData();
}
logger.warn(String .format("手机验证码获取组织,调用%s服务失败,入参账户%s,密码%s,返回错误码%s,错误提示信息%s",
ServiceConstant.GOV_ORG_SERVER,
formDTO.getUserAccount(),
formDTO.getPassword(),
result.getCode(),
result.getMsg()));
return new ArrayList<>();
}
//保存登录日志 //保存登录日志
private Result saveStaffLoginRecord(GovWxmpEnteOrgFormDTO formDTO, String staffId, String openId) { private Result saveStaffLoginRecord(GovWxmpEnteOrgFormDTO formDTO, String staffId, String openId) {
StaffLoginAgencyRecordFormDTO staffLoginAgencyRecordFormDTO = new StaffLoginAgencyRecordFormDTO(); StaffLoginAgencyRecordFormDTO staffLoginAgencyRecordFormDTO = new StaffLoginAgencyRecordFormDTO();

4
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffInitResultDTO.java

@ -25,6 +25,10 @@ public class StaffInitResultDTO implements Serializable {
* 手机号 * 手机号
*/ */
private String mobile; private String mobile;
/**
* 手机号
*/
private String userAccount;
/** /**
* 性别 * 性别
*/ */

13
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/StaffController.java

@ -101,6 +101,19 @@ public class StaffController {
return staffService.editStaff(tokenDto, fromDTO); return staffService.editStaff(tokenDto, fromDTO);
} }
/**
* 人员编辑
*
* @param fromDTO 参数
* @return Result
*/
@PostMapping("editstaffv3")
@RequirePermission(requirePermission = RequirePermissionEnum.ORG_STAFF_UPDATE)
public Result editStaff(@LoginUser TokenDto tokenDto, @RequestBody StaffSubmitV3FromDTO fromDTO){
ValidatorUtils.validateEntity(fromDTO);
return staffService.editStaffV3(tokenDto, fromDTO);
}
/** /**
* 人员详情 * 人员详情
* *

10
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java

@ -110,6 +110,16 @@ public interface EpmetUserFeignClient {
@PostMapping("/epmetuser/customerstaff/editstaff") @PostMapping("/epmetuser/customerstaff/editstaff")
Result editStaff(@RequestBody StaffSubmitFromDTO fromDTO); Result editStaff(@RequestBody StaffSubmitFromDTO fromDTO);
/**
* 人员编辑
*
* @param fromDTO 参数
* @return Result
*/
@PostMapping("/epmetuser/customerstaff/editstaffv3")
Result editStaffV3(@RequestBody StaffSubmitV3FromDTO fromDTO);
/** /**
* 人员详情 * 人员详情
* *

5
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java

@ -72,6 +72,11 @@ public class EpmetUserFeignClientFallBack implements EpmetUserFeignClient {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "editStaff", fromDTO); return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "editStaff", fromDTO);
} }
@Override
public Result editStaffV3(StaffSubmitV3FromDTO fromDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "editStaffV3", fromDTO);
}
@Override @Override
public Result<StaffDetailResultDTO> getStaffDetail(StaffInfoFromDTO fromDTO) { public Result<StaffDetailResultDTO> getStaffDetail(StaffInfoFromDTO fromDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getStaffDetail", fromDTO); return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getStaffDetail", fromDTO);

8
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/StaffService.java

@ -64,6 +64,14 @@ public interface StaffService {
*/ */
Result editStaff(TokenDto tokenDto,StaffSubmitFromDTO fromDTO); Result editStaff(TokenDto tokenDto,StaffSubmitFromDTO fromDTO);
/**
* 人员编辑
*
* @param fromDTO 参数
* @return Result
*/
Result editStaffV3(TokenDto tokenDto,StaffSubmitV3FromDTO fromDTO);
/** /**
* 人员详情 * 人员详情
* *

19
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java

@ -195,6 +195,25 @@ public class StaffServiceImpl implements StaffService {
return result; return result;
} }
@Override
public Result editStaffV3(TokenDto tokenDto, StaffSubmitV3FromDTO fromDTO) {
CustomerAgencyEntity customerAgencyEntity = customerAgencyService.selectById(fromDTO.getAgencyId());
fromDTO.setCustomerId(customerAgencyEntity.getCustomerId());
fromDTO.setApp(tokenDto.getApp());
fromDTO.setClient(tokenDto.getClient());
Result result = epmetUserFeignClient.editStaffV3(fromDTO);
if (!result.success()) {
if (result.getCode() != EpmetErrorCode.SERVER_ERROR.getCode()) {
return new Result().error(result.getCode(), result.getMsg());
}
return new Result().error(EpmetErrorCode.STAFF_EDIT_FAILED.getCode(), EpmetErrorCode.STAFF_EDIT_FAILED.getMsg());
}
//2021.8.24 sun 人员信息编辑时删除工作人员的缓存信息
CustomerStaffRedis.delStaffInfoFormCache(fromDTO.getCustomerId(), fromDTO.getStaffId());
return result;
}
@Override @Override
public Result<StaffDetailResultDTO> getStaffDetail(StaffInfoFromDTO fromDTO) { public Result<StaffDetailResultDTO> getStaffDetail(StaffInfoFromDTO fromDTO) {
CustomerAgencyEntity customerAgencyEntity = customerAgencyService.selectById(fromDTO.getAgencyId()); CustomerAgencyEntity customerAgencyEntity = customerAgencyService.selectById(fromDTO.getAgencyId());

12
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java

@ -118,6 +118,18 @@ public class CustomerStaffController {
return customerStaffService.getCustsomerStaffByPhone(mobile); return customerStaffService.getCustsomerStaffByPhone(mobile);
} }
/**
* @param mobile 手机号
* @return com.epmet.commons.tools.utils.Result
* @Author yinzuomei
* @Description 根据手机号查询政府端工作人员基本信息校验用户是否存在
* @Date 2020/4/18 14:07
**/
@GetMapping(value = "getcustsomerstaffbyaccount/{account}")
public Result<List<CustomerStaffDTO>> getCustsomerStaffByAccount(@PathVariable("account") String userAccount) {
return customerStaffService.getCustsomerStaffByAccount(userAccount);
}
/** /**
* @param formDTO * @param formDTO
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.CustomerStaffDTO> * @return com.epmet.commons.tools.utils.Result<com.epmet.dto.CustomerStaffDTO>

2
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/CustomerStaffDao.java

@ -45,6 +45,8 @@ public interface CustomerStaffDao extends BaseDao<CustomerStaffEntity> {
**/ **/
List<CustomerStaffDTO> selectListCustomerStaffDTO(String mobile); List<CustomerStaffDTO> selectListCustomerStaffDTO(String mobile);
List<CustomerStaffDTO> listCustomerStaffByAccount(@Param("userAccount") String userAccount);
/** /**
* @param formDTO * @param formDTO
* @return com.epmet.dto.CustomerStaffDTO * @return com.epmet.dto.CustomerStaffDTO

9
epmet-user/epmet-user-server/src/main/java/com/epmet/service/CustomerStaffService.java

@ -105,6 +105,15 @@ public interface CustomerStaffService extends BaseService<CustomerStaffEntity> {
**/ **/
Result<List<CustomerStaffDTO>> getCustsomerStaffByPhone(String mobile); Result<List<CustomerStaffDTO>> getCustsomerStaffByPhone(String mobile);
/**
* @param mobile 手机号
* @return com.epmet.commons.tools.utils.Result
* @Author yinzuomei
* @Description 根据手机号查询政府端工作人员基本信息校验用户是否存在
* @Date 2020/4/18 14:07
**/
Result<List<CustomerStaffDTO>> getCustsomerStaffByAccount(String userAccount);
/** /**
* @param formDTO * @param formDTO
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.CustomerStaffDTO> * @return com.epmet.commons.tools.utils.Result<com.epmet.dto.CustomerStaffDTO>

10
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java

@ -158,6 +158,16 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl<CustomerStaffDao,
return new Result<List<CustomerStaffDTO>>().ok(customerStaffDTOList); return new Result<List<CustomerStaffDTO>>().ok(customerStaffDTOList);
} }
@Override
public Result<List<CustomerStaffDTO>> getCustsomerStaffByAccount(String userAccount) {
//判断用户是否存在
List<CustomerStaffDTO> customerStaffDTOList = baseDao.selectListCustomerStaffDTO(userAccount);
if (null == customerStaffDTOList || customerStaffDTOList.size() == 0) {
logger.warn(String.format("根据账户查询用户异常,账户:[%s],code[%s],msg[%s]", userAccount, EpmetErrorCode.GOV_STAFF_NOT_EXISTS.getCode(), EpmetErrorCode.GOV_STAFF_NOT_EXISTS.getMsg()));
return new Result().error(EpmetErrorCode.GOV_STAFF_NOT_EXISTS.getCode());
}
return new Result<List<CustomerStaffDTO>>().ok(customerStaffDTOList);
}
@Override @Override
public Result<CustomerStaffDTO> getCustomerStaffInfo(CustomerStaffFormDTO formDTO) { public Result<CustomerStaffDTO> getCustomerStaffInfo(CustomerStaffFormDTO formDTO) {

8
epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml

@ -11,6 +11,14 @@
order by cs.ACTIVE_TIME desc,cs.CREATED_TIME asc order by cs.ACTIVE_TIME desc,cs.CREATED_TIME asc
</select> </select>
<!-- 根据手机号查询工作人员信息 -->
<select id="listCustomerStaffByAccount" parameterType="java.lang.String" resultType="com.epmet.dto.CustomerStaffDTO">
select * from customer_staff cs
where cs.USER_ACCOUNT=#{userAccount}
and cs.DEL_FLAG='0'
order by cs.ACTIVE_TIME desc,cs.CREATED_TIME asc
</select>
<!-- 根据手机号+客户id获取工作人员基本信息 --> <!-- 根据手机号+客户id获取工作人员基本信息 -->
<select id="selectListCustomerStaffInfo" parameterType="com.epmet.dto.form.CustomerStaffFormDTO" resultType="com.epmet.dto.CustomerStaffDTO"> <select id="selectListCustomerStaffInfo" parameterType="com.epmet.dto.form.CustomerStaffFormDTO" resultType="com.epmet.dto.CustomerStaffDTO">
select * from customer_staff cs select * from customer_staff cs

Loading…
Cancel
Save