From e9c73ccf95a6269f828bd2034fa48b849b5a5472 Mon Sep 17 00:00:00 2001
From: leejoker <1056650571@qq.com>
Date: Thu, 11 Mar 2021 15:08:18 +0800
Subject: [PATCH 01/16] =?UTF-8?q?=E5=A2=9E=E5=8A=A0Dockerfile?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
buidDocker.sh | 5 +
docker-compose.yml | 28 ++++
linkwe-admin/pom.xml | 38 +++++-
linkwe-admin/src/main/docker/Dockerfile | 15 +++
linkwe-admin/src/main/docker/Shanghai | Bin 0 -> 554 bytes
.../src/main/resources/application-druid.yml | 110 ++++++++--------
.../src/main/resources/application.yml | 122 +++++++++---------
7 files changed, 198 insertions(+), 120 deletions(-)
create mode 100644 buidDocker.sh
create mode 100644 docker-compose.yml
create mode 100644 linkwe-admin/src/main/docker/Dockerfile
create mode 100644 linkwe-admin/src/main/docker/Shanghai
diff --git a/buidDocker.sh b/buidDocker.sh
new file mode 100644
index 000000000..019d23b56
--- /dev/null
+++ b/buidDocker.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+# 需要使用maven,请自行配置环境变量
+cd ./linkwe-admin || exit
+mvn docker:build
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 000000000..4dba3facc
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,28 @@
+version: '3.3'
+
+# 如需配置变量,请在environment中进行变量配置
+services:
+ api:
+ image: link-wechat
+ container_name: link-wechat
+ environment:
+ - JAVA_OPTS=-Xms4096m -Xmx4096m -Duser.timezone=Asia/Shanghai
+ - TZ=Asia/Shanghai
+ - NACOS_SERVER
+ # 如果使用nacos,以下变量可以不进行配置
+ - ES_ADDRESS
+ - DB_HOST
+ - DB_PORT
+ - DB_NAME
+ - DB_USER
+ - DB_PASS
+ - REDIS_HOST
+ - REDIS_PORT
+ ports:
+ - "${APP_PORT}:8090"
+ volumes:
+ - ./logs:/logs
+ # 上传文件地址,请根据实际${ruoyi.profile}自行修改映射
+ - ./pic:/app/project/pic
+ - ./tmp:/tmp
+ restart: always
\ No newline at end of file
diff --git a/linkwe-admin/pom.xml b/linkwe-admin/pom.xml
index b940a787b..ec5b0750b 100644
--- a/linkwe-admin/pom.xml
+++ b/linkwe-admin/pom.xml
@@ -79,10 +79,10 @@
spring-cloud-starter-alibaba-nacos-config
-
-
-
-
+
+
+
+
@@ -111,6 +111,36 @@
${project.artifactId}
+
+ com.spotify
+ docker-maven-plugin
+ 1.2.2
+
+ ${project.artifactId}
+ ${basedir}/src/main/docker
+
+ link-wechat
+
+
+
+ ${project.build.finalName}.jar
+
+
+
+ /
+ ${project.build.directory}
+ ${project.build.finalName}.jar
+
+
+
+
+
+ javax.activation
+ activation
+ 1.1.1
+
+
+
${project.artifactId}
diff --git a/linkwe-admin/src/main/docker/Dockerfile b/linkwe-admin/src/main/docker/Dockerfile
new file mode 100644
index 000000000..bb49258b4
--- /dev/null
+++ b/linkwe-admin/src/main/docker/Dockerfile
@@ -0,0 +1,15 @@
+FROM openjdk:8-alpine
+
+# 设置时区
+ADD Shanghai /usr/share/zoneinfo/Asia/
+RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
+ && echo "Asia/Shanghai" > /etc/timezone
+
+VOLUME /tmp
+
+#设置字符集
+ENV LANG en_US.UTF-8
+ARG JAR_FILE
+ADD $JAR_FILE app.jar
+
+ENTRYPOINT ["sh","-c","java -server $JAVA_OPTS -jar /app.jar"]
\ No newline at end of file
diff --git a/linkwe-admin/src/main/docker/Shanghai b/linkwe-admin/src/main/docker/Shanghai
new file mode 100644
index 0000000000000000000000000000000000000000..d7f92e2fa5868addab98170099181375634ab1ca
GIT binary patch
literal 554
zcma)&y-EW?6h`mH|6sA$`Zq?6Nnv9lf+EokS?(n{}{R)XH)&RKS5nE8%(T&u3guNu%lG&QNs_jsh!%TXn2jD7iy_OmpH
zZjxqDkk1O8_oTR^edw{E
z<^3INO1IfqpZ0{vw^q1X%tK;AqFQQPNMuWm4T%nk4^aTo08s(a0Z{_cVySAl9z766
m5KRzO5M2;u5N!~35Pg=a5TemiRZ3rzPU=4{)2elOE&T%%N2$92
literal 0
HcmV?d00001
diff --git a/linkwe-admin/src/main/resources/application-druid.yml b/linkwe-admin/src/main/resources/application-druid.yml
index 3d173be1e..72489d2ce 100644
--- a/linkwe-admin/src/main/resources/application-druid.yml
+++ b/linkwe-admin/src/main/resources/application-druid.yml
@@ -1,57 +1,57 @@
# 数据源配置
spring:
- datasource:
- type: com.alibaba.druid.pool.DruidDataSource
- driverClassName: com.mysql.cj.jdbc.Driver
- druid:
- # 主库数据源
- master:
- url: jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/link-wechat-prod?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
- username: ${DB_USER:root}
- password: ${DB_PASS:root}
- # 从库数据源
- slave:
- # 从数据源开关/默认关闭
- enabled: false
- url:
- username:
- password:
- # 初始连接数
- initialSize: 5
- # 最小连接池数量
- minIdle: 10
- # 最大连接池数量
- maxActive: 20
- # 配置获取连接等待超时的时间
- maxWait: 60000
- # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
- timeBetweenEvictionRunsMillis: 60000
- # 配置一个连接在池中最小生存的时间,单位是毫秒
- minEvictableIdleTimeMillis: 300000
- # 配置一个连接在池中最大生存的时间,单位是毫秒
- maxEvictableIdleTimeMillis: 900000
- # 配置检测连接是否有效
- validationQuery: SELECT 1 FROM DUAL
- testWhileIdle: true
- testOnBorrow: false
- testOnReturn: false
- webStatFilter:
- enabled: true
- statViewServlet:
- enabled: true
- # 设置白名单,不填则允许所有访问
- allow:
- url-pattern: /druid/*
- # 控制台管理用户名和密码
- login-username:
- login-password:
- filter:
- stat:
- enabled: true
- # 慢SQL记录
- log-slow-sql: true
- slow-sql-millis: 1000
- merge-sql: true
- wall:
- config:
- multi-statement-allow: true
+ datasource:
+ type: com.alibaba.druid.pool.DruidDataSource
+ driverClassName: com.mysql.cj.jdbc.Driver
+ druid:
+ # 主库数据源
+ master:
+ url: jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:link-wechat-prod}?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+ username: ${DB_USER:root}
+ password: ${DB_PASS:root}
+ # 从库数据源
+ slave:
+ # 从数据源开关/默认关闭
+ enabled: false
+ url:
+ username:
+ password:
+ # 初始连接数
+ initialSize: 5
+ # 最小连接池数量
+ minIdle: 10
+ # 最大连接池数量
+ maxActive: 20
+ # 配置获取连接等待超时的时间
+ maxWait: 60000
+ # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
+ timeBetweenEvictionRunsMillis: 60000
+ # 配置一个连接在池中最小生存的时间,单位是毫秒
+ minEvictableIdleTimeMillis: 300000
+ # 配置一个连接在池中最大生存的时间,单位是毫秒
+ maxEvictableIdleTimeMillis: 900000
+ # 配置检测连接是否有效
+ validationQuery: SELECT 1 FROM DUAL
+ testWhileIdle: true
+ testOnBorrow: false
+ testOnReturn: false
+ webStatFilter:
+ enabled: true
+ statViewServlet:
+ enabled: true
+ # 设置白名单,不填则允许所有访问
+ allow:
+ url-pattern: /druid/*
+ # 控制台管理用户名和密码
+ login-username:
+ login-password:
+ filter:
+ stat:
+ enabled: true
+ # 慢SQL记录
+ log-slow-sql: true
+ slow-sql-millis: 1000
+ merge-sql: true
+ wall:
+ config:
+ multi-statement-allow: true
diff --git a/linkwe-admin/src/main/resources/application.yml b/linkwe-admin/src/main/resources/application.yml
index fc0eabdb5..f69eb0b63 100644
--- a/linkwe-admin/src/main/resources/application.yml
+++ b/linkwe-admin/src/main/resources/application.yml
@@ -20,7 +20,7 @@ ruoyi:
# 开发环境配置
server:
# 服务器的HTTP端口,默认为8090
- port: 8090
+ port: ${APP_PORT:8090}
servlet:
# 应用的访问路径
context-path: /
@@ -55,11 +55,11 @@ spring:
active: druid
# 文件上传
servlet:
- multipart:
- # 单个文件大小
- max-file-size: 10MB
- # 设置总上传的文件大小
- max-request-size: 20MB
+ multipart:
+ # 单个文件大小
+ max-file-size: 10MB
+ # 设置总上传的文件大小
+ max-request-size: 20MB
task:
execution:
pool:
@@ -95,24 +95,24 @@ spring:
# token配置
token:
- # 令牌自定义标识
- header: Authorization
- # 令牌密钥
- secret: abcdefghijklmnopqrstuvwxyz
- # 令牌有效期(默认30分钟)
- expireTime: 30
+ # 令牌自定义标识
+ header: Authorization
+ # 令牌密钥
+ secret: abcdefghijklmnopqrstuvwxyz
+ # 令牌有效期(默认30分钟)
+ expireTime: 30
mybatis-plus:
- mapper-locations: classpath*:mapper/**/*Mapper.xml
- type-aliases-package: com.linkwechat.**.domain
- type-handlers-package: com.linkwechat.framework.handler.GenericTypeHandler,com.linkwechat.framework.handler.StringArrayJoinTypeHandler
- configuration:
- log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
- global-config:
- db-config:
- logic-delete-field: delFlag
- logic-delete-value: 1
- logic-not-delete-value: 0
+ mapper-locations: classpath*:mapper/**/*Mapper.xml
+ type-aliases-package: com.linkwechat.**.domain
+ type-handlers-package: com.linkwechat.framework.handler.GenericTypeHandler,com.linkwechat.framework.handler.StringArrayJoinTypeHandler
+ configuration:
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+ global-config:
+ db-config:
+ logic-delete-field: delFlag
+ logic-delete-value: 1
+ logic-not-delete-value: 0
## MyBatis配置
#mybatis:
@@ -173,49 +173,49 @@ wecome:
serverUrl: https://qyapi.weixin.qq.com/
weComePrefix: cgi-bin
noAccessTokenUrl:
- - /gettoken
- - /service/get_provider_token
- - /wecom/chat/side/list
- - /wecom/chat/item/list
- - /wecom/chat/collection/addCollection
- - /wecom/chat/collection/cancleCollection
- - /wecom/chat/collection/list
+ - /gettoken
+ - /service/get_provider_token
+ - /wecom/chat/side/list
+ - /wecom/chat/item/list
+ - /wecom/chat/collection/addCollection
+ - /wecom/chat/collection/cancleCollection
+ - /wecom/chat/collection/list
needContactTokenUrl:
- - /externalcontact/get_follow_user_list
- - /externalcontact/add_contact_way
- - /externalcontact/update_contact_way
- - /externalcontact/add_corp_tag
- - /externalcontact/get_corp_tag_list
- - /externalcontact/del_corp_tag
- - /externalcontact/edit_corp_tag
- - /externalcontact/list
- - /externalcontact/get
- - /externalcontact/batch/get_by_user
- - /externalcontact/groupchat/list
- - /externalcontact/groupchat/get
- - /externalcontact/mark_tag
- - /externalcontact/transfer
- - /externalcontact/groupchat/transfer
- - /externalcontact/get_unassigned_list
- - /externalcontact/send_welcome_msg
- - /externalcontact/unionid_to_external_userid
- - /externalcontact/add_msg_template
- - /externalcontact/get_group_msg_result
- - /externalcontact/get_user_behavior_data
- - /externalcontact/groupchat/statistic
- fileUplodUrl: /media/upload,/media/uploadimg
+ - /externalcontact/get_follow_user_list
+ - /externalcontact/add_contact_way
+ - /externalcontact/update_contact_way
+ - /externalcontact/add_corp_tag
+ - /externalcontact/get_corp_tag_list
+ - /externalcontact/del_corp_tag
+ - /externalcontact/edit_corp_tag
+ - /externalcontact/list
+ - /externalcontact/get
+ - /externalcontact/batch/get_by_user
+ - /externalcontact/groupchat/list
+ - /externalcontact/groupchat/get
+ - /externalcontact/mark_tag
+ - /externalcontact/transfer
+ - /externalcontact/groupchat/transfer
+ - /externalcontact/get_unassigned_list
+ - /externalcontact/send_welcome_msg
+ - /externalcontact/unionid_to_external_userid
+ - /externalcontact/add_msg_template
+ - /externalcontact/get_group_msg_result
+ - /externalcontact/get_user_behavior_data
+ - /externalcontact/groupchat/statistic
+ fileUplodUrl: /media/upload,/media/uploadimg
needProviderTokenUrl:
- - /service/get_login_info
+ - /service/get_login_info
needChatTokenUrl:
- - /msgaudit/get_permit_user_list
- - /msgaudit/check_single_agree
- - /msgaudit/check_room_agree
- - /msgaudit/groupchat/get
+ - /msgaudit/get_permit_user_list
+ - /msgaudit/check_single_agree
+ - /msgaudit/check_room_agree
+ - /msgaudit/groupchat/get
thirdAppUrl:
- - /user/getuserinfo
- - /get_jsapi_ticket
- - /ticket/get
- - /message/send
+ - /user/getuserinfo
+ - /get_jsapi_ticket
+ - /ticket/get
+ - /message/send
#企微回调通知配置
callBack:
appIdOrCorpId: ww24262ce93851488f
--
Gitee
From 92ffb77c108490c285099127704c0a808a77b99b Mon Sep 17 00:00:00 2001
From: leejoker <1056650571@qq.com>
Date: Fri, 12 Mar 2021 01:13:06 +0800
Subject: [PATCH 02/16] =?UTF-8?q?=E4=BF=AE=E6=94=B9Dockerfile=E5=92=8Cdock?=
=?UTF-8?q?er-compose?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
buidDocker.sh | 5 -----
docker-compose.yml | 4 ++--
linkwe-admin/pom.xml | 6 +++---
3 files changed, 5 insertions(+), 10 deletions(-)
delete mode 100644 buidDocker.sh
diff --git a/buidDocker.sh b/buidDocker.sh
deleted file mode 100644
index 019d23b56..000000000
--- a/buidDocker.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/bash
-
-# 需要使用maven,请自行配置环境变量
-cd ./linkwe-admin || exit
-mvn docker:build
diff --git a/docker-compose.yml b/docker-compose.yml
index 4dba3facc..8f309f336 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -3,8 +3,8 @@ version: '3.3'
# 如需配置变量,请在environment中进行变量配置
services:
api:
- image: link-wechat
- container_name: link-wechat
+ image: linkwechat
+ container_name: linkwechat
environment:
- JAVA_OPTS=-Xms4096m -Xmx4096m -Duser.timezone=Asia/Shanghai
- TZ=Asia/Shanghai
diff --git a/linkwe-admin/pom.xml b/linkwe-admin/pom.xml
index ec5b0750b..7516087b1 100644
--- a/linkwe-admin/pom.xml
+++ b/linkwe-admin/pom.xml
@@ -114,12 +114,12 @@
com.spotify
docker-maven-plugin
- 1.2.2
+ 1.1.1
- ${project.artifactId}
+ ${parent.artifactId}
${basedir}/src/main/docker
- link-wechat
+ ${parent.version}
--
Gitee
From 1ec92abd61ddb40e586ffe71232c49d61819897e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=B0=B4=E5=BA=93=E6=B5=AA=E5=AD=90?= <1539136324@qq.com>
Date: Thu, 11 Mar 2021 18:23:25 +0800
Subject: [PATCH 03/16] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E7=A5=A8=E6=8D=AE?=
=?UTF-8?q?=E6=8E=A5=E5=8F=A3=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../web/controller/wecom/WeTicketController.java | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/linkwe-admin/src/main/java/com/linkwechat/web/controller/wecom/WeTicketController.java b/linkwe-admin/src/main/java/com/linkwechat/web/controller/wecom/WeTicketController.java
index 4ed442506..2329864cd 100644
--- a/linkwe-admin/src/main/java/com/linkwechat/web/controller/wecom/WeTicketController.java
+++ b/linkwe-admin/src/main/java/com/linkwechat/web/controller/wecom/WeTicketController.java
@@ -42,11 +42,11 @@ public class WeTicketController extends BaseController {
@Log(title = "获取企业的jsapi_ticket", businessType = BusinessType.OTHER)
@GetMapping("/getAppTicket")
public AjaxResult getAppTicket(String url,String agentId) {
- String ticketVaule = redisCache.getCacheObject(WeConstans.AppTicketKey);
+ String ticketVaule = redisCache.getCacheObject(WeConstans.AppTicketKey+"::"+agentId);
if (StringUtils.isEmpty(ticketVaule)) {
WeH5TicketDto ticketRes = weTicketClient.getJsapiTicket(agentId);
if (ticketRes != null && StringUtils.isNotEmpty(ticketRes.getTicket())) {
- redisCache.setCacheObject(WeConstans.AppTicketKey, ticketRes.getTicket(), ticketRes.getExpiresIn(), TimeUnit.SECONDS);
+ redisCache.setCacheObject(WeConstans.AppTicketKey+"::"+agentId, ticketRes.getTicket(), ticketRes.getExpiresIn(), TimeUnit.SECONDS);
}
ticketVaule = ticketRes.getTicket();
}
@@ -62,11 +62,11 @@ public class WeTicketController extends BaseController {
@Log(title = "获取应用的jsapi_ticket", businessType = BusinessType.OTHER)
@GetMapping("/getAgentTicket")
public AjaxResult getAgentTicket(String url,String agentId) {
- String ticketVaule = redisCache.getCacheObject(WeConstans.AgentTicketKey);
+ String ticketVaule = redisCache.getCacheObject(WeConstans.AgentTicketKey+"::"+agentId);
if (StringUtils.isEmpty(ticketVaule)) {
WeH5TicketDto ticketRes = weTicketClient.getTicket(agentId);
if (ticketRes != null && StringUtils.isNotEmpty(ticketRes.getTicket())) {
- redisCache.setCacheObject(WeConstans.AgentTicketKey, ticketRes.getTicket(), ticketRes.getExpiresIn(), TimeUnit.SECONDS);
+ redisCache.setCacheObject(WeConstans.AgentTicketKey+"::"+agentId, ticketRes.getTicket(), ticketRes.getExpiresIn(), TimeUnit.SECONDS);
}
ticketVaule = ticketRes.getTicket();
}
--
Gitee
From 23b09718f317e5c1e07d0c339e56dde6def3ef04 Mon Sep 17 00:00:00 2001
From: 18356073052 <274131322@qq.com>
Date: Thu, 11 Mar 2021 23:04:01 +0800
Subject: [PATCH 04/16] fix CommunityNewGroup detail lost a field groupCodeId
---
.../domain/vo/WeCommunityNewGroupVo.java | 22 ++++++++++++++-----
1 file changed, 16 insertions(+), 6 deletions(-)
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/vo/WeCommunityNewGroupVo.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/vo/WeCommunityNewGroupVo.java
index fd5a23d19..9495e541b 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/vo/WeCommunityNewGroupVo.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/vo/WeCommunityNewGroupVo.java
@@ -22,7 +22,7 @@ import java.util.List;
public class WeCommunityNewGroupVo {
/**
- *主键ID
+ * 主键ID
*/
@ApiModelProperty("主键ID")
private Long newGroupId;
@@ -45,6 +45,12 @@ public class WeCommunityNewGroupVo {
@ApiModelProperty("欢迎语")
private String welcomeMsg;
+ /**
+ * 群活码id
+ */
+ @ApiModelProperty("群活码id")
+ private Long groupCodeId;
+
/**
* 新增联系方式的配置id
*/
@@ -101,13 +107,17 @@ public class WeCommunityNewGroupVo {
@ApiModelProperty("实际群聊")
private List weGroupUserScops;
- /** 创建者 */
- @ApiModelProperty(value = "创建者",hidden = true)
+ /**
+ * 创建者
+ */
+ @ApiModelProperty(value = "创建者", hidden = true)
private String createBy;
- /** 创建时间 */
+ /**
+ * 创建时间
+ */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- @ApiModelProperty(value = "创建时间",hidden = true)
- private Date createTime=new Date();
+ @ApiModelProperty(value = "创建时间", hidden = true)
+ private Date createTime = new Date();
}
--
Gitee
From bafae4e048c19a1d5754e82a9d09571fd83a2ce0 Mon Sep 17 00:00:00 2001
From: "1539136324@qq.com"
Date: Fri, 12 Mar 2021 00:17:27 +0800
Subject: [PATCH 05/16] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E5=BA=94=E7=94=A8?=
=?UTF-8?q?=E7=AE=A1=E7=90=86=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3;CRM?=
=?UTF-8?q?=E5=AE=A2=E6=88=B7=E8=AF=A6=E6=83=85=E6=8E=A5=E5=8F=A3=E5=A2=9E?=
=?UTF-8?q?=E5=8A=A0age=E5=AD=97=E6=AE=B5,=E5=8A=A8=E6=80=81=E8=AE=A1?=
=?UTF-8?q?=E7=AE=97=E5=AE=A2=E6=88=B7=E5=B9=B4=E9=BE=84;?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../wecom/WeCustomerPortraitController.java | 2 +-
.../linkwechat/common/utils/DateUtils.java | 29 +++++++++++++
.../linkwechat/wecom/client/WeAppClient.java | 41 +++++++++++++++++++
.../wecom/domain/WeCustomerPortrait.java | 2 +
.../wecom/domain/dto/WeAppDetailDto.java | 37 +++++++++++++++++
.../linkwechat/wecom/domain/dto/WeAppDto.java | 25 +++++++++++
.../wecom/service/IWeCustomerService.java | 2 +-
.../impl/WeCommunityNewGroupServiceImpl.java | 13 ++++--
.../service/impl/WeCustomerServiceImpl.java | 8 +++-
9 files changed, 152 insertions(+), 7 deletions(-)
create mode 100644 linkwe-wecom/src/main/java/com/linkwechat/wecom/client/WeAppClient.java
create mode 100644 linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/dto/WeAppDetailDto.java
create mode 100644 linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/dto/WeAppDto.java
diff --git a/linkwe-admin/src/main/java/com/linkwechat/web/controller/wecom/WeCustomerPortraitController.java b/linkwe-admin/src/main/java/com/linkwechat/web/controller/wecom/WeCustomerPortraitController.java
index 6c422f5eb..db1252571 100644
--- a/linkwe-admin/src/main/java/com/linkwechat/web/controller/wecom/WeCustomerPortraitController.java
+++ b/linkwe-admin/src/main/java/com/linkwechat/web/controller/wecom/WeCustomerPortraitController.java
@@ -55,7 +55,7 @@ public class WeCustomerPortraitController extends BaseController {
* @return
*/
@GetMapping(value = "/findWeCustomerInfo")
- public AjaxResult findWeCustomerInfo(String externalUserid, String userid){
+ public AjaxResult findWeCustomerInfo(String externalUserid, String userid) throws Exception {
return AjaxResult.success(
iWeCustomerService.findCustomerByOperUseridAndCustomerId(externalUserid,userid)
diff --git a/linkwe-common/src/main/java/com/linkwechat/common/utils/DateUtils.java b/linkwe-common/src/main/java/com/linkwechat/common/utils/DateUtils.java
index 939225471..0a27a7b9f 100644
--- a/linkwe-common/src/main/java/com/linkwechat/common/utils/DateUtils.java
+++ b/linkwe-common/src/main/java/com/linkwechat/common/utils/DateUtils.java
@@ -195,4 +195,33 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
long millionSeconds = sdf.parse(date).getTime();//毫秒
return millionSeconds;
}
+
+
+
+ public static int getAge(Date birthDay) throws Exception {
+ Calendar cal = Calendar.getInstance();
+ if (cal.before(birthDay)) { //出生日期晚于当前时间,无法计算
+ throw new IllegalArgumentException(
+ "The birthDay is before Now.It's unbelievable!");
+ }
+ int yearNow = cal.get(Calendar.YEAR); //当前年份
+ int monthNow = cal.get(Calendar.MONTH); //当前月份
+ int dayOfMonthNow = cal.get(Calendar.DAY_OF_MONTH); //当前日期
+ cal.setTime(birthDay);
+ int yearBirth = cal.get(Calendar.YEAR);
+ int monthBirth = cal.get(Calendar.MONTH);
+ int dayOfMonthBirth = cal.get(Calendar.DAY_OF_MONTH);
+ int age = yearNow - yearBirth; //计算整岁数
+ if (monthNow <= monthBirth) {
+ if (monthNow == monthBirth) {
+ if (dayOfMonthNow < dayOfMonthBirth) age--;//当前日期在生日之前,年龄减一
+ }else{
+ age--;//当前月份在生日之前,年龄减一
+ } }
+ return age;
+
+ }
+
+
+
}
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/client/WeAppClient.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/client/WeAppClient.java
new file mode 100644
index 000000000..64d38a3b9
--- /dev/null
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/client/WeAppClient.java
@@ -0,0 +1,41 @@
+package com.linkwechat.wecom.client;
+
+import com.dtflys.forest.annotation.DataObject;
+import com.dtflys.forest.annotation.Query;
+import com.dtflys.forest.annotation.Request;
+import com.linkwechat.wecom.domain.dto.WeAppDetailDto;
+import com.linkwechat.wecom.domain.dto.WeAppDto;
+import com.linkwechat.wecom.domain.dto.WeResultDto;
+
+/**
+ * 应用管理相关接口
+ */
+public interface WeAppClient {
+
+ /**
+ * 获取企业应用列表
+ * @return
+ */
+ @Request(url = "/agent/list")
+ WeAppDto findAgentList();
+
+
+ /**
+ * 根据应用id获取应用详情
+ * @param agentid
+ * @return
+ */
+ @Request(url = "/agent/get")
+ WeAppDetailDto findAgentById(@Query("agentid") Integer agentid);
+
+
+ /**
+ * 设置应用
+ * @param weAppDetailDto
+ * @return
+ */
+ @Request(url = "/agent/set")
+ WeResultDto updateAgentById(@DataObject WeAppDetailDto weAppDetailDto);
+
+
+}
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/WeCustomerPortrait.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/WeCustomerPortrait.java
index d87e26ecc..6ef123107 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/WeCustomerPortrait.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/WeCustomerPortrait.java
@@ -38,6 +38,8 @@ public class WeCustomerPortrait {
private String remarkCorpName;
//描述
private String description;
+ //年纪
+ private int age;
//客户标签
private List weTagGroupList;
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/dto/WeAppDetailDto.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/dto/WeAppDetailDto.java
new file mode 100644
index 000000000..574c70c8a
--- /dev/null
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/dto/WeAppDetailDto.java
@@ -0,0 +1,37 @@
+package com.linkwechat.wecom.domain.dto;
+
+
+import lombok.Data;
+
+/**
+ * 企业应用详情接口
+ */
+@Data
+public class WeAppDetailDto extends WeResultDto{
+ //企业应用id
+ private Long agentid;
+ //企业应用名称
+ private String name;
+ //企业应用方形头像
+ private String square_logo_url;
+ //企业应用详情
+ private String description;
+ //企业应用是否被停用
+ private Boolean close;
+ //企业应用可信域名
+ private String redirect_domain;
+ //企业应用是否打开地理位置上报 0:不上报;1:进入会话上报;
+ private Integer report_location_flag;
+ //是否上报用户进入应用事件。0:不接收;1:接收
+ private Integer isreportenter;
+ //应用主页url
+ private String home_url;
+
+ //企业应用头像的mediaid,通过素材管理接口上传图片获得mediaid,上传后会自动裁剪成方形和圆形两个头像
+ private String logo_mediaid;
+
+
+
+
+
+}
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/dto/WeAppDto.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/dto/WeAppDto.java
new file mode 100644
index 000000000..997539299
--- /dev/null
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/dto/WeAppDto.java
@@ -0,0 +1,25 @@
+package com.linkwechat.wecom.domain.dto;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class WeAppDto extends WeResultDto{
+
+
+
+ private List agentlist;
+
+
+ @Data
+ public class Agent{
+ //企业应用id
+ private Long agentid;
+ //企业应用名称
+ private String name;
+ //企业应用方形头像url
+ private String square_logo_url;
+ }
+
+}
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/IWeCustomerService.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/IWeCustomerService.java
index f80cc58a3..a7164be33 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/IWeCustomerService.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/IWeCustomerService.java
@@ -118,7 +118,7 @@ public interface IWeCustomerService extends IService
* @param userid
* @return
*/
- WeCustomerPortrait findCustomerByOperUseridAndCustomerId(String externalUserid,String userid);
+ WeCustomerPortrait findCustomerByOperUseridAndCustomerId(String externalUserid,String userid) throws Exception;
/**
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeCommunityNewGroupServiceImpl.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeCommunityNewGroupServiceImpl.java
index 40dd47d5a..1f1a6d421 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeCommunityNewGroupServiceImpl.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeCommunityNewGroupServiceImpl.java
@@ -1,6 +1,7 @@
package com.linkwechat.wecom.service.impl;
import cn.hutool.core.collection.CollectionUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.common.collect.Lists;
import com.linkwechat.common.exception.wecom.WeComException;
@@ -72,7 +73,7 @@ public class WeCommunityNewGroupServiceImpl extends ServiceImpl selectWeCommunityNewGroupList(String empleCodeName, String createBy, String beginTime, String endTime) {
List weCommunityNewGroupVos = weCommunityNewGroupMapper.selectWeCommunityNewGroupList(empleCodeName, createBy, beginTime, endTime);
+
if (CollectionUtil.isNotEmpty(weCommunityNewGroupVos)) {
List newGroupIdList = weCommunityNewGroupVos.stream().map(WeCommunityNewGroupVo::getNewGroupId).collect(Collectors.toList());
List useScopList = iWeEmpleCodeUseScopService.selectWeEmpleCodeUseScopListByIds(newGroupIdList);
@@ -166,13 +168,15 @@ public class WeCommunityNewGroupServiceImpl extends ServiceImpl()
+ .eq(WeCommunityNewGroup::getGroupCodeId,communityNewGroupDto.getGroupCodeId()));
+// WeCommunityNewGroup communityNewGroup = weCommunityNewGroupMapper.selectById(communityNewGroupDto.getGroupCodeId());
+ if (null == communityNewGroup) {
throw new WeComException("信息不存在!");
}
@@ -180,6 +184,7 @@ public class WeCommunityNewGroupServiceImpl extends ServiceImpl
Date: Fri, 12 Mar 2021 09:42:47 +0800
Subject: [PATCH 06/16] fix some bugs
---
.../linkwechat/wecom/domain/WeCommunityNewGroup.java | 6 ++++++
.../wecom/domain/dto/WeCommunityNewGroupDto.java | 6 ++++++
.../wecom/mapper/WeCommunityNewGroupMapper.java | 12 ++++++++----
.../service/impl/WeCommunityNewGroupServiceImpl.java | 6 ++++--
.../mapper/wecom/WeCommunityNewGroupMapper.xml | 7 ++++---
5 files changed, 28 insertions(+), 9 deletions(-)
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/WeCommunityNewGroup.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/WeCommunityNewGroup.java
index c19ef8504..9fae521a8 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/WeCommunityNewGroup.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/WeCommunityNewGroup.java
@@ -39,6 +39,12 @@ public class WeCommunityNewGroup extends BaseEntity {
@ApiModelProperty("欢迎语")
private String welcomeMsg;
+ /**
+ * 新增联系方式的配置id
+ */
+ @ApiModelProperty("新增联系方式的配置id")
+ private String configId;
+
/**
* 二维码链接
*/
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/dto/WeCommunityNewGroupDto.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/dto/WeCommunityNewGroupDto.java
index 235e02e9d..0618da8a2 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/dto/WeCommunityNewGroupDto.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/dto/WeCommunityNewGroupDto.java
@@ -58,6 +58,12 @@ public class WeCommunityNewGroupDto {
@ApiModelProperty("客户添加时无需经过确认自动成为好友:1:是;0:否")
private Boolean isJoinConfirmFriends;
+ /**
+ * 新增联系方式的配置id
+ */
+ @ApiModelProperty("新增联系方式的配置id")
+ private String configId;
+
/**
* 二维码链接
*/
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/mapper/WeCommunityNewGroupMapper.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/mapper/WeCommunityNewGroupMapper.java
index 8dc46fefc..3a541819e 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/mapper/WeCommunityNewGroupMapper.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/mapper/WeCommunityNewGroupMapper.java
@@ -18,14 +18,18 @@ public interface WeCommunityNewGroupMapper extends BaseMapper selectWeCommunityNewGroupList(@Param("empleCodeName") String empleCodeName, @Param("createBy") String createBy
- ,@Param("beginTime") String beginTime, @Param("endTime") String endTime);
+ List selectWeCommunityNewGroupList(@Param("employCodeName") String employCodeName, @Param("createBy") String createBy
+ , @Param("beginTime") String beginTime, @Param("endTime") String endTime);
/**
* 获取新客自动拉群详细信息
+ *
* @param newGroupId 主键id
* @return {@link WeCommunityNewGroupVo} 自动拉群信息
*/
diff --git a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeCommunityNewGroupServiceImpl.java b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeCommunityNewGroupServiceImpl.java
index 1f1a6d421..a6fa471e0 100644
--- a/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeCommunityNewGroupServiceImpl.java
+++ b/linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeCommunityNewGroupServiceImpl.java
@@ -85,6 +85,7 @@ public class WeCommunityNewGroupServiceImpl extends ServiceImpl()
- .eq(WeCommunityNewGroup::getGroupCodeId,communityNewGroupDto.getGroupCodeId()));
+ WeCommunityNewGroup communityNewGroup = weCommunityNewGroupMapper.selectOne(new LambdaQueryWrapper()
+ .eq(WeCommunityNewGroup::getGroupCodeId, communityNewGroupDto.getGroupCodeId()));
// WeCommunityNewGroup communityNewGroup = weCommunityNewGroupMapper.selectById(communityNewGroupDto.getGroupCodeId());
if (null == communityNewGroup) {
throw new WeComException("信息不存在!");
diff --git a/linkwe-wecom/src/main/resources/mapper/wecom/WeCommunityNewGroupMapper.xml b/linkwe-wecom/src/main/resources/mapper/wecom/WeCommunityNewGroupMapper.xml
index 22c4dc968..9e1a836c5 100644
--- a/linkwe-wecom/src/main/resources/mapper/wecom/WeCommunityNewGroupMapper.xml
+++ b/linkwe-wecom/src/main/resources/mapper/wecom/WeCommunityNewGroupMapper.xml
@@ -18,7 +18,8 @@
qr_code,
is_join_confirm_friends,
media_id,
- join_friend_nums
+ join_friend_nums,
+ config_id
FROM we_community_new_group