Browse Source

Merge branch 'release' of http://git.elinkit.com.cn:7070/r/epmet-cloud into release

master
wxz 5 years ago
parent
commit
aa01aa0dc5
  1. 2
      epmet-auth/deploy/docker-compose-dev.yml
  2. 2
      epmet-auth/pom.xml
  3. 20
      epmet-auth/src/main/java/com/epmet/controller/GovLoginController.java
  4. 11
      epmet-auth/src/main/java/com/epmet/dto/form/GovWxmpEnteOrgFormDTO.java
  5. 3
      epmet-auth/src/main/java/com/epmet/dto/form/GovWxmpFormDTO.java
  6. 8
      epmet-auth/src/main/java/com/epmet/dto/form/LoginByPassWordFormDTO.java
  7. 2
      epmet-auth/src/main/java/com/epmet/dto/form/LoginByWxCodeFormDTO.java
  8. 8
      epmet-auth/src/main/java/com/epmet/dto/form/LoginCommonFormDTO.java
  9. 9
      epmet-auth/src/main/java/com/epmet/dto/form/StaffOrgsFormDTO.java
  10. 10
      epmet-auth/src/main/java/com/epmet/service/GovLoginService.java
  11. 59
      epmet-auth/src/main/java/com/epmet/service/impl/GovLoginServiceImpl.java
  12. 1
      epmet-auth/src/main/java/com/epmet/service/impl/LoginServiceImpl.java
  13. 3
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java
  14. 2
      epmet-module/data-report/data-report-server/deploy/docker-compose-dev.yml
  15. 2
      epmet-module/data-report/data-report-server/pom.xml
  16. 3
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/user/impl/UserAnalysisServiceImpl.java
  17. 5
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/CustomerStaffDTO.java
  18. 2
      epmet-user/epmet-user-server/deploy/docker-compose-dev.yml
  19. 2
      epmet-user/epmet-user-server/pom.xml
  20. 5
      epmet-user/epmet-user-server/src/main/java/com/epmet/entity/CustomerStaffEntity.java

2
epmet-auth/deploy/docker-compose-dev.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
epmet-auth-server:
container_name: epmet-auth-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-auth:0.3.26
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-auth:0.3.28
ports:
- "8081:8081"
network_mode: host # 使用现有网络

2
epmet-auth/pom.xml

@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<version>0.3.26</version>
<version>0.3.28</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>epmet-cloud</artifactId>

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

@ -36,7 +36,7 @@ public class GovLoginController {
**/
@PostMapping(value = "/loginwxmp/loginbywxcode")
public Result<UserTokenResultDTO> loginByWxCode(@RequestBody GovWxmpFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
ValidatorUtils.validateEntity(formDTO,LoginCommonFormDTO.AddUserInternalGroup.class);
UserTokenResultDTO userTokenResultDTO=govLoginService.loginByWxCode(formDTO);
return new Result<UserTokenResultDTO>().ok(userTokenResultDTO);
}
@ -64,7 +64,7 @@ public class GovLoginController {
**/
@PostMapping(value = "/loginwxmp/getmyorg")
public Result<List<StaffOrgsResultDTO>> getmyorg(@RequestBody StaffOrgsFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO,StaffOrgsFormDTO.AddUserShowGroup.class);
ValidatorUtils.validateEntity(formDTO,StaffOrgsFormDTO.AddUserShowGroup.class, StaffOrgsFormDTO.GetMyOrgByLoginWxmp.class);
List<StaffOrgsResultDTO> staffOrgs=govLoginService.getMyOrg(formDTO);
return new Result<List<StaffOrgsResultDTO>>().ok(staffOrgs);
}
@ -78,7 +78,7 @@ public class GovLoginController {
**/
@PostMapping(value = "/loginwxmp/enterorg")
public Result<UserTokenResultDTO> enterOrg(@RequestBody GovWxmpEnteOrgFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
ValidatorUtils.validateEntity(formDTO,GovWxmpEnteOrgFormDTO.AddUserShowGroup.class,GovWxmpEnteOrgFormDTO.AddUserInternalGroup.class);
UserTokenResultDTO userTokenResultDTO=govLoginService.enterOrg(formDTO);
return new Result<UserTokenResultDTO>().ok(userTokenResultDTO);
}
@ -107,5 +107,19 @@ public class GovLoginController {
govLoginService.updateCachedRoles(form.getStaffId(), form.getOrgId(), form.getRoleIds());
return new Result();
}
/**
* @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 = "/getmyorgbypassword")
public Result<List<StaffOrgsResultDTO>> getMyOrgByPassword(@RequestBody StaffOrgsFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, StaffOrgsFormDTO.AddUserShowGroup.class, StaffOrgsFormDTO.GetMyOrgByPassWordGroup.class);
List<StaffOrgsResultDTO> staffOrgs = govLoginService.getMyOrgByPassword(formDTO);
return new Result<List<StaffOrgsResultDTO>>().ok(staffOrgs);
}
}

11
epmet-auth/src/main/java/com/epmet/dto/form/GovWxmpEnteOrgFormDTO.java

@ -1,5 +1,6 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@ -12,28 +13,30 @@ import java.io.Serializable;
*/
@Data
public class GovWxmpEnteOrgFormDTO implements Serializable {
public interface AddUserInternalGroup {}
public interface AddUserShowGroup extends CustomerClientShowGroup {}
/**
* wxCode
*/
@NotBlank(message = "wxCode不能为空")
@NotBlank(message = "wxCode不能为空",groups = {AddUserInternalGroup.class})
private String wxCode;
/**
* 手机号
*/
@NotBlank(message = "手机号不能为空")
@NotBlank(message = "手机号不能为空",groups = {AddUserShowGroup.class})
private String mobile;
/**
* 选择的组织所属的id
*/
@NotBlank(message = "客户id不能为空")
@NotBlank(message = "客户id不能为空",groups = {AddUserInternalGroup.class})
private String customerId;
/**
* 选择的要进入的组织(根组织id)
*/
@NotBlank(message = "组织id不能为空")
@NotBlank(message = "组织id不能为空",groups = {AddUserInternalGroup.class})
private String rootAgencyId;
}

3
epmet-auth/src/main/java/com/epmet/dto/form/GovWxmpFormDTO.java

@ -13,10 +13,11 @@ import java.io.Serializable;
@Data
public class GovWxmpFormDTO extends LoginCommonFormDTO implements Serializable {
private static final long serialVersionUID = -207861963128774742L;
/**
* wxCode
*/
@NotBlank(message = "wxCode不能为空")
@NotBlank(message = "wxCode不能为空",groups = {AddUserInternalGroup.class})
private String wxCode;
}

8
epmet-auth/src/main/java/com/epmet/dto/form/LoginByPassWordFormDTO.java

@ -17,24 +17,24 @@ public class LoginByPassWordFormDTO extends LoginCommonFormDTO implements Serial
/**
* 手机号
*/
@NotBlank(message = "手机号不能为空")
@NotBlank(message = "手机号不能为空",groups = {AddUserShowGroup.class})
private String phone;
/**
* 密码
*/
@NotBlank(message = "密码不能为空")
@NotBlank(message = "密码不能为空",groups = {AddUserShowGroup.class})
private String password;
/**
* 验证码
*/
@NotBlank(message="验证码不能为空")
@NotBlank(message="验证码不能为空",groups = {AddUserShowGroup.class})
private String captcha;
/**
* 唯一标识
*/
@NotBlank(message="唯一标识不能为空")
@NotBlank(message="唯一标识不能为空",groups = {AddUserInternalGroup.class})
private String uuid;
}

2
epmet-auth/src/main/java/com/epmet/dto/form/LoginByWxCodeFormDTO.java

@ -17,7 +17,7 @@ public class LoginByWxCodeFormDTO extends LoginCommonFormDTO implements Serializ
/**
* 微信code
*/
@NotBlank(message = "wxCode不能为空")
@NotBlank(message = "wxCode不能为空",groups = {AddUserInternalGroup.class})
private String wxCode;
/**

8
epmet-auth/src/main/java/com/epmet/dto/form/LoginCommonFormDTO.java

@ -1,5 +1,6 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@ -13,16 +14,17 @@ import java.io.Serializable;
@Data
public class LoginCommonFormDTO implements Serializable {
private static final long serialVersionUID = -5582224784914714820L;
public interface AddUserInternalGroup {}
public interface AddUserShowGroup extends CustomerClientShowGroup {}
/**
* 政府端:gov居民端:resi运营端:oper
*/
@NotBlank(message = "app不能为空(政府端:gov、居民端:resi、运营端:oper)")
@NotBlank(message = "app不能为空(政府端:gov、居民端:resi、运营端:oper)",groups ={AddUserInternalGroup.class} )
private String app;
/**
* PC端:web微信小程序:wxmp
*/
@NotBlank(message = "client不能为空(PC端:web、微信小程序:wxmp)")
@NotBlank(message = "client不能为空(PC端:web、微信小程序:wxmp)",groups ={AddUserInternalGroup.class})
private String client;
}

9
epmet-auth/src/main/java/com/epmet/dto/form/StaffOrgsFormDTO.java

@ -21,6 +21,10 @@ public class StaffOrgsFormDTO implements Serializable {
*/
public interface AddUserShowGroup extends CustomerClientShowGroup {
}
public interface GetMyOrgByPassWordGroup extends CustomerClientShowGroup {
}
public interface GetMyOrgByLoginWxmp extends CustomerClientShowGroup{}
/**
* 手机号
*/
@ -30,7 +34,10 @@ public class StaffOrgsFormDTO implements Serializable {
/**
* 验证码
*/
@NotBlank(message="验证码不能为空")
@NotBlank(message="验证码不能为空", groups = {GetMyOrgByLoginWxmp.class})
private String smsCode;
@NotBlank(message = "密码不能为空",groups ={GetMyOrgByPassWordGroup.class})
private String password;
}

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

@ -1,7 +1,6 @@
package com.epmet.service;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.GovWxmpEnteOrgFormDTO;
import com.epmet.dto.form.GovWxmpFormDTO;
import com.epmet.dto.form.SendSmsCodeFormDTO;
@ -68,4 +67,13 @@ public interface GovLoginService {
* @param roleIds
*/
void updateCachedRoles(String staffId, String orgId, List<String> roleIds);
/**
* @return java.util.List<com.epmet.dto.result.StaffOrgsResultDTO>
* @param formDTO
* @author yinzuomei
* @description 6手机号密码获取组织
* @Date 2020/6/30 22:43
**/
List<StaffOrgsResultDTO> getMyOrgByPassword(StaffOrgsFormDTO formDTO);
}

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

@ -9,6 +9,7 @@ import com.epmet.commons.tools.exception.ExceptionUtils;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.security.dto.GovTokenDto;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.security.password.PasswordUtils;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.CpUserDetailRedis;
import com.epmet.commons.tools.utils.DateUtils;
@ -29,6 +30,7 @@ import com.epmet.jwt.JwtTokenUtils;
import com.epmet.redis.CaptchaRedis;
import com.epmet.service.GovLoginService;
import com.epmet.service.LoginService;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@ -270,6 +272,9 @@ public class GovLoginServiceImpl implements GovLoginService {
throw new RenException(customerStaffDTOResult.getCode());
}
CustomerStaffDTO customerStaff = customerStaffDTOResult.getData();
if(null==customerStaff.getPassword()||"".equals(customerStaff.getPassword().trim())){
throw new RenException(EpmetErrorCode.PLEASE_ACTIVATE_CURRENT_CUSTOMER_ACCOUNT.getCode());
}
//2、解析微信用户
WxMaJscode2SessionResult wxMaJscode2SessionResult = loginService.getWxMaUser(LoginConstant.APP_GOV, formDTO.getWxCode());
//3、记录staff_wechat,并记录用户激活状态,激活时间
@ -320,6 +325,60 @@ public class GovLoginServiceImpl implements GovLoginService {
cpUserDetailRedis.set(userDetails, jwtTokenProperties.getExpire());
}
@Override
public List<StaffOrgsResultDTO> getMyOrgByPassword(StaffOrgsFormDTO formDTO) {
//1、根据手机号查询到用户信息
Result<List<CustomerStaffDTO>> customerStaffResult = epmetUserFeignClient.checkCustomerStaff(formDTO.getMobile());
if (!customerStaffResult.success()) {
logger.error(String.format("手机密码登录异常,手机号[%s],code[%s],msg[%s]", formDTO.getMobile(), 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.getMobile(),customerStaffDTO.getCustomerId()));
}
if (!PasswordUtils.matches(formDTO.getPassword(), customerStaffDTO.getPassword())) {
logger.warn(String.format("当前用户:手机号%s,客户Id%s密码输入错误.",formDTO.getMobile(),customerStaffDTO.getCustomerId()));
}else{
logger.warn(String.format("当前用户:手机号%s,客户Id%s密码匹配正确.",formDTO.getMobile(),customerStaffDTO.getCustomerId()));
passwordRightFlag=true;
}
customerIdList.add(customerStaffDTO.getCustomerId());
}
//根据手机号查出来所有用户,密码都为空,表明用户未激活账户,未设置密码
if(!havePasswordFlag){
throw new RenException(EpmetErrorCode.PLEASE_ACTIVATE_ACCOUNT.getCode());
}
//密码错误
if(!passwordRightFlag){
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.error(String .format("手机验证码获取组织,调用%s服务失败,入参手机号%s,密码%s,返回错误码%s,错误提示信息%s",
ServiceConstant.GOV_ORG_SERVER,
formDTO.getMobile(),
formDTO.getPassword(),
result.getCode(),
result.getMsg()));
return new ArrayList<>();
}
//保存登录日志
private Result saveStaffLoginRecord(GovWxmpEnteOrgFormDTO formDTO, String staffId, String openId) {
StaffLoginAgencyRecordFormDTO staffLoginAgencyRecordFormDTO = new StaffLoginAgencyRecordFormDTO();

1
epmet-auth/src/main/java/com/epmet/service/impl/LoginServiceImpl.java

@ -269,7 +269,6 @@ public class LoginServiceImpl implements LoginService {
//3、密码是否正确
//密码错误
if (!PasswordUtils.matches(formDTO.getPassword(), userInfoResult.getData().getPassWord())) {
logger.error(String.format("手机号密码登陆失败,返回10004密码错误,用户输入密码%s,数据库密码%s",formDTO.getPassword(), userInfoResult.getData().getPassWord()));
throw new RenException(EpmetErrorCode.ERR10004.getCode());
}
//4、生成token返回,且将TokenDto存到redis

3
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java

@ -31,6 +31,9 @@ public enum EpmetErrorCode {
LOSE_EFFICACY(8006,"此邀请链接已过期"),
ERROR_PHONE(8007,"请输入正确的手机号"),
PLEASE_LOGIN(8008,"请重新登录"),
PASSWORD_ERROR(8009,"密码错误,请重新输入"),
PLEASE_ACTIVATE_ACCOUNT(8010,"请先使用验证码登录激活账户"),
PLEASE_ACTIVATE_CURRENT_CUSTOMER_ACCOUNT(8011,"当前组织下,账号未激活,请先使用验证码登录"),
MOBILE_HAS_BEEN_USED(8101, "该手机号已注册,请更换手机号或使用原绑定的微信账号登录"),
MOBILE_CODE_ERROR(8102, "验证码错误"),
AUTO_CONFIRM_FAILED(8103, "党员注册失败"),

2
epmet-module/data-report/data-report-server/deploy/docker-compose-dev.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
data-report-server:
container_name: data-report-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/data-report-server:0.3.14
image: 192.168.1.130:10080/epmet-cloud-dev/data-report-server:0.3.15
ports:
- "8109:8109"
network_mode: host # 使用现有网络

2
epmet-module/data-report/data-report-server/pom.xml

@ -3,7 +3,7 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<version>0.3.14</version>
<version>0.3.15</version>
<artifactId>data-report-server</artifactId>
<parent>

3
epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/user/impl/UserAnalysisServiceImpl.java

@ -289,8 +289,7 @@ public class UserAnalysisServiceImpl implements UserAnalysisService {
break;
}
}
logger.info(String.format("找到当前网格(gridId=%s,gridName=%s)对应的数据,当前循环",dimInitResultDto.getGridId(),dimInitResultDto.getName()));
break;
logger.debug(String.format("找到当前网格(gridId=%s,gridName=%s)对应的数据,当前循环",dimInitResultDto.getGridId(),dimInitResultDto.getName()));
}
if(!flag){
logger.error(String.format("直属网格注册用户数缺少记录:date_id=%s,gridId=%s",formDTO.getDateId(),dimInitResultDto.getGridId()));

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

@ -133,4 +133,9 @@ public class CustomerStaffDTO implements Serializable {
* 角色名称
*/
private String roleName;
/**
* 登录密码
*/
private String password;
}

2
epmet-user/epmet-user-server/deploy/docker-compose-dev.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
epmet-user-server:
container_name: epmet-user-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-user-server:0.3.65
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-user-server:0.3.66
ports:
- "8087:8087"
network_mode: host # 不会创建新的网络

2
epmet-user/epmet-user-server/pom.xml

@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<version>0.3.65</version>
<version>0.3.66</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>epmet-user</artifactId>

5
epmet-user/epmet-user-server/src/main/java/com/epmet/entity/CustomerStaffEntity.java

@ -97,4 +97,9 @@ public class CustomerStaffEntity extends BaseEpmetEntity {
* 客户id
*/
private String customerId;
/**
* 登录密码
*/
private String password;
}

Loading…
Cancel
Save