Browse Source

居民端跳转数据端小程序

feature/syp_points
songyunpeng 5 years ago
parent
commit
76c373993d
  1. 4
      esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SysUserDTO.java
  2. 26
      esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcScripUserInfoFormDTO.java
  3. 30
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysUserController.java
  4. 20
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysUserDao.java
  5. 4
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/SysUserEntity.java
  6. 17
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysUserService.java
  7. 34
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysUserServiceImpl.java
  8. 50
      esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysUserDao.xml
  9. 22
      esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/controller/AuthController.java
  10. 9
      esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java
  11. 5
      esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java
  12. 8
      esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/service/AuthService.java
  13. 65
      esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/service/impl/AuthServiceImpl.java
  14. 30
      esua-epdc/epdc-commons/epdc-common-clienttoken/src/main/java/com/elink/esua/epdc/common/token/dto/WorkUserScripLoginDTO.java
  15. 1
      esua-epdc/epdc-gateway/src/main/resources/application.yml
  16. 15
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAdminController.java
  17. 17
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAnalysisUserController.java
  18. 15
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java
  19. 10
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/ResourceFeignClient.java
  20. 7
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java
  21. 6
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/ResourceFeignClientFallback.java
  22. 9
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AdminService.java
  23. 12
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AnalysisUserService.java
  24. 13
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AdminServiceImpl.java
  25. 10
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AnalysisUserServiceImpl.java

4
esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SysUserDTO.java

@ -104,5 +104,9 @@ public class SysUserDTO implements Serializable {
* 微信openId
*/
private String openId;
/**
* 临时凭证
*/
private String scrip;
}

26
esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcScripUserInfoFormDTO.java

@ -0,0 +1,26 @@
package com.elink.esua.epdc.dto.epdc.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @Auther: songyunpeng
* @Date: 2020/06/22 16:37
* @Description: 临时凭证参数
*/
@Data
public class EpdcScripUserInfoFormDTO implements Serializable {
private static final long serialVersionUID = 6035055052382466281L;
@NotNull(message = "网格ID不能为空")
private Long gridId;
/**
* 用户ID
*/
@NotBlank(message = "手机号不能为空")
private String mobile;
}

30
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysUserController.java

@ -26,6 +26,7 @@ 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.dto.*;
import com.elink.esua.epdc.dto.epdc.GridLeaderRegisterDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcScripUserInfoFormDTO;
import com.elink.esua.epdc.excel.SysUserExcel;
import com.elink.esua.epdc.service.*;
import io.swagger.annotations.Api;
@ -374,4 +375,33 @@ public class SysUserController {
return sysUserService.getSysGridLeaderPhone(deptId);
}
/**
* @Description 根据手机号和网格信息获取临时凭证
* @Author songyunpeng
* @Date 2020/6/22
* @Param [epdcScripUserInfoFormDTO]
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.lang.String>
**/
@PostMapping("getUserInfoByGridAndMobile")
public Result<String> getUserInfoByGridAndMobile(@RequestBody EpdcScripUserInfoFormDTO epdcScripUserInfoFormDTO){
ValidatorUtils.validateEntity(epdcScripUserInfoFormDTO);
return new Result<String>().ok(sysUserService.getUserInfoByGridAndMobile(epdcScripUserInfoFormDTO));
}
/**
* @Description 根据临时凭证获取用户信息
* @Author songyunpeng
* @Date 2020/6/22
* @Param [username]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.security.user.UserDetail>
**/
@GetMapping("getByScrip/{scrip}")
public Result<UserDetail> getByScrip(@PathVariable("scrip") String scrip) {
SysUserDTO user = sysUserService.getByScrip(scrip);
UserDetail userDetail = ConvertUtils.sourceToTarget(user, UserDetail.class);
//初始化用户数据
initUserData(userDetail);
return new Result<UserDetail>().ok(userDetail);
}
}

20
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysUserDao.java

@ -8,10 +8,11 @@
package com.elink.esua.epdc.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.SysUserDTO;
import com.elink.esua.epdc.dto.SysUserOpenIdFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcScripUserInfoFormDTO;
import com.elink.esua.epdc.entity.SysUserEntity;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -105,4 +106,21 @@ public interface SysUserDao extends BaseDao<SysUserEntity> {
* @Date: 2020-01-09
*/
List<String> getSysGridLeaderPhone(Long deptId);
/**
* @Description 根据手机号和网格获取用户信息
* @Author songyunpeng
* @Date 2020/6/22
* @Param [epdcScripUserInfoFormDTO]
* @return com.elink.esua.epdc.dto.SysUserDTO
**/
SysUserDTO selectOneUserInfoByGridAndMobile(EpdcScripUserInfoFormDTO epdcScripUserInfoFormDTO);
/**
* @Description 根据临时凭证获取用户信息
* @Author songyunpeng
* @Date 2020/6/22
* @Param [scrip]
* @return com.elink.esua.epdc.dto.SysUserDTO
**/
SysUserDTO selectOneUserInfoByScrip(String scrip);
}

4
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/SysUserEntity.java

@ -104,5 +104,9 @@ public class SysUserEntity extends BaseEntity {
* 用户微信openId
*/
private String openId;
/**
* 临时凭证
*/
private String scrip;
}

17
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysUserService.java

@ -14,6 +14,7 @@ import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.SysUserDTO;
import com.elink.esua.epdc.dto.SysUserOpenIdFormDTO;
import com.elink.esua.epdc.dto.epdc.GridLeaderRegisterDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcScripUserInfoFormDTO;
import com.elink.esua.epdc.entity.SysUserEntity;
import java.util.List;
@ -118,4 +119,20 @@ public interface SysUserService extends BaseService<SysUserEntity> {
* @Date: 2020-01-09
*/
Result<List<String>> getSysGridLeaderPhone(Long deptId);
/**
* @Description 根据网格ID和手机号获取用户信息
* @Author songyunpeng
* @Date 2020/6/22
* @Param [epdcScripUserInfoFormDTO]
* @return java.lang.String
**/
String getUserInfoByGridAndMobile(EpdcScripUserInfoFormDTO epdcScripUserInfoFormDTO);
/**
* @Description 根据临时凭证获取用户信息
* @Author songyunpeng
* @Date 2020/6/22
* @Param [scrip]
* @return com.elink.esua.epdc.dto.SysUserDTO
**/
SysUserDTO getByScrip(String scrip);
}

34
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysUserServiceImpl.java

@ -29,6 +29,7 @@ import com.elink.esua.epdc.dto.SysUserDTO;
import com.elink.esua.epdc.dto.SysUserOpenIdFormDTO;
import com.elink.esua.epdc.dto.epdc.GridForLeaderRegisterDTO;
import com.elink.esua.epdc.dto.epdc.GridLeaderRegisterDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcScripUserInfoFormDTO;
import com.elink.esua.epdc.entity.SysUserEntity;
import com.elink.esua.epdc.service.SysDeptService;
import com.elink.esua.epdc.service.SysRoleUserService;
@ -262,5 +263,38 @@ public class SysUserServiceImpl extends BaseServiceImpl<SysUserDao, SysUserEntit
return new Result<List<String>>().ok(baseDao.getSysGridLeaderPhone(deptId));
}
@Override
@Transactional(rollbackFor = Exception.class)
public String getUserInfoByGridAndMobile(EpdcScripUserInfoFormDTO epdcScripUserInfoFormDTO) {
SysUserDTO userDTO = baseDao.selectOneUserInfoByGridAndMobile(epdcScripUserInfoFormDTO);
if(userDTO==null){
throw new RenException("根据信息无法获取到pc端用户");
}
String randomValue = String.valueOf((int)(Math.random()*(1000000-100000)+100000));
SysUserEntity userEntity = new SysUserEntity();
userEntity.setScrip(randomValue);
userEntity.setId(userDTO.getId());
updateById(userEntity);
return randomValue;
}
@Override
@Transactional(rollbackFor = Exception.class)
public SysUserDTO getByScrip(String scrip) {
if(StringUtils.isBlank(scrip)){
throw new RenException("临时凭证不能为空");
}
SysUserDTO sysUserDTO = baseDao.selectOneUserInfoByScrip(scrip);
if(sysUserDTO == null){
throw new RenException("根据临时凭证无法获取到用户");
}
//获取后清除临时凭证
SysUserEntity userEntity = new SysUserEntity();
userEntity.setScrip("");
userEntity.setId(sysUserDTO.getId());
updateById(userEntity);
return sysUserDTO;
}
}

50
esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysUserDao.xml

@ -152,4 +152,54 @@
AND d.dept_id = #{deptId}
) c
</select>
<select id="selectOneUserInfoByGridAndMobile" resultType="com.elink.esua.epdc.dto.SysUserDTO">
select ID,
USERNAME,
PASSWORD,
REAL_NAME,
HEAD_URL,
GENDER,
EMAIL,
MOBILE,
DEPT_ID,
SUPER_ADMIN,
STATUS,
REMARK,
DEL_FLAG,
CREATOR,
CREATE_DATE,
UPDATER,
UPDATE_DATE,
USER_TAG_KEY,
OPEN_ID,
scrip
from sys_user
where del_flag='0' and dept_id=#{gridId} and mobile = #{mobile}
order by CREATE_DATE desc
limit 1
</select>
<select id="selectOneUserInfoByScrip" resultType="com.elink.esua.epdc.dto.SysUserDTO">
select ID,
USERNAME,
PASSWORD,
REAL_NAME,
HEAD_URL,
GENDER,
EMAIL,
MOBILE,
DEPT_ID,
SUPER_ADMIN,
STATUS,
REMARK,
DEL_FLAG,
CREATOR,
CREATE_DATE,
UPDATER,
UPDATE_DATE,
USER_TAG_KEY,
OPEN_ID,
scrip
from sys_user
where del_flag='0' and scrip = #{scrip}
</select>
</mapper>

22
esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/controller/AuthController.java

@ -126,6 +126,28 @@ public class AuthController {
return result;
}
/**
*
* 数据端-用户凭证登录
*
* @params [workUserLoginDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.common.token.dto.WorkUserAuthorizationDTO>
* @author songyunpeng
* @since 2020/06/22 20:21
*/
@PostMapping(value = "workScripLogin")
public Result<WorkUserAuthorizationDTO> workScripLogin(@RequestBody WorkUserScripLoginDTO workUserLoginDto) {
//效验数据
ValidatorUtils.validateEntity(workUserLoginDto);
Result<WorkUserAuthorizationDTO> result = authService.workScripLogin(workUserLoginDto.getScrip());
if (result.success()) {
// 解绑上一次登录账户并绑定当前账户
SysUserOpenIdFormDTO sysUserOpenIdFormDto = ConvertUtils.sourceToTarget(workUserLoginDto, SysUserOpenIdFormDTO.class);
authService.modifyOpenId(sysUserOpenIdFormDto);
}
return result;
}
@PostMapping(value = "logout")
@ApiOperation(value = "退出")

9
esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java

@ -88,4 +88,13 @@ public interface UserFeignClient {
@GetMapping("sys/user/updateUserOpenId/{userId}")
Result updateUserOpenId(@PathVariable("userId") Long userId);
/**
* @Description 根据临时凭证获取用户信息
* @Author songyunpeng
* @Date 2020/6/22
* @Param [scrip]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.security.user.UserDetail>
**/
@GetMapping("sys/user/getByScrip/{scrip}")
Result<UserDetail> getByScrip(@PathVariable("scrip") String scrip);
}

5
esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java

@ -55,4 +55,9 @@ public class UserFeignClientFallback implements UserFeignClient {
public Result updateUserOpenId(Long userId) {
return new Result<>();
}
@Override
public Result<UserDetail> getByScrip(String scrip) {
return new Result<>();
}
}

8
esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/service/AuthService.java

@ -75,4 +75,12 @@ public interface AuthService {
* 退出
*/
Result logoutUser(Long userId);
/**
* @Description 用户凭证登录
* @Author songyunpeng
* @Date 2020/6/22
* @Param [scrip]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.common.token.dto.WorkUserAuthorizationDTO>
**/
Result<WorkUserAuthorizationDTO> workScripLogin(String scrip);
}

65
esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/service/impl/AuthServiceImpl.java

@ -297,4 +297,69 @@ public class AuthServiceImpl implements AuthService {
}
@Override
public Result<WorkUserAuthorizationDTO> workScripLogin(String scrip) {
HttpServletRequest request = HttpContextUtils.getHttpServletRequest();
//获取用户信息
Result<UserDetail> result = userFeignClient.getByScrip(scrip);
UserDetail user = result.getData();
//授权信息
WorkUserAuthorizationDTO authorization = new WorkUserAuthorizationDTO();
//登录日志
SysLogLogin log = new SysLogLogin();
log.setType(LogTypeEnum.LOGIN.value());
log.setOperation(LoginOperationEnum.LOGIN.value());
log.setCreateDate(new Date());
log.setIp(IpUtils.getIpAddr(request));
log.setUserAgent(request.getHeader(HttpHeaders.USER_AGENT));
log.setIp(IpUtils.getIpAddr(request));
//账号不存在
if (user == null) {
log.setStatus(LoginStatusEnum.FAIL.value());
log.setCreatorName(scrip);
logProducer.saveLog(log);
authorization.setRegisterState(NumConstant.ZERO_STR);
return new Result<WorkUserAuthorizationDTO>().error("未根据凭证获取到用户");
}
//账号停用
if (user.getStatus() == UserStatusEnum.DISABLE.value()) {
log.setStatus(LoginStatusEnum.LOCK.value());
log.setCreator(user.getId());
log.setCreatorName(user.getUsername());
logProducer.saveLog(log);
return new Result<WorkUserAuthorizationDTO>().error("账号已停用");
}
//保存到Redis
userDetailRedis.set(user, jwtProperties.getExpire());
//登录成功,生成token
String token = jwtUtils.generateToken(user.getId());
authorization.setToken(token);
authorization.setExpire(jwtProperties.getExpire());
//登录用户信息
log.setCreator(user.getId());
log.setCreatorName(user.getUsername());
log.setStatus(LoginStatusEnum.SUCCESS.value());
logProducer.saveLog(log);
// 获取用户所有角色权限信息
List<DataScopeDeptList> dataScopeDeptList = this.getDataScopeDetailList(user.getId());
authorization.setDeptDataScopeList(ConvertUtils.sourceToTarget(dataScopeDeptList, DeptDataScopeDTO.class));
authorization.setDeptName(user.getDeptName());
authorization.setUserTagKey(user.getTypeKey());
authorization.setRegisterState(NumConstant.ONE_STR);
userDeptTask.packageUserDeptOptions(user.getId());
return new Result<WorkUserAuthorizationDTO>().ok(authorization); }
}

30
esua-epdc/epdc-commons/epdc-common-clienttoken/src/main/java/com/elink/esua/epdc/common/token/dto/WorkUserScripLoginDTO.java

@ -0,0 +1,30 @@
package com.elink.esua.epdc.common.token.dto;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
*
* 工作端用户凭证登录信息
*
* @Authorsongyunpeng
* @Date2020/06/22 20:19
*/
@Data
public class WorkUserScripLoginDTO implements Serializable {
private static final long serialVersionUID = 1905641243346550379L;
@NotBlank(message="用户名不能为空")
private String scrip;
@NotBlank(message="微信code不能为空")
private String wxCode;
private String openId;
private String username;
}

1
esua-epdc/epdc-gateway/src/main/resources/application.yml

@ -250,6 +250,7 @@ renren:
- /api/work/user/login #工作端-登录
- /api/analysis/user/getToken #数据分析端-获取token
- /api/analysis/user/login #数据分析端-登录
- /api/analysis/user/scripLogin #工作端-用户凭证登录
- /api/work/*/swagger/**
workUrls:
- /api/work/** #工作端接口

15
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAdminController.java

@ -1,9 +1,12 @@
package com.elink.esua.epdc.controller;
import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.commons.tools.annotation.LoginUser;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.service.AdminService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@ -33,4 +36,16 @@ public class ApiAdminController {
public Result<String> getCompleteDeptName(Long gridId) {
return adminService.getCompleteDeptName(gridId);
}
/**
* @Description 获取用户凭证
* @Author songyunpeng
* @Date 2020/6/22
* @Param [userDetail]
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.lang.String>
**/
@PostMapping("getScrip")
public Result<String> getScrip(@LoginUser TokenDto userDetail){
return adminService.getScrip(userDetail);
}
}

17
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAnalysisUserController.java

@ -3,6 +3,7 @@ package com.elink.esua.epdc.controller;
import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.common.token.dto.WorkUserAuthorizationDTO;
import com.elink.esua.epdc.common.token.dto.WorkUserLoginDTO;
import com.elink.esua.epdc.common.token.dto.WorkUserScripLoginDTO;
import com.elink.esua.epdc.commons.tools.annotation.LoginUser;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
@ -11,8 +12,6 @@ import com.elink.esua.epdc.service.AnalysisUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 移动端接口-数据分析模块(项目)
* @Author LPF
@ -52,7 +51,19 @@ public class ApiAnalysisUserController {
ValidatorUtils.validateEntity(formDto);
return analysisUserService.login(formDto);
}
/**
* 数据分析端-用户凭证登录
*
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.common.token.dto.WorkUserAuthorizationDTO>
* @params [formDto]
* @author songyunpeng
* @since 2020/06/22 23:03
*/
@PostMapping("scripLogin")
public Result<WorkUserAuthorizationDTO> scripLogin(@RequestBody WorkUserScripLoginDTO formDto) {
ValidatorUtils.validateEntity(formDto);
return analysisUserService.scripLogin(formDto);
}
/**
*
* 数据分析端-获取token

15
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java

@ -4,11 +4,15 @@ import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.*;
import com.elink.esua.epdc.dto.epdc.GridLeaderRegisterDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcScripUserInfoFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcAppIndexPanelResultDTO;
import com.elink.esua.epdc.feign.fallback.AdminFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
@ -109,4 +113,15 @@ public interface AdminFeignClient {
*/
@GetMapping("/sys/dict/listSimple/{dictType}")
Result<List<SysSimpleDictDTO>> getDefaultGridInfoByDicType(@PathVariable("dictType") String dictType);
/**
* @Description 根据手机号和网格信息获取临时凭证
* @Author songyunpeng
* @Date 2020/6/22
* @Param [epdcScripUserInfoFormDTO]
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.lang.String>
**/
@PostMapping(value = "sys/user/getUserInfoByGridAndMobile", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<String> getUserInfoByGridAndMobile(@RequestBody EpdcScripUserInfoFormDTO epdcScripUserInfoFormDTO);
}

10
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/ResourceFeignClient.java

@ -2,6 +2,7 @@ package com.elink.esua.epdc.feign;
import com.elink.esua.epdc.common.token.dto.WorkUserAuthorizationDTO;
import com.elink.esua.epdc.common.token.dto.WorkUserLoginDTO;
import com.elink.esua.epdc.common.token.dto.WorkUserScripLoginDTO;
import com.elink.esua.epdc.common.token.dto.WorkUserTokenFormDTO;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.Result;
@ -53,4 +54,13 @@ public interface ResourceFeignClient {
*/
@GetMapping("auth/logoutUser/{userId}")
Result logoutUser(@PathVariable("userId") String userId);
/**
* @Description 工作端用户凭证登录并获取授权信息
* @Author songyunpeng
* @Date 2020/6/22
* @Param [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.common.token.dto.WorkUserAuthorizationDTO>
**/
@PostMapping("auth/workScripLogin")
Result<WorkUserAuthorizationDTO> workScripLogin(WorkUserScripLoginDTO formDto);
}

7
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java

@ -5,6 +5,7 @@ import com.elink.esua.epdc.commons.tools.utils.ModuleUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.*;
import com.elink.esua.epdc.dto.epdc.GridLeaderRegisterDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcScripUserInfoFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcAppIndexPanelResultDTO;
import com.elink.esua.epdc.feign.AdminFeignClient;
import org.springframework.stereotype.Component;
@ -58,4 +59,10 @@ public class AdminFeignClientFallback implements AdminFeignClient {
public Result<List<SysSimpleDictDTO>> getDefaultGridInfoByDicType(String dictType) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "getDefaultGridInfoByDicType", dictType);
}
@Override
public Result<String> getUserInfoByGridAndMobile(EpdcScripUserInfoFormDTO epdcScripUserInfoFormDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "getUserInfoByGridAndMobile", epdcScripUserInfoFormDTO);
}
}

6
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/ResourceFeignClientFallback.java

@ -2,6 +2,7 @@ package com.elink.esua.epdc.feign.fallback;
import com.elink.esua.epdc.common.token.dto.WorkUserAuthorizationDTO;
import com.elink.esua.epdc.common.token.dto.WorkUserLoginDTO;
import com.elink.esua.epdc.common.token.dto.WorkUserScripLoginDTO;
import com.elink.esua.epdc.common.token.dto.WorkUserTokenFormDTO;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.ModuleUtils;
@ -33,4 +34,9 @@ public class ResourceFeignClientFallback implements ResourceFeignClient {
public Result logoutUser(String userId) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_AUTH_SERVER, "logoutUser", userId);
}
@Override
public Result<WorkUserAuthorizationDTO> workScripLogin(WorkUserScripLoginDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_AUTH_SERVER, "workScripLogin", formDto);
}
}

9
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AdminService.java

@ -1,5 +1,6 @@
package com.elink.esua.epdc.service;
import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.commons.tools.utils.Result;
/**
@ -29,4 +30,12 @@ public interface AdminService {
* @Date 11:08 2020-06-02
**/
Result<String> getDefaultGridInfo(String dicType);
/**
* @Description 获取临时凭证
* @Author songyunpeng
* @Date 2020/6/22
* @Param [userDetail]
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.lang.String>
**/
Result<String> getScrip(TokenDto userDetail);
}

12
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AnalysisUserService.java

@ -2,11 +2,10 @@ package com.elink.esua.epdc.service;
import com.elink.esua.epdc.common.token.dto.WorkUserAuthorizationDTO;
import com.elink.esua.epdc.common.token.dto.WorkUserLoginDTO;
import com.elink.esua.epdc.common.token.dto.WorkUserScripLoginDTO;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.form.EpdcWorkAppUserMaTokenFormDTO;
import java.util.List;
/**
* 项目模块-数据分析移动端
* @Author LPF
@ -44,5 +43,12 @@ public interface AnalysisUserService {
* @since 2020/2/12 11:00
*/
Result<WorkUserAuthorizationDTO> getMaToken(EpdcWorkAppUserMaTokenFormDTO formDto);
/**
* @Description 用户凭证登录
* @Author songyunpeng
* @Date 2020/6/22
* @Param [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.common.token.dto.WorkUserAuthorizationDTO>
**/
Result<WorkUserAuthorizationDTO> scripLogin(WorkUserScripLoginDTO formDto);
}

13
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AdminServiceImpl.java

@ -1,8 +1,10 @@
package com.elink.esua.epdc.service.impl;
import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.CompleteDeptDTO;
import com.elink.esua.epdc.dto.SysSimpleDictDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcScripUserInfoFormDTO;
import com.elink.esua.epdc.feign.AdminFeignClient;
import com.elink.esua.epdc.service.AdminService;
import org.springframework.beans.factory.annotation.Autowired;
@ -46,4 +48,15 @@ public class AdminServiceImpl implements AdminService {
String defaultGrid = listResult.getData().get(0).getDictValue();
return new Result<String>().ok(defaultGrid);
}
@Override
public Result<String> getScrip(TokenDto userDetail) {
if(userDetail == null){
return new Result().error("用户未登录");
}
EpdcScripUserInfoFormDTO epdcScripUserInfoFormDTO = new EpdcScripUserInfoFormDTO();
epdcScripUserInfoFormDTO.setGridId(userDetail.getGridId());
epdcScripUserInfoFormDTO.setMobile(userDetail.getMobile());
return adminFeignClient.getUserInfoByGridAndMobile(epdcScripUserInfoFormDTO);
}
}

10
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AnalysisUserServiceImpl.java

@ -4,6 +4,7 @@ package com.elink.esua.epdc.service.impl;
import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
import com.elink.esua.epdc.common.token.dto.WorkUserAuthorizationDTO;
import com.elink.esua.epdc.common.token.dto.WorkUserLoginDTO;
import com.elink.esua.epdc.common.token.dto.WorkUserScripLoginDTO;
import com.elink.esua.epdc.common.token.dto.WorkUserTokenFormDTO;
import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.exception.RenException;
@ -21,8 +22,6 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 项目模块-移动app端
* @Author LPF
@ -98,4 +97,11 @@ public class AnalysisUserServiceImpl implements AnalysisUserService {
}
return wxMaJscode2SessionResult;
}
@Override
public Result<WorkUserAuthorizationDTO> scripLogin(WorkUserScripLoginDTO formDto) {
// 获取openId
String openId = this.getWxMaUser(formDto.getWxCode()).getOpenid();
formDto.setOpenId(openId);
return resourceFeignClient.workScripLogin(formDto);
}
}

Loading…
Cancel
Save