From 0cd9d911b8e8634ec04cb82ea07696bb09260b03 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期二, 26 十二月 2023 13:48:06 +0800
Subject: [PATCH] Merge branch 'master' of http://42.193.1.25:9521/r/sccg_server
---
ycl-platform/src/main/java/com/ycl/timer/GetDingUserOrgTimer.java | 56 ++++----
ycl-platform/src/main/resources/logback-spring.xml | 13 ++
ycl-platform/src/main/java/com/ycl/service/message/impl/DingMessageServiceImpl.java | 19 +++
ycl-platform/src/main/java/com/ycl/service/message/IDingMessageService.java | 15 ++
ycl-platform/src/main/resources/application-online.yml | 12 +-
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/IDispatchHandleServiceImpl.java | 19 +-
ycl-platform/src/main/java/com/ycl/mapper/message/DingMessageMapper.java | 10 +
ycl-platform/src/main/java/com/ycl/timer/SendDingMsg.java | 83 +++++++++++++
ycl-common/src/main/java/com/ycl/entity/user/UmsAdmin.java | 1
ycl-platform/src/main/java/com/ycl/service/auth/impl/AuthService.java | 1
ycl-platform/src/main/java/com/ycl/entity/message/DingMessage.java | 83 +++++++++++++
11 files changed, 270 insertions(+), 42 deletions(-)
diff --git a/ycl-common/src/main/java/com/ycl/entity/user/UmsAdmin.java b/ycl-common/src/main/java/com/ycl/entity/user/UmsAdmin.java
index 3197f28..9bc9146 100644
--- a/ycl-common/src/main/java/com/ycl/entity/user/UmsAdmin.java
+++ b/ycl-common/src/main/java/com/ycl/entity/user/UmsAdmin.java
@@ -103,6 +103,7 @@
private String openid;
@ApiModelProperty(value = "閽夐拤璐︽埛id")
+ @TableField("account_id")
private Long accountId;
@ApiModelProperty(value = "鏄惁涓虹綉鏍肩鐞嗗憳锛�0->涓嶆槸锛�1->鏄�")
diff --git a/ycl-platform/src/main/java/com/ycl/entity/message/DingMessage.java b/ycl-platform/src/main/java/com/ycl/entity/message/DingMessage.java
new file mode 100644
index 0000000..e691b78
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/entity/message/DingMessage.java
@@ -0,0 +1,83 @@
+package com.ycl.entity.message;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Builder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 閽夐拤娑堟伅
+ * </p>
+ *
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("ums_message_ding")
+@ApiModel(value = "娑堟伅琛�")
+@Builder
+public class DingMessage implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 涓婚敭
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ @ApiModelProperty(value = "涓婚敭")
+ private Long id;
+
+ /**
+ * 鎺ユ敹鑰卛d
+ */
+ @TableField("account_id")
+ @ApiModelProperty(value = "鎺ユ敹鑰卛d")
+ private Long accountId;
+
+
+ /**
+ * 浜嬩欢缂栧彿
+ */
+ @TableField("base_case_code")
+ @ApiModelProperty(value = "浜嬩欢缂栧彿")
+ private String baseCaseCode;
+
+
+ /**
+ * 0寰呭彂閫�-1宸插彂閫�-2-鍙戦�佸け璐�
+ */
+ @TableField("state")
+ @ApiModelProperty(value = "0寰呭彂閫�-1宸插彂閫�-2-鍙戦�佸け璐�")
+ private Short state;
+
+ /**
+ * 鍒涘缓鏃堕棿
+ */
+ @TableField("create_time")
+ @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+ private Date createTime;
+
+ /**
+ * 鍙戦�佹椂闂�
+ */
+ @TableField("send_time")
+ @ApiModelProperty(value = "鍙戦�佹椂闂�")
+ private Date sendTime;
+
+
+ /**
+ * 鏄惁鎵弿锛�0鏈壂鎻�-1宸叉壂鎻�
+ */
+ @TableField("if_scan")
+ @ApiModelProperty(value = "鏄惁鎵弿锛�0鏈壂鎻�-1宸叉壂鎻�")
+ private Short ifScan;
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/mapper/message/DingMessageMapper.java b/ycl-platform/src/main/java/com/ycl/mapper/message/DingMessageMapper.java
new file mode 100644
index 0000000..5e133f9
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/mapper/message/DingMessageMapper.java
@@ -0,0 +1,10 @@
+package com.ycl.mapper.message;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ycl.entity.message.DingMessage;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface DingMessageMapper extends BaseMapper<DingMessage> {
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/service/auth/impl/AuthService.java b/ycl-platform/src/main/java/com/ycl/service/auth/impl/AuthService.java
index c2ff7d1..01c7d63 100644
--- a/ycl-platform/src/main/java/com/ycl/service/auth/impl/AuthService.java
+++ b/ycl-platform/src/main/java/com/ycl/service/auth/impl/AuthService.java
@@ -58,6 +58,7 @@
userParam.setOpenid(openid); //openid
userParam.setIsDy(Byte.parseByte("0"));
userParam.setMobile("");
+ userParam.setAccountId(dingUserInfo.getAccountId());
String encodePassword = passwordEncoder.encode("123456");
userParam.setPassword(encodePassword); //瀵嗙爜
userParam.setStatus(1); //鐘舵��
diff --git a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/IDispatchHandleServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/IDispatchHandleServiceImpl.java
index ce83cb6..c32af93 100644
--- a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/IDispatchHandleServiceImpl.java
+++ b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/IDispatchHandleServiceImpl.java
@@ -15,12 +15,14 @@
import com.ycl.entity.caseHandler.DispatchInfo;
import com.ycl.entity.caseHandler.DisposeRecord;
import com.ycl.entity.caseHandler.WorkflowConfigStep;
+import com.ycl.entity.message.DingMessage;
import com.ycl.entity.user.UmsAdmin;
import com.ycl.exception.ApiException;
import com.ycl.mapper.caseHandler.BaseCaseMapper;
import com.ycl.mapper.caseHandler.DispatchInfoMapper;
import com.ycl.mapper.caseHandler.DisposeRecordMapper;
import com.ycl.mapper.caseHandler.WorkflowConfigStepMapper;
+import com.ycl.mapper.message.DingMessageMapper;
import com.ycl.service.caseHandler.IDispatchHandleService;
import com.ycl.service.user.UmsAdminService;
import lombok.extern.slf4j.Slf4j;
@@ -56,6 +58,8 @@
DingCommon dingCommon;
@Autowired
UmsAdminService umsAdminService;
+ @Autowired
+ DingMessageMapper dingMessageMapper;
@Override
@Transactional
public DispatchInfo dispatch(DispatchInfoParam dispatchInfoParam) {
@@ -110,17 +114,16 @@
stepNextRecord.setCreateTime(LocalDateTime.now());
disposeRecordMapper.insert(stepNextRecord);
- //鍙戦�侀拤閽夊伐浣滈�氱煡娑堟伅
- log.info("鍙戦�佷竴鏉″伐浣滈�氱煡");
+ //瀛橀拤閽夊伐浣滈�氱煡娑堟伅鍒版暟鎹簱
BaseCase baseCaseForCode = baseCaseMapper.selectById(dispatchInfoParam.getBaseCaseId());
String baseCaseCode = baseCaseForCode.getCode();
- String text ="鎮ㄦ湁涓�鏉″伐浣滈�氱煡 \n " +
- " 閬傛槍浜戞墽娉曪細鏈夊緟澶勭悊鐨勪换鍔� \n " +
- "路鎮ㄦ湁1鏉″緟澶勭悊浜嬩欢銆備簨浠剁紪鍙�: \n " +
- baseCaseCode;
Long lawEnforcer = dispatchInfoParam.getLawEnforcer();
- UmsAdmin user = umsAdminService.getById(lawEnforcer);
- dingCommon.sendDingMsgStr(user.getAccountId()+"",text);
+ Long accountId = umsAdminService.getById(lawEnforcer).getAccountId();
+ DingMessage dingMessage = DingMessage.builder()
+ .accountId(accountId)
+ .baseCaseCode(baseCaseCode)
+ .createTime(new Date()).build();
+ dingMessageMapper.insert(dingMessage);
return dispatchInfo;
}
diff --git a/ycl-platform/src/main/java/com/ycl/service/message/IDingMessageService.java b/ycl-platform/src/main/java/com/ycl/service/message/IDingMessageService.java
new file mode 100644
index 0000000..2ddca36
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/service/message/IDingMessageService.java
@@ -0,0 +1,15 @@
+package com.ycl.service.message;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ycl.entity.message.DingMessage;
+
+/**
+ * <p>
+ * 閽夐拤娑堟伅
+ * </p>
+ *
+ * @author mg
+ * @since 2022-10-08
+ */
+public interface IDingMessageService extends IService<DingMessage> {
+}
diff --git a/ycl-platform/src/main/java/com/ycl/service/message/impl/DingMessageServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/message/impl/DingMessageServiceImpl.java
new file mode 100644
index 0000000..e10e217
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/service/message/impl/DingMessageServiceImpl.java
@@ -0,0 +1,19 @@
+package com.ycl.service.message.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ycl.entity.message.DingMessage;
+import com.ycl.mapper.message.DingMessageMapper;
+import com.ycl.service.message.IDingMessageService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 閽夐拤娑堟伅瀹炵幇绫�
+ * </p>
+ *
+
+ */
+@Service
+public class DingMessageServiceImpl extends ServiceImpl<DingMessageMapper, DingMessage> implements IDingMessageService {
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/timer/GetDingUserOrgTimer.java b/ycl-platform/src/main/java/com/ycl/timer/GetDingUserOrgTimer.java
index 0491949..453f87a 100644
--- a/ycl-platform/src/main/java/com/ycl/timer/GetDingUserOrgTimer.java
+++ b/ycl-platform/src/main/java/com/ycl/timer/GetDingUserOrgTimer.java
@@ -72,7 +72,8 @@
@Value("${spring.profiles.active}")
private String env;
- @Scheduled(cron = "0 0 1 * * ?") // 姣忓ぉ闆剁偣鎵ц
+
+ @Scheduled(cron = "0 00 00 * * ?") // 姣忓ぉ闆剁偣鎵ц
@Transactional(rollbackFor = Exception.class)
public void run() {
if ("online".equals(env)) {
@@ -115,13 +116,14 @@
/**
// * 鏍规嵁缁勭粐code 鏌ヨ 閫氳褰曚汉鍛樹俊鎭�
// */
- //鏌ヨ鐢ㄦ埛缁勭粐鍏宠仈琛�
- List<UmsDepartManage> empOrgList = departManageService.list();
//鏌ヨ鎵�鏈夌敤鎴�
Set<DingUserInfo> dingList = dingCommon.getPersonInfoByOrgCode();
Set<DingUserInfo> dingUsers = new HashSet<>(dingList);
- log.info("dinglistStart----->{}", dingList);
+
+ log.info("鏌ヨ鎵�鏈夌敤鎴�------->{}", dingUsers);
List<UmsAdmin> userList = umsAdminService.list();
+ //鏌ヨ鐢ㄦ埛缁勭粐鍏宠仈琛�
+ List<UmsDepartManage> empOrgList = departManageService.list();
Iterator<DingUserInfo> iterator = dingUsers.iterator();
while (iterator.hasNext()) {
DingUserInfo dingUserInfo = iterator.next();
@@ -142,7 +144,6 @@
}
- log.info("dinglistEnd----->{}", dingUsers);
ArrayList<UmsAdminRoleRelation> relations = new ArrayList<>();
// log.info(TAG + " elapsed time:" + timer.interval());
for (DingUserInfo dingUserInfo : dingUsers) {
@@ -158,7 +159,6 @@
}
//code
//accountId
- log.info("鍛樺伐璐︽埛id{}", dingUserInfo.getAccountId());
user.setAccountId(dingUserInfo.getAccountId());
//澶村儚
user.setIcon(dingUserInfo.getGovEmpAvatar());
@@ -177,30 +177,30 @@
//鐘舵�佷负鍋滅敤锛堜笉鍙敤鐘舵�侊級鐐瑰嚮鐧诲綍鍚庢墠鑳戒娇鐢�
user.setStatus(1);
umsAdminService.save(user);
-// //鍛樺伐淇℃伅锛屽叧鑱旂粍缁�
-// UmsDepartManage departManage = new UmsDepartManage();
-// departManage.setDepartId(dingUserInfo.getOrgId());
-// departManage.setIsLeader(0);
-// departManage.setUserId(dingUserInfo.getUserId());
-// departManageService.saveOrUpdate(departManage);
-// //瑙掕壊淇℃伅
-// List<String> roleCode = dingUserInfo.getRoleCodeList();
-// if (CollectionUtils.isNotEmpty(roleCode)) {
-// List<UmsRole> roleList = roleService.getRoleListByCodes(roleCode);
-// roleList.forEach(item -> {
-// UmsAdminRoleRelation relation = new UmsAdminRoleRelation();
-// relation.setAdminId(dingUserInfo.getUserId());
-// relation.setRoleId(item.getId());
-// relations.add(relation);
-// });
-// }
-// }
-// if (CollUtil.isNotEmpty(relations)) {
-// umsAdminRoleRelationService.saveBatch(relations, IService.DEFAULT_BATCH_SIZE);
+ //鍛樺伐淇℃伅锛屽叧鑱旂粍缁�
+ UmsDepartManage departManage = new UmsDepartManage();
+ departManage.setDepartId(dingUserInfo.getOrgId());
+ departManage.setIsLeader(0);
+ departManage.setUserId(dingUserInfo.getUserId());
+ departManageService.saveOrUpdate(departManage);
+ //瑙掕壊淇℃伅
+ List<String> roleCode = dingUserInfo.getRoleCodeList();
+ if (CollectionUtils.isNotEmpty(roleCode)) {
+ List<UmsRole> roleList = roleService.getRoleListByCodes(roleCode);
+ roleList.forEach(item -> {
+ UmsAdminRoleRelation relation = new UmsAdminRoleRelation();
+ relation.setAdminId(dingUserInfo.getUserId());
+ relation.setRoleId(item.getId());
+ relations.add(relation);
+ });
+ }
+ }
+ if (CollUtil.isNotEmpty(relations)) {
+ umsAdminRoleRelationService.saveBatch(relations, IService.DEFAULT_BATCH_SIZE);
}
log.info("鍚屾浠诲姟缁撴潫");
-// log.info(TAG + "update user size " + dingList.size());
-// getEmployeeAvatar();
+ log.info(TAG + "update user size " + dingList.size());
+ getEmployeeAvatar();
}
}
diff --git a/ycl-platform/src/main/java/com/ycl/timer/SendDingMsg.java b/ycl-platform/src/main/java/com/ycl/timer/SendDingMsg.java
new file mode 100644
index 0000000..ede2249
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/timer/SendDingMsg.java
@@ -0,0 +1,83 @@
+package com.ycl.timer;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.ycl.common.dingding.DingCommon;
+import com.ycl.entity.message.DingMessage;
+import com.ycl.mapper.message.DingMessageMapper;
+import com.ycl.service.message.IDingMessageService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.ApplicationRunner;
+import org.springframework.context.ApplicationListener;
+import org.springframework.context.event.ContextRefreshedEvent;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+import java.util.List;
+
+@Slf4j
+@Component
+public class SendDingMsg implements ApplicationListener<ContextRefreshedEvent> {
+ @Autowired
+ private DingMessageMapper dingMessageMapper;
+ @Autowired
+ private DingCommon dingCommon;
+ @Autowired
+ private IDingMessageService dingMessageService;
+ @Value("${spring.profiles.active}")
+ private String env;
+
+ public final static Short STATE_READY = 0;
+ public final static Short STATE_SUCCESS = 1;
+ public final static Short STATE_FAILURE = 2;
+ public final static Short SCAN_READY = 0;
+ public final static Short SCAN_FINISH = 1;
+
+ @Scheduled(cron = "0 0/2 * * * ?")
+ public void runAction() {
+ if ("online".equals(env)) {
+ QueryWrapper<DingMessage> wrapper = new QueryWrapper<>();
+ wrapper.eq("state", STATE_READY);
+ wrapper.eq("if_scan", SCAN_READY);
+ List<DingMessage> dingMessages = dingMessageMapper.selectList(wrapper);
+ if (CollectionUtils.isNotEmpty(dingMessages)) {
+ int size = dingMessages.size();
+ log.info("鏈夊緟鍙戦�佹秷鎭瘂}鏉�", size);
+ for (DingMessage dingMessage : dingMessages) {
+ String baseCaseCode = dingMessage.getBaseCaseCode();
+ Long accountId = dingMessage.getAccountId();
+ Long messageId = dingMessage.getId();
+ String text = "閬傛槍浜戞墽娉曪細鏈夊緟澶勭悊鐨勪换鍔n" +
+ "路鎮ㄦ湁1鏉″緟澶勭悊浜嬩欢銆備簨浠剁紪鍙�:\n" +
+ baseCaseCode;
+ String title = "鎮ㄦ湁涓�鏉″伐浣滈�氱煡";
+ try {
+ dingMessage.setIfScan(SCAN_FINISH);
+ dingMessage.setSendTime(new Date());
+ dingCommon.sendDingMsgStr(accountId + "", text);
+ log.info("鍙戦�佷竴鏉″伐浣滈�氱煡锛屾秷鎭痠d{}", messageId);
+ dingMessage.setState(STATE_SUCCESS);
+ } catch (Exception e) {
+ log.error("鍙戦�侀拤閽夋秷鎭嚭鐜板紓甯�,娑堟伅id{}", messageId, e);
+ dingMessage.setState(STATE_FAILURE);
+ size--;
+ }
+ }
+ dingMessageService.updateBatchById(dingMessages);
+ log.info("鍙戦�佹垚鍔焮}鏉★紝澶辫触{}鏉�", size, dingMessages.size() - size);
+ }
+ }
+ }
+
+
+ @Override
+ public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) {
+ if (contextRefreshedEvent.getApplicationContext().getParent() == null) {
+// runAction();
+ }
+ }
+}
diff --git a/ycl-platform/src/main/resources/application-online.yml b/ycl-platform/src/main/resources/application-online.yml
index d594fd8..983c90c 100644
--- a/ycl-platform/src/main/resources/application-online.yml
+++ b/ycl-platform/src/main/resources/application-online.yml
@@ -74,12 +74,6 @@
passWord: a12345677
ip: 10.10.10.10
-DH:
- web_url: http://172.28.194.185:8281
- port: 8281
- userName: zfgy
- passWord: zfj12345
-
aliyun:
oss:
endpoint: http://oss-cn-zjls-lszwy-d01-a.ops.zjlscloud.com
@@ -87,6 +81,12 @@
keySecret: tRk39S6B1kSGARRdS4DF6jxr5nBYj5
bucketName: zhzfptoss
+DH:
+ web_url: http://172.28.194.185:8281
+ port: 8281
+ userName: zfgy
+ passWord: zfj12345
+
#涓撴湁閽夐拤鍙傛暟
zzding :
app-key : sczhzfpt-81R3ErbU00G4VoXaEBruq
diff --git a/ycl-platform/src/main/resources/logback-spring.xml b/ycl-platform/src/main/resources/logback-spring.xml
index b1c2d12..20741e9 100644
--- a/ycl-platform/src/main/resources/logback-spring.xml
+++ b/ycl-platform/src/main/resources/logback-spring.xml
@@ -122,5 +122,18 @@
</root>
</springProfile>
+ <springProfile name="online">
+ <!--鎵撳嵃SQL-->
+ <logger name="java.sql.Connection" level="ERROR" />
+ <logger name="java.sql.Statement" level="ERROR" />
+ <logger name="java.sql.PreparedStatement" level="ERROR" />
+ <logger name="com.ycl" level="debug" >
+ <appender-ref ref="normalLog" />
+ <appender-ref ref="errorLog" />
+ </logger>
+ <root level="info">
+ <appender-ref ref="Console" />
+ </root>
+ </springProfile>
</configuration>
\ No newline at end of file
--
Gitblit v1.8.0