From 3ee21d9e425f2d3b3d3fb6875188b98f257371c8 Mon Sep 17 00:00:00 2001 From: dorion <872354125@qq.com> Date: Fri, 28 Jun 2024 00:30:28 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9F=AD=E4=BF=A1=E6=8E=A5=E5=8F=A3=E5=BC=80?= =?UTF-8?q?=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-admin/pom.xml | 4 +- .../sms/WSSmsTaskTblController.java | 1 + .../resources/templates/sms/task/ws/add.html | 12 +- .../common/core/domain/entity/SmsTaskTbl.java | 136 ++++++++++++------ .../ruoyi/framework/config/ShiroConfig.java | 2 +- .../quartz/task/UndelegateEnergyTask.java | 2 +- .../java/com/ruoyi/system/api/IU02cxApi.java | 2 +- .../ruoyi/system/api/impl/U02cxApiImpl.java | 21 +-- .../handler/EnergyTenantTransferHandler.java | 4 +- .../service/impl/SmsTaskTblServiceImpl.java | 20 ++- .../resources/mapper/sms/SmsTaskTblMapper.xml | 34 +++-- 11 files changed, 144 insertions(+), 94 deletions(-) diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml index 99efa6b2b..a3927d96d 100644 --- a/ruoyi-admin/pom.xml +++ b/ruoyi-admin/pom.xml @@ -154,7 +154,7 @@ --> ${project.artifactId} - + diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/sms/WSSmsTaskTblController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/sms/WSSmsTaskTblController.java index fa4d19cb8..26478d37f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/sms/WSSmsTaskTblController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/sms/WSSmsTaskTblController.java @@ -84,6 +84,7 @@ public class WSSmsTaskTblController extends BaseController @ResponseBody public AjaxResult addSave(SmsTaskTbl smsTaskTbl) { + smsTaskTbl.setSmsBusiType("WS"); return toAjax(smsTaskTblService.insertSmsTaskTbl(smsTaskTbl)); } diff --git a/ruoyi-admin/src/main/resources/templates/sms/task/ws/add.html b/ruoyi-admin/src/main/resources/templates/sms/task/ws/add.html index 4c9b83ae7..65ef3116e 100644 --- a/ruoyi-admin/src/main/resources/templates/sms/task/ws/add.html +++ b/ruoyi-admin/src/main/resources/templates/sms/task/ws/add.html @@ -15,14 +15,6 @@ -
- -
- -
-
@@ -58,7 +50,7 @@
-
+
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SmsTaskTbl.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SmsTaskTbl.java index 7fd81c5a8..1476dff98 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SmsTaskTbl.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SmsTaskTbl.java @@ -11,9 +11,9 @@ import java.util.Date; /** * WS短信任务配置对象 sms_task_tbl - * + * * @author dorion - * @date 2024-06-01 + * @date 2024-06-27 */ public class SmsTaskTbl extends BaseEntity { @@ -30,6 +30,14 @@ public class SmsTaskTbl extends BaseEntity @Excel(name = "短信类型") private String smsBusiType; + /** 接口返回的任务id */ + @Excel(name = "接口返回的任务id") + private Long taskId; + + /** 渠道id */ + @Excel(name = "渠道id") + private String channelId; + /** 单价 */ @Excel(name = "单价") private BigDecimal price; @@ -48,9 +56,11 @@ public class SmsTaskTbl extends BaseEntity private String filePath; /** 物料文件MD5值 */ + @Excel(name = "物料文件MD5值") private String fileMd5; /** 任务文本内容base64加密字符串 */ + @Excel(name = "任务文本内容base64加密字符串") private String context; /** 内容类型 */ @@ -69,144 +79,178 @@ public class SmsTaskTbl extends BaseEntity @Excel(name = "物料总数") private Long issueCount; - public void setIdSmsTask(Long idSmsTask) + /** 用户id */ + @Excel(name = "用户id") + private String userId; + + public void setIdSmsTask(Long idSmsTask) { this.idSmsTask = idSmsTask; } - public Long getIdSmsTask() + public Long getIdSmsTask() { return idSmsTask; } - public void setTaskName(String taskName) + public void setTaskName(String taskName) { this.taskName = taskName; } - public String getTaskName() + public String getTaskName() { return taskName; } - public void setSmsBusiType(String smsBusiType) + public void setSmsBusiType(String smsBusiType) { this.smsBusiType = smsBusiType; } - public String getSmsBusiType() + public String getSmsBusiType() { return smsBusiType; } - public void setPrice(BigDecimal price) + public void setTaskId(Long taskId) + { + this.taskId = taskId; + } + + public Long getTaskId() + { + return taskId; + } + public void setChannelId(String channelId) + { + this.channelId = channelId; + } + + public String getChannelId() + { + return channelId; + } + public void setPrice(BigDecimal price) { this.price = price; } - public BigDecimal getPrice() + public BigDecimal getPrice() { return price; } - public void setTaskBeginTime(Date taskBeginTime) + public void setTaskBeginTime(Date taskBeginTime) { this.taskBeginTime = taskBeginTime; } - public Date getTaskBeginTime() + public Date getTaskBeginTime() { return taskBeginTime; } - public void setFileName(String fileName) + public void setFileName(String fileName) { this.fileName = fileName; } - public String getFileName() + public String getFileName() { return fileName; } - public void setFilePath(String filePath) + public void setFilePath(String filePath) { this.filePath = filePath; } - public String getFilePath() + public String getFilePath() { return filePath; } - public void setFileMd5(String fileMd5) + public void setFileMd5(String fileMd5) { this.fileMd5 = fileMd5; } - public String getFileMd5() + public String getFileMd5() { return fileMd5; } - public void setContext(String context) + public void setContext(String context) { this.context = context; } - public String getContext() + public String getContext() { return context; } - public void setSmsContentType(String smsContentType) + public void setSmsContentType(String smsContentType) { this.smsContentType = smsContentType; } - public String getSmsContentType() + public String getSmsContentType() { return smsContentType; } - public void setTaskStatus(String taskStatus) + public void setTaskStatus(String taskStatus) { this.taskStatus = taskStatus; } - public String getTaskStatus() + public String getTaskStatus() { return taskStatus; } - public void setSuccessRate(String successRate) + public void setSuccessRate(String successRate) { this.successRate = successRate; } - public String getSuccessRate() + public String getSuccessRate() { return successRate; } - public void setIssueCount(Long issueCount) + public void setIssueCount(Long issueCount) { this.issueCount = issueCount; } - public Long getIssueCount() + public Long getIssueCount() { return issueCount; } + public void setUserId(String userId) + { + this.userId = userId; + } + + public String getUserId() + { + return userId; + } @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("idSmsTask", getIdSmsTask()) - .append("taskName", getTaskName()) - .append("smsBusiType", getSmsBusiType()) - .append("price", getPrice()) - .append("taskBeginTime", getTaskBeginTime()) - .append("fileName", getFileName()) - .append("filePath", getFilePath()) - .append("fileMd5", getFileMd5()) - .append("context", getContext()) - .append("smsContentType", getSmsContentType()) - .append("taskStatus", getTaskStatus()) - .append("successRate", getSuccessRate()) - .append("issueCount", getIssueCount()) - .append("createBy", getCreateBy()) - .append("createTime", getCreateTime()) - .append("updateBy", getUpdateBy()) - .append("updateTime", getUpdateTime()) - .toString(); + .append("idSmsTask", getIdSmsTask()) + .append("taskName", getTaskName()) + .append("smsBusiType", getSmsBusiType()) + .append("taskId", getTaskId()) + .append("channelId", getChannelId()) + .append("price", getPrice()) + .append("taskBeginTime", getTaskBeginTime()) + .append("fileName", getFileName()) + .append("filePath", getFilePath()) + .append("fileMd5", getFileMd5()) + .append("context", getContext()) + .append("smsContentType", getSmsContentType()) + .append("taskStatus", getTaskStatus()) + .append("successRate", getSuccessRate()) + .append("issueCount", getIssueCount()) + .append("userId", getUserId()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); } } diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ShiroConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ShiroConfig.java index 2ab43fdb1..2d17baf11 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ShiroConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ShiroConfig.java @@ -303,7 +303,7 @@ public class ShiroConfig // 注册相关 filterChainDefinitionMap.put("/register", "anon,captchaValidate"); filterChainDefinitionMap.put("/api/**", "anon"); - filterChainDefinitionMap.put("/common/download", "anon"); + filterChainDefinitionMap.put("/profile/upload/**", "anon"); // 系统权限列表 // filterChainDefinitionMap.putAll(SpringUtils.getBean(IMenuService.class).selectPermsAll()); diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/UndelegateEnergyTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/UndelegateEnergyTask.java index eb34fe2ba..377bb622c 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/UndelegateEnergyTask.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/UndelegateEnergyTask.java @@ -36,7 +36,7 @@ public class UndelegateEnergyTask { TrxExchangeInfo trxExchangeInfoExample = TrxExchangeInfo.builder() .delegateStatus(dictValue) - .fcd(DateUtil.offsetDay(new Date(),-2)) +// .fcd(DateUtil.offsetDay(new Date(),-2)) .build(); List trxExchangeMonitorAccountInfoList = trxExchangeInfoService.selectTrxExchangeMonitorAccountInfo(trxExchangeInfoExample); diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/api/IU02cxApi.java b/ruoyi-system/src/main/java/com/ruoyi/system/api/IU02cxApi.java index 55e4b0bd8..5a5004357 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/api/IU02cxApi.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/api/IU02cxApi.java @@ -9,5 +9,5 @@ public interface IU02cxApi { String getToken(GetTokenRequest getTokenRequest); - String addTask(String requestBody, String token, String appId) throws IOException; + Long addTask(String requestBody, String token, String appId) throws IOException; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/api/impl/U02cxApiImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/api/impl/U02cxApiImpl.java index ea3507c5f..1ed90ff62 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/api/impl/U02cxApiImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/api/impl/U02cxApiImpl.java @@ -35,7 +35,7 @@ public class U02cxApiImpl implements IU02cxApi { } @Override - public String addTask(String requestBody, String token, String appId) throws IOException { + public Long addTask(String requestBody, String token, String appId) throws IOException { HttpHeaders httpHeaders = new HttpHeaders(); @@ -44,28 +44,17 @@ public class U02cxApiImpl implements IU02cxApi { httpHeaders.add("appId",appId); httpHeaders.add("token",token); -// ResponseEntity responseEntity = RestTemplateUtils.post("http://cot5b.u02cx.com:20086/whatsApi/api/task/addTask", httpHeaders, requestBody, AddTaskResponse.class); - ResponseEntity responseEntity = RestTemplateUtils.post("http://cot5b.u02cx.com:20086/whatsApi/api/task/addTask", httpHeaders, requestBody, String.class); + ResponseEntity responseEntity = RestTemplateUtils.post("http://cot5b.u02cx.com:20086/whatsApi/api/task/addTask", httpHeaders, requestBody, AddTaskResponse.class); Preconditions.checkState(responseEntity.getStatusCode().is2xxSuccessful(), "addTask failed"); -// AddTaskResponse addTaskResponse = responseEntity.getBody(); - String response = responseEntity.getBody(); + AddTaskResponse addTaskResponse = responseEntity.getBody(); Preconditions.checkNotNull(addTaskResponse, "addTaskResponse is null"); int status = addTaskResponse.getStatus(); Preconditions.checkState(0 == status, "addTask failed:" + ApiConstants.returnCodeMap.get(status)+",msg:"+addTaskResponse.getMsg()); -// CloseableHttpClient httpclient = HttpClients.createDefault(); -// HttpPost httpPost = new HttpPost("http://cot5b.u02cx.com:20086/whatsApi/api/task/addTask"); -// httpPost.setHeader("Content-Type", "application/json"); -// httpPost.setHeader("appId", appId); -// httpPost.setHeader("token", token); -// httpPost.setEntity(new StringEntity(requestBody, "utf8")); -// CloseableHttpResponse reportResponse = httpclient.execute(httpPost); -// String body = EntityUtils.toString(reportResponse.getEntity(), "utf8"); -// -// AddTaskResponse addTaskResponse = JSONUtil.toBean(body, AddTaskResponse.class); - return addTaskResponse.getTaskId().toString(); + + return addTaskResponse.getTaskId(); } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/handler/EnergyTenantTransferHandler.java b/ruoyi-system/src/main/java/com/ruoyi/system/handler/EnergyTenantTransferHandler.java index f47b6f25f..14a5c5934 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/handler/EnergyTenantTransferHandler.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/handler/EnergyTenantTransferHandler.java @@ -136,6 +136,8 @@ public class EnergyTenantTransferHandler { } + + private static TrxExchangeInfo buildTrxExchangeInfo(TenantInfo tenantInfo, String eneryBusiTypeByDay) { String delegateStatus = DictUtils.getDictValue("sys_delegate_status", "已委托"); //查看有没有没回收的能量,有的话先回收 @@ -144,7 +146,7 @@ public class EnergyTenantTransferHandler { .fromAddress(tenantInfo.getReceiverAddress()) .delegateStatus(delegateStatus) .energyBusiType(eneryBusiTypeByDay) - .fcd(DateUtil.offsetDay(new Date(), -2)) +// .fcd(DateUtil.offsetDay(new Date(), -2)) .build(); return trxExchangeInfo; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SmsTaskTblServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SmsTaskTblServiceImpl.java index b67133ee3..c150730f9 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SmsTaskTblServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SmsTaskTblServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.json.JSONUtil; import com.ruoyi.common.core.domain.entity.SmsTaskTbl; import com.ruoyi.common.core.text.Convert; import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.ShiroUtils; import com.ruoyi.system.api.IU02cxApi; import com.ruoyi.system.api.entity.U02cx.AddTaskRequest; import com.ruoyi.system.api.entity.U02cx.GetTokenRequest; @@ -79,7 +80,7 @@ public class SmsTaskTblServiceImpl implements ISmsTaskTblService BeanUtils.copyProperties(smsChannelTbl, getTokenRequest); String token = u02cxApi.getToken(getTokenRequest); - log.info("token:{}", token); + log.debug("token:{}", token); AddTaskRequest addTaskRequest = new AddTaskRequest(); addTaskRequest.setTaskName(smsTaskTbl.getTaskName()) .setPrice(smsTaskTbl.getPrice()) @@ -91,19 +92,26 @@ public class SmsTaskTblServiceImpl implements ISmsTaskTblService .setType(Integer.parseInt(smsTaskTbl.getSmsContentType())); try { // 将公钥字符串转换为 PublicKey 对象 -// PublicKey publicKey = KeyUtils.getPublicKeyFromBase64String(smsChannelTbl.getPublicKey()); - // 使用公钥加密数据 String jsonStr = JSONUtil.toJsonStr(addTaskRequest); - log.info("jsonStr:{}", jsonStr); + log.debug("jsonStr:{}", jsonStr); // String encryptedData = EncryptionUtils.encrypt(jsonStr, publicKey); String encryptedData = RsaUtils.encryptData(jsonStr, smsChannelTbl.getPublicKey()); - String taskId = u02cxApi.addTask(encryptedData,token,smsChannelTbl.getAppId()); + Long taskId = u02cxApi.addTask(encryptedData,token,smsChannelTbl.getAppId()); + + smsTaskTbl.setTaskId(taskId); + smsTaskTbl.setChannelId(smsChannelTbl.getChannelId()); + Long userId = ShiroUtils.getUserId(); + smsTaskTbl.setUserId(userId.toString()); + String loginName = ShiroUtils.getLoginName(); + smsTaskTbl.setCreateBy(loginName); + smsTaskTbl.setUpdateBy(loginName); + smsTaskTbl.setTaskStatus("0"); + } catch (Exception e) { throw new RuntimeException(e); } - smsTaskTbl.setCreateTime(DateUtils.getNowDate()); return smsTaskTblMapper.insertSmsTaskTbl(smsTaskTbl); } diff --git a/ruoyi-system/src/main/resources/mapper/sms/SmsTaskTblMapper.xml b/ruoyi-system/src/main/resources/mapper/sms/SmsTaskTblMapper.xml index 2ca9872f0..87353626a 100644 --- a/ruoyi-system/src/main/resources/mapper/sms/SmsTaskTblMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/sms/SmsTaskTblMapper.xml @@ -1,13 +1,15 @@ + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + + + @@ -18,6 +20,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -25,28 +28,32 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select id_sms_task, task_name, sms_busi_type, price, task_begin_time, file_name, file_path, file_md5, context, sms_content_type, task_status, success_rate, issue_count, create_by, create_time, update_by, update_time from sms_task_tbl + select id_sms_task, task_name, sms_busi_type, task_id, channel_id, price, task_begin_time, file_name, file_path, file_md5, context, sms_content_type, task_status, success_rate, issue_count, user_id, create_by, create_time, update_by, update_time from sms_task_tbl - + - + insert into sms_task_tbl task_name, sms_busi_type, + task_id, + channel_id, price, task_begin_time, file_name, @@ -57,14 +64,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" task_status, success_rate, issue_count, + user_id, create_by, create_time, update_by, update_time, - + #{taskName}, #{smsBusiType}, + #{taskId}, + #{channelId}, #{price}, #{taskBeginTime}, #{fileName}, @@ -75,11 +85,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{taskStatus}, #{successRate}, #{issueCount}, + #{userId}, #{createBy}, #{createTime}, #{updateBy}, #{updateTime}, - + @@ -87,6 +98,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" task_name = #{taskName}, sms_busi_type = #{smsBusiType}, + task_id = #{taskId}, + channel_id = #{channelId}, price = #{price}, task_begin_time = #{taskBeginTime}, file_name = #{fileName}, @@ -97,6 +110,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" task_status = #{taskStatus}, success_rate = #{successRate}, issue_count = #{issueCount}, + user_id = #{userId}, create_by = #{createBy}, create_time = #{createTime}, update_by = #{updateBy}, @@ -110,7 +124,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - delete from sms_task_tbl where id_sms_task in + delete from sms_task_tbl where id_sms_task in #{idSmsTask}