Browse Source

修改系统内部线程创建方式

lwx_dev
erdanergou 3 years ago
parent
commit
a0fa51192d
  1. 52
      src/main/java/com/dreamchaser/depository_manage/controller/DepositoryController.java
  2. 85
      src/main/java/com/dreamchaser/depository_manage/controller/MaterialTypeController.java
  3. 12
      src/main/java/com/dreamchaser/depository_manage/controller/NoticeController.java
  4. 54
      src/main/java/com/dreamchaser/depository_manage/controller/QyWxOperationController.java
  5. 19
      src/main/java/com/dreamchaser/depository_manage/security/pool/HandlesOtherfunctionalThreadPool.java
  6. 25
      src/test/java/com/dreamchaser/depository_manage/OtherTest.java

52
src/main/java/com/dreamchaser/depository_manage/controller/DepositoryController.java

@ -4,6 +4,7 @@ import com.dreamchaser.depository_manage.entity.*;
import com.dreamchaser.depository_manage.exception.MyException; import com.dreamchaser.depository_manage.exception.MyException;
import com.dreamchaser.depository_manage.pojo.*; import com.dreamchaser.depository_manage.pojo.*;
import com.dreamchaser.depository_manage.security.pool.AuthenticationTokenPool; import com.dreamchaser.depository_manage.security.pool.AuthenticationTokenPool;
import com.dreamchaser.depository_manage.security.pool.HandlesOtherfunctionalThreadPool;
import com.dreamchaser.depository_manage.service.*; import com.dreamchaser.depository_manage.service.*;
import com.dreamchaser.depository_manage.utils.*; import com.dreamchaser.depository_manage.utils.*;
import lombok.Data; import lombok.Data;
@ -141,23 +142,13 @@ public class DepositoryController {
UserByPort userToken = AuthenticationTokenPool.getUserToken(token); UserByPort userToken = AuthenticationTokenPool.getUserToken(token);
if (map.containsKey("id")) { if (map.containsKey("id")) {
Integer id = ObjectFormatUtil.toInteger(map.get("id")); Integer id = ObjectFormatUtil.toInteger(map.get("id"));
new Thread(new Runnable() { HandlesOtherfunctionalThreadPool.execute(() -> RealDeleteSonDepository(id.toString(), userToken));
@Override
public void run() {
RealDeleteSonDepository(id.toString(), userToken);
}
}).start();
return CrudUtil.deleteHandle(depositoryService.deleteDepositoryRecordById(id), 1); return CrudUtil.deleteHandle(depositoryService.deleteDepositoryRecordById(id), 1);
} else if (map.containsKey("ids")) { } else if (map.containsKey("ids")) {
List<Integer> ids = (List<Integer>) map.get("ids"); List<Integer> ids = (List<Integer>) map.get("ids");
for (int j = 0; j < ids.size(); j++) { for (Integer integer : ids) {
String id = ids.get(j).toString(); String id = integer.toString();
new Thread(new Runnable() { HandlesOtherfunctionalThreadPool.execute(() -> RealDeleteSonDepository(id, userToken));
@Override
public void run() {
RealDeleteSonDepository(id, userToken);
}
}).start();
} }
return CrudUtil.deleteHandle(depositoryService.deleteDepositoryRecordByIds(ids), ids.size()); return CrudUtil.deleteHandle(depositoryService.deleteDepositoryRecordByIds(ids), ids.size());
} else { } else {
@ -234,25 +225,14 @@ public class DepositoryController {
UserByPort userToken = AuthenticationTokenPool.getUserToken(token); UserByPort userToken = AuthenticationTokenPool.getUserToken(token);
if (map.containsKey("id")) { if (map.containsKey("id")) {
Integer id = ObjectFormatUtil.toInteger(map.get("id")); Integer id = ObjectFormatUtil.toInteger(map.get("id"));
// UpdateSonState(id.toString(),3,true); 修改为删除状态 HandlesOtherfunctionalThreadPool.execute(() -> UpdateSonState(id.toString(), 3, true, userToken));
new Thread(new Runnable() {
@Override
public void run() {
UpdateSonState(id.toString(), 3, true, userToken);
}
}).start();
return CrudUtil.deleteHandle(depositoryService.changeStateToDeletedById(id), 1); return CrudUtil.deleteHandle(depositoryService.changeStateToDeletedById(id), 1);
} else if (map.containsKey("ids")) { } else if (map.containsKey("ids")) {
List<Integer> ids = (List<Integer>) map.get("ids"); List<Integer> ids = (List<Integer>) map.get("ids");
for (int i = 0; i < ids.size(); i++) { for (Integer integer : ids) {
String id = ids.get(i).toString(); String id = integer.toString();
new Thread(new Runnable() { HandlesOtherfunctionalThreadPool.execute(() -> UpdateSonState(id, 3, true, userToken));
@Override
public void run() {
UpdateSonState(id, 3, true, userToken);
}
}).start();
} }
return CrudUtil.deleteHandle(depositoryService.changeStateToDeletedByIds(ids), ids.size()); return CrudUtil.deleteHandle(depositoryService.changeStateToDeletedByIds(ids), ids.size());
} else { } else {
@ -299,20 +279,10 @@ public class DepositoryController {
if (state == 2) { if (state == 2) {
if (map.containsKey("envelop")) { if (map.containsKey("envelop")) {
// 封库 // 封库
new Thread(new Runnable() { HandlesOtherfunctionalThreadPool.execute(() -> UpdateSonState(id, state, true, userToken));
@Override
public void run() {
UpdateSonState(id, state, true, userToken);
}
}).start();
} else { } else {
// 禁用仓库 // 禁用仓库
new Thread(new Runnable() { HandlesOtherfunctionalThreadPool.execute(() -> UpdateSonState(id, state, false, userToken));
@Override
public void run() {
UpdateSonState(id, state, false, userToken);
}
}).start();
} }
} }
return CrudUtil.insertHandle(depositoryService.updateDepository(map), 1); return CrudUtil.insertHandle(depositoryService.updateDepository(map), 1);

85
src/main/java/com/dreamchaser/depository_manage/controller/MaterialTypeController.java

@ -4,6 +4,7 @@ import com.dreamchaser.depository_manage.entity.MaterialType;
import com.dreamchaser.depository_manage.exception.MyException; import com.dreamchaser.depository_manage.exception.MyException;
import com.dreamchaser.depository_manage.pojo.MaterialP; import com.dreamchaser.depository_manage.pojo.MaterialP;
import com.dreamchaser.depository_manage.pojo.RestResponse; import com.dreamchaser.depository_manage.pojo.RestResponse;
import com.dreamchaser.depository_manage.security.pool.HandlesOtherfunctionalThreadPool;
import com.dreamchaser.depository_manage.service.MaterialService; import com.dreamchaser.depository_manage.service.MaterialService;
import com.dreamchaser.depository_manage.service.MaterialTypeService; import com.dreamchaser.depository_manage.service.MaterialTypeService;
import com.dreamchaser.depository_manage.utils.CrudUtil; import com.dreamchaser.depository_manage.utils.CrudUtil;
@ -33,17 +34,14 @@ public class MaterialTypeController {
public RestResponse insertMaterialType(@RequestBody Map<String,Object> map){ public RestResponse insertMaterialType(@RequestBody Map<String,Object> map){
Integer integer = materialTypeService.insertMaterialType(map); Integer integer = materialTypeService.insertMaterialType(map);
// 更新树结构 // 更新树结构
new Thread(new Runnable() { HandlesOtherfunctionalThreadPool.execute(() -> {
@Override
public void run() {
try { try {
Thread.sleep(1000); Thread.sleep(1000);
} catch (InterruptedException e) { } catch (InterruptedException e) {
e.printStackTrace(); e.printStackTrace();
} }
materialService.RefreshInitTreeMenus(); materialService.RefreshInitTreeMenus();
} });
}).start();
return CrudUtil.insertHandle(integer,1); return CrudUtil.insertHandle(integer,1);
} }
@ -86,55 +84,39 @@ public class MaterialTypeController {
if (map.containsKey("id")){ if (map.containsKey("id")){
Integer id= ObjectFormatUtil.toInteger(map.get("id")); Integer id= ObjectFormatUtil.toInteger(map.get("id"));
MaterialType materialTypeById = materialTypeService.findMaterialTypeById(id); MaterialType materialTypeById = materialTypeService.findMaterialTypeById(id);
new Thread(new Runnable() { HandlesOtherfunctionalThreadPool.execute(() -> RealDeleteSonDepository(materialTypeById.getOldId().toString()));
@Override
public void run() {
RealDeleteSonDepository(materialTypeById.getOldId().toString());
}
}).start();
Integer integer = materialTypeService.deleteMaterialTypeById(id); Integer integer = materialTypeService.deleteMaterialTypeById(id);
new Thread(new Runnable() { HandlesOtherfunctionalThreadPool.execute(() -> {
@Override
public void run() {
try { try {
Thread.sleep(3000); Thread.sleep(3000);
} catch (InterruptedException e) { } catch (InterruptedException e) {
e.printStackTrace(); e.printStackTrace();
} }
materialService.RefreshInitTreeMenus(); materialService.RefreshInitTreeMenus();
} });
}).start();
return CrudUtil.deleteHandle(integer,1); return CrudUtil.deleteHandle(integer,1);
}else if (map.containsKey("ids")){ }else if (map.containsKey("ids")){
List<Integer> ids=(List<Integer>) map.get("ids"); List<Integer> ids=(List<Integer>) map.get("ids");
for (Integer id : ids) { for (Integer id : ids) {
MaterialType materialTypeById = materialTypeService.findMaterialTypeById(id); MaterialType materialTypeById = materialTypeService.findMaterialTypeById(id);
new Thread(new Runnable() { HandlesOtherfunctionalThreadPool.execute(() -> RealDeleteSonDepository(materialTypeById.getOldId().toString()));
@Override
public void run() {
RealDeleteSonDepository(materialTypeById.getOldId().toString());
}
}).start();
} }
Integer integer = materialTypeService.deleteMaterialTypeByIds(ids); Integer integer = materialTypeService.deleteMaterialTypeByIds(ids);
new Thread(new Runnable() { HandlesOtherfunctionalThreadPool.execute(() -> {
@Override
public void run() {
try { try {
Thread.sleep(3000); Thread.sleep(3000);
} catch (InterruptedException e) { } catch (InterruptedException e) {
e.printStackTrace(); e.printStackTrace();
} }
materialService.RefreshInitTreeMenus(); materialService.RefreshInitTreeMenus();
} });
}).start();
return CrudUtil.deleteHandle(integer,ids.size()); return CrudUtil.deleteHandle(integer,ids.size());
}else { }else {
throw new MyException("所需请求参数缺失!"); throw new MyException("所需请求参数缺失!");
@ -167,55 +149,39 @@ public class MaterialTypeController {
if (map.containsKey("id")){ if (map.containsKey("id")){
Integer id= ObjectFormatUtil.toInteger(map.get("id")); Integer id= ObjectFormatUtil.toInteger(map.get("id"));
MaterialType materialTypeById = materialTypeService.findMaterialTypeById(id); MaterialType materialTypeById = materialTypeService.findMaterialTypeById(id);
new Thread(new Runnable() { HandlesOtherfunctionalThreadPool.execute(() -> UpdateSonState(materialTypeById.getOldId().toString(),3));
@Override
public void run() {
UpdateSonState(materialTypeById.getOldId().toString(),3);
}
}).start();
Integer integer = materialTypeService.changeStateToDeletedById(id); Integer integer = materialTypeService.changeStateToDeletedById(id);
new Thread(new Runnable() { HandlesOtherfunctionalThreadPool.execute(() -> {
@Override
public void run() {
try { try {
Thread.sleep(3000); Thread.sleep(3000);
} catch (InterruptedException e) { } catch (InterruptedException e) {
e.printStackTrace(); e.printStackTrace();
} }
materialService.RefreshInitTreeMenus(); materialService.RefreshInitTreeMenus();
} });
}).start();
return CrudUtil.deleteHandle(integer,1); return CrudUtil.deleteHandle(integer,1);
}else if (map.containsKey("ids")){ }else if (map.containsKey("ids")){
List<Integer> ids=(List<Integer>) map.get("ids"); List<Integer> ids=(List<Integer>) map.get("ids");
for (Integer id : ids) { for (Integer id : ids) {
MaterialType materialTypeById = materialTypeService.findMaterialTypeById(id); MaterialType materialTypeById = materialTypeService.findMaterialTypeById(id);
new Thread(new Runnable() { HandlesOtherfunctionalThreadPool.execute(() -> UpdateSonState(materialTypeById.getOldId().toString(), 3));
@Override
public void run() {
UpdateSonState(materialTypeById.getOldId().toString(), 3);
}
}).start();
} }
Integer integer = materialTypeService.changeStateToDeletedByIds(ids); Integer integer = materialTypeService.changeStateToDeletedByIds(ids);
new Thread(new Runnable() { HandlesOtherfunctionalThreadPool.execute(() -> {
@Override
public void run() {
try { try {
Thread.sleep(3000); Thread.sleep(3000);
} catch (InterruptedException e) { } catch (InterruptedException e) {
e.printStackTrace(); e.printStackTrace();
} }
materialService.RefreshInitTreeMenus(); materialService.RefreshInitTreeMenus();
} });
}).start();
return CrudUtil.deleteHandle(integer,ids.size()); return CrudUtil.deleteHandle(integer,ids.size());
}else { }else {
@ -238,17 +204,14 @@ public class MaterialTypeController {
Integer integer = materialTypeService.updateMaterialType(map); Integer integer = materialTypeService.updateMaterialType(map);
new Thread(new Runnable() { HandlesOtherfunctionalThreadPool.execute(() -> {
@Override
public void run() {
try { try {
Thread.sleep(1000); Thread.sleep(1000);
} catch (InterruptedException e) { } catch (InterruptedException e) {
e.printStackTrace(); e.printStackTrace();
} }
materialService.RefreshInitTreeMenus(); materialService.RefreshInitTreeMenus();
} });
}).start();
return CrudUtil.insertHandle(integer,1); return CrudUtil.insertHandle(integer,1);
} }
@ -342,27 +305,19 @@ public class MaterialTypeController {
int state = ((int)map.get("state")); int state = ((int)map.get("state"));
String id = (String) map.get("id"); String id = (String) map.get("id");
MaterialType materialTypeById = materialTypeService.findMaterialTypeById(ObjectFormatUtil.toInteger(id)); MaterialType materialTypeById = materialTypeService.findMaterialTypeById(ObjectFormatUtil.toInteger(id));
new Thread(new Runnable() { HandlesOtherfunctionalThreadPool.execute(() -> UpdateSonState(materialTypeById.getOldId().toString(), state));
@Override
public void run() {
UpdateSonState(materialTypeById.getOldId().toString(), state);
}
}).start();
Integer integer = materialTypeService.updateMaterialType(map); Integer integer = materialTypeService.updateMaterialType(map);
new Thread(new Runnable() { HandlesOtherfunctionalThreadPool.execute(() -> {
@Override
public void run() {
try { try {
Thread.sleep(3000); Thread.sleep(3000);
} catch (InterruptedException e) { } catch (InterruptedException e) {
e.printStackTrace(); e.printStackTrace();
} }
materialService.RefreshInitTreeMenus(); materialService.RefreshInitTreeMenus();
} });
}).start();
return CrudUtil.insertHandle(integer, 1); return CrudUtil.insertHandle(integer, 1);
} }

12
src/main/java/com/dreamchaser/depository_manage/controller/NoticeController.java

@ -5,6 +5,7 @@ import com.dreamchaser.depository_manage.exception.MyException;
import com.dreamchaser.depository_manage.pojo.NoticeP; import com.dreamchaser.depository_manage.pojo.NoticeP;
import com.dreamchaser.depository_manage.pojo.RestResponse; import com.dreamchaser.depository_manage.pojo.RestResponse;
import com.dreamchaser.depository_manage.security.pool.AuthenticationTokenPool; import com.dreamchaser.depository_manage.security.pool.AuthenticationTokenPool;
import com.dreamchaser.depository_manage.security.pool.HandlesOtherfunctionalThreadPool;
import com.dreamchaser.depository_manage.service.NoticeService; import com.dreamchaser.depository_manage.service.NoticeService;
import com.dreamchaser.depository_manage.service.impl.QyWxOperationService; import com.dreamchaser.depository_manage.service.impl.QyWxOperationService;
import com.dreamchaser.depository_manage.utils.CrudUtil; import com.dreamchaser.depository_manage.utils.CrudUtil;
@ -47,17 +48,8 @@ public class NoticeController {
// 获取插入结果 // 获取插入结果
Integer integer = noticeService.addNotice(map,crypt); Integer integer = noticeService.addNotice(map,crypt);
if (Integer.compare(integer, 1) == 0) { if (Integer.compare(integer, 1) == 0) {
// 如果成功插入
// 开启线程推送应用消息 // 开启线程推送应用消息
/*new Thread(new Runnable() { /*HandlesOtherfunctionalThreadPool.execute(() -> qyWxOperationService.sendNoticeForAllUser(ObjectFormatUtil.toInteger(map.get("id")),crypt));*/
@Override
public void run() {
qyWxOperationService.sendNoticeForAllUser(ObjectFormatUtil.toInteger(map.get("id")),crypt);
}
}).start();*/
} }
return CrudUtil.insertHandle(integer, 1); return CrudUtil.insertHandle(integer, 1);

54
src/main/java/com/dreamchaser/depository_manage/controller/QyWxOperationController.java

@ -12,6 +12,7 @@ import com.dreamchaser.depository_manage.pojo.RestResponse;
import com.dreamchaser.depository_manage.pojo.callBackXml.approvalCallBackXml.*; import com.dreamchaser.depository_manage.pojo.callBackXml.approvalCallBackXml.*;
import com.dreamchaser.depository_manage.pojo.callBackXml.callBackXml_button_templatecard.TemplateCard; import com.dreamchaser.depository_manage.pojo.callBackXml.callBackXml_button_templatecard.TemplateCard;
import com.dreamchaser.depository_manage.security.pool.AuthenticationTokenPool; import com.dreamchaser.depository_manage.security.pool.AuthenticationTokenPool;
import com.dreamchaser.depository_manage.security.pool.HandlesOtherfunctionalThreadPool;
import com.dreamchaser.depository_manage.security.pool.RedisPool; import com.dreamchaser.depository_manage.security.pool.RedisPool;
import com.dreamchaser.depository_manage.security.pool.UserKeyAndTokenPool; import com.dreamchaser.depository_manage.security.pool.UserKeyAndTokenPool;
import com.dreamchaser.depository_manage.service.CallBackLogService; import com.dreamchaser.depository_manage.service.CallBackLogService;
@ -197,44 +198,28 @@ public class QyWxOperationController {
if (stockTakingType.contains("review")) { if (stockTakingType.contains("review")) {
// 开启线程处理审批 // 开启线程处理审批
new Thread(new Runnable() { HandlesOtherfunctionalThreadPool.execute(() -> {
@Override
public void run() {
Map<String, Object> reviewByQyWx = stockTakingService.reviewByQyWx(templateCard, crypt); Map<String, Object> reviewByQyWx = stockTakingService.reviewByQyWx(templateCard, crypt);
if (reviewByQyWx.containsKey("errMsg")) { if (reviewByQyWx.containsKey("errMsg")) {
} }
} });
}).start();
} else if (stockTakingType.contains("complete")) { } else if (stockTakingType.contains("complete")) {
// 开启线程 // 开启线程
new Thread(new Runnable() { HandlesOtherfunctionalThreadPool.execute(() -> stockTakingService.completeStockTakingByQyWx(templateCard, crypt));
@Override
public void run() {
stockTakingService.completeStockTakingByQyWx(templateCard, crypt);
}
}).start();
} }
} else if (templateCardType.contains("out")) { } else if (templateCardType.contains("out")) {
// 如果点击的是出库审核 // 如果点击的是出库审核
// 开启线程处理审批 // 开启线程处理审批
new Thread(new Runnable() { HandlesOtherfunctionalThreadPool.execute(() -> depositoryRecordService.reviewByQyWx(templateCard, crypt));
@Override
public void run() {
depositoryRecordService.reviewByQyWx(templateCard, crypt);
}
}).start();
} }
// 开启线程更改其他用户卡片模板样式 // 开启线程更改其他用户卡片模板样式
String finalResult = result; String finalResult = result;
new Thread(new Runnable() { HandlesOtherfunctionalThreadPool.execute(
@Override () ->
public void run() { qyWxOperationService.updateButtonTemplateCardToUnEnable(templateCard.getResponseCode(), userByPort.getName(), finalResult, crypt));
qyWxOperationService.updateButtonTemplateCardToUnEnable(templateCard.getResponseCode(), userByPort.getName(), finalResult, crypt);
}
}).start();
// 待加密模板 // 待加密模板
String sRespData = String.format("<xml><ToUserName><![CDATA[%s]]></ToUserName>" + String sRespData = String.format("<xml><ToUserName><![CDATA[%s]]></ToUserName>" +
@ -694,35 +679,18 @@ public class QyWxOperationController {
ApprovalInfo_Details finalApprovalInfo_details = approvalInfo_details; ApprovalInfo_Details finalApprovalInfo_details = approvalInfo_details;
boolean finalFlagForFirst = flagForFirst; boolean finalFlagForFirst = flagForFirst;
int finalFlagForDepository = flagForDepository; int finalFlagForDepository = flagForDepository;
new Thread(new Runnable() { HandlesOtherfunctionalThreadPool.execute(() -> depositoryRecordService.reviewByQyWxApprovalOut(mainId, finalApprovalInfo_details, crypt, spStatus, approvalInfo.getSpNo(), finalFlagForFirst, finalFlagForDepository));
@Override
public void run() {
depositoryRecordService.reviewByQyWxApprovalOut(mainId, finalApprovalInfo_details, crypt, spStatus, approvalInfo.getSpNo(), finalFlagForFirst, finalFlagForDepository);
}
}).start();
} else if (QyWxConfig.stockTaking_approval_template_id.equals(approvalInfo.getTemplateId())) { } else if (QyWxConfig.stockTaking_approval_template_id.equals(approvalInfo.getTemplateId())) {
// 如果是库存盘点审批 // 如果是库存盘点审批
// 开启一个线程用于进行处理 // 开启一个线程用于进行处理
ApprovalInfo_Details finalApprovalInfo_details = approvalInfo_details; ApprovalInfo_Details finalApprovalInfo_details = approvalInfo_details;
new Thread(new Runnable() { HandlesOtherfunctionalThreadPool.execute(() -> stockTakingService.reviewByQyWxApproval(mainId, finalApprovalInfo_details, crypt, spStatus, approvalInfo.getSpNo()));
@Override
public void run() {
stockTakingService.reviewByQyWxApproval(mainId, finalApprovalInfo_details, crypt, spStatus, approvalInfo.getSpNo());
}
}).start();
} else if (QyWxConfig.in_approval_template_id.equals(approvalInfo.getTemplateId())) { } else if (QyWxConfig.in_approval_template_id.equals(approvalInfo.getTemplateId())) {
// 如果是入库审批 // 如果是入库审批
// 开启一个线程用于进行处理 // 开启一个线程用于进行处理
ApprovalInfo_Details finalApprovalInfo_details = approvalInfo_details; ApprovalInfo_Details finalApprovalInfo_details = approvalInfo_details;
new Thread(new Runnable() { HandlesOtherfunctionalThreadPool.execute(() -> depositoryRecordService.reviewByQyWxApprovalIn(mainId, finalApprovalInfo_details, crypt, spStatus, spNo));
@Override
public void run() {
depositoryRecordService.reviewByQyWxApprovalIn(mainId, finalApprovalInfo_details, crypt, spStatus, spNo);
}
}).start();
} }
// 开启一个线程用于进行下步操作 // 开启一个线程用于进行下步操作
} }

19
src/main/java/com/dreamchaser/depository_manage/security/pool/HandlesOtherfunctionalThreadPool.java

@ -0,0 +1,19 @@
package com.dreamchaser.depository_manage.security.pool;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
/**
* 定义用于发送企业微信相关信息的线程池
*/
public class HandlesOtherfunctionalThreadPool {
public static ExecutorService exs = new ThreadPoolExecutor(20, 10, 100, TimeUnit.SECONDS, new LinkedBlockingQueue<>(10));
// 用于执行对应的方法
public static void execute(Runnable runnable){
exs.execute(runnable);
}
}

25
src/test/java/com/dreamchaser/depository_manage/OtherTest.java

@ -1,5 +1,6 @@
package com.dreamchaser.depository_manage; package com.dreamchaser.depository_manage;
import com.alibaba.fastjson.JSONObject;
import com.dreamchaser.depository_manage.config.PublicConfig; import com.dreamchaser.depository_manage.config.PublicConfig;
import com.dreamchaser.depository_manage.entity.UserByPort; import com.dreamchaser.depository_manage.entity.UserByPort;
import com.dreamchaser.depository_manage.security.pool.RedisPool; import com.dreamchaser.depository_manage.security.pool.RedisPool;
@ -11,6 +12,7 @@ import com.dreamchaser.depository_manage.utils.LinkInterfaceUtil;
import com.dreamchaser.depository_manage.utils.ObjectFormatUtil; import com.dreamchaser.depository_manage.utils.ObjectFormatUtil;
import com.dreamchaser.depository_manage.utils.WordUtil; import com.dreamchaser.depository_manage.utils.WordUtil;
import javafx.scene.control.TableRow; import javafx.scene.control.TableRow;
import org.apache.poi.ss.formula.functions.T;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.redisson.api.RLock; import org.redisson.api.RLock;
@ -22,6 +24,7 @@ import org.springframework.test.context.junit4.SpringRunner;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.util.HashMap; import java.util.HashMap;
import java.util.Iterator;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
@ -43,18 +46,25 @@ public class OtherTest {
QyWxOperationService qyWxOperationService; QyWxOperationService qyWxOperationService;
@Autowired @Autowired
static
RedisPool redisPool; RedisPool redisPool;
@Test @Test
public void main() { public void main() {
UserByPort userByPort = LinkInterfaceUtil.FindUserById(6235, null); // UserByPort userByPort = LinkInterfaceUtil.FindUserById(6235, null);
// Map<String, String> stringObjectMap = objectToMap(userByPort); // Map<String, String> stringObjectMap = objectToMap(userByPort);
// redisPool.getRedisTemplateByDb(5).opsForHash().putAll(PublicConfig.userInfoRedisPrefix+"300450",stringObjectMap); // redisPool.getRedisTemplateByDb(5).opsForHash().putAll(PublicConfig.userInfoRedisPrefix+"300450",stringObjectMap);
// System.out.println(stringObjectMap); // System.out.println(stringObjectMap);
// Set<Object> keys = redisPool.getRedisTemplateByDb(5).opsForHash().keys(PublicConfig.userInfoRedisPrefix + "300450"); String key = PublicConfig.userInfoRedisPrefix + "300450";
Iterator<Object> iterator = redisPool.getRedisTemplateByDb(5).opsForHash().keys(key).iterator();
Map<String,Object> map = new HashMap<>();
while (iterator.hasNext()) {
Object next = iterator.next();
Object o = redisPool.getRedisTemplateByDb(5).opsForHash().get(key, next);
map.put((String) next,o);
}
UserByPort userByPort = JSONObject.parseObject(JSONObject.toJSONString(map), UserByPort.class);
System.out.println(userByPort);
} }
@ -81,13 +91,6 @@ public class OtherTest {
} }
public static <T> T mapToBean(Map<String, ?> map, Class<T> clazz)
throws IllegalAccessException, InstantiationException {
T bean = clazz.newInstance();
BeanMap beanMap = BeanMap.create(bean);
beanMap.putAll(map);
return bean;
}

Loading…
Cancel
Save