From 0a2c622e933365d3eeedaf525ff0130374d31095 Mon Sep 17 00:00:00 2001
From: zhangyongzhangyong <2012005003@qq.coom>
Date: Mon, 22 Jun 2020 15:40:57 +0800
Subject: [PATCH 1/7] =?UTF-8?q?=E5=9B=BE=E7=89=87=E9=85=8D=E7=BD=AE?=
=?UTF-8?q?=EF=BC=8C=E5=A2=9E=E5=8A=A0=E5=A4=87=E6=B3=A8=E8=BE=93=E5=85=A5?=
=?UTF-8?q?=E6=A1=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../main/java/com/elink/esua/epdc/dto/ImgConfigDTO.java | 5 +++++
.../elink/esua/epdc/dto/result/EpdcImgConfigResultDTO.java | 5 +++++
.../java/com/elink/esua/epdc/entity/ImgConfigEntity.java | 5 +++++
.../src/main/resources/mapper/ImgConfigDao.xml | 7 +++++--
4 files changed, 20 insertions(+), 2 deletions(-)
diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/ImgConfigDTO.java b/esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/ImgConfigDTO.java
index dc87f320..530831c6 100644
--- a/esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/ImgConfigDTO.java
+++ b/esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/ImgConfigDTO.java
@@ -87,4 +87,9 @@ public class ImgConfigDTO implements Serializable {
* 图片地址
*/
private String imgCode;
+
+ /**
+ * 备注
+ */
+ private String remark;
}
diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/result/EpdcImgConfigResultDTO.java b/esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/result/EpdcImgConfigResultDTO.java
index 589bf26b..3f0f0c6d 100644
--- a/esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/result/EpdcImgConfigResultDTO.java
+++ b/esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/result/EpdcImgConfigResultDTO.java
@@ -29,4 +29,9 @@ public class EpdcImgConfigResultDTO implements Serializable {
* 图片地址
*/
private String imgCode;
+
+ /**
+ * 备注
+ */
+ private String remark;
}
diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/entity/ImgConfigEntity.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/entity/ImgConfigEntity.java
index 20134c6d..c55b9a25 100644
--- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/entity/ImgConfigEntity.java
+++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/entity/ImgConfigEntity.java
@@ -57,4 +57,9 @@ public class ImgConfigEntity extends BaseEpdcEntity {
* 图片地址
*/
private String imgCode;
+
+ /**
+ * 备注
+ */
+ private String remark;
}
diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/resources/mapper/ImgConfigDao.xml b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/resources/mapper/ImgConfigDao.xml
index f237046e..fa976110 100644
--- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/resources/mapper/ImgConfigDao.xml
+++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/resources/mapper/ImgConfigDao.xml
@@ -15,6 +15,7 @@
+
+
+
diff --git a/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/controller/AuthController.java b/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/controller/AuthController.java
index ef2fd2e0..15e584b9 100644
--- a/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/controller/AuthController.java
+++ b/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
+ * @author songyunpeng
+ * @since 2020/06/22 20:21
+ */
+ @PostMapping(value = "workScripLogin")
+ public Result workScripLogin(@RequestBody WorkUserScripLoginDTO workUserLoginDto) {
+ //效验数据
+ ValidatorUtils.validateEntity(workUserLoginDto);
+ Result 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 = "退出")
diff --git a/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java b/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java
index 9b3557e1..91661331 100644
--- a/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java
+++ b/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
+ **/
+ @GetMapping("sys/user/getByScrip/{scrip}")
+ Result getByScrip(@PathVariable("scrip") String scrip);
}
diff --git a/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java b/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java
index 893db7ec..c3742777 100644
--- a/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java
+++ b/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 getByScrip(String scrip) {
+ return new Result<>();
+ }
}
diff --git a/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/service/AuthService.java b/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/service/AuthService.java
index 57ae4a10..d5985dd4 100644
--- a/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/service/AuthService.java
+++ b/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
+ **/
+ Result workScripLogin(String scrip);
}
diff --git a/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/service/impl/AuthServiceImpl.java b/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/service/impl/AuthServiceImpl.java
index 20fed9ad..835d95c8 100644
--- a/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/service/impl/AuthServiceImpl.java
+++ b/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 workScripLogin(String scrip) {
+ HttpServletRequest request = HttpContextUtils.getHttpServletRequest();
+
+ //获取用户信息
+ Result 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().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().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 = 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().ok(authorization); }
}
diff --git a/esua-epdc/epdc-commons/epdc-common-clienttoken/src/main/java/com/elink/esua/epdc/common/token/dto/WorkUserScripLoginDTO.java b/esua-epdc/epdc-commons/epdc-common-clienttoken/src/main/java/com/elink/esua/epdc/common/token/dto/WorkUserScripLoginDTO.java
new file mode 100644
index 00000000..0825e7d9
--- /dev/null
+++ b/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;
+
+/**
+ *
+ * 工作端用户凭证登录信息
+ *
+ * @Author:songyunpeng
+ * @Date:2020/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;
+
+}
diff --git a/esua-epdc/epdc-gateway/src/main/resources/application.yml b/esua-epdc/epdc-gateway/src/main/resources/application.yml
index bf3dcee4..5c3c15cc 100644
--- a/esua-epdc/epdc-gateway/src/main/resources/application.yml
+++ b/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/** #工作端接口
diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAdminController.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAdminController.java
index 8f181538..500c7c4a 100644
--- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAdminController.java
+++ b/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 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
+ **/
+ @PostMapping("getScrip")
+ public Result getScrip(@LoginUser TokenDto userDetail){
+ return adminService.getScrip(userDetail);
+ }
}
diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAnalysisUserController.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAnalysisUserController.java
index b2f04e8c..620011c7 100644
--- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAnalysisUserController.java
+++ b/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
+ * @params [formDto]
+ * @author songyunpeng
+ * @since 2020/06/22 23:03
+ */
+ @PostMapping("scripLogin")
+ public Result scripLogin(@RequestBody WorkUserScripLoginDTO formDto) {
+ ValidatorUtils.validateEntity(formDto);
+ return analysisUserService.scripLogin(formDto);
+ }
/**
*
* 数据分析端-获取token
diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java
index bdcc6693..418ef534 100644
--- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java
+++ b/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> getDefaultGridInfoByDicType(@PathVariable("dictType") String dictType);
+
+
+ /**
+ * @Description 根据手机号和网格信息获取临时凭证
+ * @Author songyunpeng
+ * @Date 2020/6/22
+ * @Param [epdcScripUserInfoFormDTO]
+ * @return com.elink.esua.epdc.commons.tools.utils.Result
+ **/
+ @PostMapping(value = "sys/user/getUserInfoByGridAndMobile", consumes = MediaType.APPLICATION_JSON_VALUE)
+ Result getUserInfoByGridAndMobile(@RequestBody EpdcScripUserInfoFormDTO epdcScripUserInfoFormDTO);
}
diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/ResourceFeignClient.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/ResourceFeignClient.java
index 379644e0..f2cb2712 100644
--- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/ResourceFeignClient.java
+++ b/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
+ **/
+ @PostMapping("auth/workScripLogin")
+ Result workScripLogin(WorkUserScripLoginDTO formDto);
}
diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java
index 8601787d..1c7f98b6 100644
--- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java
+++ b/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> getDefaultGridInfoByDicType(String dictType) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "getDefaultGridInfoByDicType", dictType);
}
+
+
+ @Override
+ public Result getUserInfoByGridAndMobile(EpdcScripUserInfoFormDTO epdcScripUserInfoFormDTO) {
+ return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "getUserInfoByGridAndMobile", epdcScripUserInfoFormDTO);
+ }
}
diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/ResourceFeignClientFallback.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/ResourceFeignClientFallback.java
index 74849e24..db5da4b1 100644
--- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/ResourceFeignClientFallback.java
+++ b/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 workScripLogin(WorkUserScripLoginDTO formDto) {
+ return ModuleUtils.feignConError(ServiceConstant.EPDC_AUTH_SERVER, "workScripLogin", formDto);
+ }
}
diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AdminService.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AdminService.java
index ef819781..c2e2e1d2 100644
--- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AdminService.java
+++ b/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 getDefaultGridInfo(String dicType);
+ /**
+ * @Description 获取临时凭证
+ * @Author songyunpeng
+ * @Date 2020/6/22
+ * @Param [userDetail]
+ * @return com.elink.esua.epdc.commons.tools.utils.Result
+ **/
+ Result getScrip(TokenDto userDetail);
}
diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AnalysisUserService.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AnalysisUserService.java
index e7ebd1b5..58c2c7cf 100644
--- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AnalysisUserService.java
+++ b/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 getMaToken(EpdcWorkAppUserMaTokenFormDTO formDto);
-
+ /**
+ * @Description 用户凭证登录
+ * @Author songyunpeng
+ * @Date 2020/6/22
+ * @Param [formDto]
+ * @return com.elink.esua.epdc.commons.tools.utils.Result
+ **/
+ Result scripLogin(WorkUserScripLoginDTO formDto);
}
diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AdminServiceImpl.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AdminServiceImpl.java
index 4b9e7860..2e89a99d 100644
--- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AdminServiceImpl.java
+++ b/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().ok(defaultGrid);
}
+
+ @Override
+ public Result 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);
+ }
}
diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AnalysisUserServiceImpl.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AnalysisUserServiceImpl.java
index 4cf0b4f5..e4f54355 100644
--- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AnalysisUserServiceImpl.java
+++ b/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 scripLogin(WorkUserScripLoginDTO formDto) {
+ // 获取openId
+ String openId = this.getWxMaUser(formDto.getWxCode()).getOpenid();
+ formDto.setOpenId(openId);
+ return resourceFeignClient.workScripLogin(formDto);
+ }
}
From 01ba0b80c0901885866f968ba5fb0ee29f3fcc29 Mon Sep 17 00:00:00 2001
From: songyunpeng
Date: Wed, 24 Jun 2020 09:27:26 +0800
Subject: [PATCH 3/7] =?UTF-8?q?=E5=B1=85=E6=B0=91=E7=AB=AF=E8=B7=B3?=
=?UTF-8?q?=E8=BD=AC=E6=95=B0=E6=8D=AE=E7=AB=AF=E5=B0=8F=E7=A8=8B=E5=BA=8F?=
=?UTF-8?q?=20bug=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../esua/epdc/controller/AuthController.java | 5 +++--
.../elink/esua/epdc/service/AuthService.java | 3 ++-
.../epdc/service/impl/AuthServiceImpl.java | 14 +++++++++-----
.../dto/WorkUserAuthorizationScripDTO.java | 19 +++++++++++++++++++
4 files changed, 33 insertions(+), 8 deletions(-)
create mode 100644 esua-epdc/epdc-commons/epdc-common-clienttoken/src/main/java/com/elink/esua/epdc/common/token/dto/WorkUserAuthorizationScripDTO.java
diff --git a/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/controller/AuthController.java b/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/controller/AuthController.java
index 15e584b9..0a7c2585 100644
--- a/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/controller/AuthController.java
+++ b/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/controller/AuthController.java
@@ -139,14 +139,15 @@ public class AuthController {
public Result workScripLogin(@RequestBody WorkUserScripLoginDTO workUserLoginDto) {
//效验数据
ValidatorUtils.validateEntity(workUserLoginDto);
- Result result = authService.workScripLogin(workUserLoginDto.getScrip());
+ Result result = authService.workScripLogin(workUserLoginDto.getScrip());
if (result.success()) {
+ workUserLoginDto.setUsername(result.getData().getUsername());
// 解绑上一次登录账户并绑定当前账户
SysUserOpenIdFormDTO sysUserOpenIdFormDto = ConvertUtils.sourceToTarget(workUserLoginDto, SysUserOpenIdFormDTO.class);
authService.modifyOpenId(sysUserOpenIdFormDto);
}
- return result;
+ return new Result().ok(result.getData().getWorkUserAuthorizationDTO());
}
@PostMapping(value = "logout")
diff --git a/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/service/AuthService.java b/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/service/AuthService.java
index d5985dd4..a8163dcf 100644
--- a/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/service/AuthService.java
+++ b/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/service/AuthService.java
@@ -10,6 +10,7 @@ package com.elink.esua.epdc.service;
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.WorkUserAuthorizationScripDTO;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.AuthorizationDTO;
import com.elink.esua.epdc.dto.DataScopeDeptList;
@@ -82,5 +83,5 @@ public interface AuthService {
* @Param [scrip]
* @return com.elink.esua.epdc.commons.tools.utils.Result
**/
- Result workScripLogin(String scrip);
+ Result workScripLogin(String scrip);
}
diff --git a/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/service/impl/AuthServiceImpl.java b/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/service/impl/AuthServiceImpl.java
index 835d95c8..3e249bd1 100644
--- a/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/service/impl/AuthServiceImpl.java
+++ b/esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/service/impl/AuthServiceImpl.java
@@ -12,6 +12,7 @@ import com.elink.esua.epdc.async.UserDeptTask;
import com.elink.esua.epdc.common.token.dto.DeptDataScopeDTO;
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.WorkUserAuthorizationScripDTO;
import com.elink.esua.epdc.common.token.util.CpUserDetailRedis;
import com.elink.esua.epdc.commons.tools.constant.Constant;
import com.elink.esua.epdc.commons.tools.constant.NumConstant;
@@ -299,7 +300,7 @@ public class AuthServiceImpl implements AuthService {
}
@Override
- public Result workScripLogin(String scrip) {
+ public Result workScripLogin(String scrip) {
HttpServletRequest request = HttpContextUtils.getHttpServletRequest();
//获取用户信息
@@ -324,7 +325,7 @@ public class AuthServiceImpl implements AuthService {
log.setCreatorName(scrip);
logProducer.saveLog(log);
authorization.setRegisterState(NumConstant.ZERO_STR);
- return new Result().error("未根据凭证获取到用户");
+ return new Result().error("未根据凭证获取到用户");
}
//账号停用
@@ -333,7 +334,7 @@ public class AuthServiceImpl implements AuthService {
log.setCreator(user.getId());
log.setCreatorName(user.getUsername());
logProducer.saveLog(log);
- return new Result().error("账号已停用");
+ return new Result().error("账号已停用");
}
//保存到Redis
@@ -360,6 +361,9 @@ public class AuthServiceImpl implements AuthService {
authorization.setRegisterState(NumConstant.ONE_STR);
userDeptTask.packageUserDeptOptions(user.getId());
-
- return new Result().ok(authorization); }
+ WorkUserAuthorizationScripDTO workUserAuthorizationScripDTO = new WorkUserAuthorizationScripDTO();
+ workUserAuthorizationScripDTO.setWorkUserAuthorizationDTO(authorization);
+ workUserAuthorizationScripDTO.setUsername(user.getUsername());
+ return new Result().ok(workUserAuthorizationScripDTO);
+ }
}
diff --git a/esua-epdc/epdc-commons/epdc-common-clienttoken/src/main/java/com/elink/esua/epdc/common/token/dto/WorkUserAuthorizationScripDTO.java b/esua-epdc/epdc-commons/epdc-common-clienttoken/src/main/java/com/elink/esua/epdc/common/token/dto/WorkUserAuthorizationScripDTO.java
new file mode 100644
index 00000000..8d206dfd
--- /dev/null
+++ b/esua-epdc/epdc-commons/epdc-common-clienttoken/src/main/java/com/elink/esua/epdc/common/token/dto/WorkUserAuthorizationScripDTO.java
@@ -0,0 +1,19 @@
+package com.elink.esua.epdc.common.token.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author songyunpeng
+ * @Description 数据端临时凭证登录返回
+ * @create 2020-06-23
+ */
+@Data
+public class WorkUserAuthorizationScripDTO implements Serializable {
+ private static final long serialVersionUID = 1905641243346550379L;
+
+ private String username;
+ private WorkUserAuthorizationDTO workUserAuthorizationDTO;
+
+}
From 0e5991d3f256ac0684eb4cb783cd9263be25c35f Mon Sep 17 00:00:00 2001
From: songyunpeng
Date: Wed, 24 Jun 2020 10:15:07 +0800
Subject: [PATCH 4/7] =?UTF-8?q?=E5=BF=97=E6=84=BF=E8=80=85=E6=B4=BB?=
=?UTF-8?q?=E5=8A=A8=E6=8E=92=E5=BA=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/main/resources/mapper/activity/ActInfoDao.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActInfoDao.xml b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActInfoDao.xml
index 53886f82..7c118a94 100644
--- a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActInfoDao.xml
+++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActInfoDao.xml
@@ -164,7 +164,7 @@
when #{timestamp}
then '4'
end as actCurrentState,
- IF(relation.USER_ID = #{userId},'1','0') as signupFlag
+ IF(relation.USER_ID = #{userId},'1','0') as signupFlag,actInfo.CREATED_TIME
FROM
epdc_act_info actInfo
left join epdc_act_user_relation relation on relation.DEL_FLAG = '0'
@@ -182,7 +182,7 @@
#{timestamp}
) temp
- ORDER BY temp.actCurrentState ASC
+ ORDER BY temp.actCurrentState ASC,temp.CREATED_TIME desc
,temp.PUBLISH_TIME DESC
,temp.ACT_START_TIME ASC
LIMIT #{pageIndex},#{pageSize}
From e661de76faad4d1524aaaf89349dad4204c6d637 Mon Sep 17 00:00:00 2001
From: zhangyongzhangyong <2012005003@qq.coom>
Date: Wed, 24 Jun 2020 15:17:38 +0800
Subject: [PATCH 5/7] =?UTF-8?q?=E7=A7=AF=E5=88=86=E8=AE=B0=E5=BD=95-?=
=?UTF-8?q?=E7=AD=89=E7=BA=A7=E6=8E=92=E5=90=8D=E5=88=97=E8=A1=A8=E6=8E=A5?=
=?UTF-8?q?=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../epdc/controller/ApiAppUserController.java | 14 +++++
.../esua/epdc/feign/UserFeignClient.java | 11 ++++
.../fallback/UserFeignClientFallback.java | 5 ++
.../esua/epdc/service/AppUserService.java | 10 ++++
.../epdc/service/impl/AppUserServiceImpl.java | 15 +++++
.../form/EpdcAppUserGradeRankingFormDTO.java | 58 ++++++++++++++++++
.../EpdcAppUserGradeRankingResultDTO.java | 30 ++++++++++
.../dto/epdc/result/UsersGradeRankingDTO.java | 36 +++++++++++
.../controller/EpdcAppUserController.java | 15 +++++
.../java/com/elink/esua/epdc/dao/UserDao.java | 25 ++++++--
.../elink/esua/epdc/service/UserService.java | 18 ++++--
.../epdc/service/impl/UserServiceImpl.java | 45 ++++++++++++++
.../src/main/resources/mapper/UserDao.xml | 59 +++++++++++++++++++
13 files changed, 332 insertions(+), 9 deletions(-)
create mode 100644 esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcAppUserGradeRankingFormDTO.java
create mode 100644 esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/result/EpdcAppUserGradeRankingResultDTO.java
create mode 100644 esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/result/UsersGradeRankingDTO.java
diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAppUserController.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAppUserController.java
index 3806ccbb..36b2c6ae 100644
--- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAppUserController.java
+++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAppUserController.java
@@ -355,4 +355,18 @@ public class ApiAppUserController {
ValidatorUtils.validateEntity(formDto);
return appUserService.listUserPointsRanking(userDetail, formDto);
}
+
+ /**
+ * 积分中心页面-积分等级排名
+ * 返回当前用户的排名 和 当前街道的前N名用户排名
+ * @param userDetail, formDTO
+ * @return com.elink.esua.epdc.commons.tools.utils.Result
+ * @Author zhangyong
+ * @Date 10:59 2020-06-24
+ **/
+ @GetMapping("user/gradeRanking/list")
+ public Result listUserGradesRanking(@LoginUser TokenDto userDetail, EpdcAppUserGradeRankingFormDTO formDTO){
+ ValidatorUtils.validateEntity(formDTO);
+ return appUserService.listUserGradesRanking(userDetail, formDTO);
+ }
}
diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java
index 37ec810f..836f2a14 100644
--- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java
+++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java
@@ -410,4 +410,15 @@ public interface UserFeignClient {
**/
@GetMapping(value = "app-user/epdc-app/user/listUserPointsRanking/list", consumes = MediaType.APPLICATION_JSON_VALUE)
Result selectListUserPointsRanking(EpdcAppUserRankingFormDTO formDto);
+
+ /**
+ * 积分中心页面-积分等级排名
+ * 返回当前用户的排名 和 当前街道的前N名用户排名
+ * @param formDTO
+ * @return com.elink.esua.epdc.commons.tools.utils.Result
+ * @Author zhangyong
+ * @Date 10:59 2020-06-24
+ **/
+ @GetMapping(value = "app-user/epdc-app/user/gradeRanking/list", consumes = MediaType.APPLICATION_JSON_VALUE)
+ Result selectListUserGradesRanking(EpdcAppUserGradeRankingFormDTO formDTO);
}
diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java
index 454d926d..70604c9b 100644
--- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java
+++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java
@@ -199,4 +199,9 @@ public class UserFeignClientFallback implements UserFeignClient {
public Result selectListUserPointsRanking(EpdcAppUserRankingFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "selectListUserPointsRanking", "formDto");
}
+
+ @Override
+ public Result selectListUserGradesRanking(EpdcAppUserGradeRankingFormDTO formDTO) {
+ return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "selectListUserGradesRanking", "formDTO");
+ }
}
diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AppUserService.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AppUserService.java
index 31fc1987..ef236947 100644
--- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AppUserService.java
+++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AppUserService.java
@@ -289,4 +289,14 @@ public interface AppUserService {
* @Date 13:35 2020-06-01
**/
Result listUserPointsRanking(TokenDto userDetail, EpdcAppUserRankingFormDTO formDto);
+
+ /**
+ * 积分中心页面-积分等级排名
+ * 返回当前用户的排名 和 当前街道的前N名用户排名
+ * @param userDetail, formDTO
+ * @return com.elink.esua.epdc.commons.tools.utils.Result
+ * @Author zhangyong
+ * @Date 10:59 2020-06-24
+ **/
+ Result listUserGradesRanking(TokenDto userDetail, EpdcAppUserGradeRankingFormDTO formDTO);
}
diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java
index 6727f8ba..2f0134bd 100644
--- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java
+++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java
@@ -1505,4 +1505,19 @@ public class AppUserServiceImpl implements AppUserService {
return userFeignClient.selectListUserPointsRanking(formDto);
}
+
+ @Override
+ public Result listUserGradesRanking(TokenDto userDetail, EpdcAppUserGradeRankingFormDTO formDTO) {
+ formDTO.setUserId(userDetail.getUserId());
+ formDTO.setNickName(userDetail.getNickname());
+ formDTO.setPointsTotle(userDetail.getPointsTotle());
+ Result deptInfo = adminFeignClient.getCompleteDept(userDetail.getGridId());
+ if (deptInfo.success()) {
+ formDTO.setStreetId(deptInfo.getData().getStreetId());
+ } else {
+ return new Result().error("当前用户,无所属街道");
+ }
+ return userFeignClient.selectListUserGradesRanking(formDTO);
+ }
+
}
diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcAppUserGradeRankingFormDTO.java b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcAppUserGradeRankingFormDTO.java
new file mode 100644
index 00000000..5b3a74f5
--- /dev/null
+++ b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcAppUserGradeRankingFormDTO.java
@@ -0,0 +1,58 @@
+package com.elink.esua.epdc.dto.epdc.form;
+
+import lombok.Data;
+
+import javax.validation.constraints.Min;
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+
+/**
+ * 移动端接口-用户管理模块-积分记录-等级排名接口 入参
+ * @Author zhangyong
+ * @Date 2020-06-24
+ */
+@Data
+public class EpdcAppUserGradeRankingFormDTO implements Serializable {
+
+ private static final long serialVersionUID = 202029992792275120L;
+
+ /**
+ * 页码
+ */
+ @Min(value = 1, message = "页码必须大于0")
+ private Integer pageIndex;
+
+ /**
+ * 页容量
+ */
+ @Min(value = 1, message = "页容量必须大于0")
+ private Integer pageSize;
+
+ /**
+ * 第一页查询发起时的时间
+ */
+ @NotBlank(message = "时间戳不能为空")
+ private String timestamp;
+
+ /**
+ * 用户ID
+ */
+ private String userId;
+
+ /**
+ * 用户昵称
+ */
+ private String nickName;
+
+ /**
+ * 街道ID
+ */
+ private Long streetId;
+
+ /**
+ * 用户累计积分
+ */
+ private Integer pointsTotle;
+
+}
diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/result/EpdcAppUserGradeRankingResultDTO.java b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/result/EpdcAppUserGradeRankingResultDTO.java
new file mode 100644
index 00000000..6e5ec6d2
--- /dev/null
+++ b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/result/EpdcAppUserGradeRankingResultDTO.java
@@ -0,0 +1,30 @@
+package com.elink.esua.epdc.dto.epdc.result;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 移动端接口-用户管理模块-积分记录-等级排名接口 返回值
+ * @Author zhangyong
+ * @Date 2020-06-24
+ */
+@Data
+public class EpdcAppUserGradeRankingResultDTO implements Serializable {
+
+ private static final long serialVersionUID = 3908231797102233188L;
+
+ /**
+ * 积分排行-等级排名接口返回值 - 前二十列表
+ */
+ private List rank;
+
+ /**
+ * 积分排行-等级排名接口返回值 -用户等级
+ */
+ private UsersGradeRankingDTO currentUser;
+
+
+
+}
diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/result/UsersGradeRankingDTO.java b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/result/UsersGradeRankingDTO.java
new file mode 100644
index 00000000..2675d46c
--- /dev/null
+++ b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/result/UsersGradeRankingDTO.java
@@ -0,0 +1,36 @@
+package com.elink.esua.epdc.dto.epdc.result;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 移动端接口-用户管理模块-积分记录-等级排名接口 具体返回值
+ * @Author zhangyong
+ * @Date 2020-06-24
+ */
+@Data
+public class UsersGradeRankingDTO implements Serializable {
+
+ private static final long serialVersionUID = 3908231797102233188L;
+
+ /**
+ * 用户ID
+ */
+ private String userId;
+
+ /**
+ * 用户昵称
+ */
+ private String nickName;
+
+ /**
+ * 用户等级
+ */
+ private Integer grade;
+
+ /**
+ * 取排行榜 名次
+ */
+ private Integer rank;
+}
diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppUserController.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppUserController.java
index 69e24504..16741f28 100644
--- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppUserController.java
+++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppUserController.java
@@ -1,8 +1,10 @@
package com.elink.esua.epdc.controller;
+import com.elink.esua.epdc.commons.tools.annotation.LoginUser;
import com.elink.esua.epdc.commons.tools.constant.Constant;
import com.elink.esua.epdc.commons.tools.security.user.SecurityUser;
import com.elink.esua.epdc.commons.tools.utils.Result;
+import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.dto.CachingUserInfoDTO;
import com.elink.esua.epdc.dto.UserDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserGroupInviteFormDTO;
@@ -427,4 +429,17 @@ public class EpdcAppUserController {
EpdcAppUserRankingResultDTO list = userService.listUserPointsRanking(formDto);
return new Result().ok(list);
}
+
+ /**
+ * 积分中心页面-积分等级排名
+ * 返回当前用户的排名 和 当前街道的前N名用户排名
+ * @param formDTO
+ * @return com.elink.esua.epdc.commons.tools.utils.Result
+ * @Author zhangyong
+ * @Date 10:59 2020-06-24
+ **/
+ @GetMapping("gradeRanking/list")
+ public Result listUsersGradeRanking(@RequestBody EpdcAppUserGradeRankingFormDTO formDTO){
+ return userService.listUsersGradeRanking(formDTO);
+ }
}
diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserDao.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserDao.java
index 2e739c2a..2c93e927 100644
--- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserDao.java
+++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserDao.java
@@ -21,10 +21,7 @@ import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.CachingUserInfoDTO;
import com.elink.esua.epdc.dto.UserDTO;
import com.elink.esua.epdc.dto.UserPointsDTO;
-import com.elink.esua.epdc.dto.epdc.form.EpdcAppUserRankingFormDTO;
-import com.elink.esua.epdc.dto.epdc.form.EpdcUnauthorizedAmountFromDTO;
-import com.elink.esua.epdc.dto.epdc.form.EpdcUserGroupInviteFormDTO;
-import com.elink.esua.epdc.dto.epdc.form.EpdcWorkUserFromDTO;
+import com.elink.esua.epdc.dto.epdc.form.*;
import com.elink.esua.epdc.dto.epdc.result.*;
import com.elink.esua.epdc.entity.UserEntity;
import org.apache.ibatis.annotations.Mapper;
@@ -257,11 +254,29 @@ public interface UserDao extends BaseDao {
**/
List selectListOfWaitPartyUserDto(Map params);
/**
- * @Description 工作端待认证居民
+ * @Description 工作端待认证居民
* @Author songyunpeng
* @Date 2020/6/12
* @Param [workUserFromDto]
* @return java.util.List
**/
List selectWorkResidentUserList(EpdcWorkUserFromDTO workUserFromDto);
+
+ /**
+ * 获取街道 下的用户等级排名
+ * @param formDto
+ * @return java.util.List
+ * @Author zhangyong
+ * @Date 13:52 2020-06-024
+ **/
+ List selectListUsersGradeRanking(EpdcAppUserGradeRankingFormDTO formDto);
+
+ /**
+ * 获取当前用户的 用户等级排名
+ * @param formDto
+ * @return com.elink.esua.epdc.dto.epdc.result.UsersGradeRankingDTO
+ * @Author zhangyong
+ * @Date 14:06 2020-06-24
+ **/
+ UsersGradeRankingDTO selectCurrentUserGradeRanking(EpdcAppUserGradeRankingFormDTO formDto);
}
diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java
index 2771a212..f3ad34d1 100644
--- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java
+++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java
@@ -335,7 +335,7 @@ public interface UserService extends BaseService {
**/
PageData pageForPoints(Map params);
/**
- * @Description 待认证党员
+ * @Description 待认证党员
* @Author songyunpeng
* @Date 2020/6/10
* @Param [params]
@@ -343,7 +343,7 @@ public interface UserService extends BaseService {
**/
PageData waitPartyPage(Map params);
/**
- * @Description 待认证党员导出
+ * @Description 待认证党员导出
* @Author songyunpeng
* @Date 2020/6/10
* @Param [params]
@@ -351,7 +351,7 @@ public interface UserService extends BaseService {
**/
List listOfWaitParty(Map params);
/**
- * @Description 党员认证通过并更新党员库信息
+ * @Description 党员认证通过并更新党员库信息
* @Author songyunpeng
* @Date 2020/6/10
* @Param [dto]
@@ -359,7 +359,7 @@ public interface UserService extends BaseService {
**/
Result modifyPartyInfo(PartyMemberModifyFormDTO dto);
/**
- * @Description 党员认证
+ * @Description 党员认证
* @Author songyunpeng
* @Date 2020/6/10
* @Param [dto]
@@ -377,4 +377,14 @@ public interface UserService extends BaseService {
* @since 2020/3/25 14:33
*/
Result addPartyInfo(PartyMemberModifyFormDTO dto);
+
+ /**
+ * 积分中心页面-积分等级排名
+ * 返回当前用户的排名 和 当前街道的前N名用户排名
+ * @param formDto
+ * @return com.elink.esua.epdc.commons.tools.utils.Result
+ * @Author zhangyong
+ * @Date 10:59 2020-06-24
+ **/
+ Result listUsersGradeRanking(EpdcAppUserGradeRankingFormDTO formDto);
}
diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java
index b8087c6a..2f08aec6 100644
--- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java
+++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java
@@ -1299,4 +1299,49 @@ public class UserServiceImpl extends BaseServiceImpl implem
return new PageData<>(list, page.getTotal());
}
+ @Override
+ public Result listUsersGradeRanking(EpdcAppUserGradeRankingFormDTO formDto) {
+ int pageIndex = (formDto.getPageIndex() - NumConstant.ONE) * formDto.getPageSize();
+ formDto.setPageIndex(pageIndex);
+ // 等级相同,排名相同
+ EpdcAppUserGradeRankingResultDTO rangking = new EpdcAppUserGradeRankingResultDTO();
+ // 获取排好序的 排行榜数据数据
+ rangking.setRank(this.sortListUsersGradeRank(formDto));
+
+ // 查询当前用户的排名
+ UsersGradeRankingDTO userRang = baseDao.selectCurrentUserGradeRanking(formDto);
+ // 用户产生过积分记录,返回积分排名
+ if (userRang != null) {
+ userRang.setUserId(formDto.getUserId());
+ userRang.setNickName(formDto.getNickName());
+ rangking.setCurrentUser(userRang);
+ }
+ return new Result().ok(rangking);
+ }
+
+ /**
+ * 获取【排好序】的 用户等级排行榜数据
+ * @param formDto
+ * @return java.util.List
+ * @Author zhangyong
+ * @Date 13:50 2020-06-24
+ **/
+ private List sortListUsersGradeRank(EpdcAppUserGradeRankingFormDTO formDto){
+ List listPointsRank = new ArrayList<>();
+ listPointsRank = baseDao.selectListUsersGradeRanking(formDto);
+ int sortNumber = NumConstant.ONE;
+ if (listPointsRank != null){
+ for (int i = NumConstant.ONE; i < listPointsRank.size(); i++){
+ listPointsRank.get(0).setRank(NumConstant.ONE);
+ if(listPointsRank.get(i - NumConstant.ONE).getGrade().intValue() == listPointsRank.get(i).getGrade().intValue()){
+ listPointsRank.get(i).setRank(sortNumber);
+ } else {
+ sortNumber = sortNumber + NumConstant.ONE;
+ listPointsRank.get(i).setRank(sortNumber);
+ }
+ }
+ }
+ return listPointsRank;
+ }
+
}
diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml
index 58f2c16e..74c0b62f 100644
--- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml
+++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml
@@ -772,4 +772,63 @@
ORDER BY u.REGISTER_TIME DESC
LIMIT #{pageIndex},#{pageSize}
+
+
+
+
From e27885248cc8fd5af6d884f4bb3228ba90510666 Mon Sep 17 00:00:00 2001
From: zhangyongzhangyong <2012005003@qq.coom>
Date: Wed, 24 Jun 2020 15:27:46 +0800
Subject: [PATCH 6/7] =?UTF-8?q?=E8=BF=BD=E5=8A=A0=E4=B8=8A=E6=AC=A1?=
=?UTF-8?q?=E6=8F=90=E4=BA=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../epdc-user-server/src/main/resources/mapper/UserDao.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml
index 74c0b62f..e552fb6a 100644
--- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml
+++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml
@@ -776,12 +776,12 @@