result = pointsFeignClient.getBehaviorCodeInfo(behaviorCode);
+ BehaviorResultDto behaviorResultDto = result.getData();
+ if (behaviorResultDto == null) {
+ return;
+ }
+ behaviorRecodingTime = behaviorResultDto.getBehaviorRecordingTime();
+ //将对象存入redis
+ redisUtils.set(RedisConstant.BEHAVIOR_CODE + behaviorCode, behaviorResultDto);
+ } else {
+ BehaviorResultDto behaviorResultDto = ConvertUtils.sourceToTarget(obj, BehaviorResultDto.class);
+ behaviorRecodingTime = String.valueOf(behaviorResultDto.getBehaviorRecordingTime());
+ }
+ //判断前后置
+ //前置方法调用 如果是前置,但是动作要求后置则直接返回
+ if (way == 0 && Constant.BEHAVIOR_RECORDING_TIME_AFTER.equals(behaviorRecodingTime)) {
+ return;
+ } else if (way == 1 && Constant.BEHAVIOR_RECORDING_TIME_BEFORE.equals(behaviorRecodingTime)) {
+ return;
+ }
+ //组装基本信息
+ String referenceId = this.covertData(recordUserBehavior.referenceId(), args, argNames);
+ String userId = this.covertData(recordUserBehavior.userId(), args, argNames);
+ if(StringUtils.isBlank(userId) || StringUtils.isBlank(referenceId)){
+ return;
+ }
+ BehaviorDto behaviorDto = new BehaviorDto();
+ behaviorDto.setBehavior(behaviorCode);
+ behaviorDto.setReferenceId(referenceId);
+ behaviorDto.setUserId(userId);
+ behaviorDto.setOperationTime(new Date());
+ //发送mq
+ pointsProducer.sendMessage(RocketMqConstant.MQ_TOPIC_POINTS, RocketMqConstant.MQ_TAG_POINTS, referenceId, JSONObject.toJSONString(behaviorDto));
+ }
+}
diff --git a/epdc-commons-points-tools/src/main/java/com/elink/esua/epdc/pointcommons/tools/dto/BehaviorResultDto.java b/epdc-commons-points-tools/src/main/java/com/elink/esua/epdc/pointcommons/tools/dto/BehaviorResultDto.java
new file mode 100644
index 0000000..e868b08
--- /dev/null
+++ b/epdc-commons-points-tools/src/main/java/com/elink/esua/epdc/pointcommons/tools/dto/BehaviorResultDto.java
@@ -0,0 +1,71 @@
+package com.elink.esua.epdc.pointcommons.tools.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author songyunpeng
+ * @Description
+ * @create 2020-04-28
+ */
+@Data
+public class BehaviorResultDto implements Serializable {
+ private static final long serialVersionUID = 5458618984429715932L;
+
+ /**
+ * ID
+ */
+ private String id;
+
+ /**
+ * 动作编码
+ */
+ private String behaviorCode;
+
+ /**
+ * 动作描述
+ */
+ private String behaviorDesc;
+
+ /**
+ * 动作记录时机 0-方法执行前,1-方法执行后
+ */
+ private String behaviorRecordingTime;
+
+ /**
+ * 备注
+ */
+ private String remark;
+
+ /**
+ * 乐观锁
+ */
+ private Integer revision;
+
+ /**
+ * 删除标识 0-否,1-是
+ */
+ private String delFlag;
+
+ /**
+ * 创建人
+ */
+ private String createdBy;
+
+ /**
+ * 创建时间
+ */
+ private Date createdTime;
+
+ /**
+ * 更新人
+ */
+ private String updatedBy;
+
+ /**
+ * 更新时间
+ */
+ private Date updatedTime;
+}
diff --git a/epdc-commons-points-tools/src/main/java/com/elink/esua/epdc/pointcommons/tools/dto/PointsLogsAddFormDTO.java b/epdc-commons-points-tools/src/main/java/com/elink/esua/epdc/pointcommons/tools/dto/PointsLogsAddFormDTO.java
new file mode 100644
index 0000000..3f9c034
--- /dev/null
+++ b/epdc-commons-points-tools/src/main/java/com/elink/esua/epdc/pointcommons/tools/dto/PointsLogsAddFormDTO.java
@@ -0,0 +1,97 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.elink.esua.epdc.pointcommons.tools.dto;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 积分记录表 添加
+ *
+ * @author songyunpeng
+ * @since v1.0.0 2020-04-29
+ */
+@Data
+public class PointsLogsAddFormDTO {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 用户ID
+ */
+ private String userId;
+
+ /**
+ * 用户昵称
+ */
+ private String nickname;
+
+
+ /**
+ * 用户头像
+ */
+ private String faceImg;
+
+
+ /**
+ * 关联表ID
+ */
+ private String referenceId;
+
+ /**
+ * 积分规则编码
+ */
+ private String ruleCode;
+
+ /**
+ * 积分行为编码
+ */
+ private String behaviorCode;
+
+ /**
+ * 积分操作类型 0-减积分,1-加积分
+ */
+ private String operationType;
+
+ /**
+ * 操作积分值
+ */
+ private Integer points;
+
+ /**
+ * 操作描述
+ */
+ private String operationDesc;
+
+ /**
+ * 操作时间
+ */
+ private Date operationTime;
+
+ /**
+ * 操作方式 user-用户操作,admin-管理员操作,sys-系统操作
+ */
+ private String operationMode;
+
+ /**
+ * 剩余积分值
+ */
+ private Integer lavePoints;
+
+}
\ No newline at end of file
diff --git a/epdc-commons-points-tools/src/main/java/com/elink/esua/epdc/pointcommons/tools/dto/PointsLogsFormDTO.java b/epdc-commons-points-tools/src/main/java/com/elink/esua/epdc/pointcommons/tools/dto/PointsLogsFormDTO.java
new file mode 100644
index 0000000..e42b6ed
--- /dev/null
+++ b/epdc-commons-points-tools/src/main/java/com/elink/esua/epdc/pointcommons/tools/dto/PointsLogsFormDTO.java
@@ -0,0 +1,61 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.elink.esua.epdc.pointcommons.tools.dto;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+
+
+/**
+ * 积分记录查询 参数
+ *
+ * @author elink elink@elink-cn.com
+ * @since v1.0.0 2020-04-29
+ */
+@Data
+public class PointsLogsFormDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+
+ /**
+ * 用户ID
+ */
+ private String userId;
+
+ /**
+ * 关联表ID
+ */
+ private String referenceId;
+
+ /**
+ * 积分行为编码
+ */
+ private String behaviorCode;
+
+ /**
+ * 上限日期标识
+ */
+ private String operationFlag;
+ /**
+ * 上限值
+ */
+ private Integer upperLimitVal;
+}
\ No newline at end of file
diff --git a/epdc-commons-points-tools/src/main/java/com/elink/esua/epdc/pointcommons/tools/dto/PointsLogsResultDTO.java b/epdc-commons-points-tools/src/main/java/com/elink/esua/epdc/pointcommons/tools/dto/PointsLogsResultDTO.java
new file mode 100644
index 0000000..337c094
--- /dev/null
+++ b/epdc-commons-points-tools/src/main/java/com/elink/esua/epdc/pointcommons/tools/dto/PointsLogsResultDTO.java
@@ -0,0 +1,133 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.elink.esua.epdc.pointcommons.tools.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+/**
+ * 积分记录表 积分记录表
+ *
+ * @author elink elink@elink-cn.com
+ * @since v1.0.0 2020-04-29
+ */
+@Data
+public class PointsLogsResultDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * ID
+ */
+ private String id;
+
+ /**
+ * 用户ID
+ */
+ private String userId;
+
+ /**
+ * 用户昵称
+ */
+ private String nickname;
+
+
+ /**
+ * 用户头像
+ */
+ private String faceImg;
+
+ /**
+ * 关联表ID
+ */
+ private String referenceId;
+
+ /**
+ * 积分规则编码
+ */
+ private String ruleCode;
+
+ /**
+ * 积分行为编码
+ */
+ private String behaviorCode;
+
+ /**
+ * 积分操作类型 0-减积分,1-加积分
+ */
+ private String operationType;
+
+ /**
+ * 操作积分值
+ */
+ private Integer points;
+
+ /**
+ * 操作描述
+ */
+ private String operationDesc;
+
+ /**
+ * 操作时间
+ */
+ private Date operationTime;
+
+ /**
+ * 操作方式 user-用户操作,admin-管理员操作,sys-系统操作
+ */
+ private String operationMode;
+
+ /**
+ * 剩余积分值
+ */
+ private Integer lavePoints;
+
+ /**
+ * 乐观锁
+ */
+ private Integer revision;
+
+ /**
+ * 删除标识 0-否,1-是
+ */
+ private String delFlag;
+
+ /**
+ * 创建人
+ */
+ private String createdBy;
+
+ /**
+ * 创建时间
+ */
+ private Date createdTime;
+
+ /**
+ * 更新人
+ */
+ private String updatedBy;
+
+ /**
+ * 更新时间
+ */
+ private Date updatedTime;
+
+}
\ No newline at end of file
diff --git a/epdc-commons-points-tools/src/main/java/com/elink/esua/epdc/pointcommons/tools/dto/PointsLogsSumResultDTO.java b/epdc-commons-points-tools/src/main/java/com/elink/esua/epdc/pointcommons/tools/dto/PointsLogsSumResultDTO.java
new file mode 100644
index 0000000..78fc36d
--- /dev/null
+++ b/epdc-commons-points-tools/src/main/java/com/elink/esua/epdc/pointcommons/tools/dto/PointsLogsSumResultDTO.java
@@ -0,0 +1,49 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.elink.esua.epdc.pointcommons.tools.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+/**
+ * 一定时限内的积分总和返回
+ *
+ * @author elink elink@elink-cn.com
+ * @since v1.0.0 2020-04-29
+ */
+@Data
+public class PointsLogsSumResultDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 总和
+ */
+ private Integer total;
+
+
+ /**
+ * 操作时间
+ */
+ private Date operationTime;
+
+
+}
\ No newline at end of file
diff --git a/epdc-commons-points-tools/src/main/java/com/elink/esua/epdc/pointcommons/tools/dto/PointsRuleResultDTO.java b/epdc-commons-points-tools/src/main/java/com/elink/esua/epdc/pointcommons/tools/dto/PointsRuleResultDTO.java
new file mode 100644
index 0000000..c8037f6
--- /dev/null
+++ b/epdc-commons-points-tools/src/main/java/com/elink/esua/epdc/pointcommons/tools/dto/PointsRuleResultDTO.java
@@ -0,0 +1,122 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.elink.esua.epdc.pointcommons.tools.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+/**
+ * 积分规则管理表 积分规则管理表
+ *
+ * @author zhangyong
+ * @since v1.0.0 2020-04-28
+ */
+@Data
+public class PointsRuleResultDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * ID
+ */
+ private String id;
+
+ /**
+ * 积分规则编码
+ */
+ private String ruleCode;
+
+ /**
+ * 动作编码
+ */
+ private String behaviorCode;
+
+ /**
+ * 积分规则描述
+ */
+ private String ruleDesc;
+
+ /**
+ * 规则操作类型 0-减积分,1-加积分
+ */
+ private String operationType;
+
+ /**
+ * 积分规则值
+ */
+ private Integer points;
+
+ /**
+ * 上线统计指标 0-分钟,1-小时,2-日,3-月,4-年
+ */
+ private String limitType;
+
+ /**
+ * 积分上限值
+ */
+ private Integer upperLimitVal;
+
+ /**
+ * 启用标识 0-否,1-是
+ */
+ private String enableFlag;
+
+ /**
+ * 附加值
+ */
+ private String addedVal;
+
+ /**
+ * 备注
+ */
+ private String remark;
+
+ /**
+ * 乐观锁
+ */
+ private Integer revision;
+
+ /**
+ * 删除标识 0-否,1-是
+ */
+ private String delFlag;
+
+ /**
+ * 创建人
+ */
+ private String createdBy;
+
+ /**
+ * 创建时间
+ */
+ private Date createdTime;
+
+ /**
+ * 更新人
+ */
+ private String updatedBy;
+
+ /**
+ * 更新时间
+ */
+ private Date updatedTime;
+
+}
\ No newline at end of file
diff --git a/epdc-commons-points-tools/src/main/java/com/elink/esua/epdc/pointcommons/tools/dto/UserDTO.java b/epdc-commons-points-tools/src/main/java/com/elink/esua/epdc/pointcommons/tools/dto/UserDTO.java
new file mode 100644
index 0000000..49c3330
--- /dev/null
+++ b/epdc-commons-points-tools/src/main/java/com/elink/esua/epdc/pointcommons/tools/dto/UserDTO.java
@@ -0,0 +1,360 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.elink.esua.epdc.pointcommons.tools.dto;
+
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+/**
+ * 用户信息表
+ *
+ * @author qu qu@gmail.com
+ * @since v1.0.0 2019-09-02
+ */
+@Data
+public class UserDTO implements Serializable {
+
+ private static final long serialVersionUID = 915598602233599300L;
+
+ /**
+ * 主键
+ */
+ private String id;
+
+ /**
+ * 昵称
+ */
+ private String nickname;
+
+ /**
+ * 手机号
+ */
+ private String mobile;
+
+ /**
+ * 密码
+ */
+ private String password;
+
+ /**
+ * 认证时间
+ */
+ private Date registerTime;
+
+ /**
+ * 头像
+ */
+ private String faceImg;
+
+ /**
+ * 性别(女性-0,男性-1)
+ * {@link com.elink.esua.epdc.commons.tools.enums.UserSexEnum}
+ */
+ private String sex;
+
+ /**
+ * 生日
+ */
+ private Date birthday;
+
+ /**
+ * 邮箱
+ */
+ private String email;
+
+ /**
+ * 电话
+ */
+ private String telephone;
+
+ /**
+ * 邮编
+ */
+ private String zipCode;
+
+ /**
+ * 职业
+ */
+ private String profession;
+
+ /**
+ * 爱好
+ */
+ private String hobbies;
+
+ /**
+ * 个性签名
+ */
+ private String userSign;
+
+ /**
+ * 邀请码
+ */
+ private String invitationCode;
+
+ /**
+ * 最近登录时间
+ */
+ private Date lastLoginTime;
+
+ /**
+ * 最近登录IP
+ */
+ private String lastLoginIp;
+
+ /**
+ * 最近登录位置经度
+ */
+ private String lastLongitude;
+
+ /**
+ * 最近登录位置维度
+ */
+ private String lastLatitude;
+
+ /**
+ * 真实姓名
+ */
+ private String realName;
+
+ /**
+ * 身份证号
+ */
+ private String identityNo;
+
+ /**
+ * 所在道路(如山东路168号)
+ */
+ private String road;
+
+ /**
+ * 小区名称
+ */
+ private String villageName;
+
+ /**
+ * 住处(楼栋-单元-房间)
+ */
+ private String dwellingPlace;
+
+ /**
+ * 居民住址
+ */
+ private String address;
+
+ /**
+ * 微信OPENID
+ */
+ private String wxOpenId;
+
+ /**
+ * 微信unionId
+ */
+ private String wxUnionId;
+
+ /**
+ * 是否是党员(0-否,1-是)
+ */
+ private String partyFlag;
+
+ /**
+ * 注册方式(wx:微信注册)
+ */
+ private String registerWay;
+
+ /**
+ * 用户来源(wp:公众号)
+ */
+ private String registerSource;
+
+ /**
+ * 手机号所属省份
+ */
+ private String mobileProvince;
+
+ /**
+ * 手机号所属城市
+ */
+ private String mobileCity;
+
+ /**
+ * 手机号所属运营商
+ */
+ private String mobileCarrier;
+
+ /**
+ * 用户积分
+ */
+ private Integer points;
+
+ /**
+ * 用户累计
+ */
+ private Integer points_totle;
+
+ /**
+ * 邀请人ID
+ */
+ private String inviteUserId;
+
+ /**
+ * 状态,参考枚举类:{@link com.elink.esua.epdc.enums.AppUserStatesEnum}
+ */
+ private String state;
+
+ /**
+ * 区县
+ */
+ private String district;
+
+ /**
+ * 区县ID
+ */
+ private Long districtId;
+
+ /**
+ * 街道
+ */
+ private String street;
+
+ /**
+ * 街道ID
+ */
+ private Long streetId;
+
+ /**
+ * 社区
+ */
+ private String community;
+
+ /**
+ * 社区ID
+ */
+ private Long communityId;
+
+ /**
+ * 网格
+ */
+ private String grid;
+
+ /**
+ * 网格ID
+ */
+ private Long gridId;
+
+ /**
+ * 删除标记
+ */
+ private String delFlag;
+
+ /**
+ * 乐观锁
+ */
+ private Integer revision;
+
+ /**
+ * 创建人
+ */
+ private String createdBy;
+
+ /**
+ * 注册时间
+ */
+ private Date createdTime;
+
+ /**
+ * 更新人
+ */
+ private String updatedBy;
+
+ /**
+ * 更新时间
+ */
+ private Date updatedTime;
+
+ /**
+ * 姓
+ */
+ private String lastName;
+
+ /**
+ * 名
+ */
+ private String firstName;
+ /**
+ * 干部下沉 0不
+ */
+ private String cadreFlag;
+ /**
+ * 党员标签
+ */
+ private String tagIds;
+
+ /**
+ * 审核备注
+ */
+ private String remark;
+
+ /**
+ * 是否是网格长
+ */
+ private String leaderFlag;
+
+ /**
+ * 认证历史-累计提交认证次数
+ */
+ private Integer totalSubmitNum;
+
+ /**
+ * 认证历史-通过次数
+ */
+ private Integer totalPassSubmitNum;
+
+ /**
+ * 认证历史-不通过次数
+ */
+ private Integer totalFailNum;
+ /**
+ * 居住网格id
+ */
+ private Long deptId;
+
+ /**
+ * 父所有部门
+ */
+ private String parentDeptIds;
+
+ /**
+ * 父所有部门
+ */
+ private String parentDeptNames;
+
+ /**
+ * 所有部门ID
+ */
+ private String allDeptIds;
+
+ /**
+ * 所有部门名称
+ */
+ private String allDeptNames;
+}
diff --git a/epdc-commons-points-tools/src/main/java/com/elink/esua/epdc/pointcommons/tools/feign/PointsCommonFeignClient.java b/epdc-commons-points-tools/src/main/java/com/elink/esua/epdc/pointcommons/tools/feign/PointsCommonFeignClient.java
new file mode 100644
index 0000000..d8f23e3
--- /dev/null
+++ b/epdc-commons-points-tools/src/main/java/com/elink/esua/epdc/pointcommons/tools/feign/PointsCommonFeignClient.java
@@ -0,0 +1,32 @@
+package com.elink.esua.epdc.pointcommons.tools.feign;
+
+import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
+import com.elink.esua.epdc.commons.tools.utils.Result;
+import com.elink.esua.epdc.pointcommons.tools.dto.*;
+import com.elink.esua.epdc.pointcommons.tools.feign.fallback.PointsCommonFeignClientFallback;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.http.MediaType;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+
+/**
+ * @author songyunpeng
+ * @date 2020/04/28
+ */
+@FeignClient(name = ServiceConstant.EPDC_POINTS_SERVER, fallback = PointsCommonFeignClientFallback.class)
+public interface PointsCommonFeignClient {
+
+ /**
+ * @return com.elink.esua.epdc.commons.tools.utils.Result
+ * @Description 获取动作编码信息
+ * @Author songyunpeng
+ * @Date 2020/4/28
+ * @Param [behaviorCode]
+ **/
+ @PostMapping(value = "points/points/getBehaviorCodeInfo/{behaviorCode}", consumes = MediaType.APPLICATION_JSON_VALUE)
+ Result getBehaviorCodeInfo(@PathVariable String behaviorCode);
+
+
+}
diff --git a/epdc-commons-points-tools/src/main/java/com/elink/esua/epdc/pointcommons/tools/feign/fallback/PointsCommonFeignClientFallback.java b/epdc-commons-points-tools/src/main/java/com/elink/esua/epdc/pointcommons/tools/feign/fallback/PointsCommonFeignClientFallback.java
new file mode 100644
index 0000000..680ef54
--- /dev/null
+++ b/epdc-commons-points-tools/src/main/java/com/elink/esua/epdc/pointcommons/tools/feign/fallback/PointsCommonFeignClientFallback.java
@@ -0,0 +1,23 @@
+package com.elink.esua.epdc.pointcommons.tools.feign.fallback;
+
+import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
+import com.elink.esua.epdc.commons.tools.utils.ModuleUtils;
+import com.elink.esua.epdc.commons.tools.utils.Result;
+import com.elink.esua.epdc.pointcommons.tools.dto.*;
+import com.elink.esua.epdc.pointcommons.tools.feign.PointsCommonFeignClient;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author songyunpeng
+ * @date 2020/4/28 9:30
+ */
+@Component
+public class PointsCommonFeignClientFallback implements PointsCommonFeignClient {
+
+
+ @Override
+ public Result getBehaviorCodeInfo(String behaviorCode) {
+ return ModuleUtils.feignConError(ServiceConstant.EPDC_POINTS_SERVER, "getBehaviorCodeInfo", behaviorCode);
+ }
+
+}
diff --git a/epdc-commons-points-tools/src/main/java/com/elink/esua/epdc/pointcommons/tools/rocketmq/dto/BehaviorDto.java b/epdc-commons-points-tools/src/main/java/com/elink/esua/epdc/pointcommons/tools/rocketmq/dto/BehaviorDto.java
new file mode 100644
index 0000000..31450da
--- /dev/null
+++ b/epdc-commons-points-tools/src/main/java/com/elink/esua/epdc/pointcommons/tools/rocketmq/dto/BehaviorDto.java
@@ -0,0 +1,49 @@
+package com.elink.esua.epdc.pointcommons.tools.rocketmq.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 用户行为DTO
+ *
+ * @author songyunpeng
+ * @Date 20-04-28
+ */
+@Data
+public class BehaviorDto implements Serializable {
+
+ private static final long serialVersionUID = 5458618984429715932L;
+
+ /**
+ * 用户行为
+ */
+ private String behavior;
+
+ /**
+ * 业务ID
+ */
+ private String referenceId;
+
+ /**
+ * 其他业务ID
+ */
+ private String otherReferenceId;
+
+ /**
+ * 用户ID
+ */
+ private String userId;
+
+ /**
+ * 其他标识
+ */
+ private String ortherFlag;
+
+ /**
+ * 操作时间
+ */
+ private Date operationTime;
+
+}
diff --git a/epdc-commons-points-tools/src/main/java/com/elink/esua/epdc/pointcommons/tools/rocketmq/producer/PointsProducer.java b/epdc-commons-points-tools/src/main/java/com/elink/esua/epdc/pointcommons/tools/rocketmq/producer/PointsProducer.java
new file mode 100644
index 0000000..62627e5
--- /dev/null
+++ b/epdc-commons-points-tools/src/main/java/com/elink/esua/epdc/pointcommons/tools/rocketmq/producer/PointsProducer.java
@@ -0,0 +1,41 @@
+package com.elink.esua.epdc.pointcommons.tools.rocketmq.producer;
+
+import lombok.extern.slf4j.Slf4j;
+import org.apache.rocketmq.client.producer.SendResult;
+import org.apache.rocketmq.common.message.Message;
+import org.apache.rocketmq.spring.core.RocketMQTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * 积分埋点-发送MQ消息
+ *
+ * @Author:songyunpeng
+ * @Date:2020/4/28 16:14
+ */
+@Slf4j
+@Component
+public class PointsProducer {
+
+ @Autowired
+ private RocketMQTemplate rocketMQTemplate;
+
+ /**
+ * 发送消息
+ *
+ * @return void
+ * @params [topic, tag, keys, body]
+ * @author liuchuang
+ * @since 2020/3/6 21:09
+ */
+ public void sendMessage(String topic, String tag, String keys, String body) {
+ Message message = new Message(topic, tag, keys, body.getBytes());
+ try {
+ SendResult sendResult = rocketMQTemplate.getProducer().send(message);
+ log.info("积分埋点发送消息结果:{sendStatus:{}, topic:{}, msgId:{}}", sendResult.getSendStatus(), topic, sendResult.getMsgId());
+ } catch (Exception e) {
+ log.error("积分埋点发送消息异常:{topic:{}, tag:{}, keys:{}, body:{}}", topic, tag, keys, body);
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/Constant.java b/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/Constant.java
index 293fbd0..8091e94 100644
--- a/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/Constant.java
+++ b/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/Constant.java
@@ -108,4 +108,15 @@ public interface Constant {
* 移动端接口标识
*/
String EPDC_APP = "epdc-app/";
+
+ /**
+ * 动作记录时机 前
+ */
+ String BEHAVIOR_RECORDING_TIME_BEFORE = "0";
+
+
+ /**
+ * 动作记录时机 后
+ */
+ String BEHAVIOR_RECORDING_TIME_AFTER = "1";
}
diff --git a/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/PointsConstant.java b/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/PointsConstant.java
index f5eb872..03d6db0 100644
--- a/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/PointsConstant.java
+++ b/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/PointsConstant.java
@@ -7,7 +7,12 @@ package com.elink.esua.epdc.commons.tools.constant;
*/
public interface PointsConstant {
/**
- * 手动调整积分编码
+ * 手动调整积分规则编码
*/
- String ruleCode ="hand_regulation";
+ String ruleCode ="hand_regulation_rule";
+
+ /**
+ * 手动调整积分动作编码
+ */
+ String behaviorCodeCode ="hand_regulation_behavior";
}
diff --git a/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/RedisConstant.java b/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/RedisConstant.java
new file mode 100644
index 0000000..c38e255
--- /dev/null
+++ b/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/RedisConstant.java
@@ -0,0 +1,22 @@
+/**
+ * Copyright (c) 2018 人人开源 All rights reserved.
+ *
+ * https://www.renren.io
+ *
+ * 版权所有,侵权必究!
+ */
+
+package com.elink.esua.epdc.commons.tools.constant;
+
+/**
+ * redis前缀常量
+ *
+ * @author songyunpeng
+ * @date 20-04-28
+ */
+public interface RedisConstant {
+ /**
+ * 行为编码前缀
+ */
+ String BEHAVIOR_CODE = "epdc:config:behavior:";
+}
diff --git a/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/RocketMqConstant.java b/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/RocketMqConstant.java
index 78a31f0..fc9213b 100644
--- a/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/RocketMqConstant.java
+++ b/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/RocketMqConstant.java
@@ -5,27 +5,91 @@ package com.elink.esua.epdc.commons.tools.constant;
* RocketMq 常量类
*
* @Author:liuchuang
- * @Date:2020/3/6 20:52
+ * @Date:2020/3/16 14:50
*/
public interface RocketMqConstant {
/**
* 组织机构信息修改-消息topic
*/
- String MQ_TOPIC_ORGANIZATION = "organizationTopic";
+ String MQ_TOPIC_ORGANIZATION = "yushan-organizationTopic";
/**
* 组织机构信息修改-消息tag
*/
- String MQ_TAG_ORGANIZATION = "organizationTag";
+ String MQ_TAG_ORGANIZATION = "yushan-organizationTag";
/**
* 分类信息修改-消息topic
*/
- String MQ_TOPIC_CATEGORY = "categoryTopic";
+ String MQ_TOPIC_CATEGORY = "yushan-categoryTopic";
/**
* 分类信息修改-消息tag
*/
- String MQ_TAG_CATEGORY = "categoryTag";
+ String MQ_TAG_CATEGORY = "yushan-categoryTag";
+
+ /**
+ * 积分埋点-消息topic
+ */
+ String MQ_TOPIC_POINTS = "yushan-pointsTopic";
+
+ /**
+ * 积分埋点-消息tag
+ */
+ String MQ_TAG_POINTS = "yushan-pointsTag";
+
+ /**
+ * 内容安全审核-初心互助-消息topic
+ */
+ String MQ_TOPIC_HEART_CONTENTSECURITY = "ys_heart_contentSecurityTopic";
+
+ /**
+ * 内容安全审核-初心互助-发布活动-消息tag
+ */
+ String MQ_TAG_HEART_ACTIVITY_CONTENTSECURITY = "ys_heart_activity_contentSecurityTag";
+
+ /**
+ * 内容安全审核-初心互助-已报名活动-我要打卡-消息tag
+ */
+ String MQ_TAG_HEART_SIGNIN_CONTENTSECURITY = "ys_heart_signIn_contentSecurityTag";
+ //---------------------------------------------------------------------------
+
+ /**
+ *
+ * 内容安全审核-议题项目-消息topic
+ */
+ String MQ_TOPIC_ISSUE_ITEM_CONTENTSECURITY = "ys_issueItem_contentSecurityTopic";
+
+ /**
+ * 内容安全审核-议题项目-我要报事-消息tag
+ */
+ String MQ_TAG_ISSUE_ITEM_SUBMIT_CONTENTSECURITY = "ys_issueItem_submit_contentSecurityTag";
+
+ /**
+ * 内容安全审核-议题项目-评论-消息tag
+ */
+ String MQ_TAG_ISSUE_ITEM_COMMENT_CONTENTSECURITY = "ys_issueItem_comment_contentSecurityTag";
+
+ /**
+ * 内容安全审核-项目详情-满意度评价-消息tag
+ */
+ String MQ_TAG_ISSUE_ITEM_SATISFACTION_CONTENTSECURITY = "ys_issueItem_satisfaction_contentSecurityTag";
+ //---------------------------------------------------------------------------
+
+ /**
+ * 内容安全审核-党群1+1-消息topic
+ */
+ String MQ_TOPIC_GROUP_CONTENTSECURITY = "ys_group_contentSecurityTopic";
+
+ /**
+ * 内容安全审核-党群1+!-消息tag
+ */
+ String MQ_TAG_GROUP_TOPIC_CONTENTSECURITY = "ys_group_topic_contentSecurityTag";
+
+ /**
+ * 内容安全审核-党群1+1—-评论-消息tag
+ */
+ String MQ_TAG_GROUP_TOPIC_COMMENT_CONTENTSECURITY = "ys_group_topic_comment_contentSecurityTag";
+
}
diff --git a/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/enums/BehaviorEnum.java b/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/enums/BehaviorEnum.java
new file mode 100644
index 0000000..eb447c1
--- /dev/null
+++ b/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/enums/BehaviorEnum.java
@@ -0,0 +1,302 @@
+package com.elink.esua.epdc.commons.tools.enums;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+/**
+ * 积分埋点枚举
+ *
+ * @author songyunpeng
+ * @Date 20-04-28
+ */
+@JsonFormat(shape = JsonFormat.Shape.OBJECT)
+public enum BehaviorEnum {
+
+ /**
+ * 完善居民信息
+ */
+ PERFECT_RESIDENT_INFO("perfect_resident_info"),
+
+ /**
+ * 完善党员信息
+ */
+ PERFECT_PARTY_INFO("perfect_party_info"),
+
+ /**
+ * 完善企业信息
+ */
+ PERFECT_ENTERPRISE_INFO("perfect_enterprise_info"),
+
+ /**
+ * 居民审核通过
+ */
+ RESIDENT_AUDIT_PASS("resident_audit_pass"),
+ /**
+ * 居民审核不通过
+ */
+ RESIDENT_AUDIT_NO_PASS("resident_audit_no_pass"),
+
+ /**
+ * 新闻浏览
+ */
+ NEWS_BROWSE("news_browse"),
+ /**
+ * 新闻点赞
+ */
+ NEWS_SUPPORT("news_support"),
+
+ /**
+ * 新闻点踩
+ */
+ NEWS_OPPOSITION("news_opposition"),
+
+ /**
+ * 新闻分享
+ */
+ NEWS_SHARE("news_share"),
+
+ /**
+ * 发布议题
+ */
+ ISSUE_PUBLISH("issue_publish"),
+
+ /**
+ * 发布的议题审核通过
+ */
+ ISSUE_AUDIT_PASS("issue_audit_pass"),
+
+ /**
+ * 发布的议题审核不通过
+ */
+ ISSUE_AUDIT_FAILED("issue_audit_failed"),
+
+ /**
+ * 议题点赞
+ */
+ ISSUE_SUPPORT("issue_support"),
+
+ /**
+ * 议题点踩
+ */
+ ISSUE_OPPOSITION("issue_opposition"),
+
+ /**
+ * 议题评论
+ */
+ ISSUE_COMMENT("issue_comment"),
+
+ /**
+ * 议题评论的回复
+ */
+ ISSUE_COMMENT_REPLY("issue_comment_reply"),
+
+ /**
+ * 议题评论的点赞
+ */
+ ISSUE_COMMENT_SUPPORT("issue_comment_support"),
+
+ /**
+ * 议题评论的点踩
+ */
+ ISSUE_COMMENT_OPPOSITION("issue_comment_opposition"),
+
+ /**
+ * 议题浏览
+ */
+ ISSUE_BROWSE("issue_browse"),
+
+ /**
+ * 议题分享
+ */
+ ISSUE_SHARE("issue_share"),
+ /**
+ * 议题转成项目
+ */
+ ISSUE_TO_PROJECT("issue_to_project"),
+ /**
+ * 议题回应
+ */
+ ISSUE_RESPONSE("issue_response"),
+ /**
+ * 议题关闭
+ */
+ ISSUE_CLOSE("issue_close"),
+
+ /**
+ * 项目的回应
+ */
+ PROJECT_RESPONSE("project_response"),
+
+ /**
+ * 项目的关闭
+ */
+ PROJECT_CLOSE("project_close"),
+
+ /**
+ * 项目的吹哨
+ */
+ PROJECT_WHISTLE("project_whistle"),
+
+ /**
+ * 项目的结案
+ */
+ PROJECT_CLOSE_CASE("project_close_case"),
+
+ /**
+ * 项目的点赞
+ */
+ PROJECT_SUPPORT("project_support"),
+ /**
+ * 项目的点踩
+ */
+ PROJECT_OPPOSITION("project_opposition"),
+ /**
+ * 项目评论
+ */
+ PROJECT_COMMENT("project_comment"),
+ /**
+ * 项目评论的回复
+ */
+ PROJECT_COMMENT_REPLY("project_comment_reply"),
+ /**
+ * 项目评论的点赞
+ */
+ PROJECT_COMMENT_SUPPORT("project_comment_support"),
+
+ /**
+ * 项目评论的点踩
+ */
+ PROJECT_COMMENT_OPPOSITION("project_comment_opposition"),
+ /**
+ * 项目浏览
+ */
+ PROJECT_BROWSE("project_browse"),
+ /**
+ * 项目分享
+ */
+ PROJECT_SHARE("project_share"),
+ /**
+ * 项目满意度评价
+ */
+ PROJECT_EVALUATION("project_evaluation"),
+ /**
+ * 创建社群
+ */
+ GROUP_CREATE_APPLICATION("group_create_application"),
+ /**
+ * 申请加入社群
+ */
+ GROUP_JOIN_APPLICATION("group_join_application"),
+ /**
+ * 同意加入社群
+ */
+ GROUP_JOIN_SUCCESS("group_join_success"),
+ /**
+ * 不同意加入社群
+ */
+ GROUP_JOIN_FAIL("group_join_fail"),
+ /**
+ * 同意创建社群
+ */
+ GROUP_CREATE_SUCCESS("group_create_success"),
+ /**
+ * 不同意创建社群
+ */
+ GROUP_APPLICATION_FAIL("group_application_fail"),
+ /**
+ * 修改社群信息
+ */
+ GROUP_MODIFY_INFO("group_modify_info"),
+ /**
+ * 解散群
+ */
+ GROUP_DISSOLUTION("group_dissolution"),
+ /**
+ * 邀请好友
+ */
+ GROUP_INVITATION("group_invitation"),
+ /**
+ * 发布话题
+ */
+ GROUP_TOPIC_PUBLISH("group_topic_publish"),
+ /**
+ * 话题转为议题
+ */
+ GROUP_TOPIC_TO_EVENTS("group_topic_to_events"),
+ /**
+ * 话题点赞
+ */
+ GROUP_TOPIC_SUPPORT("group_topic_support"),
+ /**
+ * 话题点踩
+ */
+ GROUP_TOPIC_OPPOSITION("group_topic_opposition"),
+ /**
+ * 话题评论
+ */
+ GROUP_COMMENT("group_comment"),
+ /**
+ * 话题评论的回复
+ */
+ GROUP_COMMENT_REPLY("group_comment_reply"),
+ /**
+ * 话题评论的点赞
+ */
+ GROUP_TOPIC_COMMENT_SUPPORT("group_topic_comment_support"),
+
+ /**
+ * 话题评论的点踩
+ */
+ GROUP_TOPIC_COMMENT_OPPOSITION("group_topic_comment_opposition"),
+
+ /**
+ * 话题浏览
+ */
+ GROUP_BROWSE("group_browse"),
+ /**
+ * 用户进入社群
+ */
+ GROUP_OPEN("group_open"),
+ /**
+ * 爽约
+ */
+ BREAK_PROMISE("break_promise"),
+ /**
+ * 手动调整志愿者积分
+ */
+ HAND_REGULATION_BEHAVIOR("hand_regulation_behavior"),
+
+ /**
+ * 活动积分
+ */
+ JOIN_ACT("join_act"),
+
+ /**
+ * 签到
+ */
+ USER_SIGN("user_sign"),
+ /**
+ * 连续签到
+ */
+ USER_CONSEQUENT_SIGN("user_consequent_sign"),
+ /**
+ * 通知浏览
+ */
+ NOTICE_BROWSE("notice_browse"),
+ /**
+ * 志愿者完善信息
+ */
+ VOLUNTEER_PERFECT_INFO("volunteer_perfect_info");
+
+
+ private String value;
+
+ BehaviorEnum(final String value) {
+ this.value = value;
+ }
+
+ public String getValue() {
+ return this.value;
+ }
+
+
+}
diff --git a/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/RedisKeys.java b/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/RedisKeys.java
index 6e7d5d4..fa1a2be 100644
--- a/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/RedisKeys.java
+++ b/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/RedisKeys.java
@@ -151,6 +151,7 @@ public class RedisKeys {
public static String getAdminUserDeptOptionKey(Long userId) {
return rootPrefix.concat("options:dept:user:").concat(String.valueOf(userId));
}
+
/**
* 管理员有数据权限的部门层级关系
*
@@ -247,6 +248,28 @@ public class RedisKeys {
return rootPrefix.concat("config:points:rule:").concat(ruleCode);
}
+ /**
+ * @param behaviorCode 动作编码
+ * @return java.lang.String
+ * @Author zhangyong
+ * @Description 所有的积分规则编码
+ * @Date 2020/4/28
+ **/
+ public static String getAllRuleCodeKey(String behaviorCode) {
+ return rootPrefix.concat("epdc:config:behavior:").concat(String.valueOf(behaviorCode));
+ }
+
+ /**
+ * @param ruleCode 积分规则编码
+ * @return java.lang.String
+ * @Author zhangyong
+ * @Description 所有的积分规则编码
+ * @Date 2020/4/28
+ **/
+ public static String getAllPointsRuleCodeKey(String ruleCode) {
+ return rootPrefix.concat("epdc:config:points:").concat(String.valueOf(ruleCode));
+ }
+
/**
* 按项目分类设置项目响应/关闭时限
*
@@ -269,4 +292,5 @@ public class RedisKeys {
public static String getKpiIssueTimeLimitKey() {
return rootPrefix.concat("config:kpi:issuetimelimit");
}
+
}
diff --git a/pom.xml b/pom.xml
index 3c244a3..62411d3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -30,6 +30,7 @@
epdc-commons-tools
+ epdc-commons-points-tools
epdc-commons-mybatis
epdc-commons-dynamic-datasource
epdc-commons-api-version-control