Browse Source

Merge branch 'dev'

dev_shibei_match
sunyuchao 5 years ago
parent
commit
e0e3672e6e
  1. 2
      epmet-admin/epmet-admin-server/src/main/resources/bootstrap.yml
  2. 7
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java
  3. 2
      epmet-gateway/src/main/resources/bootstrap.yml
  4. 2
      epmet-module/data-report/data-report-server/src/main/resources/bootstrap.yml
  5. 2
      epmet-module/epmet-activiti/epmet-activiti-server/src/main/resources/bootstrap.yml
  6. 2
      epmet-module/epmet-common-service/common-service-server/src/main/resources/bootstrap.yml
  7. 2
      epmet-module/epmet-demo/epmet-demo-server/src/main/resources/bootstrap.yml
  8. 2
      epmet-module/epmet-ext/epmet-ext-server/src/main/resources/bootstrap.yml
  9. 2
      epmet-module/epmet-message/epmet-message-server/src/main/resources/bootstrap.yml
  10. 2
      epmet-module/epmet-oss/epmet-oss-server/src/main/resources/bootstrap.yml
  11. 6
      epmet-module/epmet-point/epmet-point-client/pom.xml
  12. 3
      epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/CommonPageUserFormDTO.java
  13. 2
      epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/PointVerificationFormDTO.java
  14. 11
      epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/feign/EpmetPointOpenFeignClient.java
  15. 6
      epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/feign/fallback/EpmetPointOpenFeignClientFallback.java
  16. 4
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/AdjustmentController.java
  17. 1
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/ExchangeController.java
  18. 13
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/ResiPointController.java
  19. 2
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/PointVerificationLogDao.java
  20. 3
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/UserPointActionLogDao.java
  21. 9
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/UserPointTotalDao.java
  22. 3
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/PointAdjustmentLogService.java
  23. 14
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/UserPointTotalService.java
  24. 10
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointAdjustmentLogServiceImpl.java
  25. 13
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointVerificationLogServiceImpl.java
  26. 2
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java
  27. 4
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointStatisticalDailyServiceImpl.java
  28. 30
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointTotalServiceImpl.java
  29. 24
      epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/PointVerificationLogDao.xml
  30. 2
      epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/UserPointActionLogDao.xml
  31. 15
      epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/UserPointTotalDao.xml
  32. 10
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/MiniInfoDao.java
  33. 8
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/CodeServiceImpl.java
  34. 4
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/param/WxExtJson.java
  35. 2
      epmet-module/epmet-third/epmet-third-server/src/main/resources/bootstrap.yml
  36. 6
      epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/MiniInfoDao.xml
  37. 2
      epmet-module/gov-access/gov-access-server/src/main/resources/bootstrap.yml
  38. 2
      epmet-module/gov-grid/gov-grid-server/src/main/resources/bootstrap.yml
  39. 11
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueVoteStatisticalService.java
  40. 10
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java
  41. 56
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalServiceImpl.java
  42. 2
      epmet-module/gov-issue/gov-issue-server/src/main/resources/bootstrap.yml
  43. 2
      epmet-module/gov-mine/gov-mine-server/src/main/resources/bootstrap.yml
  44. 10
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java
  45. 2
      epmet-module/gov-org/gov-org-server/src/main/resources/bootstrap.yml
  46. 2
      epmet-module/gov-project/gov-project-server/src/main/resources/bootstrap.yml
  47. 2
      epmet-module/gov-voice/gov-voice-server/src/main/resources/bootstrap.yml
  48. 2
      epmet-module/oper-access/oper-access-server/src/main/resources/bootstrap.yml
  49. 2
      epmet-module/oper-crm/oper-crm-server/src/main/resources/bootstrap.yml
  50. 7
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/CustomerFootBarDTO.java
  51. 85
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/CustomerFootBarFormDTO.java
  52. 14
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/CustomerFootBarResultDTO.java
  53. 117
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/CustomerFootBarController.java
  54. 51
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/CustomerFootBarDao.java
  55. 15
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/CustomerFootBarEntity.java
  56. 20
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/CustomerFootBarService.java
  57. 156
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/CustomerFootBarServiceImpl.java
  58. 2
      epmet-module/oper-customize/oper-customize-server/src/main/resources/bootstrap.yml
  59. 2
      epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.6__footbar_add_column.sql
  60. 175
      epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/CustomerFootBarDao.xml
  61. 2
      epmet-module/resi-group/resi-group-server/src/main/resources/bootstrap.yml
  62. 2
      epmet-module/resi-guide/resi-guide-server/src/main/resources/bootstrap.yml
  63. 2
      epmet-module/resi-hall/resi-hall-server/src/main/resources/bootstrap.yml
  64. 2
      epmet-module/resi-home/resi-home-server/src/main/resources/bootstrap.yml
  65. 2
      epmet-module/resi-mine/resi-mine-server/src/main/resources/bootstrap.yml
  66. 2
      epmet-module/resi-partymember/resi-partymember-server/src/main/resources/bootstrap.yml
  67. 2
      epmet-module/resi-voice/resi-voice-server/src/main/resources/bootstrap.yml
  68. 2
      epmet-openapi/epmet-openapi-scan/src/main/resources/bootstrap.yml
  69. 7
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CommonUserFormDTO.java
  70. 7
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserServiceImpl.java
  71. 2
      epmet-user/epmet-user-server/src/main/resources/bootstrap.yml

2
epmet-admin/epmet-admin-server/src/main/resources/bootstrap.yml

@ -10,7 +10,7 @@ spring:
name: epmet-admin-server
#环境 dev|test|prod
profiles:
active: dev
active: @spring.profiles.active@
messages:
encoding: UTF-8
basename: i18n/messages_common

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

@ -77,9 +77,6 @@ public enum EpmetErrorCode {
CANNOT_DISABLE_YOURSELF(8405,"您不能禁用自己"),
NO_SET_GRID_COUNT(8406,"您还未设置创建网格数量上限,请联系管理员设置"),
GRID_COUNT_UP(8407,"您的创建网格数量已到达上限,请联系管理员设置"),
EXIT_PEND_PROJECT(8408,"该工作人员有项目尚在处理,处理完毕方可操作"),
EXIT_PUBLISHED_ACTIVITY(8409,"该工作人员有活动尚在进行,等活动完成方可操作"),
CAN_NOT_SELF(8410,"无法对自己进行操作"),
ALREADY_EVALUATE(8501,"您已评价"),
ALREADY_VOTE(8502,"您已表态"),
@ -107,7 +104,9 @@ public enum EpmetErrorCode {
OPER_EXTERNAL_APP_AUTH_ERROR(8709, "外部应用认证失败"),
OPER_EXTERNAL_CUSTOMER_NOT_EXISTS(8710, "该客户不存在"),
OPER_EXTERNAL_APP_EXISTS(8711, "应用已存在"),
OPER_EXT_APP_SECRET_RESET_FAIL(8713, "秘钥更新失败"),
OPER_CUSTOMER_FOOTBAR_EXISTS(8712, "footbar已存在"),
OPER_CUSTOMER_FOOTBAR_NOT_FOUND(8713, "footbar不存在"),
OPER_EXT_APP_SECRET_RESET_FAIL(8713, "秘钥更新失败"),
// 党建声音 前端提示 88段
DRAFT_CONTENT_IS_NULL(8801, "至少需要添加一个段落"),

2
epmet-gateway/src/main/resources/bootstrap.yml

@ -11,7 +11,7 @@ spring:
name: epmet-gateway-server
#环境 dev|test|prod
profiles:
active: dev
active: @spring.profiles.active@
messages:
encoding: UTF-8
basename: i18n/messages_common

2
epmet-module/data-report/data-report-server/src/main/resources/bootstrap.yml

@ -10,7 +10,7 @@ spring:
name: data-report-server
#环境 dev|test|prod
profiles:
active: dev
active: @spring.profiles.active@
jackson:
time-zone: GMT+8
date-format: yyyy-MM-dd HH:mm:ss

2
epmet-module/epmet-activiti/epmet-activiti-server/src/main/resources/bootstrap.yml

@ -8,7 +8,7 @@ spring:
name: epmet-activiti-server
#环境 dev|test|prod
profiles:
active: dev
active: @spring.profiles.active@
messages:
encoding: UTF-8
basename: i18n/messages,i18n/messages_common

2
epmet-module/epmet-common-service/common-service-server/src/main/resources/bootstrap.yml

@ -10,7 +10,7 @@ spring:
name: common-service-server
#环境 dev|test|prod
profiles:
active: dev
active: @spring.profiles.active@
messages:
encoding: UTF-8
basename: i18n/messages,i18n/messages_common

2
epmet-module/epmet-demo/epmet-demo-server/src/main/resources/bootstrap.yml

@ -10,7 +10,7 @@ spring:
allow-bean-definition-overriding: true
#环境 dev|test|prod
profiles:
active: dev
active: @spring.profiles.active@
messages:
encoding: UTF-8
basename: i18n/messages,i18n/messages_common

2
epmet-module/epmet-ext/epmet-ext-server/src/main/resources/bootstrap.yml

@ -10,7 +10,7 @@ spring:
name: epmet-ext-server
# dev|test|prod
profiles:
active: dev
active: @spring.profiles.active@
jackson:
time-zone: GMT+8
date-format: yyyy-MM-dd HH:mm:ss

2
epmet-module/epmet-message/epmet-message-server/src/main/resources/bootstrap.yml

@ -10,7 +10,7 @@ spring:
name: epmet-message-server
#环境 dev|test|prod
profiles:
active: dev
active: @spring.profiles.active@
messages:
encoding: UTF-8
basename: i18n/messages,i18n/messages_common

2
epmet-module/epmet-oss/epmet-oss-server/src/main/resources/bootstrap.yml

@ -10,7 +10,7 @@ spring:
name: epmet-oss-server
#环境 dev|test|prod
profiles:
active: dev
active: @spring.profiles.active@
messages:
encoding: UTF-8
basename: i18n/messages,i18n/messages_common

6
epmet-module/epmet-point/epmet-point-client/pom.xml

@ -27,6 +27,12 @@
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>epmet-user-client</artifactId>
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>

3
epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/CommonPageUserFormDTO.java

@ -26,4 +26,7 @@ public class CommonPageUserFormDTO implements Serializable {
private Integer pageNo = 1;
private Integer pageSize = 10;
@NotBlank(message = "获取不到用户Id" , groups = PageUserGroup.class)
private String customerId;
}

2
epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/PointVerificationFormDTO.java

@ -52,4 +52,6 @@ public class PointVerificationFormDTO implements Serializable {
@NotBlank(message = "缺失地址信息" , groups = PointVerificationGroup.class)
private String address;
private String customerId;
}

11
epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/feign/EpmetPointOpenFeignClient.java

@ -1,13 +1,12 @@
package com.epmet.feign;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.CommonUserFormDTO;
import com.epmet.dto.result.ResiPointDetailResultDTO;
import com.epmet.feign.fallback.EpmetPointOpenFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
/**
* 本服务对外开放的API,其他服务通过引用此client调用该服务
@ -20,11 +19,11 @@ public interface EpmetPointOpenFeignClient {
/**
* @Description 获取指定居民的积分信息
* @param dto
* @param
* @return
* @author wangc
* @date 2020.07.22 15:58
**/
@GetMapping("/point/resi/point/mypoint")
Result<ResiPointDetailResultDTO> myPoint(TokenDto dto);
@PostMapping("/point/resi/point/mypoint")
Result<ResiPointDetailResultDTO> myPoint(CommonUserFormDTO param);
}

6
epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/feign/fallback/EpmetPointOpenFeignClientFallback.java

@ -1,9 +1,9 @@
package com.epmet.feign.fallback;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.CommonUserFormDTO;
import com.epmet.dto.result.ResiPointDetailResultDTO;
import com.epmet.feign.EpmetPointOpenFeignClient;
import org.springframework.stereotype.Component;
@ -17,7 +17,7 @@ import org.springframework.stereotype.Component;
@Component
public class EpmetPointOpenFeignClientFallback implements EpmetPointOpenFeignClient {
@Override
public Result<ResiPointDetailResultDTO> myPoint(TokenDto dto) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_POINT_SERVER, "myPoint", dto);
public Result<ResiPointDetailResultDTO> myPoint(CommonUserFormDTO param) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_POINT_SERVER, "myPoint",param);
}
}

4
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/AdjustmentController.java

@ -7,6 +7,7 @@ import com.epmet.commons.tools.enums.RequirePermissionEnum;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.form.CommonUserFormDTO;
import com.epmet.dto.form.CustomerUserFormDTO;
import com.epmet.dto.form.IssueInitiatorFormDTO;
import com.epmet.dto.form.PointAdjustmentFormDTO;
@ -59,7 +60,8 @@ public class AdjustmentController {
**/
@PostMapping("userdetail")
@RequirePermission(requirePermission = RequirePermissionEnum.MORE_POINT_USER_MANAGE_DETAIL_VIEW)
public Result<CustomerUserDetailResultDTO> userDetail(@RequestBody IssueInitiatorFormDTO param){
public Result<CustomerUserDetailResultDTO> userDetail(@LoginUser TokenDto staffToken,@RequestBody CommonUserFormDTO param){
param.setCustomerId(staffToken.getCustomerId());
ValidatorUtils.validateEntity(param,IssueInitiatorFormDTO.UserIdGroup.class);
return new Result<CustomerUserDetailResultDTO>().ok(pointAdjustmentLogService.userDetail(param));
}

1
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/ExchangeController.java

@ -39,6 +39,7 @@ public class ExchangeController {
@PostMapping("execute")
public Result<PointVerificationResultDTO> execute(@LoginUser TokenDto token, @RequestBody PointVerificationFormDTO verificationParam){
verificationParam.setOperatorId(token.getUserId());
verificationParam.setCustomerId(token.getCustomerId());
ValidatorUtils.validateEntity(verificationParam, PointVerificationFormDTO.PointVerificationGroup.class);
return new Result<PointVerificationResultDTO>().ok(pointVerificationLogService.verifyPoint(verificationParam));
}

13
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/ResiPointController.java

@ -5,7 +5,7 @@ import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.form.CommonPageUserFormDTO;
import com.epmet.dto.form.ResiCommonUserIdFormDTO;
import com.epmet.dto.form.CommonUserFormDTO;
import com.epmet.dto.form.ResiPointRankFormDTO;
import com.epmet.dto.result.PointExchangeResponseResultDTO;
import com.epmet.dto.result.ResiPointDetailResultDTO;
@ -46,12 +46,11 @@ public class ResiPointController {
* @author wangc
* @date 2020.07.22 15:58
**/
@GetMapping("mypoint")
public Result<ResiPointDetailResultDTO> myPoint(@LoginUser TokenDto dto){
ResiCommonUserIdFormDTO param = new ResiCommonUserIdFormDTO();
param.setUserId(dto.getUserId());
ValidatorUtils.validateEntity(param,ResiCommonUserIdFormDTO.UserIdGroup.class);
return new Result<ResiPointDetailResultDTO>().ok(userPointTotalService.getMyPoint(param));
@PostMapping("mypoint")
public Result<ResiPointDetailResultDTO> myPoint(@LoginUser TokenDto dto, @RequestBody CommonUserFormDTO userParam){
userParam.setUserId(dto.getUserId());
ValidatorUtils.validateEntity(userParam, CommonUserFormDTO.CustomerId_UserIdGroup.class);
return new Result<ResiPointDetailResultDTO>().ok(userPointTotalService.getMyPoint(userParam));
}
/**

2
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/PointVerificationLogDao.java

@ -43,7 +43,7 @@ public interface PointVerificationLogDao extends BaseDao<PointVerificationLogEnt
* @author wangc
* @date 2020.07.22 15:38
**/
List<ResiPointLogPeriodResultDTO> selectVerificationLog(@Param("userId") String userId);
List<ResiPointLogPeriodResultDTO> selectVerificationLog(@Param("userId") String userId,@Param("customerId")String customerId);
/**
* @Description 获取工作人员月度核销记录

3
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/UserPointActionLogDao.java

@ -42,7 +42,8 @@ public interface UserPointActionLogDao extends BaseDao<UserPointActionLogEntity>
* @author wangc
* @date 2020.07.22 13:56
**/
List<ResiPointLogPeriodResultDTO> selectPointActionLogList(@Param("userId") String userId);
List<ResiPointLogPeriodResultDTO> selectPointActionLogList(@Param("userId") String userId,@Param("customerId")String customerId);
/**
* @Description 查询指定用户在某条规则下所得的积分总和

9
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/UserPointTotalDao.java

@ -44,6 +44,15 @@ public interface UserPointTotalDao extends BaseDao<UserPointTotalEntity> {
**/
ResiPointDetailResultDTO selectPointByUserId(@Param("userId")String userId);
/**
* @Description 根据用户Id和客户Id查询他的累计积分以及可用积分
* @param userId
* @return
* @author wangc
* @date 2020.07.21 13:38
**/
ResiPointDetailResultDTO selectPointByCustomerUserId(@Param("userId")String userId,@Param("customerId")String customerId);
/**
* @Description 查询客户下的用户累计积分排名榜
* @param customerId

3
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/PointAdjustmentLogService.java

@ -20,6 +20,7 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.PointAdjustmentLogDTO;
import com.epmet.dto.form.CommonUserFormDTO;
import com.epmet.dto.form.IssueInitiatorFormDTO;
import com.epmet.dto.form.PointAdjustmentFormDTO;
import com.epmet.dto.result.CustomerUserDetailResultDTO;
@ -113,7 +114,7 @@ public interface PointAdjustmentLogService extends BaseService<PointAdjustmentLo
* @author wangc
* @date 2020.07.27 10:57
**/
CustomerUserDetailResultDTO userDetail(IssueInitiatorFormDTO param);
CustomerUserDetailResultDTO userDetail(CommonUserFormDTO param);
/**
* @Description 积分调整

14
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/UserPointTotalService.java

@ -20,6 +20,7 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.UserPointTotalDTO;
import com.epmet.dto.form.CommonUserFormDTO;
import com.epmet.dto.form.ResiCommonUserIdFormDTO;
import com.epmet.dto.form.ResiPointRankFormDTO;
import com.epmet.dto.result.ResiPointDetailResultDTO;
@ -99,12 +100,12 @@ public interface UserPointTotalService extends BaseService<UserPointTotalEntity>
/**
* @Description 获取指定居民的积分信息
* @param userId
* @param param
* @return
* @author wangc
* @date 2020.07.22 15:58
**/
ResiPointDetailResultDTO getMyPoint(ResiCommonUserIdFormDTO userId);
ResiPointDetailResultDTO getMyPoint(CommonUserFormDTO param);
/**
* @Description 获取客户下用户积分排名榜
@ -125,4 +126,13 @@ public interface UserPointTotalService extends BaseService<UserPointTotalEntity>
void insertOrUpdate(UserPointTotalEntity entity);
void testInsertOrUpdate(UserPointTotalEntity entity);
/**
* @Description 获取指定居民的积分信息 - 使用客户Id匹配兼容多客户情况
* @param customerUserParam
* @return
* @author wangc
* @date 2020.07.22 15:58
**/
ResiPointDetailResultDTO getMyPointGroupByCustomer(CommonUserFormDTO customerUserParam);
}

10
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointAdjustmentLogServiceImpl.java

@ -30,6 +30,7 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.PointAdjustmentLogDao;
import com.epmet.dao.UserPointActionLogDao;
import com.epmet.dto.PointAdjustmentLogDTO;
import com.epmet.dto.form.CommonUserFormDTO;
import com.epmet.dto.form.IssueInitiatorFormDTO;
import com.epmet.dto.form.PointAdjustmentFormDTO;
import com.epmet.dto.form.ResiCommonUserIdFormDTO;
@ -150,13 +151,14 @@ public class PointAdjustmentLogServiceImpl extends BaseServiceImpl<PointAdjustme
* @date 2020.07.27 10:57
**/
@Override
public CustomerUserDetailResultDTO userDetail(IssueInitiatorFormDTO param) {
Result<CustomerUserDetailResultDTO> detailResult = epmetUserOpenFeignClient.customerUserDetail(param);
public CustomerUserDetailResultDTO userDetail(CommonUserFormDTO param) {
IssueInitiatorFormDTO userParam = new IssueInitiatorFormDTO();
userParam.setUserId(param.getUserId());
Result<CustomerUserDetailResultDTO> detailResult = epmetUserOpenFeignClient.customerUserDetail(userParam);
if(!detailResult.success()){
throw new RenException(detailResult.getCode());
}
ResiCommonUserIdFormDTO userParam = ConvertUtils.sourceToTarget(param,ResiCommonUserIdFormDTO.class);
ResiPointDetailResultDTO pointDto = userPointTotalService.getMyPoint(userParam);
ResiPointDetailResultDTO pointDto = userPointTotalService.getMyPointGroupByCustomer(param);
if(null != detailResult.getData()){
CustomerUserDetailResultDTO result = new CustomerUserDetailResultDTO();
result.setPoint(null != pointDto ? pointDto.getUsablePoint() : NumConstant.ZERO);

13
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointVerificationLogServiceImpl.java

@ -147,7 +147,7 @@ public class PointVerificationLogServiceImpl extends BaseServiceImpl<PointVerifi
@Override
public List<ResiPointLogListResultDTO> getMyExchangeRecord(CommonPageUserFormDTO pageUser) {
PageHelper.startPage(pageUser.getPageNo(),pageUser.getPageSize());
List<ResiPointLogPeriodResultDTO> logList = baseDao.selectVerificationLog(pageUser.getUserId());
List<ResiPointLogPeriodResultDTO> logList = baseDao.selectVerificationLog(pageUser.getUserId(),pageUser.getCustomerId());
List<ResiPointLogListResultDTO> result = new LinkedList<>();
if(null != logList && !logList.isEmpty()){
Map<String,List<ResiPointLogPeriodResultDTO>> map =
@ -256,9 +256,10 @@ public class PointVerificationLogServiceImpl extends BaseServiceImpl<PointVerifi
DimIdGenerator.DimIdBean dim = DimIdGenerator.getDimIdBean(new Date());
ResiCommonUserIdFormDTO userId = new ResiCommonUserIdFormDTO();
userId.setUserId(verificationParam.getUserId());
ResiPointDetailResultDTO currentPoint = userPointTotalService.getMyPoint(userId);
CommonUserFormDTO customerUserParam = new CommonUserFormDTO();
customerUserParam.setUserId(verificationParam.getUserId());
customerUserParam.setCustomerId(verificationParam.getCustomerId());
ResiPointDetailResultDTO currentPoint = userPointTotalService.getMyPointGroupByCustomer(customerUserParam);
if(null == currentPoint || null == currentPoint.getUsablePoint() || currentPoint.getUsablePoint() < verificationParam.getPoint()){
result.setSuccessFlag(false);
result.setFailureReason(ModuleConstant.POINT_NOT_ENOUGH);
@ -280,14 +281,14 @@ public class PointVerificationLogServiceImpl extends BaseServiceImpl<PointVerifi
point *= NumConstant.ONE_NEG;
}
String customerId = ModuleConstant.EMPTY_STR;
String customerId = verificationParam.getCustomerId();
String agencyId = ModuleConstant.EMPTY_STR;
String operatorName = ModuleConstant.EMPTY_STR;
PointVerificationStatisticalDailyEntity statistical = new PointVerificationStatisticalDailyEntity();
if(staffResult.success() && null != staffResult.getData()){
statistical = ConvertUtils.sourceToTarget(staffResult.getData(),PointVerificationStatisticalDailyEntity.class);
customerId = staffResult.getData().getCustomerId();
customerId = StringUtils.isBlank(customerId) ? staffResult.getData().getCustomerId() : customerId;
operatorName = staffResult.getData().getNickname();
agencyId = staffResult.getData().getAgencyId();
}

2
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java

@ -139,7 +139,7 @@ public class UserPointActionLogServiceImpl extends BaseServiceImpl<UserPointActi
@Override
public List<ResiPointLogListResultDTO> getMyPointRecord(CommonPageUserFormDTO pageUser) {
PageHelper.startPage(pageUser.getPageNo(),pageUser.getPageSize());
List<ResiPointLogPeriodResultDTO> logList = baseDao.selectPointActionLogList(pageUser.getUserId());
List<ResiPointLogPeriodResultDTO> logList = baseDao.selectPointActionLogList(pageUser.getUserId(),pageUser.getCustomerId());
List<ResiPointLogListResultDTO> result = new LinkedList<>();
if(null != logList && !logList.isEmpty()){
Map<String,List<ResiPointLogPeriodResultDTO>> map =

4
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointStatisticalDailyServiceImpl.java

@ -38,6 +38,7 @@ import com.epmet.service.UserPointStatisticalDailyService;
import com.epmet.utils.DimIdGenerator;
import com.epmet.utils.ModuleConstant;
import com.github.pagehelper.PageHelper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -53,6 +54,7 @@ import java.util.stream.Collectors;
* @since v1.0.0 2020-07-20
*/
@Service
@Slf4j
public class UserPointStatisticalDailyServiceImpl extends BaseServiceImpl<UserPointStatisticalDailyDao, UserPointStatisticalDailyEntity> implements UserPointStatisticalDailyService {
@Autowired
@ -131,6 +133,8 @@ public class UserPointStatisticalDailyServiceImpl extends BaseServiceImpl<UserPo
epmetUserOpenFeignClient.queryUserBaseInfo(userIdParam);
if(myResiInfoResult.success() && null != myResiInfoResult.getData() && !myResiInfoResult.getData().isEmpty()){
if(StringUtils.isBlank(pointRankFormDTO.getCustomerId())) {
//缓存中的customerId是不准确的,前端一定会传customerId,所以不会执行此代码
log.warn("com.epmet.service.impl.UserPointTotalServiceImpl.getPointRanking,传参缺失客户Id,参数:{}",pointRankFormDTO);
//缓存中陌生人游客也有对应的customerId
pointRankFormDTO.setCustomerId(myResiInfoResult.getData().get(NumConstant.ZERO).getCustomerId());
}

30
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointTotalServiceImpl.java

@ -27,6 +27,7 @@ import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.UserPointTotalDao;
import com.epmet.dto.UserPointTotalDTO;
import com.epmet.dto.form.CommonUserFormDTO;
import com.epmet.dto.form.ResiCommonUserIdFormDTO;
import com.epmet.dto.form.ResiPointRankFormDTO;
import com.epmet.dto.result.*;
@ -36,6 +37,7 @@ import com.epmet.service.UserPointTotalService;
import com.epmet.utils.DimIdGenerator;
import com.epmet.utils.ModuleConstant;
import com.github.pagehelper.PageHelper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
@ -52,8 +54,10 @@ import java.util.stream.Collectors;
* @since v1.0.0 2020-07-20
*/
@Service
@Slf4j
public class UserPointTotalServiceImpl extends BaseServiceImpl<UserPointTotalDao, UserPointTotalEntity> implements UserPointTotalService {
@Autowired
EpmetUserOpenFeignClient epmetUserOpenFeignClient;
@ -111,14 +115,14 @@ public class UserPointTotalServiceImpl extends BaseServiceImpl<UserPointTotalDao
/**
* @Description 获取指定居民的积分信息
* @param userId
* @param param
* @return
* @author wangc
* @date 2020.07.22 15:58
**/
@Override
public ResiPointDetailResultDTO getMyPoint(ResiCommonUserIdFormDTO userId) {
ResiPointDetailResultDTO result = baseDao.selectPointByUserId(userId.getUserId());
public ResiPointDetailResultDTO getMyPoint(CommonUserFormDTO param) {
ResiPointDetailResultDTO result = baseDao.selectPointByCustomerUserId(param.getUserId(),param.getCustomerId());
if(null == result) return new ResiPointDetailResultDTO();
if(null == result.getUsablePoint() || null == result.getAccumulatedPoint()) return new ResiPointDetailResultDTO();
return result;
@ -145,6 +149,8 @@ public class UserPointTotalServiceImpl extends BaseServiceImpl<UserPointTotalDao
epmetUserOpenFeignClient.queryUserBaseInfo(userIdParam);
if(myResiInfoResult.success() && null != myResiInfoResult.getData() && !myResiInfoResult.getData().isEmpty()){
if(StringUtils.isBlank(pointRankFormDTO.getCustomerId())) {
//缓存中的customerId是不准确的,前端一定会传customerId,所以不会执行此代码
log.warn("com.epmet.service.impl.UserPointTotalServiceImpl.getPointRanking,传参缺失客户Id,参数:{}",pointRankFormDTO);
pointRankFormDTO.setCustomerId(myResiInfoResult.getData().get(NumConstant.ZERO).getCustomerId());
}
//微信昵称
@ -169,7 +175,7 @@ public class UserPointTotalServiceImpl extends BaseServiceImpl<UserPointTotalDao
return result;
}
}
//如果当前请求是第一页
//如果当前请求是第一页
if(NumConstant.ONE == pointRankFormDTO.getPageNo()) {
ResiPointRankResultDTO myself = null;
Optional<ResiPointRankResultDTO> opt = rankList.stream().filter(obj -> StringUtils.equals(obj.getUserId(), pointRankFormDTO.getUserId())).findFirst();
@ -244,4 +250,20 @@ public class UserPointTotalServiceImpl extends BaseServiceImpl<UserPointTotalDao
baseDao.insertOrUpdate(entity);
}
/**
* @Description 获取指定居民的积分信息 - 使用客户Id匹配兼容多客户情况
* @param customerUserParam
* @return
* @author wangc
* @date 2020.07.22 15:58
**/
@Override
public ResiPointDetailResultDTO getMyPointGroupByCustomer(CommonUserFormDTO customerUserParam) {
ResiPointDetailResultDTO result = baseDao.selectPointByUserId(customerUserParam.getUserId());
if(null == result) return new ResiPointDetailResultDTO();
if(null == result.getUsablePoint() || null == result.getAccumulatedPoint()) return new ResiPointDetailResultDTO();
return result;
}
}

24
epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/PointVerificationLogDao.xml

@ -25,20 +25,24 @@
<!-- 查询指定用户兑换记录 传参:用户Id -->
<select id="selectVerificationLog" resultType="com.epmet.dto.result.ResiPointLogPeriodResultDTO">
SELECT
USER_ID,
SELECT
verify.USER_ID,
'积分兑换' AS TITLE,
concat( '兑换', EXCHANGED_ITEM ) AS REMARK,
concat( '-', POINT ) AS point,
DATE_FORMAT( CREATED_TIME, '%Y-%m-%d' ) AS DATE,
DATE_FORMAT( CREATED_TIME, '%H:%i' ) AS TIME
concat( '兑换', verify.EXCHANGED_ITEM ) AS REMARK,
concat( '-', verify.POINT ) AS point,
DATE_FORMAT( verify.CREATED_TIME, '%Y-%m-%d' ) AS DATE,
DATE_FORMAT( verify.CREATED_TIME, '%H:%i' ) AS TIME
FROM
POINT_VERIFICATION_LOG
POINT_VERIFICATION_LOG verify
LEFT JOIN
USER_POINT_ACTION_LOG action
ON verify.ACTION_ID = action.ID AND action.DEL_FLAG = '0'
WHERE
DEL_FLAG = '0'
AND USER_ID = #{userId}
verify.DEL_FLAG = '0'
AND verify.USER_ID = #{userId}
AND action.CUSTOMER_ID = #{customerId}
ORDER BY
CREATED_TIME DESC
verify.CREATED_TIME DESC
</select>
<!-- 获取工作人员月度核销记录 -->

2
epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/UserPointActionLogDao.xml

@ -36,6 +36,8 @@
DEL_FLAG = '0'
AND
USER_ID = #{userId}
AND
CUSTOMER_ID = #{customerId}
ORDER BY
CREATED_TIME DESC
</select>

15
epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/UserPointTotalDao.xml

@ -31,6 +31,21 @@
USER_ID = #{userId}
</select>
<!-- 根据用户Id和客户Id查询他的累计积分以及可用积分 -->
<select id="selectPointByCustomerUserId" resultType="com.epmet.dto.result.ResiPointDetailResultDTO">
SELECT
USABLE_POINT AS usablePoint,
TOTAL_POINT AS accumulatedPoint
FROM
USER_POINT_TOTAL
WHERE
DEL_FLAG = '0'
AND
CUSTOMER_ID = #{customerId}
AND
USER_ID = #{userId}
</select>
<!-- 查询客户下的用户积分排行,分页 传参:customerId -->
<select id="selectUserPointRank" resultType="com.epmet.dto.result.ResiPointRankResultDTO">
SELECT

10
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/MiniInfoDao.java

@ -53,5 +53,15 @@ public interface MiniInfoDao extends BaseDao<MiniInfoEntity> {
* @author zxc
*/
CustomerIdAndClientResultDTO selectCustomerIdAndClientByToUserName(@Param("toUserName")String toUserName);
/**
* 获取小程序名
* @author zhaoqifeng
* @date 2020/9/7 17:25
* @param customerId
* @param clientType
* @return java.lang.String
*/
String getNickName(@Param("customerId") String customerId, @Param("clientType") String clientType);
}

8
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/CodeServiceImpl.java

@ -11,6 +11,7 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.CodeConstant;
import com.epmet.dao.AuthorizationInfoDao;
import com.epmet.dao.ComponentAccessTokenDao;
import com.epmet.dao.MiniInfoDao;
import com.epmet.dto.*;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
@ -65,6 +66,8 @@ public class CodeServiceImpl implements CodeService {
private OssFeignClient ossFeignClient;
@Autowired
private PaCustomerService paCustomerService;
@Autowired
private MiniInfoDao miniInfoDao;
@Override
public List<TemplateListResultDTO> templateList() {
@ -115,10 +118,15 @@ public class CodeServiceImpl implements CodeService {
if (null == authInfo) {
throw new RenException("未授权");
}
//获取小程序居民端与工作端名称
String resiName = miniInfoDao.getNickName(formDTO.getCustomerId(), "resi");
String workName = miniInfoDao.getNickName(formDTO.getCustomerId(), "work");
String extJson = getExtJson(formDTO);
WxExtJson wxExtJson = JSONObject.parseObject(extJson, WxExtJson.class);
wxExtJson.setExtAppid(authInfo.getAuthorizerAppid());
wxExtJson.getExt().setExtAppid(authInfo.getAuthorizerAppid());
wxExtJson.getExt().setResiName(resiName);
wxExtJson.getExt().setWorkName(workName);
extJson = JSON.toJSONString(wxExtJson);
CodeExtDTO codeExtDTO = codeExtService.getExtByCustomer(formDTO.getCustomerId(), formDTO.getClientType());
if (null == codeExtDTO) {

4
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/param/WxExtJson.java

@ -31,6 +31,10 @@ public class WxExtJson implements Serializable {
@JSONField(ordinal = 1)
private String extAppid;
@JSONField(ordinal = 2)
private String resiName;
@JSONField(ordinal = 3)
private String workName;
@JSONField(ordinal = 4)
private FootbarBean footbar;
@NoArgsConstructor
@Data

2
epmet-module/epmet-third/epmet-third-server/src/main/resources/bootstrap.yml

@ -10,7 +10,7 @@ spring:
name: epmet-third-server
# dev|test|prod
profiles:
active: dev
active: @spring.profiles.active@
jackson:
time-zone: GMT+8
date-format: yyyy-MM-dd HH:mm:ss

6
epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/MiniInfoDao.xml

@ -64,4 +64,10 @@
AND user_name = #{toUserName}
LIMIT 1
</select>
<select id="getNickName" resultType="java.lang.String">
select NICK_NAME from mini_info
where DEL_FLAG = 0
AND CUSTOMER_ID = #{customerId}
AND CLIENT_TYPE = #{clientType}
</select>
</mapper>

2
epmet-module/gov-access/gov-access-server/src/main/resources/bootstrap.yml

@ -10,7 +10,7 @@ spring:
name: gov-access-server
#环境 dev|test|prod
profiles:
active: dev
active: @spring.profiles.active@
jackson:
time-zone: GMT+8
date-format: yyyy-MM-dd HH:mm:ss

2
epmet-module/gov-grid/gov-grid-server/src/main/resources/bootstrap.yml

@ -10,7 +10,7 @@ spring:
name: gov-grid-server
#环境 dev|test|prod
profiles:
active: dev
active: @spring.profiles.active@
messages:
encoding: UTF-8
basename: i18n/messages_common

11
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueVoteStatisticalService.java

@ -148,4 +148,15 @@ public interface IssueVoteStatisticalService extends BaseService<IssueVoteStatis
* @date 2020.05.21 16:33
**/
IssueVoteStatisticalDTO getByIssueId(String issueId);
/**
* @Description 对指定的issueId的议题表决统计数缓存与Db同步
* @param issueId
* @param gridId
* @parma statisticalId
* @return
* @author wangc
* @date 2020.05.21 09:09
**/
void syncVotingCacheToDbByParams(String issueId,String gridId,String statisticalId);
}

10
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java

@ -437,6 +437,11 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
//5:缓存中网格下表决中的议题总数减1
govIssueRedis.subtractWorkGrassrootsIssueRedDotValue(entity.getGridId());
try {
issueVoteStatisticalService.syncVotingCacheToDbByParams(formDTO.getIssueId(),entity.getGridId(),null);
}catch (RenException e){
logger.error(e.getMsg());
}
}
/**
@ -581,6 +586,11 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
//6:缓存中网格下表决中的议题总数减1
govIssueRedis.subtractWorkGrassrootsIssueRedDotValue(entity.getGridId());
try{
issueVoteStatisticalService.syncVotingCacheToDbByParams(formDTO.getIssueId(),entity.getGridId(),null);
}catch(RenException e){
logger.error(e.getMsg());
}
}
/**

56
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalServiceImpl.java

@ -252,7 +252,7 @@ public class IssueVoteStatisticalServiceImpl extends BaseServiceImpl<IssueVoteSt
//获取所有voting的议题
Set<IssueDTO> issues =
issueDao.selectIssueIdsByCondition(issueParam);
if(null == issues || issues.size()< NumConstant.ONE){
if(null == issues || issues.isEmpty()){
return;
}
Set<String> ids = issues.stream().map(IssueDTO::getId).collect(Collectors.toSet());
@ -285,9 +285,7 @@ public class IssueVoteStatisticalServiceImpl extends BaseServiceImpl<IssueVoteSt
List<IssueVoteStatisticalDTO> listToUpdate = new ArrayList<>();
setVotableCountsAndUpdateCache(listToUpdate,
existedIds.stream().flatMap(existedId -> issues.stream().filter(issue ->
StringUtils.equals(issue.getId(),existedId)).map(issueDTO -> {
return issueDTO;
})).collect(Collectors.toSet()),
StringUtils.equals(issue.getId(),existedId))).collect(Collectors.toSet()),
votableCountMap);
// 批量更新listToUpdate
@ -417,8 +415,10 @@ public class IssueVoteStatisticalServiceImpl extends BaseServiceImpl<IssueVoteSt
public void syncVotingCacheToDbByIssueId(String issueId) {
VoteRedisFormDTO vote = issueVoteDetailRedis.getVoteStatistical(issueId);
if(null == vote) throw new RenException(String.format(ModuleConstants.ISSUE_NOT_FOUND_EXCEPTION_TEMPLATE,issueId));
IssueVoteStatisticalDTO toUpd = ConvertUtils.sourceToTarget(vote,IssueVoteStatisticalDTO.class);
toUpd.setUpdatedBy("system");
IssueVoteStatisticalDTO toUpd = new IssueVoteStatisticalDTO();
toUpd.setOppositionCount(vote.getOppositionAmount());
toUpd.setSupportCount(vote.getSupportAmount());
toUpd.setVotableCount(vote.getShouldVoteCount());
IssueEntity issue = issueDao.selectById(issueId);
if(null != issue && StringUtils.isNotBlank(issue.getGridId())){
CommonGridIdFormDTO gridId = new CommonGridIdFormDTO();
@ -427,17 +427,15 @@ public class IssueVoteStatisticalServiceImpl extends BaseServiceImpl<IssueVoteSt
resiGroupFeignClient.votableCount(gridId);
if(votableCount.success() && null != votableCount.getData()){
toUpd.setVotableCount(votableCount.getData());
}
}else {
toUpd.setVotableCount(NumConstant.ZERO);
}
IssueVoteStatisticalDTO existedStatistical = getByIssueId(issueId);
if(null != existedStatistical && StringUtils.isNotBlank(existedStatistical.getId())){
toUpd.setId(existedStatistical.getId());
update(toUpd);
}
update(toUpd);
}
/**
@ -452,6 +450,44 @@ public class IssueVoteStatisticalServiceImpl extends BaseServiceImpl<IssueVoteSt
return baseDao.selectByIssueId(issueId);
}
/**
* @Description 对指定的issueId的议题表决统计数缓存与Db同步,对于前项操作已经查询过的数据不再重复查询
* @param issueId
* @param gridId
* @parma statisticalId
* @return
* @author wangc
* @date 2020.05.21 09:09
**/
@Override
public void syncVotingCacheToDbByParams(String issueId, String gridId, String statisticalId) {
VoteRedisFormDTO vote = issueVoteDetailRedis.getVoteStatistical(issueId);
if(null == vote) throw new RenException(String.format(ModuleConstants.ISSUE_NOT_FOUND_EXCEPTION_TEMPLATE,issueId));
IssueVoteStatisticalDTO toUpd = new IssueVoteStatisticalDTO();
toUpd.setOppositionCount(vote.getOppositionAmount());
toUpd.setSupportCount(vote.getSupportAmount());
toUpd.setVotableCount(vote.getShouldVoteCount());
CommonGridIdFormDTO gridParam = new CommonGridIdFormDTO();
gridParam.setGridId(gridId);
Result<Integer> votableCount =
resiGroupFeignClient.votableCount(gridParam);
if(votableCount.success() && null != votableCount.getData()){
toUpd.setVotableCount(votableCount.getData());
}
if(StringUtils.isNotBlank(statisticalId)){
toUpd.setId(statisticalId);
update(toUpd);
}else{
IssueVoteStatisticalDTO existedStatistical = getByIssueId(issueId);
if(null != existedStatistical && StringUtils.isNotBlank(existedStatistical.getId())){
toUpd.setId(existedStatistical.getId());
update(toUpd);
}
}
}
/**
* @Description 遍历应表决数
* @param list - List<IssueVoteStatisticalDTO> | Set<IssueDTO> | Map<String,Integer>

2
epmet-module/gov-issue/gov-issue-server/src/main/resources/bootstrap.yml

@ -10,7 +10,7 @@ spring:
name: gov-issue-server
#环境 dev|test|prod
profiles:
active: dev
active: @spring.profiles.active@
jackson:
time-zone: GMT+8
date-format: yyyy-MM-dd HH:mm:ss

2
epmet-module/gov-mine/gov-mine-server/src/main/resources/bootstrap.yml

@ -10,7 +10,7 @@ spring:
name: gov-mine-server
#环境 dev|test|prod
profiles:
active: dev
active: @spring.profiles.active@
jackson:
time-zone: GMT+8
date-format: yyyy-MM-dd HH:mm:ss

10
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java

@ -215,18 +215,22 @@ public class CustomerGridServiceImpl extends BaseServiceImpl<CustomerGridDao, Cu
@Override
@Transactional(rollbackFor = Exception.class)
public Result<AddGridResultDTO> addGrid(TokenDto tokenDto, AddGridFormDTO addGridFormDTO) {
CustomerAgencyDTO customerAgencyDTO=customerAgencyService.get(addGridFormDTO.getAgencyId());
CustomerAgencyDTO customerAgencyDTO = customerAgencyService.get(addGridFormDTO.getAgencyId());
// 1. 查询该客户下可创建网格的最大数量
GridCountFormDTO gridCount = new GridCountFormDTO();
String customerId = customerAgencyDTO.getCustomerId();
gridCount.setCustomerId(customerId);
GridCountResultDTO grid = operCrmOpenFeignClient.getGridCount(gridCount).getData();
if (grid.getGridCount().equals(NumConstant.ZERO)){
log.info("客户信息为:" + grid);
if (null == grid) {
throw new RenException("未查出该客户信息");
}
if (null == grid.getGridCount() || grid.getGridCount().equals(NumConstant.ZERO)) {
throw new RenException(EpmetErrorCode.GRID_COUNT_UP.getCode());
}
// 2. 判断当前客户下存在的网格数量
Integer gridCounts = customerGridDao.selectGridCount(customerId);
if (gridCounts >= grid.getGridCount()){
if (gridCounts >= grid.getGridCount()) {
throw new RenException(EpmetErrorCode.GRID_COUNT_UP.getCode());
}
// 3. 查询网格名称是否重名

2
epmet-module/gov-org/gov-org-server/src/main/resources/bootstrap.yml

@ -10,7 +10,7 @@ spring:
name: gov-org-server
#环境 dev|test|prod
profiles:
active: dev
active: @spring.profiles.active@
messages:
encoding: UTF-8
basename: i18n/messages_common

2
epmet-module/gov-project/gov-project-server/src/main/resources/bootstrap.yml

@ -10,7 +10,7 @@ spring:
name: gov-project-server
#环境 dev|test|prod
profiles:
active: dev
active: @spring.profiles.active@
jackson:
time-zone: GMT+8
date-format: yyyy-MM-dd HH:mm:ss

2
epmet-module/gov-voice/gov-voice-server/src/main/resources/bootstrap.yml

@ -10,7 +10,7 @@ spring:
name: gov-voice-server
#环境 dev|test|prod
profiles:
active: dev
active: @spring.profiles.active@
jackson:
time-zone: GMT+8
date-format: yyyy-MM-dd HH:mm:ss

2
epmet-module/oper-access/oper-access-server/src/main/resources/bootstrap.yml

@ -10,7 +10,7 @@ spring:
name: oper-access-server
#环境 dev|test|prod
profiles:
active: dev
active: @spring.profiles.active@
messages:
encoding: UTF-8
basename: i18n/messages,i18n/messages_common

2
epmet-module/oper-crm/oper-crm-server/src/main/resources/bootstrap.yml

@ -10,7 +10,7 @@ spring:
name: oper-crm-server
#环境 dev|test|prod
profiles:
active: dev
active: @spring.profiles.active@
messages:
encoding: UTF-8
basename: i18n/messages,i18n/messages_common

7
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/CustomerFootBarDTO.java

@ -43,6 +43,11 @@ public class CustomerFootBarDTO implements Serializable {
*/
private String barName;
/**
* 默认的bar名称
*/
private String defaultBarName;
/**
* KEY
*/
@ -93,4 +98,6 @@ public class CustomerFootBarDTO implements Serializable {
*/
private Date updatedTime;
private Boolean display;
}

85
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/CustomerFootBarFormDTO.java

@ -1,17 +1,98 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;
@Data
public class CustomerFootBarFormDTO {
//@NotBlank(message = "客户ID不能为空")
// 创建footbar的分组
public interface CreateFootBarGroup extends CustomerClientShowGroup {}
// 查询footbar列表分组
public interface ListFootBarGroup extends CustomerClientShowGroup {}
// 运营端查询footbar列表分组
public interface ListFootBarGroup4Oper extends CustomerClientShowGroup {}
// 更新footbar
public interface UpdateFootBarGroup extends CustomerClientShowGroup {}
// 保存顺序
public interface SaveOrderGroup extends CustomerClientShowGroup {}
// 明细分组
public interface FootBarDetailGroup extends CustomerClientShowGroup {}
// 更新显示状态分组
public interface UpdateDisplayStatusGroup extends CustomerClientShowGroup {}
// 为客户添加默认footbar
public interface AddDefaultFootbars4Customer extends CustomerClientShowGroup {}
// 删除footbar
public interface DeleteFootbarsGroup extends CustomerClientShowGroup {}
@NotBlank(message = "FootBar的ID不能为空", groups = { UpdateFootBarGroup.class, FootBarDetailGroup.class, UpdateDisplayStatusGroup.class, DeleteFootbarsGroup.class })
private String id;
@NotBlank(message = "客户ID不能为空", groups = { CreateFootBarGroup.class, AddDefaultFootbars4Customer.class, ListFootBarGroup4Oper.class })
private String customerId;
// 哪一个端:gov,resi
@NotBlank(message = "app类型不能为空")
@NotBlank(message = "app类型不能为空", groups = { ListFootBarGroup.class, CreateFootBarGroup.class, AddDefaultFootbars4Customer.class, ListFootBarGroup4Oper.class })
private String appType;
@NotBlank(message = "名称不能为空", groups = { CreateFootBarGroup.class, UpdateFootBarGroup.class })
private String barName;
@NotBlank(message = "key不能为空", groups = { CreateFootBarGroup.class })
private String barKey;
@NotBlank(message = "页面标题不能为空", groups = { CreateFootBarGroup.class, UpdateFootBarGroup.class })
private String pageTitle;
//@NotBlank(message = "图标路径不能为空", groups = { UpdateFootBarGroup.class })
private String iconPath;
//@NotBlank(message = "选中的图标路径不能为空", groups = { UpdateFootBarGroup.class })
private String selectedIconPath;
@NotEmpty(message = "顺序不能为空", groups = { SaveOrderGroup.class })
private List<OrderIndexDTO> orderList;
@NotNull(message = "显示状态不能为空", groups = { UpdateDisplayStatusGroup.class })
private Boolean display;
/**
* 排序索引号dto
*/
public static class OrderIndexDTO {
private String id;
private Integer orderIndex;
public OrderIndexDTO() {
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public Integer getOrderIndex() {
return orderIndex;
}
public void setOrderIndex(Integer orderIndex) {
this.orderIndex = orderIndex;
}
}
}

14
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/CustomerFootBarResultDTO.java

@ -39,6 +39,10 @@ public class CustomerFootBarResultDTO implements Serializable {
*/
private String id;
private String customerId;
private String appType;
/**
* bar名称
*/
@ -94,4 +98,14 @@ public class CustomerFootBarResultDTO implements Serializable {
*/
private Date updatedTime;
private Boolean display;
private String defaultBarName;
private String defaultIconPath;
private String defaultSelectedIconPath;
private String defaultPageTitle;
}

117
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/CustomerFootBarController.java

@ -27,6 +27,7 @@ import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.dto.CustomerFootBarDTO;
import com.epmet.dto.form.CustomerFootBarFormDTO;
import com.epmet.dto.result.CustomerFootBarResultDTO;
import com.epmet.entity.CustomerFootBarEntity;
import com.epmet.excel.CustomerFootBarExcel;
import com.epmet.service.CustomerFootBarService;
@ -35,7 +36,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.NotBlank;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
@ -103,17 +103,130 @@ public class CustomerFootBarController {
*/
@PostMapping("customerfootbars")
public Result<List<CustomerFootBarDTO>> getCustomerfootbars(@RequestBody CustomerFootBarFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
ValidatorUtils.validateEntity(formDTO, CustomerFootBarFormDTO.ListFootBarGroup.class);
String customerId = formDTO.getCustomerId();
String appType = formDTO.getAppType();
List<CustomerFootBarEntity> footbars = customerFootBarService.listCustomerFootBars(customerId, appType);
List<CustomerFootBarDTO> barDTOS = new LinkedList<>();
footbars.forEach(barEntity -> {
CustomerFootBarEntity defaultFootBarEntity = customerFootBarService.getByAppTypeAndBarKeyOfCustomer("default", barEntity.getAppType(), barEntity.getBarKey());
CustomerFootBarDTO barDTO = new CustomerFootBarDTO();
BeanUtils.copyProperties(barEntity, barDTO);
barDTO.setDefaultBarName(defaultFootBarEntity.getBarName());
barDTOS.add(barDTO);
});
return new Result<List<CustomerFootBarDTO>>().ok(barDTOS);
}
/**
* 运营端查询footbar列表
* @param formDTO
* @return
*/
@PostMapping("customerfootbars4oper")
public Result<List<CustomerFootBarDTO>> getCustomerfootbars4Oper(@RequestBody CustomerFootBarFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, CustomerFootBarFormDTO.ListFootBarGroup4Oper.class);
String customerId = formDTO.getCustomerId();
String appType = formDTO.getAppType();
List<CustomerFootBarEntity> footbars = customerFootBarService.listAllCustomerFootBars(customerId, appType);
List<CustomerFootBarDTO> barDTOS = new LinkedList<>();
footbars.forEach(barEntity -> {
CustomerFootBarEntity defaultFootBarEntity = customerFootBarService.getByAppTypeAndBarKeyOfCustomer("default", barEntity.getAppType(), barEntity.getBarKey());
CustomerFootBarDTO barDTO = new CustomerFootBarDTO();
BeanUtils.copyProperties(barEntity, barDTO);
barDTO.setDefaultBarName(defaultFootBarEntity.getBarName());
barDTOS.add(barDTO);
});
return new Result<List<CustomerFootBarDTO>>().ok(barDTOS);
}
/**
* 创建footbar只能创建默认的不能直接为客户创建
* @param form
* @return
*/
@PostMapping("createfootbar")
public Result createFootBar(@RequestBody CustomerFootBarFormDTO form) {
ValidatorUtils.validateEntity(form, CustomerFootBarFormDTO.CreateFootBarGroup.class);
customerFootBarService.createFootBar(form);
return new Result();
}
/**
* 更新footbar
* @param form
* @return
*/
@PostMapping("updatefootbar")
public Result updateFootbar(@RequestBody CustomerFootBarFormDTO form) {
ValidatorUtils.validateEntity(form, CustomerFootBarFormDTO.UpdateFootBarGroup.class);
customerFootBarService.updateFootBar(form);
return new Result();
}
/**
*
* @param form
* @return
*/
@PostMapping("footbardetail")
public Result footbarDetail(@RequestBody CustomerFootBarFormDTO form) {
ValidatorUtils.validateEntity(form, CustomerFootBarFormDTO.FootBarDetailGroup.class);
CustomerFootBarResultDTO dto = customerFootBarService.getFootBarDetail(form.getId());
return new Result().ok(dto);
}
/**
* 保存排序
* @param form
* @return
*/
@PostMapping("saveorder")
public Result saveOrder(@RequestBody CustomerFootBarFormDTO form) {
ValidatorUtils.validateEntity(form, CustomerFootBarFormDTO.SaveOrderGroup.class);
customerFootBarService.saveOrder(form.getOrderList());
return new Result();
}
/**
* 更新显示状态
* @param form
* @return
*/
@PostMapping("updatedisplaystatus")
public Result updateDisplayStatus(@RequestBody CustomerFootBarFormDTO form) {
ValidatorUtils.validateEntity(form, CustomerFootBarFormDTO.UpdateDisplayStatusGroup.class);
customerFootBarService.updateDisplayStatus(form.getId(), form.getDisplay());
return new Result();
}
/**
* 为客户初始化默认的footbar
* @param form
* @return
*/
@PostMapping("initdefault4customer")
public Result initDefault4Customer(@RequestBody CustomerFootBarFormDTO form) {
ValidatorUtils.validateEntity(form, CustomerFootBarFormDTO.AddDefaultFootbars4Customer.class);
customerFootBarService.addDefault4Customer(form.getCustomerId(), form.getAppType());
return new Result();
}
/**
* 删除footbar
* @param form
* @return
*/
@PostMapping("deletefootbar")
public Result deleteFootBar(@RequestBody CustomerFootBarFormDTO form) {
ValidatorUtils.validateEntity(form, CustomerFootBarFormDTO.DeleteFootbarsGroup.class);
customerFootBarService.deleteFootBar(form.getId());
return new Result();
}
}

51
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/CustomerFootBarDao.java

@ -33,6 +33,55 @@ import java.util.List;
@Mapper
public interface CustomerFootBarDao extends BaseDao<CustomerFootBarEntity> {
List<CustomerFootBarEntity> listCustomerFootBars(@Param("customerId") String customerId,
List<CustomerFootBarEntity> listDisplayCustomerFootBars(@Param("customerId") String customerId,
@Param("appType") String appType);
List<CustomerFootBarEntity> listAllCustomerFootBars(@Param("customerId") String customerId,
@Param("appType") String appType);
/**
* 唯一性count
* @param appType
* @param barKey
* @return
*/
int count4Unique(@Param("customerId") String customerId,
@Param("appType") String appType,
@Param("barKey") String barKey,
@Param("barName") String barName);
/**
* 获取下一个顺序号
* @param customerId
* @param appType
* @return
*/
Integer fetchNextOrder(@Param("customerId") String customerId, @Param("appType") String appType);
/**
* 更新顺序号
* @param id
* @param orderIndex
* @return
*/
Integer updateOrder(@Param("id") String id, @Param("orderIndex") Integer orderIndex);
CustomerFootBarEntity getByAppTypeAndBarKeyOfCustomer(@Param("customerId") String customerId,
@Param("appType") String appType,
@Param("barKey") String barKey);
CustomerFootBarEntity getByAppTypeAndBarNameOfCustomer(@Param("customerId") String customerId,
@Param("appType") String appType,
@Param("barName") String barName);
List<CustomerFootBarEntity> listByAppTypeAndCustomerId(@Param("customerId") String customerId,
@Param("appType") String appType);
void updateDisplayStatus(@Param("id") String id, @Param("display") Boolean display);
List<String> listFootBarOwnerCustomerIds();
void physicsDeleteById(@Param("id") String id);
void physicsDeleteByAppTypeAndBarKey(@Param("appType") String appType, @Param("barKey") String barKey);
}

15
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/CustomerFootBarEntity.java

@ -38,6 +38,11 @@ public class CustomerFootBarEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户id
*/
private String customerId;
/**
* bar名称
*/
@ -65,6 +70,14 @@ public class CustomerFootBarEntity extends BaseEpmetEntity {
*/
private String selectedIconPath;
private Integer order;
/**
* 顺序号
*/
private Integer orderIndex;
/**
* 是否显示
*/
private Boolean display;
}

20
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/CustomerFootBarService.java

@ -20,6 +20,8 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.CustomerFootBarDTO;
import com.epmet.dto.form.CustomerFootBarFormDTO;
import com.epmet.dto.result.CustomerFootBarResultDTO;
import com.epmet.entity.CustomerFootBarEntity;
import java.util.List;
@ -94,4 +96,22 @@ public interface CustomerFootBarService extends BaseService<CustomerFootBarEntit
void delete(String[] ids);
List<CustomerFootBarEntity> listCustomerFootBars(String customerId, String appType);
List<CustomerFootBarEntity> listAllCustomerFootBars(String customerId, String appType);
void createFootBar(CustomerFootBarFormDTO form);
void updateFootBar(CustomerFootBarFormDTO form);
CustomerFootBarResultDTO getFootBarDetail(String id);
void saveOrder(List<CustomerFootBarFormDTO.OrderIndexDTO> orderList);
CustomerFootBarEntity getByAppTypeAndBarKeyOfCustomer(String customerId, String appType, String barKey);
void updateDisplayStatus(String id, Boolean display);
void addDefault4Customer(String customerId, String appType);
void deleteFootBar(String id);
}

156
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/CustomerFootBarServiceImpl.java

@ -20,11 +20,15 @@ package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.dao.CustomerFootBarDao;
import com.epmet.dto.CustomerFootBarDTO;
import com.epmet.dto.form.CustomerFootBarFormDTO;
import com.epmet.dto.result.CustomerFootBarResultDTO;
import com.epmet.entity.CustomerFootBarEntity;
import com.epmet.redis.CustomerFootBarRedis;
import com.epmet.service.CustomerFootBarService;
@ -103,7 +107,157 @@ public class CustomerFootBarServiceImpl extends BaseServiceImpl<CustomerFootBarD
@Override
public List<CustomerFootBarEntity> listCustomerFootBars(String customerId, String appType) {
return baseDao.listCustomerFootBars(customerId, appType);
return baseDao.listDisplayCustomerFootBars(customerId, appType);
}
@Override
public List<CustomerFootBarEntity> listAllCustomerFootBars(String customerId, String appType) {
return baseDao.listAllCustomerFootBars(customerId, appType);
}
@Override
public void createFootBar(CustomerFootBarFormDTO form) {
validateBeforeCreate(form);
CustomerFootBarEntity entity = new CustomerFootBarEntity();
entity.setAppType(form.getAppType());
entity.setCustomerId("default"); // 只能为默认客户创建
entity.setBarKey(form.getBarKey());
entity.setBarName(form.getBarName());
entity.setIconPath(form.getIconPath());
entity.setPageTitle(form.getPageTitle());
entity.setSelectedIconPath(form.getSelectedIconPath());
entity.setOrderIndex(baseDao.fetchNextOrder(form.getCustomerId(), form.getAppType()));
entity.setDisplay(true);
baseDao.insert(entity);
sync2Customers(entity);
}
/**
* 同步到客户
* @param entity
*/
private void sync2Customers(CustomerFootBarEntity entity) {
List<String> customerIds = baseDao.listFootBarOwnerCustomerIds();
for (String customerId : customerIds) {
CustomerFootBarEntity bar = baseDao.getByAppTypeAndBarKeyOfCustomer(customerId, entity.getAppType(), entity.getBarKey());
if (bar == null) {
// 该客户还没有该bar
CustomerFootBarEntity newBar = new CustomerFootBarEntity();
newBar.setCustomerId(customerId);
newBar.setIconPath(entity.getIconPath());
newBar.setPageTitle(entity.getPageTitle());
newBar.setBarKey(entity.getBarKey());
newBar.setBarName(entity.getBarName());
newBar.setSelectedIconPath(entity.getSelectedIconPath());
newBar.setOrderIndex(baseDao.fetchNextOrder(customerId, entity.getAppType()));
newBar.setAppType(entity.getAppType());
newBar.setDisplay(true);
baseDao.insert(newBar);
}
}
}
@Override
public void updateFootBar(CustomerFootBarFormDTO form) {
validateBeforeUpdate(form);
CustomerFootBarEntity entity = baseDao.selectById(form.getId());
if (entity == null) {
throw new RenException(EpmetErrorCode.OPER_CUSTOMER_FOOTBAR_NOT_FOUND.getCode(),
EpmetErrorCode.OPER_CUSTOMER_FOOTBAR_NOT_FOUND.getMsg());
}
entity.setSelectedIconPath(form.getSelectedIconPath());
entity.setBarName(form.getBarName());
entity.setPageTitle(form.getPageTitle());
entity.setIconPath(form.getIconPath());
baseDao.updateById(entity);
}
@Override
public CustomerFootBarResultDTO getFootBarDetail(String id) {
CustomerFootBarEntity entity = baseDao.selectById(id);
if (entity == null) {
return new CustomerFootBarResultDTO();
}
CustomerFootBarResultDTO dto = ConvertUtils.sourceToTarget(entity, CustomerFootBarResultDTO.class);
CustomerFootBarEntity defaultBar = baseDao.getByAppTypeAndBarKeyOfCustomer("default", entity.getAppType(), entity.getBarKey());
dto.setDefaultBarName(defaultBar.getBarName());
dto.setDefaultIconPath(defaultBar.getIconPath());
dto.setDefaultSelectedIconPath(defaultBar.getSelectedIconPath());
dto.setDefaultPageTitle(defaultBar.getPageTitle());
return dto;
}
@Transactional
@Override
public void saveOrder(List<CustomerFootBarFormDTO.OrderIndexDTO> orderList) {
for (CustomerFootBarFormDTO.OrderIndexDTO idx : orderList) {
baseDao.updateOrder(idx.getId(), idx.getOrderIndex());
}
}
@Override
public CustomerFootBarEntity getByAppTypeAndBarKeyOfCustomer(String customerId, String appType, String barKey) {
return baseDao.getByAppTypeAndBarKeyOfCustomer(customerId, appType, barKey);
}
@Override
public void updateDisplayStatus(String id, Boolean display) {
baseDao.updateDisplayStatus(id, display);
}
@Transactional
@Override
public void addDefault4Customer(String customerId, String appType) {
List<CustomerFootBarEntity> defaultBars = baseDao.listByAppTypeAndCustomerId("default", appType);
for (CustomerFootBarEntity defaultBar : defaultBars) {
CustomerFootBarEntity bar = baseDao.getByAppTypeAndBarKeyOfCustomer(customerId, appType, defaultBar.getBarKey());
if (bar != null) {
// 该客户已经有该bar了,不再添加
continue;
}
defaultBar.setCustomerId(customerId);
defaultBar.setId(null);
defaultBar.setCreatedTime(null);
defaultBar.setCreatedBy(null);
defaultBar.setUpdatedTime(null);
defaultBar.setUpdatedBy(null);
baseDao.insert(defaultBar);
}
}
@Override
public void deleteFootBar(String id) {
CustomerFootBarEntity defaultFootbar = baseDao.selectById(id);
baseDao.physicsDeleteByAppTypeAndBarKey(defaultFootbar.getAppType(), defaultFootbar.getBarKey());
}
/**
* 添加footbar之前的校验
* @param form
*/
private void validateBeforeCreate(CustomerFootBarFormDTO form) {
synchronized (this) {
int uniqueCount1 = baseDao.count4Unique(form.getCustomerId(), form.getAppType(), form.getBarKey(), null);
int uniqueCount2 = baseDao.count4Unique(form.getCustomerId(), form.getAppType(), null, form.getBarName());
if (uniqueCount1 > 0 || uniqueCount2 > 0) {
throw new RenException(EpmetErrorCode.OPER_CUSTOMER_FOOTBAR_EXISTS.getCode(),
EpmetErrorCode.OPER_CUSTOMER_FOOTBAR_EXISTS.getMsg());
}
}
}
private void validateBeforeUpdate(CustomerFootBarFormDTO form) {
synchronized (this) {
CustomerFootBarEntity entity = baseDao.getByAppTypeAndBarNameOfCustomer(form.getCustomerId(), form.getAppType(), form.getBarName());
if (entity != null && !entity.getId().equals(form.getId())) {
throw new RenException(EpmetErrorCode.OPER_CUSTOMER_FOOTBAR_EXISTS.getCode(),
EpmetErrorCode.OPER_CUSTOMER_FOOTBAR_EXISTS.getMsg());
}
}
}
}

2
epmet-module/oper-customize/oper-customize-server/src/main/resources/bootstrap.yml

@ -10,7 +10,7 @@ spring:
name: oper-customize-server
#环境 dev|test|prod
profiles:
active: dev
active: @spring.profiles.active@
messages:
encoding: UTF-8
basename: i18n/messages,i18n/messages_common

2
epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.6__footbar_add_column.sql

@ -0,0 +1,2 @@
alter table customer_foot_bar add column DISPLAY tinyint(1) default 1;
alter table customer_foot_bar change `ORDER` ORDER_INDEX tinyint(1) default 1;

175
epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/CustomerFootBarDao.xml

@ -11,7 +11,8 @@
<result property="pageTitle" column="PAGE_TITLE"/>
<result property="iconPath" column="ICON_PATH"/>
<result property="selectedIconPath" column="SELECTED_ICON_PATH"/>
<result property="order" column="ORDER"/>
<result property="orderIndex" column="ORDER_INDEX"/>
<result property="display" column="DISPLAY"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
@ -20,34 +21,194 @@
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<!--更新顺序号-->
<update id="updateOrder">
update customer_foot_bar
set ORDER_INDEX = #{orderIndex}
where ID = #{id}
</update>
<update id="updateDisplayStatus">
update customer_foot_bar
set DISPLAY=#{display}
where ID = #{id}
</update>
<!--物理删除-->
<delete id="physicsDeleteById">
delete
from customer_foot_bar
where ID = #{id}
</delete>
<delete id="physicsDeleteByAppTypeAndBarKey">
delete
from customer_foot_bar
where app_type = #{appType}
and BAR_KEY = #{barKey}
</delete>
<!--查询客户的footbar列表-->
<select id="listCustomerFootBars" resultType="com.epmet.entity.CustomerFootBarEntity">
<select id="listDisplayCustomerFootBars" resultType="com.epmet.entity.CustomerFootBarEntity">
SELECT
id,
customer_id,
app_type,
bar_key,
bar_name,
app_type,
page_title,
icon_path,
selected_icon_path,
`order`,
display,
order_index,
del_flag,
revision,
created_by,
created_time,
updated_by,
updated_time,
`order`
updated_time
FROM
customer_foot_bar
<where>
DEL_FLAG = '0'
AND CUSTOMER_ID = #{customerId}
AND APP_TYPE = #{appType}
AND DISPLAY = 1
</where>
ORDER BY `ORDER_INDEX` ASC
</select>
<select id="listAllCustomerFootBars" resultType="com.epmet.entity.CustomerFootBarEntity">
SELECT
id,
customer_id,
app_type,
bar_key,
bar_name,
page_title,
icon_path,
selected_icon_path,
display,
order_index,
del_flag,
revision,
created_by,
created_time,
updated_by,
updated_time
FROM
customer_foot_bar
<where>
DEL_FLAG = '0'
AND CUSTOMER_ID = #{customerId}
AND APP_TYPE = #{appType}
</where>
ORDER BY `ORDER_INDEX` ASC
</select>
<select id="count4Unique" resultType="java.lang.Integer">
select count(1)
from customer_foot_bar
<where>
<if test="appType != null and appType != ''">
app_type = #{appType}
</if>
<if test="barKey != null and barKey != ''">
and BAR_KEY = #{barKey}
</if>
<if test="customerId != null and customerId != ''">
and CUSTOMER_ID = #{customerId}
</if>
<if test="barName != null and barName != ''">
and BAR_NAME= #{barName}
</if>
and DEL_FLAG=0
</where>
</select>
<select id="fetchNextOrder" resultType="java.lang.Integer">
select ifnull(max(`ORDER_INDEX`),-1) + 1
from customer_foot_bar
<where>
app_type = #{appType}
and CUSTOMER_ID = #{customerId}
and DEL_FLAG=0
</where>
ORDER BY `order` ASC
</select>
<select id="getByAppTypeAndBarKeyOfCustomer" resultType="com.epmet.entity.CustomerFootBarEntity">
select id,
customer_id,
app_type,
bar_key,
bar_name,
page_title,
icon_path,
selected_icon_path,
display,
order_index,
del_flag,
revision,
created_by,
created_time,
updated_by,
updated_time
from customer_foot_bar
where CUSTOMER_ID = #{customerId}
and APP_TYPE = #{appType}
and BAR_KEY = #{barKey}
</select>
<select id="listByAppTypeAndCustomerId" resultType="com.epmet.entity.CustomerFootBarEntity">
select id,
customer_id,
app_type,
bar_key,
bar_name,
page_title,
icon_path,
selected_icon_path,
display,
order_index,
del_flag,
revision,
created_by,
created_time,
updated_by,
updated_time
from customer_foot_bar
where CUSTOMER_ID = #{customerId}
and app_type = #{appType}
and DEL_FLAG=0
</select>
<select id="listFootBarOwnerCustomerIds" resultType="java.lang.String">
select distinct CUSTOMER_ID
from customer_foot_bar fb
where CUSTOMER_ID != 'default'
</select>
<select id="getByAppTypeAndBarNameOfCustomer" resultType="com.epmet.entity.CustomerFootBarEntity">
select id,
customer_id,
app_type,
bar_key,
bar_name,
page_title,
icon_path,
selected_icon_path,
display,
order_index,
del_flag,
revision,
created_by,
created_time,
updated_by,
updated_time
from customer_foot_bar
where CUSTOMER_ID = #{customerId}
and APP_TYPE = #{appType}
and BAR_NAME = #{barName}
</select>

2
epmet-module/resi-group/resi-group-server/src/main/resources/bootstrap.yml

@ -10,7 +10,7 @@ spring:
name: resi-group-server
#环境 dev|test|prod
profiles:
active: dev
active: @spring.profiles.active@
messages:
encoding: UTF-8
basename: i18n/messages,i18n/messages_common

2
epmet-module/resi-guide/resi-guide-server/src/main/resources/bootstrap.yml

@ -10,7 +10,7 @@ spring:
name: resi-guide-server
#环境 dev|test|prod
profiles:
active: dev
active: @spring.profiles.active@
messages:
encoding: UTF-8
basename: i18n/messages,i18n/messages_common

2
epmet-module/resi-hall/resi-hall-server/src/main/resources/bootstrap.yml

@ -10,7 +10,7 @@ spring:
name: resi-hall-server
#环境 dev|test|prod
profiles:
active: dev
active: @spring.profiles.active@
messages:
encoding: UTF-8
basename: i18n/messages_common

2
epmet-module/resi-home/resi-home-server/src/main/resources/bootstrap.yml

@ -10,7 +10,7 @@ spring:
name: resi-home-server
#环境 dev|test|prod
profiles:
active: dev
active: @spring.profiles.active@
messages:
encoding: UTF-8
basename: i18n/messages_common

2
epmet-module/resi-mine/resi-mine-server/src/main/resources/bootstrap.yml

@ -10,7 +10,7 @@ spring:
name: resi-mine-server
#环境 dev|test|prod
profiles:
active: dev
active: @spring.profiles.active@
messages:
encoding: UTF-8
basename: i18n/messages,i18n/messages_common

2
epmet-module/resi-partymember/resi-partymember-server/src/main/resources/bootstrap.yml

@ -10,7 +10,7 @@ spring:
name: resi-partymember-server
#环境 dev|test|prod
profiles:
active: dev
active: @spring.profiles.active@
messages:
encoding: UTF-8
basename: i18n/messages,i18n/messages_common

2
epmet-module/resi-voice/resi-voice-server/src/main/resources/bootstrap.yml

@ -10,7 +10,7 @@ spring:
name: resi-voice-server
#环境 dev|test|prod
profiles:
active: dev
active: @spring.profiles.active@
jackson:
time-zone: GMT+8
date-format: yyyy-MM-dd HH:mm:ss

2
epmet-openapi/epmet-openapi-scan/src/main/resources/bootstrap.yml

@ -10,7 +10,7 @@ spring:
name: epmet-openapi-scan
#环境 dev|test|prod
profiles:
active: dev
active: @spring.profiles.active@
messages:
encoding: UTF-8
basename: i18n/messages_common

7
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CommonUserFormDTO.java

@ -1,5 +1,6 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@ -15,15 +16,17 @@ import java.io.Serializable;
public class CommonUserFormDTO implements Serializable{
private static final long serialVersionUID = -7994579456530273809L;
public interface CustomerId_UserIdGroup extends CustomerClientShowGroup{}
/**
* 用户Id
* */
@NotBlank(message = "用户Id不能为空")
@NotBlank(message = "用户Id不能为空" , groups = CustomerId_UserIdGroup.class)
private String userId;
/**
* 客户Id
* */
@NotBlank(message = "客户Id不能为空")
@NotBlank(message = "客户Id不能为空" , groups = CustomerId_UserIdGroup.class)
private String customerId;
}

7
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserServiceImpl.java

@ -3,7 +3,6 @@ package com.epmet.service.impl;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.CpUserDetailRedis;
import com.epmet.commons.tools.utils.Result;
@ -203,9 +202,9 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
userRoleFormDTO.setGridId(myResiUserInfoFormDTO.getGridId());
result.setRoleList(userRoleDao.getUserRoleList(userRoleFormDTO));
TokenDto dto = new TokenDto();
dto.setUserId(myResiUserInfoFormDTO.getUserId());
Result<ResiPointDetailResultDTO> pointResult = epmetPointOpenFeignClient.myPoint(dto);
CommonUserFormDTO pointParam = new CommonUserFormDTO();
pointParam.setCustomerId(myResiUserInfoFormDTO.getCustomerId());
Result<ResiPointDetailResultDTO> pointResult = epmetPointOpenFeignClient.myPoint(pointParam);
if(pointResult.success() && null != pointResult.getData()){
//累计积分
result.setPoint(pointResult.getData().getUsablePoint());

2
epmet-user/epmet-user-server/src/main/resources/bootstrap.yml

@ -10,7 +10,7 @@ spring:
name: epmet-user-server
#环境 dev|test|prod
profiles:
active: dev
active: @spring.profiles.active@
messages:
encoding: UTF-8
basename: i18n/messages_common

Loading…
Cancel
Save