Browse Source

Merge remote-tracking branch 'origin/dev_heart' into dev_heart

# Conflicts:
#	epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointVerificationLogServiceImpl.java
dev_shibei_match
wangchao 5 years ago
parent
commit
08995f4d66
  1. 1
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java
  2. 47
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java
  3. 3
      epmet-gateway/src/main/java/com/epmet/filter/UserTokenFilter.java
  4. 12
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/resi/ResiActContentFormDTO.java
  5. 2
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/PublishActInfoFormDTO.java
  6. 2
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/RePublishFormDTO.java
  7. 2
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/SummaryActFormDTO.java
  8. 63
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/TestGrantFormDTO.java
  9. 23
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/work/CanceledActDetailResultDTO.java
  10. 23
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/work/FinishedActDetailResultDTO.java
  11. 33
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/work/InProgressActDetailResultDTO.java
  12. 2
      epmet-module/epmet-heart/epmet-heart-server/deploy/docker-compose-dev.yml
  13. 2
      epmet-module/epmet-heart/epmet-heart-server/pom.xml
  14. 10
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/WorkActController.java
  15. 2
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/WorkActService.java
  16. 33
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActInfoServiceImpl.java
  17. 2
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActSummaryServiceImpl.java
  18. 10
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActUserRelationServiceImpl.java
  19. 117
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActServiceImpl.java
  20. 9
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActUserServiceImpl.java
  21. 35
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/ActInfoDao.xml
  22. 1
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/ActSummaryDao.xml
  23. 2
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/ActUserRelationDao.xml
  24. 4
      epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/WorkPointVerificationDetailResultDTO.java
  25. 2
      epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/feign/EpmetPointOpenFeignClient.java
  26. 2
      epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/feign/fallback/EpmetPointOpenFeignClientFallback.java
  27. 2
      epmet-module/epmet-point/epmet-point-server/deploy/docker-compose-dev.yml
  28. 2
      epmet-module/epmet-point/epmet-point-server/pom.xml
  29. 18
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/ExchangeController.java
  30. 2
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointVerificationLogServiceImpl.java
  31. 5
      epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/PaCustomerDTO.java
  32. 5
      epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/PaUserDTO.java
  33. 5
      epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/PaUserVisitedDTO.java
  34. 40
      epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/result/CategoryResultDTO.java
  35. 2
      epmet-module/epmet-third/epmet-third-server/deploy/docker-compose-dev.yml
  36. 2
      epmet-module/epmet-third/epmet-third-server/pom.xml
  37. 4
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/constant/PaConstant.java
  38. 19
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/constant/ThirdRunTimeInfoConstant.java
  39. 28
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/CodeController.java
  40. 5
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/entity/PaCustomerEntity.java
  41. 5
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/entity/PaUserEntity.java
  42. 5
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/entity/PaUserVisitedEntity.java
  43. 24
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/CodeService.java
  44. 1
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/AppLetAuthorizationServiceImpl.java
  45. 28
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/CodeServiceImpl.java
  46. 19
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/ComponentVerifyTicketServiceImpl.java
  47. 6
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/PaCustomerServiceImpl.java
  48. 3
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/WarrantServiceImpl.java
  49. 15
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/result/WxMaCategoryResult.java
  50. 4
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/service/WxMaCodeService.java
  51. 4
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/service/impl/WxMaCodeServiceImpl.java
  52. 2
      epmet-module/resi-mine/resi-mine-server/deploy/docker-compose-dev.yml
  53. 2
      epmet-module/resi-mine/resi-mine-server/pom.xml
  54. 10
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CustomerUser4PointResultDTO.java
  55. 2
      epmet-user/epmet-user-server/deploy/docker-compose-dev.yml
  56. 2
      epmet-user/epmet-user-server/pom.xml
  57. 2
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserRoleController.java
  58. 10
      epmet-user/epmet-user-server/src/main/java/com/epmet/entity/UserCustomerEntity.java
  59. 8
      epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.6__add_isRegister.sql
  60. 4
      epmet-user/epmet-user-server/src/main/resources/mapper/UserWechatDao.xml

1
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java

@ -51,4 +51,5 @@ public interface NumConstant {
String FIVE_STR = "5";
String POSITIVE_EIGHT_STR = "+8";
String EMPTY_STR = "";
String ONE_NEG_STR = "-1";
}

47
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java

@ -8,6 +8,7 @@
package com.epmet.commons.tools.utils;
import com.epmet.commons.tools.constant.NumConstant;
import org.apache.commons.lang3.StringUtils;
import org.joda.time.DateTime;
import org.joda.time.LocalDate;
@ -488,6 +489,13 @@ public class DateUtils {
return format.format(timestamp * 1000);
}
/**
* @return java.util.Date
* @param minStr yyyy-MM-dd HH:mm字符串
* @author yinzuomei
* @description 改为yyyy-MM-dd HH:mm:00 时间点
* @Date 2020/7/29 13:38
**/
public static Date minStrToSecondDate(String minStr){
if(StringUtils.isNotBlank(minStr)&&minStr.length()==16){
String date=minStr.concat(":00");
@ -502,6 +510,14 @@ public class DateUtils {
return null;
}
/**
* @return java.lang.Integer
* @param startDate
* @param endDate
* @author yinzuomei
* @description 计算两个时间点之间相隔分钟数
* @Date 2020/7/29 13:38
**/
public static Integer calculateMin(Date startDate,Date endDate){
long start=startDate.getTime();
long end=endDate.getTime();
@ -510,4 +526,35 @@ public class DateUtils {
System.out.println("两个时间之间的分钟差为:" + minutes);
return minutes;
}
/**
* @return java.lang.String
* @param dateOne
* @param dateTwo
* @author yinzuomei
* @description 相等0 -1: dateOne早于dateTwo; 1: dateOne晚于dateTwo
* @Date 2020/7/29 15:31
**/
public static String comparteDate(Date dateOne,Date dateTwo){
long dateOneTime =dateOne.getTime();
long dateTwoTime= dateTwo.getTime();
String result="";
if(dateOneTime==dateTwoTime){
result= NumConstant.ZERO_STR;
}else if(dateOneTime<dateTwoTime){
result=NumConstant.ONE_NEG_STR;
}else if(dateOneTime>dateTwoTime){
result=NumConstant.ONE_STR;
}
return result;
}
public static void main(String[] args) {
Date today=new Date();
Date yesterDay=DateUtils.parse("2020-07-28 15:33:00","yyyy-MM-dd HH:mm:ss");
Date tomorrow=DateUtils.parse("2020-07-30 15:33:00","yyyy-MM-dd HH:mm:ss");
System.out.println(comparteDate(today,today));
System.out.println(comparteDate(yesterDay,today));
System.out.println(comparteDate(tomorrow,today));
}
}

3
epmet-gateway/src/main/java/com/epmet/filter/UserTokenFilter.java

@ -16,7 +16,8 @@ public interface UserTokenFilter {
//是否过期
Claims claims = jwtTokenUtils.getClaimByToken(token);
if (claims == null || jwtTokenUtils.isTokenExpired(claims.getExpiration())) {
throw new RenException(EpmetErrorCode.ERR401.getCode());
// throw new RenException(EpmetErrorCode.ERR401.getCode());
return null;
}
//获取用户ID
String app = (String) claims.get("app");

12
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/resi/ResiActContentFormDTO.java

@ -31,16 +31,4 @@ public class ResiActContentFormDTO implements Serializable {
*/
@NotBlank(message = "活动Id不能为空", groups = { AddUserInternalGroup.class })
private String actId;
/**
* 页码从1开始
*/
@Min(value = 1, message = "页码必须大于0", groups = { AddUserInternalGroup.class })
private Integer pageNo;
/**
* 页容量默认20页
*/
@Min(value = 1, message = "每页条数必须大于必须大于0", groups = { ResiActBaseFormDTO.AddUserInternalGroup.class })
private Integer pageSize;
}

2
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/PublishActInfoFormDTO.java

@ -121,7 +121,7 @@ public class PublishActInfoFormDTO implements Serializable {
* 报名条件
*/
@NotBlank(message = "报名条件不能为空", groups = {AddUserShowGroup.class})
@Length(min=1, max=50,message = "报名条件限200字以内", groups = {AddUserShowGroup.class})
@Length(min=1, max=500,message = "报名条件限500字以内", groups = {AddUserShowGroup.class})
private String requirement;
/**

2
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/RePublishFormDTO.java

@ -122,7 +122,7 @@ public class RePublishFormDTO implements Serializable {
* 报名条件
*/
@NotBlank(message = "报名条件不能为空", groups = {AddUserShowGroup.class})
@Length(min=1, max=50,message = "报名条件限200字以内", groups = {AddUserShowGroup.class})
@Length(min=1, max=500,message = "报名条件限500字以内", groups = {AddUserShowGroup.class})
private String requirement;
/**

2
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/SummaryActFormDTO.java

@ -29,5 +29,5 @@ public class SummaryActFormDTO implements Serializable {
@Valid
@Size(min=1,message = "活动详情不能为空",groups = {AddUserShowGroup.class})
private List<PublishActContentFormDTO> actContent;
private List<PublishActContentFormDTO> actSummary;
}

63
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/TestGrantFormDTO.java

@ -0,0 +1,63 @@
package com.epmet.dto.form.work;
import com.alibaba.fastjson.JSON;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* 描述一下
*
* @author yinzuomei@elink-cn.com
* @date 2020/7/30 12:15
*/
@Data
public class TestGrantFormDTO implements Serializable {
private static final long serialVersionUID = -2643821406956680381L;
public interface AddUserInternalGroup {}
/**
* 当前客户id
*/
@NotBlank(message = "客户id不能为空",groups = AddUserInternalGroup.class)
private String customerId;
/**
* 居民id
*/
@NotBlank(message = "userId不能为空",groups = AddUserInternalGroup.class)
private String userId;
/**
* 分值
*/
@NotNull(message = "分值不能为空",groups = AddUserInternalGroup.class)
private Integer reward;
/**
* 业务id eg活动id
*/
@NotBlank(message = "业务id不能为空",groups = AddUserInternalGroup.class)
private String sourceId;
/**
* 备注
*/
@NotBlank(message = "备注不能为空",groups = AddUserInternalGroup.class)
private String remark;
/**
* 加减分标识 plus/minus
*/
@NotBlank(message = "加减分标识 plus/minus不能为空",groups = AddUserInternalGroup.class)
private String actionFlag;
TestGrantFormDTO(){
this.customerId="";
this.userId="";
this.sourceId="111";
this.reward=20;
this.remark="test";
this.actionFlag="plus";
}
public static void main(String[] args) {
System.out.println(JSON.toJSON(new TestGrantFormDTO()));
}
}

23
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/work/CanceledActDetailResultDTO.java

@ -124,4 +124,27 @@ public class CanceledActDetailResultDTO implements Serializable {
", actContent=" + actContent +
'}';
}
//新增签到相关信息
/**
* 签到开始时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
private Date signInStartTime;
/**
* 签到截止时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
private Date signInEndTime;
/**
* 活动签到打卡地点
*/
private String signInAddress;
/**
* 活动签到打卡半径(单位)
*/
private Integer signInRadius;
}

23
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/work/FinishedActDetailResultDTO.java

@ -113,4 +113,27 @@ public class FinishedActDetailResultDTO implements Serializable {
@JsonIgnore
private String createdBy;
//新增签到相关信息
/**
* 签到开始时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
private Date signInStartTime;
/**
* 签到截止时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
private Date signInEndTime;
/**
* 活动签到打卡地点
*/
private String signInAddress;
/**
* 活动签到打卡半径(单位)
*/
private Integer signInRadius;
}

33
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/work/InProgressActDetailResultDTO.java

@ -98,4 +98,37 @@ public class InProgressActDetailResultDTO implements Serializable {
@JsonIgnore
private String createdBy;
/**
* 活动状态报名中signing_up截止报名: end_sign_up; 已开始 in_progress; 已报满 enough
*/
private String status="";
/**
* 已报名人数
*/
private Integer signedUp;
//新增签到相关信息
/**
* 签到开始时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
private Date signInStartTime;
/**
* 签到截止时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
private Date signInEndTime;
/**
* 活动签到打卡地点
*/
private String signInAddress;
/**
* 活动签到打卡半径(单位)
*/
private Integer signInRadius;
}

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

@ -2,7 +2,7 @@ version: "3.7"
services:
epmet-heart-server:
container_name: epmet-heart-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-heart-server:0.0.8
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-heart-server:0.0.11
ports:
- "8111:8111"
network_mode: host # 使用现有网络

2
epmet-module/epmet-heart/epmet-heart-server/pom.xml

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

10
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/WorkActController.java

@ -190,6 +190,12 @@ public class WorkActController {
return new Result();
}
@PostMapping("testgrantpoint")
public Result testGrantPoint(@RequestBody TestGrantFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO,TestGrantFormDTO.AddUserInternalGroup.class);
workActService.testGrantPoint(formDTO);
return new Result();
}
/**
* @return com.epmet.commons.tools.utils.Result
* @param formDTO
@ -200,8 +206,8 @@ public class WorkActController {
@PostMapping("summaryact")
public Result summaryAct(@RequestBody SummaryActFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO, SummaryActFormDTO.AddUserInternalGroup.class);
if(null!=formDTO.getActContent()&&formDTO.getActContent().size()>0){
ValidatorUtils.validateEntity(formDTO.getActContent(), SummaryActFormDTO.AddUserShowGroup.class);
if(null!=formDTO.getActSummary()&&formDTO.getActSummary().size()>0){
ValidatorUtils.validateEntity(formDTO.getActSummary(), SummaryActFormDTO.AddUserShowGroup.class);
}
workActService.summaryAct(formDTO);
return new Result();

2
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/WorkActService.java

@ -146,4 +146,6 @@ public interface WorkActService {
* @Date 2020/7/27 13:55
**/
PublishActResultDTO rePublish(RePublishFormDTO rePublishFormDTO);
void testGrantPoint(TestGrantFormDTO formDTO);
}

33
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActInfoServiceImpl.java

@ -128,21 +128,24 @@ public class ActInfoServiceImpl extends BaseServiceImpl<ActInfoDao, ActInfoEntit
public Result<List<ResiActInfoResultDTO>> listAct(TokenDto tokenDto, ResiActBaseFormDTO formDto) {
List<ResiActInfoResultDTO> list = new ArrayList<>();
formDto.setUserId(tokenDto.getUserId());
// 查询活动状态是:报名中 signing_up
List<ResiActInfoResultDTO> signingUp = baseDao.selectListActSigningUp(formDto);
list.addAll(signingUp);
// 查询活动状态是:已报满 enough
List<ResiActInfoResultDTO> enough = baseDao.selectListActQuotaIsEnough(formDto);
list.addAll(enough);
// 查询活动状态是:截止报名 end_sign_up
List<ResiActInfoResultDTO> endSignUp = baseDao.selectListActEndSignUp(formDto);
list.addAll(endSignUp);
// 查询活动状态是:已开始 in_progress
List<ResiActInfoResultDTO> inProgress = baseDao.selectListActInProgress(formDto);
list.addAll(inProgress);
// 列表第一次查询,不是已结束状态的活动,一次性返回
if (formDto.getPageNo() == NumConstant.ONE){
// 查询活动状态是:报名中 signing_up
List<ResiActInfoResultDTO> signingUp = baseDao.selectListActSigningUp(formDto);
list.addAll(signingUp);
// 查询活动状态是:已报满 enough
List<ResiActInfoResultDTO> enough = baseDao.selectListActQuotaIsEnough(formDto);
list.addAll(enough);
// 查询活动状态是:截止报名 end_sign_up
List<ResiActInfoResultDTO> endSignUp = baseDao.selectListActEndSignUp(formDto);
list.addAll(endSignUp);
// 查询活动状态是:已开始 in_progress
List<ResiActInfoResultDTO> inProgress = baseDao.selectListActInProgress(formDto);
list.addAll(inProgress);
}
// 查询活动状态是:已结束 finished
int pageIndex = (formDto.getPageNo() - NumConstant.ONE) * formDto.getPageSize();

2
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActSummaryServiceImpl.java

@ -107,8 +107,6 @@ public class ActSummaryServiceImpl extends BaseServiceImpl<ActSummaryDao, ActSum
@Override
public Result<ResiActSummaryResultDTO> summaryList(ResiActContentFormDTO formDto) {
int pageIndex = (formDto.getPageNo() - NumConstant.ONE) * formDto.getPageSize();
formDto.setPageNo(pageIndex);
return new Result<ResiActSummaryResultDTO>().ok(baseDao.selectListSummary(formDto));
}

10
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActUserRelationServiceImpl.java

@ -299,10 +299,12 @@ public class ActUserRelationServiceImpl extends BaseServiceImpl<ActUserRelationD
boolean satisfy = false;
// 活动不限制志愿者身份,但要求是 居民身份
Result<List<UserRoleResultDTO>> userRoleInfo = epmetUserOpenFeignClient.getUserRoleInfoByUserId(userId);
if (userRoleInfo.success()){
for (UserRoleResultDTO roleResultDTO :userRoleInfo.getData()){
if (EpmetRoleKeyConstant.REGISTERED_RESI.equals(roleResultDTO.getRoleKey())){
satisfy = true;
if (null != userRoleInfo){
if (userRoleInfo.success()){
for (UserRoleResultDTO roleResultDTO :userRoleInfo.getData()){
if (EpmetRoleKeyConstant.REGISTERED_RESI.equals(roleResultDTO.getRoleKey())){
satisfy = true;
}
}
}
}

117
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActServiceImpl.java

@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.epmet.commons.tools.constant.AppClientConstant;
import com.epmet.commons.tools.constant.MqConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.dto.form.mq.MqBaseMsgDTO;
import com.epmet.commons.tools.dto.form.mq.eventmsg.BasePointEventMsg;
@ -532,11 +533,12 @@ public class WorkActServiceImpl implements WorkActService {
Date nowDate = new Date();
for (InProgressActResultDTO inProgressActResultDTO : list) {
// 活动状态:报名中:signing_up;截止报名: end_sign_up; 已开始: in_progress; 已报满: enough
if (nowDate.compareTo(inProgressActResultDTO.getSignUpEndTime()) == -1
|| nowDate.compareTo(inProgressActResultDTO.getSignUpEndTime()) == 0) {
/*if (nowDate.compareTo(inProgressActResultDTO.getSignUpEndTime()) == -1
|| nowDate.compareTo(inProgressActResultDTO.getSignUpEndTime()) == 0) {*/
if (!NumConstant.ONE_STR.equals(DateUtils.comparteDate(nowDate, inProgressActResultDTO.getSignUpEndTime()))) {
logger.info(String.format("当前时间%s报名截止时间%s处于报名中",
DateUtils.format(nowDate,DateUtils.DATE_TIME_PATTERN),
DateUtils.format(inProgressActResultDTO.getSignUpEndTime(),DateUtils.DATE_TIME_PATTERN)));
DateUtils.format(nowDate, DateUtils.DATE_TIME_PATTERN),
DateUtils.format(inProgressActResultDTO.getSignUpEndTime(), DateUtils.DATE_TIME_PATTERN)));
//截止报名时间之前(包含报名时间截止时间点)
if (!inProgressActResultDTO.getActQuotaCategory()) {
//如果是不限制名额,则显示报名中
@ -555,20 +557,25 @@ public class WorkActServiceImpl implements WorkActService {
continue;
}
}
} else if (nowDate.compareTo(inProgressActResultDTO.getSignUpEndTime()) == 1
&&nowDate.compareTo(inProgressActResultDTO.getActStartTime()) == -1) {
}
/*else if (nowDate.compareTo(inProgressActResultDTO.getSignUpEndTime()) == 1
&&nowDate.compareTo(inProgressActResultDTO.getActStartTime()) == -1) {*/
else if (NumConstant.ONE_STR.equals(DateUtils.comparteDate(nowDate, inProgressActResultDTO.getSignUpEndTime()))
&& NumConstant.ONE_NEG_STR.equals(DateUtils.comparteDate(nowDate, inProgressActResultDTO.getActStartTime()))) {
logger.info(String.format("当前时间%s报名截止时间%s活动预计开始时间%s界面显示截止报名",
DateUtils.format(nowDate,DateUtils.DATE_TIME_PATTERN),
DateUtils.format(inProgressActResultDTO.getSignUpEndTime(),DateUtils.DATE_TIME_PATTERN),
DateUtils.format(inProgressActResultDTO.getActStartTime(),DateUtils.DATE_TIME_PATTERN)));
DateUtils.format(nowDate, DateUtils.DATE_TIME_PATTERN),
DateUtils.format(inProgressActResultDTO.getSignUpEndTime(), DateUtils.DATE_TIME_PATTERN),
DateUtils.format(inProgressActResultDTO.getActStartTime(), DateUtils.DATE_TIME_PATTERN)));
//活动报名截止-活动预计开始之间显示截止报名
inProgressActResultDTO.setStatus("end_sign_up");
continue;
} else if (nowDate.compareTo(inProgressActResultDTO.getActStartTime()) == 1
|| nowDate.compareTo(inProgressActResultDTO.getActStartTime()) == 0) {
}
/*else if (nowDate.compareTo(inProgressActResultDTO.getActStartTime()) == 1
|| nowDate.compareTo(inProgressActResultDTO.getActStartTime()) == 0) {*/
else if (!NumConstant.ONE_NEG_STR.equals(DateUtils.comparteDate(nowDate, inProgressActResultDTO.getActStartTime()))) {
logger.info(String.format("当前时间%s活动预计开始时间%s界面显示已开始",
DateUtils.format(nowDate,DateUtils.DATE_TIME_PATTERN),
DateUtils.format(inProgressActResultDTO.getActStartTime(),DateUtils.DATE_TIME_PATTERN)));
DateUtils.format(nowDate, DateUtils.DATE_TIME_PATTERN),
DateUtils.format(inProgressActResultDTO.getActStartTime(), DateUtils.DATE_TIME_PATTERN)));
//活动预计开始时间点之后,包含活动预计开始时间点,显示 已开始
inProgressActResultDTO.setStatus("in_progress");
continue;
@ -732,8 +739,54 @@ public class WorkActServiceImpl implements WorkActService {
public InProgressActDetailResultDTO inProgressDetail(String actId) {
InProgressActDetailResultDTO resultDTO = actInfoDao.selectInProgressDetail(actId);
if (null != resultDTO) {
Date nowDate=new Date();
// 活动状态:报名中:signing_up;截止报名: end_sign_up; 已开始: in_progress; 已报满: enough
/*if (nowDate.compareTo(inProgressActResultDTO.getSignUpEndTime()) == -1
|| nowDate.compareTo(inProgressActResultDTO.getSignUpEndTime()) == 0) {*/
if (!NumConstant.ONE_STR.equals(DateUtils.comparteDate(nowDate, resultDTO.getSignUpEndTime()))) {
logger.info(String.format("当前时间%s报名截止时间%s处于报名中",
DateUtils.format(nowDate, DateUtils.DATE_TIME_PATTERN),
DateUtils.format(resultDTO.getSignUpEndTime(), DateUtils.DATE_TIME_PATTERN)));
//截止报名时间之前(包含报名时间截止时间点)
if (!resultDTO.getActQuotaCategory()) {
//如果是不限制名额,则显示报名中
resultDTO.setStatus("signing_up");
logger.info("活动不限制名额,界面显示 报名中");
} else {
//固定名额,且已报名人数<活动需要人数显示报名中
if (resultDTO.getActQuota() > resultDTO.getSignedUp()) {
logger.info("活动限制名额,未报满,界面显示报名中");
resultDTO.setStatus("signing_up");
} else if (resultDTO.getActQuota().equals(resultDTO.getSignedUp())) {
resultDTO.setStatus("enough");
logger.info("活动限制名额,且已报满,界面显示已报满");
}
}
}
/*else if (nowDate.compareTo(inProgressActResultDTO.getSignUpEndTime()) == 1
&&nowDate.compareTo(inProgressActResultDTO.getActStartTime()) == -1) {*/
else if (NumConstant.ONE_STR.equals(DateUtils.comparteDate(nowDate, resultDTO.getSignUpEndTime()))
&& NumConstant.ONE_NEG_STR.equals(DateUtils.comparteDate(nowDate, resultDTO.getActStartTime()))) {
logger.info(String.format("当前时间%s报名截止时间%s活动预计开始时间%s界面显示截止报名",
DateUtils.format(nowDate, DateUtils.DATE_TIME_PATTERN),
DateUtils.format(resultDTO.getSignUpEndTime(), DateUtils.DATE_TIME_PATTERN),
DateUtils.format(resultDTO.getActStartTime(), DateUtils.DATE_TIME_PATTERN)));
//活动报名截止-活动预计开始之间显示截止报名
resultDTO.setStatus("end_sign_up");
}
/*else if (nowDate.compareTo(inProgressActResultDTO.getActStartTime()) == 1
|| nowDate.compareTo(inProgressActResultDTO.getActStartTime()) == 0) {*/
else if (!NumConstant.ONE_NEG_STR.equals(DateUtils.comparteDate(nowDate, resultDTO.getActStartTime()))) {
logger.info(String.format("当前时间%s活动预计开始时间%s界面显示已开始",
DateUtils.format(nowDate, DateUtils.DATE_TIME_PATTERN),
DateUtils.format(resultDTO.getActStartTime(), DateUtils.DATE_TIME_PATTERN)));
//活动预计开始时间点之后,包含活动预计开始时间点,显示 已开始
resultDTO.setStatus("in_progress");
}
//查询活动详情
List<ActPreviewContentResultDTO> list = actContentDao.selectByActId(actId);
resultDTO.setActContent(list);
//当前活动是否是我发布的
if(resultDTO.getCreatedBy().equals(loginUserUtil.getLoginUserId())){
resultDTO.setIsMyPublish(true);
}else{
@ -820,6 +873,39 @@ public class WorkActServiceImpl implements WorkActService {
}
}
@Override
public void testGrantPoint(TestGrantFormDTO formDTO) {
//查询当前用户所属组织信息
Result<CustomerAgencyDTO> userResult = govOrgOpenFeignClient.getAgencyByStaff(loginUserUtil.getLoginUserId());
String opAgencyId = userResult.getData().getId();
MqBaseMsgDTO mqBaseMsgDTO = new MqBaseMsgDTO();
//mq的事件类型
mqBaseMsgDTO.setEventClass(EventEnum.ACTIVE_SEND_POINT.getEventClass());
//事件code
mqBaseMsgDTO.setEventTag(EventEnum.ACTIVE_SEND_POINT.getEventTag());
List<BasePointEventMsg> basePointEventMsgArrayList = new ArrayList<>();
BasePointEventMsg basePointEventMsg = new BasePointEventMsg();
basePointEventMsg.setOpAgencyId(opAgencyId);
basePointEventMsg.setCustomerId(formDTO.getCustomerId());
basePointEventMsg.setUserId(formDTO.getUserId());
basePointEventMsg.setActionFlag(formDTO.getActionFlag());
basePointEventMsg.setPoint(formDTO.getReward());
basePointEventMsg.setIsCommon(true);
basePointEventMsg.setRemark(formDTO.getRemark());
basePointEventMsg.setSourceId(formDTO.getSourceId());
basePointEventMsg.setOperatorId(loginUserUtil.getLoginUserId());
basePointEventMsgArrayList.add(basePointEventMsg);
mqBaseMsgDTO.setMsg(JSON.toJSONString(basePointEventMsgArrayList));
logger.info("发送消息入参:"+JSON.toJSON(mqBaseMsgDTO));
Result result = SendMqMsgUtils.sendMsg(mqBaseMsgDTO);
logger.info("发送消息返参:"+JSON.toJSON(result));
if (!result.success()) {
logger.error("积分发放失败");
return;
}
logger.info("积分发方成功");
}
private void updateHeartUserInfo(ActInfoDTO actInfoDTO) {
List<ActUserRelationDTO> actUserRelationDTOList=actUserRelationService.getUserList(actInfoDTO.getId(),StrConstant.EPMETY_STR);
for(ActUserRelationDTO actUserRelation:actUserRelationDTOList){
@ -921,7 +1007,7 @@ public class WorkActServiceImpl implements WorkActService {
//审核
List<String> textList=new ArrayList<>();
List<String> imgList=new ArrayList<>();
for(PublishActContentFormDTO actContent:formDTO.getActContent()){
for(PublishActContentFormDTO actContent:formDTO.getActSummary()){
if(ActConstant.ACT_CONTENT_TYPE_TEXT.equals(actContent.getContentType())){
textList.add(actContent.getContent());
}else if(ActConstant.ACT_CONTENT_TYPE_IMG.equals(actContent.getContentType())){
@ -931,7 +1017,7 @@ public class WorkActServiceImpl implements WorkActService {
this.auditActContent(textList,imgList);
//插入act_summary记录
int orderNum=1;
for(PublishActContentFormDTO actContentFormDTO:formDTO.getActContent()){
for(PublishActContentFormDTO actContentFormDTO:formDTO.getActSummary()){
ActSummaryEntity actSummaryEntity=new ActSummaryEntity();
actSummaryEntity.setActId(formDTO.getActId());
actSummaryEntity.setContent(actContentFormDTO.getContent());
@ -1029,6 +1115,7 @@ public class WorkActServiceImpl implements WorkActService {
return publishActResultDTO;
}
private void noticePassedPeople(ActInfoDTO originalActInfo, ActInfoEntity newActInfoEntity) {
/* List<ActUserRelationDTO> actUserRelationDTOList=actUserRelationDao.selectAuditingAndPassedList(originalActInfo.getId());
if(null==actUserRelationDTOList||actUserRelationDTOList.size()<1){

9
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActUserServiceImpl.java

@ -2,6 +2,7 @@ package com.epmet.service.impl;
import com.alibaba.fastjson.JSON;
import com.epmet.commons.tools.constant.AppClientConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException;
@ -262,13 +263,17 @@ public class WorkActUserServiceImpl implements WorkActUserService {
actInfo.setRefusedNum(actUserRelationService.selectCountUser(actId,ActConstant.ACT_USER_STATUS_REFUSED));
//已取消总人数
actInfo.setCanceledNum(actUserRelationService.selectCountUser(actId,ActConstant.ACT_USER_STATUS_CANCELD));
//固定名额
Integer totalSignUp=actInfo.getAuditingNum()+actInfo.getPassedNum();
actInfo.setTotalSignUp(totalSignUp);
//true:固定名额 false: 不限制名额
if(actInfo.getActQuotaCategory()){
Integer totalSignUp=actInfo.getAuditingNum()+actInfo.getPassedNum();
actInfo.setTotalSignUp(totalSignUp);
//剩余报名名额
Integer residueNum=actInfo.getActQuota()-totalSignUp;
actInfo.setResidueNum(residueNum);
}else{
//不信名额
actInfo.setResidueNum(NumConstant.ZERO);
}
}
return actInfo;

35
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/ActInfoDao.xml

@ -286,7 +286,7 @@
i.ACT_QUOTA actQuota,
IFNULL(c.signupNum, 0) signupNum, -- 已报名人数
case
when i.ACT_STATUS = 'published'
when <![CDATA[ DATE_FORMAT(i.SIGN_UP_END_TIME,'%Y-%m-%d %H:%i:%s') >= ]]> NOW()
then
case
when <![CDATA[c.signupNum >= ACT_QUOTA ]]> and i.ACT_QUOTA_CATEGORY = 1
@ -304,6 +304,7 @@
WHERE i.DEL_FLAG = '0'
AND i.CUSTOMER_ID = #{customerId}
AND i.ACT_STATUS != 'finished' AND i.ACT_STATUS != 'canceled'
AND <![CDATA[ DATE_FORMAT(i.ACT_END_TIME,'%Y-%m-%d %H:%i:%s') > ]]> NOW()
ORDER BY i.CREATED_TIME DESC
LIMIT 0, #{num}
</select>
@ -315,9 +316,9 @@
i.ID actId,
CASE
WHEN <![CDATA[DATE_SUB(i.ACT_START_TIME, INTERVAL 1 HOUR) <= ]]> NOW() AND <![CDATA[i.ACT_START_TIME > ]]> NOW() THEN
CONCAT('您报名的 "',i.TITLE,'" 活动还有',TIMESTAMPDIFF(MINUTE, NOW(), i.ACT_START_TIME),'分钟开始。')
'您报名的活动即将开始'
ELSE
CONCAT('正在进行中的活动:"',i.TITLE,'"。。。')
'活动进行中'
END title
FROM act_info i LEFT JOIN act_user_relation r ON i.ID = r.ACT_ID
WHERE i.DEL_FLAG = '0'
@ -605,7 +606,11 @@
ai.REQUIREMENT AS requirement,
ai.CANCEL_TIME AS cancelTime,
ai.CANCEL_REASON AS cancelReason,
ai.CREATED_BY as createdBy
ai.CREATED_BY as createdBy,
ai.SIGN_IN_START_TIME as signInStartTime,
ai.SIGN_IN_END_TIME as signInEndTime,
ai.SIGN_IN_ADDRESS as signInAddress,
ai.SIGN_IN_RADIUS as signInRadius
FROM
act_info ai
WHERE
@ -634,7 +639,11 @@
AI.SUMMARY_FLAG AS summaryFlag,
AI.ACTUAL_START_TIME AS actualStartTime,
AI.ACTUAL_END_TIME AS actualEndTime,
ai.CREATED_BY as createdBy
ai.CREATED_BY as createdBy,
ai.SIGN_IN_START_TIME as signInStartTime,
ai.SIGN_IN_END_TIME as signInEndTime,
ai.SIGN_IN_ADDRESS as signInAddress,
ai.SIGN_IN_RADIUS as signInRadius
FROM
act_info ai
WHERE
@ -659,7 +668,21 @@
ai.REWARD AS reward,
ai.SPONSOR_NAME AS sponsorName,
ai.REQUIREMENT AS requirement,
ai.CREATED_BY as createdBy
ai.CREATED_BY as createdBy,
(
SELECT
count( aur.id )
FROM
act_user_relation aur
WHERE
aur.ACT_ID = ai.ID
AND aur.DEL_FLAG = '0'
AND ( aur.`STATUS` = 'auditing' OR aur.`STATUS` = 'passed' )
) AS signedUp,
ai.SIGN_IN_START_TIME as signInStartTime,
ai.SIGN_IN_END_TIME as signInEndTime,
ai.SIGN_IN_ADDRESS as signInAddress,
ai.SIGN_IN_RADIUS as signInRadius
FROM
act_info ai
WHERE

1
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/ActSummaryDao.xml

@ -29,6 +29,5 @@
WHERE s.DEL_FLAG = '0'
AND s.ACT_ID = #{actId}
ORDER BY s.ORDER_NUM ASC
LIMIT #{pageNo}, #{pageSize}
</select>
</mapper>

2
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/ActUserRelationDao.xml

@ -75,7 +75,7 @@
FROM act_user_relation re
WHERE re.DEL_FLAG = '0'
AND re.ACT_ID = #{actId}
GROUP BY re.ACT_ID
AND re.`STATUS` != 'refused' AND re.`STATUS` != 'cancele'
</select>
<update id="updateUserRelationByActIdAndUserId" parameterType="com.epmet.dto.ActUserRelationDTO">

4
epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/WorkPointVerificationDetailResultDTO.java

@ -17,7 +17,7 @@ public class WorkPointVerificationDetailResultDTO implements Serializable {
/**
* 被核销用户昵称
* */
private String userNickname;
private String userNickname = "";
/**
* 核销积分 "-100"
@ -29,5 +29,7 @@ public class WorkPointVerificationDetailResultDTO implements Serializable {
* */
private String remark;
private String date;
}

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

@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.GetMapping;
* @author wangc
* @date 2020/7/9 13:25
*/
@FeignClient(name = ServiceConstant.EPMET_HEART_SERVER, fallback = EpmetPointOpenFeignClientFallback.class)
@FeignClient(name = ServiceConstant.EPMET_POINT_SERVER, fallback = EpmetPointOpenFeignClientFallback.class)
public interface EpmetPointOpenFeignClient {
/**

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

@ -18,6 +18,6 @@ import org.springframework.stereotype.Component;
public class EpmetPointOpenFeignClientFallback implements EpmetPointOpenFeignClient {
@Override
public Result<ResiPointDetailResultDTO> myPoint(TokenDto dto) {
return ModuleUtils.feignConError(ServiceConstant.RESI_PARTYMEMBER_SERVER, "myPoint", dto);
return ModuleUtils.feignConError(ServiceConstant.EPMET_POINT_SERVER, "myPoint", dto);
}
}

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

@ -2,7 +2,7 @@ version: "3.7"
services:
epmet-point-server:
container_name: epmet-point-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-point-server:0.0.5
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-point-server:0.0.10
ports:
- "8112:8112"
network_mode: host # 使用现有网络

2
epmet-module/epmet-point/epmet-point-server/pom.xml

@ -3,7 +3,7 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<version>0.0.5</version>
<version>0.0.10</version>
<parent>
<artifactId>epmet-point</artifactId>
<groupId>com.epmet</groupId>

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

@ -1,12 +1,15 @@
package com.epmet.controller;
import com.epmet.common.token.annotation.Login;
import com.epmet.commons.tools.annotation.LoginUser;
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.PointVerificationFormDTO;
import com.epmet.dto.form.ResiCommonUserIdFormDTO;
import com.epmet.dto.form.WorkPointVerificationFormDTO;
import com.epmet.dto.result.PointVerificationResultDTO;
import com.epmet.dto.result.WorkPointVerficationListResultDTO;
import com.epmet.service.PointVerificationLogService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
@ -40,5 +43,18 @@ public class ExchangeController {
return new Result<PointVerificationResultDTO>().ok(pointVerificationLogService.verifyPoint(verificationParam));
}
/**
* @Description 获取工作端积分核销记录
* @param verificationParam
* @return
* @author wangc
* @date 2020.07.24 16:08
**/
@PostMapping("recordmonthly")
public Result<WorkPointVerficationListResultDTO> getStaffVerificationRecordMonthly(@LoginUser TokenDto token,@RequestBody WorkPointVerificationFormDTO verificationParam){
verificationParam.setStaffId(token.getUserId());
ValidatorUtils.validateEntity(verificationParam, ResiCommonUserIdFormDTO.UserIdGroup.class);
return new Result<WorkPointVerficationListResultDTO>().ok(pointVerificationLogService.getStaffVerificationRecordMonthly(verificationParam));
}
}

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

@ -189,7 +189,7 @@ public class PointVerificationLogServiceImpl extends BaseServiceImpl<PointVerifi
PageHelper.startPage(verificationParam.getPageNo(),verificationParam.getPageSize());
}
List<WorkPointVerificationLogResultDTO> dataList =
baseDao.selectStaffVerificationLog(verificationParam.getStaffId(),getFirstDayDateOfMonth(date),getLastDayOfMonth(date));
baseDao.selectStaffVerificationLog(verificationParam.getStaffId(),getFirstDayDateOfMonth(date),getLastDayOfMonth(date));
if(NumConstant.ONE == verificationParam.getPageNo()){
result.setTotalPoint(
dataList.stream().mapToInt(o -> o.getPoint()).sum()

5
epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/PaCustomerDTO.java

@ -48,6 +48,11 @@ public class PaCustomerDTO implements Serializable {
*/
private Integer isInitialize;
/**
* 数据来源(dev:开发 test:体验 prod:生产)
*/
private String source;
/**
* 删除标识0.未删除 1.已删除
*/

5
epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/PaUserDTO.java

@ -53,6 +53,11 @@ public class PaUserDTO implements Serializable {
*/
private String gender;
/**
* 数据来源(dev:开发 test:体验 prod:生产)
*/
private String source;
/**
* 删除标识
*/

5
epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/PaUserVisitedDTO.java

@ -58,6 +58,11 @@ public class PaUserVisitedDTO implements Serializable {
*/
private String phone;
/**
* 数据来源(dev:开发 test:体验 prod:生产)
*/
private String source;
/**
* 删除标识
*/

40
epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/result/CategoryResultDTO.java

@ -0,0 +1,40 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/7/29 13:36
*/
@Data
public class CategoryResultDTO implements Serializable {
private static final long serialVersionUID = -5691303280428707533L;
/**
* 一级类目名称
*/
private String firstClass;
/**
* 二级类目名称
*/
private String secondClass;
/**
* 三级类目名称
*/
private String thirdClass;
/**
* 一级类目的ID编号
*/
private String firstId;
/**
* 二级类目的ID编号
*/
private String secondId;
/**
* 三级类目的ID编号
*/
private String thirdId;
}

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

@ -2,7 +2,7 @@ version: "3.7"
services:
epmet-third-server:
container_name: epmet-third-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-third-server:0.0.75
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-third-server:0.0.79
ports:
- "8110:8110"
network_mode: host # 使用现有网络

2
epmet-module/epmet-third/epmet-third-server/pom.xml

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

4
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/constant/PaConstant.java

@ -6,6 +6,10 @@ package com.epmet.constant;
*/
public interface PaConstant {
/**
* 根据userId查询pa_user表失败
*/
String SELECT_USER_EXCEPTION = "获取用户信息失败";
/**
* 更新用户信息失败
*/

19
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/constant/ThirdRunTimeInfoConstant.java

@ -84,4 +84,23 @@ public interface ThirdRunTimeInfoConstant {
String REFRESH_AUTH_ACCESS_TOKEN = "查询到新的 授权方【access_token】";
String INFO_TYPE = "》》》》》》》》》》infoType = %s《《《《《《《《《《《《《《";
String COMPONENT_VERIFY_TICKET = "============================接收的票据为:%s===========================";
String AUTH_STATUS = "----------------------------授权成功------------------------------------";
String REMOVE_AUTH = "============================取消授权====================================";
String UPDATE_AUTH = "----------------------------变更授权------------------------------------";
String COMPONENT_ACCESS_TOKEN = "**********************************获取【component_access_token】请求参数componentVerifyTicket为:%s*************************************";
String EXIST_UPCOMING_EXPIRED = "===============================查询到即将过期的 ComponentAccessToken=================================";
String BEGIN_DELETE_INSERT_AUTH_CODE = "**************************************开始删除旧的AuthCode并保存新的AuthCode******************************************";
String BEGIN_CREATE_OPEN = "============================开始执行绑定开放平台账号===================================";
String CODE_AUDIT_RESULT = "----------------------------------代码审核结果即将插入,需要插入的内容为:%s-----------------------------------------";
}

28
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/CodeController.java

@ -1,12 +1,10 @@
package com.epmet.controller;
import com.baomidou.mybatisplus.extension.api.R;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.service.CodeService;
import oracle.jdbc.proxy.annotation.Post;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@ -179,4 +177,30 @@ public class CodeController {
String result = codeService.mediaUpload(formDTO);
return new Result<String>().ok(result);
}
/**
* 获取小程序的第三方提交代码的页面配置
* @author zhaoqifeng
* @date 2020/7/29 15:45
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List<java.lang.String>>
*/
@PostMapping("getpage")
public Result<List<String>> getPage(@RequestBody CodeCommonFormDTO formDTO){
List<String> result = codeService.getPage(formDTO);
return new Result<List<String>>().ok(result);
}
/**
* 获取小程序的第三方提交代码的页面配置
* @author zhaoqifeng
* @date 2020/7/29 15:45
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.dto.result.CategoryResultDTO>>
*/
@PostMapping("getcategory")
public Result<List<CategoryResultDTO>> getCategory(@RequestBody CodeCommonFormDTO formDTO) {
List<CategoryResultDTO> result = codeService.getCategory(formDTO);
return new Result<List<CategoryResultDTO>>().ok(result);
}
}

5
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/entity/PaCustomerEntity.java

@ -48,4 +48,9 @@ public class PaCustomerEntity extends BaseEpmetEntity {
*/
private Integer isInitialize;
/**
* 数据来源(dev:开发 test:体验 prod:生产)
*/
private String source;
}

5
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/entity/PaUserEntity.java

@ -53,4 +53,9 @@ public class PaUserEntity extends BaseEpmetEntity {
*/
private String gender;
/**
* 数据来源(dev:开发 test:体验 prod:生产)
*/
private String source;
}

5
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/entity/PaUserVisitedEntity.java

@ -58,4 +58,9 @@ public class PaUserVisitedEntity extends BaseEpmetEntity {
*/
private String phone;
/**
* 数据来源(dev:开发 test:体验 prod:生产)
*/
private String source;
}

24
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/CodeService.java

@ -1,9 +1,11 @@
package com.epmet.service;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.dto.result.CategoryResultDTO;
import com.epmet.dto.result.QrCodeResultDTO;
import com.epmet.dto.result.ReasonResultDTO;
import com.epmet.dto.result.TemplateListResultDTO;
import java.util.List;
@ -118,4 +120,22 @@ public interface CodeService {
* @date 2020/7/17 11:20
*/
String mediaUpload(MediaUploadFormDTO formDTO);
/**
* 获取小程序的第三方提交代码的页面配置
* @author zhaoqifeng
* @date 2020/7/29 13:34
* @param formDTO
* @return java.util.List<java.lang.String>
*/
List<String> getPage(CodeCommonFormDTO formDTO);
/**
* 获取小程序的第三方提交代码的页面配置
* @author zhaoqifeng
* @date 2020/7/29 13:34
* @param formDTO
* @return java.util.List<java.lang.String>
*/
List<CategoryResultDTO> getCategory(CodeCommonFormDTO formDTO);
}

1
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/AppLetAuthorizationServiceImpl.java

@ -62,7 +62,6 @@ public class AppLetAuthorizationServiceImpl implements AppLetAuthorizationServic
public GoToAuthResultDTO goToAuth(TokenDto tokenDto, GoToAuthFormDTO formDTO) {
GoToAuthResultDTO result = new GoToAuthResultDTO();
String userId = tokenDto.getUserId();
String customerId = paCustomerAgencyDao.getCustomerIdByUserId(userId);
//获取预授权码
String preAuthCode = componentVerifyTicketService.preAuthCode();
String redirectUrl = WxMaCodeConstant.WEB_URL + formDTO.getClientType();

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

@ -425,6 +425,34 @@ public class CodeServiceImpl implements CodeService {
}
}
@Override
public List<String> getPage(CodeCommonFormDTO formDTO) {
//获取上传代码信息
CodeCustomerDTO codeCustomerDTO = codeCustomerService.get(formDTO.getCodeId());
//获取小程序调用令牌
AuthorizationInfoDTO authInfo = authorizationInfoDao.getAuthInfoByCustomer(codeCustomerDTO.getCustomerId(), codeCustomerDTO.getClientType());
//调用微信API获取获取体验版二维码
WxResult<List<String>> wxResult = wxMaCodeService.getPage(authInfo.getAuthorizerAccessToken());
if (!wxResult.success()) {
throw new RenException(wxResult.getErrorCode(), wxResult.getErrorMsg());
}
return wxResult.getData();
}
@Override
public List<CategoryResultDTO> getCategory(CodeCommonFormDTO formDTO) {
//获取上传代码信息
CodeCustomerDTO codeCustomerDTO = codeCustomerService.get(formDTO.getCodeId());
//获取小程序调用令牌
AuthorizationInfoDTO authInfo = authorizationInfoDao.getAuthInfoByCustomer(codeCustomerDTO.getCustomerId(), codeCustomerDTO.getClientType());
//调用微信API获取获取体验版二维码
WxResult<List<WxMaCategoryResult>> wxResult = wxMaCodeService.getCategory(authInfo.getAuthorizerAccessToken());
if (!wxResult.success()) {
throw new RenException(wxResult.getErrorCode(), wxResult.getErrorMsg());
}
return ConvertUtils.sourceToTarget(wxResult.getData(), CategoryResultDTO.class);
}
private void saveOperation(String customerId, String codeId, String version, String operation, String describe) {
CodeOperationHistoryDTO operationDTO = new CodeOperationHistoryDTO();
operationDTO.setCustomerId(customerId);

19
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/ComponentVerifyTicketServiceImpl.java

@ -14,7 +14,6 @@ import com.epmet.dao.*;
import com.epmet.dto.PaCustomerUserAgencyDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.mpaes.WXBizMsgCrypt;
import com.epmet.mpaes.WXXmlToMapUtil;
import com.epmet.redis.RedisThird;
@ -77,8 +76,6 @@ public class ComponentVerifyTicketServiceImpl implements ComponentVerifyTicketSe
@Autowired
private BusinessInfoDao businessInfoDao;
@Autowired
private EpmetUserOpenFeignClient epmetUserOpenFeignClient;
@Autowired
private AuthResultRecordDao authResultRecordDao;
@Autowired
private PaCustomerUserAgencyDao paCustomerUserAgencyDao;
@ -112,6 +109,7 @@ public class ComponentVerifyTicketServiceImpl implements ComponentVerifyTicketSe
String nonce = request.getParameter(ModuleConstant.NONCE);
String encryptType = request.getParameter(ModuleConstant.ENCRYPT_TYPE);
String signature = request.getParameter(ModuleConstant.SIGNATURE);
log.info(String.format(ThirdRunTimeInfoConstant.VERIFY_TICKET,msgSignature,timeStamp,nonce,encryptType,signature));
// 从请求中读取整个post数据
InputStream inputStream;
String postData = null;
@ -123,9 +121,11 @@ public class ComponentVerifyTicketServiceImpl implements ComponentVerifyTicketSe
// 将xml转为map
Map<String, String> result = WXXmlToMapUtil.xmlToMap(msg);
String infotype = result.get(ModuleConstant.INFO_TYPE);
log.info(String.format(ThirdRunTimeInfoConstant.INFO_TYPE,infotype));
switch (infotype){
case ModuleConstant.TICKET_UNDERLINE_KEY: //接收票据 【component_verify_ticket】
String ComponentVerifyTicket = result.get(ModuleConstant.TICKET_KEY);
log.info(String.format(COMPONENT_VERIFY_TICKET));
// 缓存 ticket
redisThird.setComponentVerifyTicket(ComponentVerifyTicket);
// 存数据库
@ -139,15 +139,18 @@ public class ComponentVerifyTicketServiceImpl implements ComponentVerifyTicketSe
break;
case ModuleConstant.AUTHORIZED: //授权成功
this.disposeAuthResult(result);
log.info(AUTH_STATUS);
break;
case ModuleConstant.UNAUTHORIZED://用户取消授权
//todo 取消授权
String authorizerAppId = result.get(ModuleConstant.AUTHORIZER_APP_ID_HUMP);
customerMpDao.updateAuthorizationFlag(authorizerAppId);
this.disposeAuthResult(result);
log.info(REMOVE_AUTH);
break;
case ModuleConstant.UPDATE_AUTHORIZED://授权变更
this.disposeAuthResult(result);
log.info(UPDATE_AUTH);
break;
}
} catch (Exception e) {
@ -195,11 +198,13 @@ public class ComponentVerifyTicketServiceImpl implements ComponentVerifyTicketSe
//距离超时时间小于15分钟的数量
Integer tokenCount = componentAccessTokenDao.selectWillOverTokenCount();
if ((tokenCount > NumConstant.ZERO && accessTokenCountFlag.equals(ModuleConstant.ACCOUNT_TOKEN_FLAG_TWO)) || accessTokenCountFlag.equals(ModuleConstant.ACCOUNT_TOKEN_FLAG_ONE)) {
log.info(String.format(EXIST_UPCOMING_EXPIRED));
String componentVerifyTicket = redisThird.getComponentVerifyTicket();
JSONObject jsonObject = new JSONObject();
jsonObject.put(ModuleConstant.COMPONENT_APPID, componentAppId);
jsonObject.put(ModuleConstant.COMPONENT_APPSECRET, appSecret);
jsonObject.put(ModuleConstant.TICKET_UNDERLINE_KEY, componentVerifyTicket);
log.info(String.format(ThirdRunTimeInfoConstant.COMPONENT_ACCESS_TOKEN,componentVerifyTicket));
String post = HttpClientManager.getInstance().sendPostByJSON(WxMaCodeConstant.API_COMPONENT_TOKEN_URL, JSON.toJSONString(jsonObject)).getData();
Map hashMap = JSON.parseObject(post, Map.class);
if (!hashMap.containsKey(ModuleConstant.ERR_MSG)) {
@ -389,7 +394,7 @@ public class ComponentVerifyTicketServiceImpl implements ComponentVerifyTicketSe
formDTO.setExpiresInTime(expiresInTime);
formDTO.setClientType(clientType);
formDTO.setCustomerId(customerId);
log.info(formDTO.toString());
log.info(ThirdRunTimeInfoConstant.BEGIN_DELETE_INSERT_AUTH_CODE);
authCodeDao.deleteCustomerAuthCode(customerId,clientType);
authCodeDao.insertRedirectAuthCode(formDTO);
//authCode存缓存
@ -523,6 +528,7 @@ public class ComponentVerifyTicketServiceImpl implements ComponentVerifyTicketSe
}
public void createAndBindOpenAccount(String customerId,String authAppId,String clientType){
log.info(ThirdRunTimeInfoConstant.BEGIN_CREATE_OPEN);
Map<String, Object> authorizerRefreshToken = redisThird.getAuthorizerRefreshToken(customerId + ThirdRedisKeyConstant.COLON + clientType);
String authorizerAccessToken = authorizerRefreshToken.get("authorizerAccessToken").toString();
JSONObject bindInfoForm = new JSONObject();
@ -531,7 +537,6 @@ public class ComponentVerifyTicketServiceImpl implements ComponentVerifyTicketSe
Map<String,Object> bindInfo = JSON.parseObject(bindResult, Map.class);
boolean bindStatus = bindInfo.containsKey(ModuleConstant.OPEN_APP_ID);
if (bindStatus != true) {
log.info(CREATE_AND_BIND_SUCCESS);
Integer authCount = customerMpDao.selectAuthCount(customerId);
String openPlatformId = null;
if (authCount > 0) {
@ -655,11 +660,7 @@ public class ComponentVerifyTicketServiceImpl implements ComponentVerifyTicketSe
* @author zxc
*/
public String getLoginUserCustomerId(TokenDto tokenDto){
/*LoginUserDetailsFormDTO dto = new LoginUserDetailsFormDTO();
BeanUtils.copyProperties(tokenDto,dto);
LoginUserDetailsResultDTO data = epmetUserOpenFeignClient.getLoginUserDetails(dto).getData();*/
PaCustomerUserAgencyDTO result = paCustomerUserAgencyDao.selectByUserId(tokenDto.getUserId());
// return data.getCustomerId();
return result.getCustomerId();
}

6
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/PaCustomerServiceImpl.java

@ -172,9 +172,13 @@ public class PaCustomerServiceImpl extends BaseServiceImpl<PaCustomerDao, PaCust
//2.根据token中的userId查询pa_user表数据,根据手机号是否为空判断后续是新增还是更新user数据
PaUserEntity paUserEntity = paUserDao.selectById(formDTO.getUserId());
if (null == paUserEntity) {
logger.error("根据token中userId查询pa_user表信息失败,userId->"+formDTO.getUserId());
throw new RenException(PaConstant.SELECT_USER_EXCEPTION);
}
//3.手机号不为空说明是同一个微信用户用第二个手机号注册,手机为空说明当前微信用户用第一个手机号注册
if(null != paUserEntity.getPhone() && StringUtils.isNotBlank(paUserEntity.getPhone())){
if(StringUtils.isNotBlank(paUserEntity.getPhone())){
//手机号不为空说明是同一个微信用户用第二个手机号注册,新增user和user_wechat表数据
//3-1.user表新增数据
PaUserEntity userEntity = new PaUserEntity();

3
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/WarrantServiceImpl.java

@ -68,6 +68,7 @@ public class WarrantServiceImpl implements WarrantService {
@Transactional(rollbackFor = Exception.class)
@Override
public String acceptMessageAndEvent(HttpServletRequest request, String appId, HttpServletResponse response)throws IOException, DocumentException, AesException {
log.info("消息与事件接收URL【代码审核结果】开始执行......");
log.info("appId:"+ appId);
request.setCharacterEncoding(ModuleConstant.UTF8);
String msgSignature = request.getParameter(ModuleConstant.MSG_SIGNATURE);
@ -109,6 +110,7 @@ public class WarrantServiceImpl implements WarrantService {
codeAuditRecord.setAuthAppId(authAppId);
codeAuditRecord.setTemplateId(templateId);
//插入 代码审核 记录
log.info(String.format(ThirdRunTimeInfoConstant.CODE_AUDIT_RESULT,xml));
codeAuditRecordDao.insertCodeAuditRecord(codeAuditRecord);
// 修改 code_audit_result 中的代码审核结果
String event = codeAuditRecord.getEvent();
@ -134,6 +136,7 @@ public class WarrantServiceImpl implements WarrantService {
messagePushTextFormDTO.setWeChatCreateTime(date);
messagePushTextDao.insertMessageText(messagePushTextFormDTO);
}
log.info("消息与事件接收URL【代码审核结果】结束......");
return ModuleConstant.SUCCESS;
}
}

15
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/result/WxMaCategoryResult.java

@ -12,6 +12,7 @@ import java.io.Serializable;
*/
@Data
public class WxMaCategoryResult implements Serializable {
private static final long serialVersionUID = 2504852726988873959L;
/**
* 一级类目名称
*/
@ -37,16 +38,4 @@ public class WxMaCategoryResult implements Serializable {
*/
private String thirdId;
/**
* 小程序的页面可通过获取小程序的第三方提交代码的页面配置接口获得
*/
private String address;
/**
* 小程序的标签多个标签用空格分隔标签不能多于10个标签长度不超过20
*/
private String tag;
/**
* 小程序页面的标题,标题长度不超过32
*/
private String title;
}
}

4
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/service/WxMaCodeService.java

@ -56,7 +56,7 @@ public interface WxMaCodeService {
* @param accessToken 提交审核参数
* @return List<WxMaCategory>
*/
WxResult getCategory(String accessToken);
WxResult<List<WxMaCategoryResult>> getCategory(String accessToken);
/**
* 获取小程序的第三方提交代码的页面配置仅供第三方开发者代小程序调用.
@ -64,7 +64,7 @@ public interface WxMaCodeService {
* @param accessToken 提交审核参数
* @return page_list 页面配置列表
*/
WxResult getPage(String accessToken);
WxResult<List<String>> getPage(String accessToken);
/**
* 将第三方提交的代码包提交审核仅供第三方开发者代小程序调用.

4
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/service/impl/WxMaCodeServiceImpl.java

@ -97,7 +97,7 @@ public class WxMaCodeServiceImpl implements WxMaCodeService {
}
@Override
public WxResult getCategory(String accessToken) {
public WxResult<List<WxMaCategoryResult>> getCategory(String accessToken) {
WxResult<List<WxMaCategoryResult>> result = new WxResult<>();
String url = WxMaCodeConstant.GET_CATEGORY_URL + "?" + "access_token=" + accessToken;
Result<String> getCategoryResult = HttpClientManager.getInstance().sendGet(url, null);
@ -115,7 +115,7 @@ public class WxMaCodeServiceImpl implements WxMaCodeService {
}
@Override
public WxResult getPage(String accessToken) {
public WxResult<List<String>> getPage(String accessToken) {
WxResult<List<String>> result = new WxResult<>();
String url = WxMaCodeConstant.GET_PAGE_URL + "?" + "access_token=" + accessToken;
Result<String> getPageResult = HttpClientManager.getInstance().sendGet(url, null);

2
epmet-module/resi-mine/resi-mine-server/deploy/docker-compose-dev.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
resi-mine-server:
container_name: resi-mine-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/resi-mine-server:0.3.30
image: 192.168.1.130:10080/epmet-cloud-dev/resi-mine-server:0.3.32
ports:
- "8094:8094"
network_mode: host # 使用现有网络

2
epmet-module/resi-mine/resi-mine-server/pom.xml

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

10
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CustomerUser4PointResultDTO.java

@ -16,25 +16,25 @@ public class CustomerUser4PointResultDTO implements Serializable {
/**
* 用户头像
* */
private String userHeadPhoto;
private String userHeadPhoto = "";
/**
* 用户显示昵称
* */
private String userName;
private String userName = "";
/**
* 用户微信昵称
* */
private String userNickname;
private String userNickname = "";
/**
*注册网格名称
* */
private String registeredGrid;
private String registeredGrid = "";
/**
* 用户Id
* */
private String userId;
private String userId = "";
}

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

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

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

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

2
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserRoleController.java

@ -128,7 +128,7 @@ public class UserRoleController {
* @Author zhangyong
* @Date 14:24 2020-07-23
**/
@GetMapping("getuserroleinfobyuserid/{userId}")
@GetMapping(value = "getuserroleinfobyuserid/{userId}")
public Result<List<UserRoleResultDTO>> getUserRoleInfoByUserId(@PathVariable("userId") String userId) {
return userRoleService.getUserRoleInfoByUserId(userId);
}

10
epmet-user/epmet-user-server/src/main/java/com/epmet/entity/UserCustomerEntity.java

@ -20,12 +20,18 @@ public class UserCustomerEntity extends BaseEpmetEntity {
/**
* 客户Id
* */
*/
private String customerId;
/**
* 用户Id
* */
*/
private String userId;
/**
* 是否注册 1已注册 0未注册
*/
private String isRegister;
}

8
epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.6__add_isRegister.sql

@ -0,0 +1,8 @@
ALTER TABLE `epmet_user`.`user_customer`
ADD COLUMN `IS_REGISTER` varchar(1) NOT NULL DEFAULT 0 COMMENT '是否注册 1注册; 0未注册' AFTER `USER_ID`;
UPDATE user_customer uc,
register_relation t
SET uc.IS_REGISTER = 1
WHERE
uc.CUSTOMER_ID = t.CUSTOMER_ID
AND t.USER_ID = uc.USER_ID;

4
epmet-user/epmet-user-server/src/main/resources/mapper/UserWechatDao.xml

@ -107,8 +107,8 @@
<foreach collection="userIds" item="item" open="AND (" separator=" OR " close=" )">
wechat.USER_ID = #{item}
</foreach>
<if test='null != realName and "" != reamName'>
AND base.REAL_NAME = #{realName}
<if test='null != realName and "" != realName'>
AND (base.REAL_NAME LIKE concat('%',#{realName},'%') OR wechat.NICKNAME LIKE concat('%',#{realName},'%'))
</if>
ORDER BY
base.REAL_NAME , wechat.NICKNAME

Loading…
Cancel
Save