From e310dfdc93c20ac0c3b5fcd1a95de298cfce2ae9 Mon Sep 17 00:00:00 2001
From: chengf <cgf12138@163.com>
Date: 星期六, 07 二月 2026 10:28:55 +0800
Subject: [PATCH] 添加状态:停止服务-cgf
---
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/demo/contract/controller/ExcelImportController.java | 91 +++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 91 insertions(+), 0 deletions(-)
diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/demo/contract/controller/ExcelImportController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/demo/contract/controller/ExcelImportController.java
index d62bd33..b4dc17b 100644
--- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/demo/contract/controller/ExcelImportController.java
+++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/demo/contract/controller/ExcelImportController.java
@@ -1,13 +1,18 @@
package org.jeecg.modules.demo.contract.controller;
import com.alibaba.excel.EasyExcel;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.SerializationUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.undertow.util.Headers;
import jakarta.servlet.http.HttpServletRequest;
+import kong.unirest.Unirest;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.beanutils.BeanUtils;
+import org.apache.commons.lang.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.demo.contract.entity.Contract;
@@ -16,6 +21,8 @@
import org.jeecg.modules.demo.contract.service.IContractService;
import org.jeecg.modules.demo.contract.service.ISemanticWordService;
import org.jeecg.modules.demo.copywriting.controller.CopywritingAsyncService;
+import org.jeecg.modules.demo.copywriting.entity.Copywriting;
+import org.jeecg.modules.demo.copywriting.service.ICopywritingService;
import org.jeecg.modules.listener.ExcelDataListener;
import org.jeecg.modules.system.entity.SysUser;
import org.jeecg.modules.system.service.ISysUserService;
@@ -26,8 +33,12 @@
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
+import java.net.http.HttpResponse;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
+import java.util.Random;
/**
* 閫傞厤鏂癊xcel鍒楃殑瀵煎叆鎺ュ彛鎺у埗鍣�
@@ -43,6 +54,8 @@
private ISemanticWordService semanticWordService;
@Autowired
private IContractService contractService;
+ @Autowired
+ public ICopywritingService copywritingService;
/**
* Excel鏂囦欢瀵煎叆鎺ュ彛锛堥�傞厤澶х被銆佸搧鐗岀瓑浜斿垪锛�
* @return 瀵煎叆缁撴灉
@@ -152,5 +165,83 @@
return Result.OK("寮�濮嬬敓鎴愶紝浠诲姟宸叉彁浜よ嚦鍚庡彴澶勭悊");
}
}
+
+ public static String getRandomElementFromArray(String[] strArray) {
+ // 1. 鏍¢獙鏁扮粍鍚堟硶鎬э細绌烘暟缁�/Null鐩存帴杩斿洖null锛岄伩鍏嶅紓甯�
+ if (strArray == null || strArray.length == 0) {
+ return null;
+ }
+ // 2. 鍒涘缓闅忔満鏁扮敓鎴愬櫒锛岀敓鎴�0鍒版暟缁勯暱搴�-1鐨勯殢鏈虹储寮�
+ Random random = new Random();
+ int randomIndex = random.nextInt(strArray.length);
+ // 3. 鏍规嵁闅忔満绱㈠紩杩斿洖瀵瑰簲鍏冪礌
+ return strArray[randomIndex];
+ }
+
+ private static final DateTimeFormatter DEFAULT_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+
+ /**
+ * 鏂规硶1锛氳繑鍥炲綋鍓嶆椂闂寸殑瀹屾暣鏍煎紡鍖栧瓧绗︿覆锛坹yyy-MM-dd HH:mm:ss锛�
+ * @return 鏍煎紡鍖栧悗鐨勬椂闂村瓧绗︿覆锛屽锛�2026-02-06 20:15:30
+ */
+ public static String getCurrentTimeStr() {
+ return LocalDateTime.now().format(DEFAULT_FORMATTER);
+ }
+
+ @RequiresPermissions("contract:contract:batchPublish")
+ @PostMapping("/batchPublish")
+ public Result<String> batchPublish(@RequestParam("contractId") String contractId) {
+ if (contractId.isEmpty()) {
+ return Result.error("鍚堝悓缂栧彿涓嶈兘涓虹┖锛�");
+ }
+ String[] arr = new String[]{"14457","28879","20838"};
+ QueryWrapper<Copywriting> wrapper = new QueryWrapper<>();
+// 鎵嬪姩鎷兼帴 LEFT JOIN 鍜岀瓫閫夋潯浠�
+ wrapper.select("copywriting.*")
+ .inSql("word_id", // 浣跨敤姝g‘鐨勫叧鑱斿瓧娈� word_id
+ "SELECT id FROM semantic_word WHERE contract_id = '" + contractId + "'");
+ wrapper.isNull("order_nid");
+ wrapper.eq("status",3);
+ List<Copywriting> copywritingList = copywritingService.list(wrapper);
+ if (copywritingList.isEmpty()) {
+ return Result.error("璇ュ悎鍚屼笉瀛樺湪鐘舵�佷负瀹℃牳鍙彂绋跨殑鏂囨");
+ }
+ for (Copywriting copywriting : copywritingList) {
+ kong.unirest.HttpResponse<String> response = Unirest.post("http://8.138.187.158:8082/api/media/send")
+ .field("api_key", "sk_4c8f6a970de896e232909e2959254441")
+ .field("resource_id", getRandomElementFromArray(arr))
+ .field("title", copywriting.getTitle())
+ .field("content", copywriting.getText())
+ .field("remark", getCurrentTimeStr())
+ .field("third_id", copywriting.getCreateBy())
+ .asString();
+ // 1. 鏍¢獙鍝嶅簲鐘舵�佸拰鍝嶅簲浣撻潪绌�
+ if (response != null && response.getStatus() == 200 && StringUtils.isNotBlank(response.getBody())) {
+ // 2. 瑙f瀽JSON鍝嶅簲浣�
+ JSONObject responseJson = JSON.parseObject(response.getBody());
+
+ // 3. 鏍¢獙code鏄惁涓�1锛堟姇绋挎垚鍔燂級锛屽啀鎻愬彇order_nid
+ if (responseJson.getInteger("code") == 1) {
+ JSONObject dataObj = responseJson.getJSONObject("data");
+ if (dataObj != null && dataObj.containsKey("order_nid")) {
+ // 鑾峰彇order_nid锛堣浆涓篠tring锛岄�傞厤Copywriting鐨刼rderNid瀛楁绫诲瀷锛�
+ String orderNid = dataObj.get("order_nid").toString();
+
+ // 4. 璧嬪�煎苟鏇存柊鏁版嵁搴�
+ copywriting.setOrderNid(orderNid);
+ copywriting.setStatus("4");
+ copywritingService.updateById(copywriting);
+ } else {
+ // 鏃ュ織璁板綍锛氬搷搴斾綋鏃燿ata鎴杘rder_nid瀛楁
+ System.err.println("鎶曠鎴愬姛浣嗘湭鑾峰彇鍒皁rder_nid锛屽搷搴斾綋锛�" + response.getBody());
+ }
+ } else {
+ // 鏃ュ織璁板綍锛氭帴鍙h繑鍥為潪鎴愬姛鐘舵��
+ System.err.println("鎶曠澶辫触锛屽搷搴斾綋锛�" + response.getBody());
+ }
+ }
+ }
+ return Result.ok("鎵归噺鎶曠鎴愬姛锛�");
+ }
}
--
Gitblit v1.8.0