From 87399ae42948cb252a3afa3cf7afe5f2a6c4f809 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期二, 12 十一月 2024 11:43:28 +0800
Subject: [PATCH] 开阀成功时,所用虚拟卡开阀时间赋值

---
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeVirtualCardMapper.xml                       |   17 +++++++-
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java               |   23 +++++++++--
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeVirtualCard.java             |   17 ++++++--
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/ValveCtrl.java |    2 
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml                    |    8 ++++
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmCommandHistoryMapper.java     |    7 +++
 6 files changed, 61 insertions(+), 13 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java
index 35c8b85..db4830b 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java
@@ -30,12 +30,11 @@
 import org.springframework.web.client.RestTemplate;
 import org.springframework.web.util.UriComponentsBuilder;
 
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Random;
+import java.util.*;
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.TimeUnit;
@@ -362,6 +361,7 @@
                     if (comType == 1) {
                         virtualCard.setInUse((byte) 0);
                         virtualCard.setIntakeId(null);
+                        virtualCard.setOpenTime(null);
                     } else {
                         virtualCard.setInUse((byte) 1);
                         virtualCard.setIntakeId(intakeId);
@@ -384,6 +384,21 @@
                     if (comType == 1) {
                         virtualCard.setInUse((byte) 1);
                         virtualCard.setIntakeId(intakeId);
+
+                        // 濡傛灉鏄鍒掑紑闃�锛屼粠鍛戒护鏃ュ織涓幏鍙栬鍒掓椂闂达紝鍚﹀垯鍙栧綋鍓嶆椂闂�
+                        if(commandCode.equals(CodeV1.cd_A1) || commandCode.equals(CodeV1.cd_A2)) {
+                            // 璁″垝寮�闃�
+                            Date openTime = null;
+                            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                            try {
+                                openTime = sdf.parse(rmCommandHistoryMapper.getTimeByCommId(comId));
+                            }catch (ParseException e) {
+                            }
+                            virtualCard.setOpenTime(openTime);
+                        }else {
+                            // 闈炶鍒掑紑闃�
+                            virtualCard.setOpenTime(new Date());
+                        }
                     } else {
                         virtualCard.setInUse((byte) 0);
                         virtualCard.setIntakeId(null);
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmCommandHistoryMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmCommandHistoryMapper.java
index c5d59e7..20e64a6 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmCommandHistoryMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmCommandHistoryMapper.java
@@ -60,4 +60,11 @@
      * @return
      */
     List<VoCommand> getCommandHistories(Map<?, ?> params);
+
+    /**
+     * 鏍规嵁鍛戒护鏃ュ織ID鑾峰彇棰勭害鏃堕棿锛屽悜铏氭嫙鍗″啓寮�闃�鏃堕棿鐢�
+     * @param commId
+     * @return
+     */
+    String getTimeByCommId(Long commId);
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeVirtualCard.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeVirtualCard.java
index 7bf06e6..752b6c7 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeVirtualCard.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeVirtualCard.java
@@ -93,15 +93,22 @@
     private Byte inUse;
 
     /**
+     * 鍙栨按鍙D(铏氭嫙鍗′娇鐢ㄦ椂鎵�搴旂敤浜庣殑鍙栨按鍙D)
+     */
+    @Schema(description = "鍙栨按鍙D", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    private Long intakeId;
+
+    /**
+     * 寮�闃�鏃堕棿
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date openTime;
+
+    /**
      * 鍒涘缓鏃堕棿
      */
     @Schema(description = "鍒涘缓鏃堕棿", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
     private Date createTime;
 
-    /**
-     * 鍙栨按鍙D(铏氭嫙鍗′娇鐢ㄦ椂鎵�搴旂敤浜庣殑鍙栨按鍙D)
-     */
-    @Schema(description = "鍙栨按鍙D", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    private Long intakeId;
 
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml
index f6eff90..4e36ac2 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml
@@ -352,4 +352,12 @@
             </if>
         </trim>
     </select>
+
+    <!--鏍规嵁鍛戒护鏃ュ織ID鑾峰彇棰勭害鏃堕棿锛屽悜铏氭嫙鍗″啓寮�闃�鏃堕棿鐢�-->
+    <select id="getTimeByCommId" resultType="java.lang.String">
+        SELECT
+            CONCAT(param ->> '$.year', '-', param ->> '$.month', '-', param ->> '$.day', ' ',  param ->> '$.hour', ':', param ->> '$.minute', ':00') AS openTime
+        FROM rm_command_history
+        WHERE com_id = #{commId}
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeVirtualCardMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeVirtualCardMapper.xml
index 0331a56..dfa7059 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeVirtualCardMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeVirtualCardMapper.xml
@@ -13,11 +13,12 @@
     <result column="last_operate_time" jdbcType="TIMESTAMP" property="lastOperateTime" />
     <result column="in_use" jdbcType="TINYINT" property="inUse" />
     <result column="intake_id" jdbcType="BIGINT" property="intakeId" />
+    <result column="open_time" jdbcType="TIMESTAMP" property="openTime" />
     <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
   </resultMap>
   <sql id="Base_Column_List">
     <!--@mbg.generated-->
-    id, vc_num, client_id, money, state, last_operate, last_operate_time, in_use, intake_id, create_time
+    id, vc_num, client_id, money, state, last_operate, last_operate_time, in_use, intake_id, open_time, create_time
   </sql>
   <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
     <!--@mbg.generated-->
@@ -36,10 +37,10 @@
     <!--@mbg.generated-->
     insert into se_virtual_card (id, vc_num, client_id, 
       money, state, last_operate, last_operate_time,
-      in_use, intake_id, create_time)
+      in_use, intake_id, open_time, create_time)
     values (#{id,jdbcType=BIGINT}, #{vcNum,jdbcType=BIGINT}, #{clientId,jdbcType=BIGINT}, 
       #{money,jdbcType=FLOAT}, #{state,jdbcType=TINYINT}, #{lastOperate,jdbcType=TINYINT}, #{lastOperateTime,jdbcType=TIMESTAMP},
-      #{inUse,jdbcType=TINYINT}, #{intakeId,jdbcType=BIGINT},#{createTime,jdbcType=TIMESTAMP})
+      #{inUse,jdbcType=TINYINT}, #{intakeId,jdbcType=BIGINT},#{openTime,jdbcType=TIMESTAMP},#{createTime,jdbcType=TIMESTAMP})
   </insert>
   <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoSe.SeVirtualCard">
     <!--@mbg.generated-->
@@ -72,6 +73,9 @@
       <if test="intakeId != null">
         intake_id,
       </if>
+      <if test="openTime != null">
+        open_time,
+      </if>
       <if test="createTime != null">
         create_time,
       </if>
@@ -103,6 +107,9 @@
       </if>
       <if test="intakeId != null">
         #{intakeId,jdbcType=BIGINT},
+      </if>
+      <if test="openTime != null">
+        #{openTime,jdbcType=TIMESTAMP},
       </if>
       <if test="createTime != null">
         #{createTime,jdbcType=TIMESTAMP},
@@ -137,6 +144,9 @@
       <if test="intakeId != null">
         intake_id = #{intakeId,jdbcType=BIGINT},
       </if>
+      <if test="openTime != null">
+        open_time = #{openTime,jdbcType=TIMESTAMP},
+      </if>
       <if test="createTime != null">
         create_time = #{createTime,jdbcType=TIMESTAMP},
       </if>
@@ -154,6 +164,7 @@
       last_operate_time = #{lastOperateTime,jdbcType=TIMESTAMP},
       in_use = #{inUse,jdbcType=TINYINT},
       intake_id = #{intakeId,jdbcType=BIGINT},
+      open_time = #{openTime,jdbcType=TIMESTAMP},
       create_time = #{createTime,jdbcType=TIMESTAMP}
     where id = #{id,jdbcType=BIGINT}
   </update>
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/ValveCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/ValveCtrl.java
index bc64c6d..4d03330 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/ValveCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/ValveCtrl.java
@@ -82,7 +82,7 @@
      * @return
      */
     @PostMapping(path = "open_wx", consumes = MediaType.APPLICATION_JSON_VALUE)
-    //@Transactional(rollbackFor = Exception.class)
+    @Transactional(rollbackFor = Exception.class)
     public BaseResponse<Boolean> open(@RequestBody @Valid ValveOpen valve, BindingResult bindingResult) {
         if (bindingResult != null && bindingResult.hasErrors()) {
             return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());

--
Gitblit v1.8.0