Browse Source

Merge remote-tracking branch 'origin/feature/lc_jumpData'

# Conflicts:
#	esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java
#	esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java
feature/syp_points
liuchuang 5 years ago
parent
commit
8c7594f4dd
  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. 23
      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. 9
      esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/service/AuthService.java
  13. 69
      esua-epdc/epdc-auth/src/main/java/com/elink/esua/epdc/service/impl/AuthServiceImpl.java
  14. 19
      esua-epdc/epdc-commons/epdc-common-clienttoken/src/main/java/com/elink/esua/epdc/common/token/dto/WorkUserAuthorizationScripDTO.java
  15. 30
      esua-epdc/epdc-commons/epdc-common-clienttoken/src/main/java/com/elink/esua/epdc/common/token/dto/WorkUserScripLoginDTO.java
  16. 1
      esua-epdc/epdc-gateway/src/main/resources/application.yml
  17. 5
      esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/ImgConfigDTO.java
  18. 5
      esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/result/EpdcImgConfigResultDTO.java
  19. 15
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAdminController.java
  20. 17
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAnalysisUserController.java
  21. 14
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAppUserController.java
  22. 5
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/entity/ImgConfigEntity.java
  23. 15
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java
  24. 10
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/ResourceFeignClient.java
  25. 11
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java
  26. 7
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java
  27. 6
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/ResourceFeignClientFallback.java
  28. 5
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java
  29. 9
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AdminService.java
  30. 12
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AnalysisUserService.java
  31. 10
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AppUserService.java
  32. 13
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AdminServiceImpl.java
  33. 10
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AnalysisUserServiceImpl.java
  34. 15
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java
  35. 7
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/resources/mapper/ImgConfigDao.xml
  36. 4
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActInfoDao.xml
  37. 4
      esua-epdc/epdc-module/epdc-party-group/epdc-party-group-client/src/main/java/com/elink/esua/epdc/dto/enums/DayOfWeekEnum.java
  38. 2
      esua-epdc/epdc-module/epdc-party-group/epdc-party-group-server/src/main/resources/mapper/PartyGroupGuideDao.xml
  39. 58
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcAppUserGradeRankingFormDTO.java
  40. 30
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/result/EpdcAppUserGradeRankingResultDTO.java
  41. 36
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/result/UsersGradeRankingDTO.java
  42. 15
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppUserController.java
  43. 25
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserDao.java
  44. 18
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java
  45. 45
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java
  46. 59
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml

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 * 微信openId
*/ */
private String 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.commons.tools.validator.group.UpdateGroup;
import com.elink.esua.epdc.dto.*; import com.elink.esua.epdc.dto.*;
import com.elink.esua.epdc.dto.epdc.GridLeaderRegisterDTO; 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.excel.SysUserExcel;
import com.elink.esua.epdc.service.*; import com.elink.esua.epdc.service.*;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@ -374,4 +375,33 @@ public class SysUserController {
return sysUserService.getSysGridLeaderPhone(deptId); 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; 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.SysUserDTO;
import com.elink.esua.epdc.dto.SysUserOpenIdFormDTO; 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.entity.SysUserEntity;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -105,4 +106,21 @@ public interface SysUserDao extends BaseDao<SysUserEntity> {
* @Date: 2020-01-09 * @Date: 2020-01-09
*/ */
List<String> getSysGridLeaderPhone(Long deptId); 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 * 用户微信openId
*/ */
private String 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.SysUserDTO;
import com.elink.esua.epdc.dto.SysUserOpenIdFormDTO; import com.elink.esua.epdc.dto.SysUserOpenIdFormDTO;
import com.elink.esua.epdc.dto.epdc.GridLeaderRegisterDTO; 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.entity.SysUserEntity;
import java.util.List; import java.util.List;
@ -118,4 +119,20 @@ public interface SysUserService extends BaseService<SysUserEntity> {
* @Date: 2020-01-09 * @Date: 2020-01-09
*/ */
Result<List<String>> getSysGridLeaderPhone(Long deptId); 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.SysUserOpenIdFormDTO;
import com.elink.esua.epdc.dto.epdc.GridForLeaderRegisterDTO; import com.elink.esua.epdc.dto.epdc.GridForLeaderRegisterDTO;
import com.elink.esua.epdc.dto.epdc.GridLeaderRegisterDTO; 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.entity.SysUserEntity;
import com.elink.esua.epdc.service.SysDeptService; import com.elink.esua.epdc.service.SysDeptService;
import com.elink.esua.epdc.service.SysRoleUserService; 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)); 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} AND d.dept_id = #{deptId}
) c ) c
</select> </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> </mapper>

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

@ -126,6 +126,29 @@ public class AuthController {
return result; 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<WorkUserAuthorizationScripDTO> result = authService.workScripLogin(workUserLoginDto.getScrip());
if (result.success()) {
workUserLoginDto.setUsername(result.getData().getUsername());
// 解绑上一次登录账户并绑定当前账户
SysUserOpenIdFormDTO sysUserOpenIdFormDto = ConvertUtils.sourceToTarget(workUserLoginDto, SysUserOpenIdFormDTO.class);
authService.modifyOpenId(sysUserOpenIdFormDto);
}
return new Result<WorkUserAuthorizationDTO>().ok(result.getData().getWorkUserAuthorizationDTO());
}
@PostMapping(value = "logout") @PostMapping(value = "logout")
@ApiOperation(value = "退出") @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}") @GetMapping("sys/user/updateUserOpenId/{userId}")
Result updateUserOpenId(@PathVariable("userId") Long 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) { public Result updateUserOpenId(Long userId) {
return new Result<>(); return new Result<>();
} }
@Override
public Result<UserDetail> getByScrip(String scrip) {
return new Result<>();
}
} }

9
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.TokenDto;
import com.elink.esua.epdc.common.token.dto.WorkUserAuthorizationDTO; 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.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.AuthorizationDTO; import com.elink.esua.epdc.dto.AuthorizationDTO;
import com.elink.esua.epdc.dto.DataScopeDeptList; import com.elink.esua.epdc.dto.DataScopeDeptList;
@ -75,4 +76,12 @@ public interface AuthService {
* 退出 * 退出
*/ */
Result logoutUser(Long userId); 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<WorkUserAuthorizationScripDTO> workScripLogin(String scrip);
} }

69
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.DeptDataScopeDTO;
import com.elink.esua.epdc.common.token.dto.TokenDto; 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.WorkUserAuthorizationDTO;
import com.elink.esua.epdc.common.token.dto.WorkUserAuthorizationScripDTO;
import com.elink.esua.epdc.common.token.util.CpUserDetailRedis; 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.Constant;
import com.elink.esua.epdc.commons.tools.constant.NumConstant; import com.elink.esua.epdc.commons.tools.constant.NumConstant;
@ -297,4 +298,72 @@ public class AuthServiceImpl implements AuthService {
} }
@Override
public Result<WorkUserAuthorizationScripDTO> 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<WorkUserAuthorizationScripDTO>().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<WorkUserAuthorizationScripDTO>().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());
WorkUserAuthorizationScripDTO workUserAuthorizationScripDTO = new WorkUserAuthorizationScripDTO();
workUserAuthorizationScripDTO.setWorkUserAuthorizationDTO(authorization);
workUserAuthorizationScripDTO.setUsername(user.getUsername());
return new Result<WorkUserAuthorizationScripDTO>().ok(workUserAuthorizationScripDTO);
}
} }

19
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;
}

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/work/user/login #工作端-登录
- /api/analysis/user/getToken #数据分析端-获取token - /api/analysis/user/getToken #数据分析端-获取token
- /api/analysis/user/login #数据分析端-登录 - /api/analysis/user/login #数据分析端-登录
- /api/analysis/user/scripLogin #工作端-用户凭证登录
- /api/work/*/swagger/** - /api/work/*/swagger/**
workUrls: workUrls:
- /api/work/** #工作端接口 - /api/work/** #工作端接口

5
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 imgCode;
/**
* 备注
*/
private String remark;
} }

5
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 imgCode;
/**
* 备注
*/
private String remark;
} }

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; 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.commons.tools.utils.Result;
import com.elink.esua.epdc.service.AdminService; import com.elink.esua.epdc.service.AdminService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; 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.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
@ -33,4 +36,16 @@ public class ApiAdminController {
public Result<String> getCompleteDeptName(Long gridId) { public Result<String> getCompleteDeptName(Long gridId) {
return adminService.getCompleteDeptName(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.TokenDto;
import com.elink.esua.epdc.common.token.dto.WorkUserAuthorizationDTO; 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.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.annotation.LoginUser;
import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; 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.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List;
/** /**
* 移动端接口-数据分析模块(项目) * 移动端接口-数据分析模块(项目)
* @Author LPF * @Author LPF
@ -52,7 +51,19 @@ public class ApiAnalysisUserController {
ValidatorUtils.validateEntity(formDto); ValidatorUtils.validateEntity(formDto);
return analysisUserService.login(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 * 数据分析端-获取token

14
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); ValidatorUtils.validateEntity(formDto);
return appUserService.listUserPointsRanking(userDetail, formDto); return appUserService.listUserPointsRanking(userDetail, formDto);
} }
/**
* 积分中心页面-积分等级排名
* 返回当前用户的排名 当前街道的前N名用户排名
* @param userDetail, formDTO
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.epdc.result.EpdcAppUserGradeRankingResultDTO>
* @Author zhangyong
* @Date 10:59 2020-06-24
**/
@GetMapping("user/gradeRanking/list")
public Result<EpdcAppUserGradeRankingResultDTO> listUserGradesRanking(@LoginUser TokenDto userDetail, EpdcAppUserGradeRankingFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO);
return appUserService.listUserGradesRanking(userDetail, formDTO);
}
} }

5
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 imgCode;
/**
* 备注
*/
private String remark;
} }

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.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.*; import com.elink.esua.epdc.dto.*;
import com.elink.esua.epdc.dto.epdc.GridLeaderRegisterDTO; 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.dto.epdc.result.EpdcAppIndexPanelResultDTO;
import com.elink.esua.epdc.feign.fallback.AdminFeignClientFallback; import com.elink.esua.epdc.feign.fallback.AdminFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable; 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; import java.util.List;
@ -109,4 +113,15 @@ public interface AdminFeignClient {
*/ */
@GetMapping("/sys/dict/listSimple/{dictType}") @GetMapping("/sys/dict/listSimple/{dictType}")
Result<List<SysSimpleDictDTO>> getDefaultGridInfoByDicType(@PathVariable("dictType") String 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.WorkUserAuthorizationDTO;
import com.elink.esua.epdc.common.token.dto.WorkUserLoginDTO; 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.common.token.dto.WorkUserTokenFormDTO;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.utils.Result;
@ -53,4 +54,13 @@ public interface ResourceFeignClient {
*/ */
@GetMapping("auth/logoutUser/{userId}") @GetMapping("auth/logoutUser/{userId}")
Result logoutUser(@PathVariable("userId") String 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);
} }

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

@ -420,4 +420,15 @@ public interface UserFeignClient {
**/ **/
@PostMapping(value = "app-user/user/addPerfectPoints", consumes = MediaType.APPLICATION_JSON_VALUE) @PostMapping(value = "app-user/user/addPerfectPoints", consumes = MediaType.APPLICATION_JSON_VALUE)
Result addPerfectPoints(UserDTO dto); Result addPerfectPoints(UserDTO dto);
/**
* 积分中心页面-积分等级排名
* 返回当前用户的排名 当前街道的前N名用户排名
* @param formDTO
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.epdc.result.EpdcAppUserGradeRankingResultDTO>
* @Author zhangyong
* @Date 10:59 2020-06-24
**/
@GetMapping(value = "app-user/epdc-app/user/gradeRanking/list", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<EpdcAppUserGradeRankingResultDTO> selectListUserGradesRanking(EpdcAppUserGradeRankingFormDTO 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.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.*; import com.elink.esua.epdc.dto.*;
import com.elink.esua.epdc.dto.epdc.GridLeaderRegisterDTO; 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.dto.epdc.result.EpdcAppIndexPanelResultDTO;
import com.elink.esua.epdc.feign.AdminFeignClient; import com.elink.esua.epdc.feign.AdminFeignClient;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@ -58,4 +59,10 @@ public class AdminFeignClientFallback implements AdminFeignClient {
public Result<List<SysSimpleDictDTO>> getDefaultGridInfoByDicType(String dictType) { public Result<List<SysSimpleDictDTO>> getDefaultGridInfoByDicType(String dictType) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "getDefaultGridInfoByDicType", 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.WorkUserAuthorizationDTO;
import com.elink.esua.epdc.common.token.dto.WorkUserLoginDTO; 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.common.token.dto.WorkUserTokenFormDTO;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.ModuleUtils; import com.elink.esua.epdc.commons.tools.utils.ModuleUtils;
@ -33,4 +34,9 @@ public class ResourceFeignClientFallback implements ResourceFeignClient {
public Result logoutUser(String userId) { public Result logoutUser(String userId) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_AUTH_SERVER, "logoutUser", 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);
}
} }

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

@ -204,4 +204,9 @@ public class UserFeignClientFallback implements UserFeignClient {
public Result addPerfectPoints(UserDTO dto) { public Result addPerfectPoints(UserDTO dto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "addPerfectPoints", dto); return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "addPerfectPoints", dto);
} }
@Override
public Result<EpdcAppUserGradeRankingResultDTO> selectListUserGradesRanking(EpdcAppUserGradeRankingFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "selectListUserGradesRanking", "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; package com.elink.esua.epdc.service;
import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.utils.Result;
/** /**
@ -29,4 +30,12 @@ public interface AdminService {
* @Date 11:08 2020-06-02 * @Date 11:08 2020-06-02
**/ **/
Result<String> getDefaultGridInfo(String dicType); 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.WorkUserAuthorizationDTO;
import com.elink.esua.epdc.common.token.dto.WorkUserLoginDTO; 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.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.form.EpdcWorkAppUserMaTokenFormDTO; import com.elink.esua.epdc.dto.form.EpdcWorkAppUserMaTokenFormDTO;
import java.util.List;
/** /**
* 项目模块-数据分析移动端 * 项目模块-数据分析移动端
* @Author LPF * @Author LPF
@ -44,5 +43,12 @@ public interface AnalysisUserService {
* @since 2020/2/12 11:00 * @since 2020/2/12 11:00
*/ */
Result<WorkUserAuthorizationDTO> getMaToken(EpdcWorkAppUserMaTokenFormDTO formDto); 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);
} }

10
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 * @Date 13:35 2020-06-01
**/ **/
Result<EpdcAppUserRankingResultDTO> listUserPointsRanking(TokenDto userDetail, EpdcAppUserRankingFormDTO formDto); Result<EpdcAppUserRankingResultDTO> listUserPointsRanking(TokenDto userDetail, EpdcAppUserRankingFormDTO formDto);
/**
* 积分中心页面-积分等级排名
* 返回当前用户的排名 当前街道的前N名用户排名
* @param userDetail, formDTO
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.epdc.result.EpdcAppUserGradeRankingResultDTO>
* @Author zhangyong
* @Date 10:59 2020-06-24
**/
Result<EpdcAppUserGradeRankingResultDTO> listUserGradesRanking(TokenDto userDetail, EpdcAppUserGradeRankingFormDTO 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; 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.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.CompleteDeptDTO; import com.elink.esua.epdc.dto.CompleteDeptDTO;
import com.elink.esua.epdc.dto.SysSimpleDictDTO; 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.feign.AdminFeignClient;
import com.elink.esua.epdc.service.AdminService; import com.elink.esua.epdc.service.AdminService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -46,4 +48,15 @@ public class AdminServiceImpl implements AdminService {
String defaultGrid = listResult.getData().get(0).getDictValue(); String defaultGrid = listResult.getData().get(0).getDictValue();
return new Result<String>().ok(defaultGrid); 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 cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
import com.elink.esua.epdc.common.token.dto.WorkUserAuthorizationDTO; 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.WorkUserLoginDTO;
import com.elink.esua.epdc.common.token.dto.WorkUserScripLoginDTO;
import com.elink.esua.epdc.common.token.dto.WorkUserTokenFormDTO; 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.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.exception.RenException; 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.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
/** /**
* 项目模块-移动app端 * 项目模块-移动app端
* @Author LPF * @Author LPF
@ -98,4 +97,11 @@ public class AnalysisUserServiceImpl implements AnalysisUserService {
} }
return wxMaJscode2SessionResult; return wxMaJscode2SessionResult;
} }
@Override
public Result<WorkUserAuthorizationDTO> scripLogin(WorkUserScripLoginDTO formDto) {
// 获取openId
String openId = this.getWxMaUser(formDto.getWxCode()).getOpenid();
formDto.setOpenId(openId);
return resourceFeignClient.workScripLogin(formDto);
}
} }

15
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java

@ -1507,4 +1507,19 @@ public class AppUserServiceImpl implements AppUserService {
return userFeignClient.selectListUserPointsRanking(formDto); return userFeignClient.selectListUserPointsRanking(formDto);
} }
@Override
public Result<EpdcAppUserGradeRankingResultDTO> listUserGradesRanking(TokenDto userDetail, EpdcAppUserGradeRankingFormDTO formDTO) {
formDTO.setUserId(userDetail.getUserId());
formDTO.setNickName(userDetail.getNickname());
formDTO.setPointsTotle(userDetail.getPointsTotle());
Result<CompleteDeptDTO> deptInfo = adminFeignClient.getCompleteDept(userDetail.getGridId());
if (deptInfo.success()) {
formDTO.setStreetId(deptInfo.getData().getStreetId());
} else {
return new Result<EpdcAppUserGradeRankingResultDTO>().error("当前用户,无所属街道");
}
return userFeignClient.selectListUserGradesRanking(formDTO);
}
} }

7
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/resources/mapper/ImgConfigDao.xml

@ -15,6 +15,7 @@
<result property="updatedBy" column="UPDATED_BY"/> <result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/> <result property="updatedTime" column="UPDATED_TIME"/>
<result property="imgCode" column="IMG_CODE"/> <result property="imgCode" column="IMG_CODE"/>
<result property="remark" column="REMARK"/>
</resultMap> </resultMap>
<select id="selectListImgConfig" resultType="com.elink.esua.epdc.dto.ImgConfigDTO"> <select id="selectListImgConfig" resultType="com.elink.esua.epdc.dto.ImgConfigDTO">
@ -24,7 +25,8 @@
IMG_URL imgUrl, IMG_URL imgUrl,
SORT sort, SORT sort,
IMG_CODE imgCode, IMG_CODE imgCode,
CREATED_TIME createdTime CREATED_TIME createdTime,
REMARK remark
FROM FROM
`epdc_img_config` `epdc_img_config`
WHERE DEL_FLAG = 0 WHERE DEL_FLAG = 0
@ -38,7 +40,8 @@
SELECT SELECT
IMG_URL imgUrl, IMG_URL imgUrl,
IMG_TYPE imgType, IMG_TYPE imgType,
IMG_CODE imgCode IMG_CODE imgCode,
REMARK remark
FROM FROM
`epdc_img_config` `epdc_img_config`
WHERE DEL_FLAG = 0 WHERE DEL_FLAG = 0

4
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActInfoDao.xml

@ -164,7 +164,7 @@
when <![CDATA[ DATE_FORMAT(actInfo.ACT_END_TIME,'%Y-%m-%d %H:%i:%s') < ]]> #{timestamp} when <![CDATA[ DATE_FORMAT(actInfo.ACT_END_TIME,'%Y-%m-%d %H:%i:%s') < ]]> #{timestamp}
then '4' then '4'
end as actCurrentState, 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 FROM
epdc_act_info actInfo epdc_act_info actInfo
left join epdc_act_user_relation relation on relation.DEL_FLAG = '0' left join epdc_act_user_relation relation on relation.DEL_FLAG = '0'
@ -182,7 +182,7 @@
<![CDATA[ AND DATE_FORMAT(actInfo.ACT_END_TIME,'%Y-%m-%d %H:%i:%s') <= ]]> #{timestamp} <![CDATA[ AND DATE_FORMAT(actInfo.ACT_END_TIME,'%Y-%m-%d %H:%i:%s') <= ]]> #{timestamp}
</if> </if>
) temp ) temp
ORDER BY temp.actCurrentState ASC ORDER BY temp.actCurrentState ASC,temp.CREATED_TIME desc
<if test='actType != null and actType != "" and actType == "0"'>,temp.PUBLISH_TIME DESC</if> <if test='actType != null and actType != "" and actType == "0"'>,temp.PUBLISH_TIME DESC</if>
<if test='actType != null and actType != "" and actType == "1"'>,temp.ACT_START_TIME ASC</if> <if test='actType != null and actType != "" and actType == "1"'>,temp.ACT_START_TIME ASC</if>
LIMIT #{pageIndex},#{pageSize} LIMIT #{pageIndex},#{pageSize}

4
esua-epdc/epdc-module/epdc-party-group/epdc-party-group-client/src/main/java/com/elink/esua/epdc/dto/enums/DayOfWeekEnum.java

@ -35,9 +35,9 @@ public enum DayOfWeekEnum {
*/ */
SIX(NumConstant.SIX_STR, "周六"), SIX(NumConstant.SIX_STR, "周六"),
/** /**
* 7- * 7-
*/ */
SEVEN(NumConstant.SEVEN_STR, "周"); SEVEN(NumConstant.SEVEN_STR, "周");
private String key; private String key;
private String value; private String value;

2
esua-epdc/epdc-module/epdc-party-group/epdc-party-group-server/src/main/resources/mapper/PartyGroupGuideDao.xml

@ -53,7 +53,7 @@
FROM epdc_party_group_guide g FROM epdc_party_group_guide g
LEFT JOIN epdc_party_group_guide_relation gr ON g.id = gr.PARTY_GROUP_GUIDE_ID LEFT JOIN epdc_party_group_guide_relation gr ON g.id = gr.PARTY_GROUP_GUIDE_ID
WHERE g.DEL_FLAG = '0' AND gr.DEL_FLAG = '0' WHERE g.DEL_FLAG = '0' AND gr.DEL_FLAG = '0'
AND g.DAY_OF_WEEK = dayofweek(curdate())-1 AND g.DAY_OF_WEEK = WEEKDAY(curdate())+1
AND gr.PARTY_GROUP_ID = #{partyGroupId} AND gr.PARTY_GROUP_ID = #{partyGroupId}
</select> </select>

58
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;
}

30
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<UsersGradeRankingDTO> rank;
/**
* 积分排行-等级排名接口返回值 -用户等级
*/
private UsersGradeRankingDTO currentUser;
}

36
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;
}

15
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; 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.constant.Constant;
import com.elink.esua.epdc.commons.tools.security.user.SecurityUser; 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.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.dto.CachingUserInfoDTO; import com.elink.esua.epdc.dto.CachingUserInfoDTO;
import com.elink.esua.epdc.dto.UserDTO; import com.elink.esua.epdc.dto.UserDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserGroupInviteFormDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcUserGroupInviteFormDTO;
@ -427,4 +429,17 @@ public class EpdcAppUserController {
EpdcAppUserRankingResultDTO list = userService.listUserPointsRanking(formDto); EpdcAppUserRankingResultDTO list = userService.listUserPointsRanking(formDto);
return new Result<EpdcAppUserRankingResultDTO>().ok(list); return new Result<EpdcAppUserRankingResultDTO>().ok(list);
} }
/**
* 积分中心页面-积分等级排名
* 返回当前用户的排名 当前街道的前N名用户排名
* @param formDTO
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.epdc.result.EpdcAppUserGradeRankingResultDTO>
* @Author zhangyong
* @Date 10:59 2020-06-24
**/
@GetMapping("gradeRanking/list")
public Result<EpdcAppUserGradeRankingResultDTO> listUsersGradeRanking(@RequestBody EpdcAppUserGradeRankingFormDTO formDTO){
return userService.listUsersGradeRanking(formDTO);
}
} }

25
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.CachingUserInfoDTO;
import com.elink.esua.epdc.dto.UserDTO; import com.elink.esua.epdc.dto.UserDTO;
import com.elink.esua.epdc.dto.UserPointsDTO; import com.elink.esua.epdc.dto.UserPointsDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcAppUserRankingFormDTO; import com.elink.esua.epdc.dto.epdc.form.*;
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.result.*; import com.elink.esua.epdc.dto.epdc.result.*;
import com.elink.esua.epdc.entity.UserEntity; import com.elink.esua.epdc.entity.UserEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@ -257,11 +254,29 @@ public interface UserDao extends BaseDao<UserEntity> {
**/ **/
List<UserDTO> selectListOfWaitPartyUserDto(Map<String, Object> params); List<UserDTO> selectListOfWaitPartyUserDto(Map<String, Object> params);
/** /**
* @Description 工作端待认证居民 * @Description 工作端待认证居民
* @Author songyunpeng * @Author songyunpeng
* @Date 2020/6/12 * @Date 2020/6/12
* @Param [workUserFromDto] * @Param [workUserFromDto]
* @return java.util.List<com.elink.esua.epdc.dto.epdc.result.EpdcWorkUserResultDTO> * @return java.util.List<com.elink.esua.epdc.dto.epdc.result.EpdcWorkUserResultDTO>
**/ **/
List<EpdcWorkUserResultDTO> selectWorkResidentUserList(EpdcWorkUserFromDTO workUserFromDto); List<EpdcWorkUserResultDTO> selectWorkResidentUserList(EpdcWorkUserFromDTO workUserFromDto);
/**
* 获取街道 下的用户等级排名
* @param formDto
* @return java.util.List<com.elink.esua.epdc.dto.epdc.result.UsersGradeRankingDTO>
* @Author zhangyong
* @Date 13:52 2020-06-024
**/
List<UsersGradeRankingDTO> 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);
} }

18
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<UserEntity> {
**/ **/
PageData<UserPointsDTO> pageForPoints(Map<String, Object> params); PageData<UserPointsDTO> pageForPoints(Map<String, Object> params);
/** /**
* @Description 待认证党员 * @Description 待认证党员
* @Author songyunpeng * @Author songyunpeng
* @Date 2020/6/10 * @Date 2020/6/10
* @Param [params] * @Param [params]
@ -343,7 +343,7 @@ public interface UserService extends BaseService<UserEntity> {
**/ **/
PageData<UserDTO> waitPartyPage(Map<String, Object> params); PageData<UserDTO> waitPartyPage(Map<String, Object> params);
/** /**
* @Description 待认证党员导出 * @Description 待认证党员导出
* @Author songyunpeng * @Author songyunpeng
* @Date 2020/6/10 * @Date 2020/6/10
* @Param [params] * @Param [params]
@ -351,7 +351,7 @@ public interface UserService extends BaseService<UserEntity> {
**/ **/
List<UserDTO> listOfWaitParty(Map<String, Object> params); List<UserDTO> listOfWaitParty(Map<String, Object> params);
/** /**
* @Description 党员认证通过并更新党员库信息 * @Description 党员认证通过并更新党员库信息
* @Author songyunpeng * @Author songyunpeng
* @Date 2020/6/10 * @Date 2020/6/10
* @Param [dto] * @Param [dto]
@ -359,7 +359,7 @@ public interface UserService extends BaseService<UserEntity> {
**/ **/
Result modifyPartyInfo(PartyMemberModifyFormDTO dto); Result modifyPartyInfo(PartyMemberModifyFormDTO dto);
/** /**
* @Description 党员认证 * @Description 党员认证
* @Author songyunpeng * @Author songyunpeng
* @Date 2020/6/10 * @Date 2020/6/10
* @Param [dto] * @Param [dto]
@ -377,4 +377,14 @@ public interface UserService extends BaseService<UserEntity> {
* @since 2020/3/25 14:33 * @since 2020/3/25 14:33
*/ */
Result addPartyInfo(PartyMemberModifyFormDTO dto); Result addPartyInfo(PartyMemberModifyFormDTO dto);
/**
* 积分中心页面-积分等级排名
* 返回当前用户的排名 当前街道的前N名用户排名
* @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.epdc.result.EpdcAppUserGradeRankingResultDTO>
* @Author zhangyong
* @Date 10:59 2020-06-24
**/
Result<EpdcAppUserGradeRankingResultDTO> listUsersGradeRanking(EpdcAppUserGradeRankingFormDTO formDto);
} }

45
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<UserDao, UserEntity> implem
return new PageData<>(list, page.getTotal()); return new PageData<>(list, page.getTotal());
} }
@Override
public Result<EpdcAppUserGradeRankingResultDTO> 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<EpdcAppUserGradeRankingResultDTO>().ok(rangking);
}
/**
* 获取排好序 用户等级排行榜数据
* @param formDto
* @return java.util.List<com.elink.esua.epdc.dto.epdc.result.UsersGradeRankingDTO>
* @Author zhangyong
* @Date 13:50 2020-06-24
**/
private List<UsersGradeRankingDTO> sortListUsersGradeRank(EpdcAppUserGradeRankingFormDTO formDto){
List<UsersGradeRankingDTO> 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;
}
} }

59
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 ORDER BY u.REGISTER_TIME DESC
LIMIT #{pageIndex},#{pageSize} LIMIT #{pageIndex},#{pageSize}
</select> </select>
<select id="selectListUsersGradeRanking" resultType="com.elink.esua.epdc.dto.epdc.result.UsersGradeRankingDTO">
SELECT
userGrade.userId,
userGrade.nickName,
userGrade.grade
FROM(
SELECT
u.ID userId,
u.NICKNAME nickName,
CASE
WHEN IFNULL(u.POINTS_TOTLE,0) &lt;= 0 THEN 0
ELSE
IFNULL(FLOOR(IFNULL(u.POINTS_TOTLE,0) / IFNULL(g.POINTS,0) * IFNULL(g.GRADE,0)),0)
END grade,
u.CREATED_TIME
FROM
epdc_user u
left join epdc_points_grade g ON 1=1 AND g.DEL_FLAG = 0
WHERE
u.DEL_FLAG = '0' AND u.STATE != '0'
<if test="streetId != null and streetId != '' ">
AND instr(u.PARENT_DEPT_IDS , #{streetId} ) > 0
</if>
) userGrade
ORDER BY userGrade.grade DESC, userGrade.CREATED_TIME DESC
LIMIT #{pageIndex}, #{pageSize}
</select>
<select id="selectCurrentUserGradeRanking" resultType="com.elink.esua.epdc.dto.epdc.result.UsersGradeRankingDTO">
SELECT
userRanking.rank,
userRanking.grade
FROM(
SELECT
(@i:=@i+1) rank,
tab.USER_ID userId,
GROUP_CONCAT(tab.USER_ID SEPARATOR ',') pdtj, -- 有展示上限,所以不用该字段 删选名次
tab.POINTS_TOTLE,
tab.grade
FROM(
SELECT
u.ID USER_ID,
u.POINTS_TOTLE,
CASE
WHEN IFNULL(u.POINTS_TOTLE,0) &lt;= 0 THEN 0
ELSE
IFNULL(FLOOR(IFNULL(u.POINTS_TOTLE,0) / IFNULL(g.POINTS,0) * IFNULL(g.GRADE,0)),0)
END grade
FROM epdc_user u
LEFT JOIN epdc_points_grade g ON 1=1 AND g.DEL_FLAG = '0'
WHERE u.DEL_FLAG = '0'
AND instr(u.PARENT_DEPT_IDS , #{streetId} ) > 0
) tab ,(select @i:=0) t1
GROUP BY tab.grade
ORDER BY tab.grade DESC
) userRanking
WHERE userRanking.POINTS_TOTLE = #{pointsTotle}
</select>
</mapper> </mapper>

Loading…
Cancel
Save