From 247deaeb173a6f7b593d9fa4d4ce1ae214f2cdb7 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期五, 28 六月 2024 21:39:23 +0800
Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV

---
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java   |   32 ++
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml                             |   12 +
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeWaterType.java                     |   47 +++++
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java |  217 ++++++++++++-----------
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeCardOperateMapper.java              |    7 
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoReissue.java  |   10 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java               |   11 +
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml                                  |    6 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoClient.java                          |    4 
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoLoss.java     |    7 
 pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/district/DistrictVo.java         |    2 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeWaterTypeMapper.java                |   26 ++
 pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/district/DistrictCtrl.java       |    3 
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/result/SellResultCode.java       |    2 
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml                              |   18 +
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeWaterTypeMapper.xml                               |   67 +++++++
 pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/util/InitListener.java           |   43 ++++
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/SeClientToVoClient.java   |    1 
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardSv.java     |    5 
 pipIrr-platform/pipIrr-global/src/main/resources/init-config.xml                                            |    7 
 20 files changed, 384 insertions(+), 143 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeCardOperateMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeCardOperateMapper.java
index 00cb1f0..69f2e43 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeCardOperateMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeCardOperateMapper.java
@@ -125,4 +125,11 @@
      * @return
      */
     Double getTotalAmount(Map<?, ?> params);
+
+    /**
+     * 鏍规嵁姘村崱缂栧彿鑾峰彇鍏舵寕澶辨椂閫�娆鹃噾棰濓紙琛ュ崱鏃跺垽鏂娇鐢級
+     * @param cardNum
+     * @return
+     */
+    Double getTradeAmountByCardNo(Long cardNum);
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java
index e16cd6b..d01603c 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java
@@ -124,11 +124,18 @@
     List<VoCards> getUnreplaced(Map<?, ?> params);
 
     /**
-     * 鍒ゆ柇鎸囧畾姘村崱鏄惁涓烘寕澶辩姸鎬佷笖鏃犺ˉ鍗¤褰�
+     * 鏍规嵁鎸囧畾姘村崱缂栧彿鑾峰彇鎸傚け浜嬭褰曟暟閲忥紙琛ュ崱銆佽В閿佷娇鐢級
+     * @param cardNum
+     * @return
+     */
+    Integer getLostCount(@Param("cardNum") Long cardNum);
+
+    /**
+     * 鏍规嵁鎸囧畾姘村崱缂栧彿鑾峰彇宸茶ˉ鍗℃暟閲忥紙琛ュ崱銆佽В閿佷娇鐢級
      * @param cardNum 姘村崱缂栧彿
      * @return 绗﹀悎鏉′欢璁板綍鏁帮紝鏈�澶氫竴鏉�
      */
-    Integer isLostAndUnreplaced(@Param("cardNum") Long cardNum);
+    Integer getReplacedCount(@Param("cardNum") Long cardNum);
 
     /**
      * 鏍规嵁鍐滄埛濮撳悕鍜屾墜鏈哄彿鑾峰彇姘村崱鍒楄〃璁板綍鏁帮紝搴旂敤绋嬪簭浣跨敤
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeWaterTypeMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeWaterTypeMapper.java
new file mode 100644
index 0000000..8e663ae
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeWaterTypeMapper.java
@@ -0,0 +1,26 @@
+package com.dy.pipIrrGlobal.daoSe;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.dy.pipIrrGlobal.pojoSe.SeWaterType;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @author :WuZeYu
+ * @Date :2024/6/28  15:29
+ * @LastEditTime :2024/6/28  15:29
+ * @Description
+ */
+@Mapper
+public interface SeWaterTypeMapper extends BaseMapper<SeWaterType> {
+    int deleteByPrimaryKey(Long id);
+
+    int insert(SeWaterType record);
+
+    int insertSelective(SeWaterType record);
+
+    SeWaterType selectByPrimaryKey(Long id);
+
+    int updateByPrimaryKeySelective(SeWaterType record);
+
+    int updateByPrimaryKey(SeWaterType record);
+}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeWaterType.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeWaterType.java
new file mode 100644
index 0000000..80d6485
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeWaterType.java
@@ -0,0 +1,47 @@
+package com.dy.pipIrrGlobal.pojoSe;
+
+/**
+ * @author :WuZeYu
+ * @Date :2024/6/28  15:29
+ * @LastEditTime :2024/6/28  15:29
+ * @Description
+ */
+
+import com.alibaba.fastjson2.annotation.JSONField;
+import com.alibaba.fastjson2.writer.ObjectWriterImplToString;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.dy.common.po.BaseEntity;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import org.apache.logging.log4j.core.config.plugins.validation.constraints.NotBlank;
+
+/**
+ * 鐢ㄦ按绫诲瀷琛�
+ */
+@TableName(value="se_water_type", autoResultMap = true)
+@Data
+@Builder
+@ToString
+@NoArgsConstructor
+@AllArgsConstructor
+@Schema(name = "鐢ㄦ按绫诲瀷瀹炰綋")
+public class SeWaterType implements BaseEntity {
+    public static final long serialVersionUID = 202406281535001L;
+    /**
+     * 涓婚敭
+     */
+    @JSONField(serializeUsing= ObjectWriterImplToString.class)
+    @TableId(type = IdType.INPUT)
+    @Schema(description = "瀹炰綋id", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    private Long id;
+
+    /**
+    * 鐢ㄦ按绫诲瀷
+    */
+    @Schema(description = "鐢ㄦ按绫诲瀷", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    @NotBlank(message = "鐢ㄦ按绫诲瀷涓嶈兘涓虹┖")
+    private String typename;
+
+}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoClient.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoClient.java
index becefee..361fc6c 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoClient.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoClient.java
@@ -20,8 +20,6 @@
 public class VoClient implements BaseEntity {
     private static final long serialVersionUID = 1L;
 
-    @Schema(title = "ID")
-    private Long id;
 
     @Schema(title = "鍘縄D")
     private String countyId;
@@ -49,7 +47,7 @@
     private String divideName;
 
     @Schema(title = "鐢ㄦ埛绫诲瀷ID")
-    private String waterTypeId;
+    private String typeId;
     @Schema(title = "鐢ㄦ埛绫诲瀷鍚嶇О")
     private String waterTypeName;
 
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/init-config.xml b/pipIrr-platform/pipIrr-global/src/main/resources/init-config.xml
index c427921..f914f43 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/init-config.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/init-config.xml
@@ -24,6 +24,13 @@
                     <item4 item_name="controllerType" item_value="57" remarks="鎺у埗鍣ㄧ被鍨�"/>
                     <item5 item_name="protocolName" item_value="p206V202404" remarks="鍗忚鍚嶇О"/>
             </settings>
+            <waterTypes>
+                <item1 typeName="鐏屾簤鐢ㄦ按"/>
+                <item2 typeName="宸ヤ笟鐢ㄦ按"/>
+                <item3 typeName="鐢熸椿鐢ㄦ按"/>
+                <item4 typeName="鍏绘畺鐢ㄦ按"/>
+                <item5 typeName="缁垮寲鐢ㄦ按"/>
+            </waterTypes>
         </org1>
     </orgs>
 </config>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml
index 3114482..d9fa1de 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml
@@ -665,4 +665,16 @@
       </if>
     </where>
   </select>
+
+  <!--鏍规嵁姘村崱缂栧彿鑾峰彇鍏舵寕澶辨椂閫�娆鹃噾棰濓紙琛ュ崱鏃跺垽鏂娇鐢級-->
+  <select id="getTradeAmountByCardNo" resultType="java.lang.Double">
+    SELECT
+    ope.trade_amount AS tradeAmount
+    FROM se_client_card card
+    INNER JOIN se_card_operate ope ON ope.card_id = card.id
+    <where>
+      AND ope.operate_type = 6
+      AND card.cardNum = #{cardNum}
+    </where>
+  </select>
 </mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml
index 8a2ea9f..e3164a4 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml
@@ -435,12 +435,11 @@
     </trim>
   </select>
 
-  <!--鍒ゆ柇鎸囧畾姘村崱鏄惁涓烘寕澶辩姸鎬佷笖鏃犺ˉ鍗¤褰�-->
-  <select id="isLostAndUnreplaced" resultType="java.lang.Integer">
+  <!--鏍规嵁鎸囧畾姘村崱缂栧彿鑾峰彇鎸傚け浜嬭褰曟暟閲忥紙琛ュ崱銆佽В閿佷娇鐢級-->
+  <select id="getLostCount" resultType="java.lang.Integer">
     SELECT
         COUNT(*) AS recordCount
     FROM se_client_card card
-        INNER JOIN se_client_card card2 ON card2.original_card_id = card.cardNum
     <where>
       AND card.state = 3
       <if test = "cardNum != null and cardNum > 0">
@@ -448,6 +447,19 @@
       </if>
     </where>
   </select>
+
+  <!--鏍规嵁鎸囧畾姘村崱缂栧彿鑾峰彇宸茶ˉ鍗℃暟閲忥紙琛ュ崱銆佽В閿佷娇鐢級-->
+  <select id="getReplacedCount" resultType="java.lang.Integer">
+    SELECT
+        COUNT(*) AS recordCount
+    FROM se_client_card card
+        INNER JOIN se_client_card card2 ON card2.original_card_id = card.id
+    <where>
+      <if test = "cardNum != null and cardNum > 0">
+        AND card.cardNum = #{cardNum}
+      </if>
+    </where>
+  </select>
   <!--鏍规嵁鍐滄埛濮撳悕鍜屾墜鏈哄彿鑾峰彇姘村崱鍒楄〃璁板綍鏁帮紝搴旂敤绋嬪簭浣跨敤-->
   <select id="getCardsByClientNameAndPhoneCount" resultType="java.lang.Long">
     SELECT
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml
index 8236c83..fbf92a0 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml
@@ -333,7 +333,6 @@
   <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鍐滄埛鏁版嵁-->
   <select id="getClients" resultType="com.dy.pipIrrGlobal.voSe.VoClient">
     SELECT
-        (@i:=@i+1) AS id,
         CAST(cli.countyId AS char) AS countyId,
         dis_con.name AS countryName,
         CAST(cli.townId AS char) AS townId,
@@ -344,7 +343,7 @@
         blo.name AS blockName,
         CAST(cli.divideId AS char) AS divideId,
         divi.name AS divideName,
-        CAST(cli.typeId AS char) AS waterTypeId,
+        CAST(cli.typeId AS char) AS typeId,
         wat.typeName AS waterTypeName,
         CAST(cli.id AS char) AS clientId,
         cli.name,
@@ -363,7 +362,6 @@
     LEFT JOIN ba_block blo ON cli.blockId = blo.id
     LEFT JOIN pr_divide divi ON cli.divideId = divi.id
     LEFT JOIN se_water_type wat ON cli.typeId = wat.id
-    , (SELECT @i:=0) AS itable
     <where>
       AND cli.disabled = 0
       AND cli.deleted = 0
@@ -433,7 +431,7 @@
 
   <!--鑾峰彇鐢ㄦ按鏂瑰紡鍒楄〃-->
   <select id="getWaterTypes" resultType="java.util.Map">
-    SELECT id, typeName from se_water_type
+    SELECT CAST(se_water_type.id AS char) AS id, typeName from se_water_type
   </select>
 
   <!--鑾峰彇鍐滄埛鍩烘湰淇℃伅锛屽皬绋嬪簭棣栭〉浣跨敤-->
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeWaterTypeMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeWaterTypeMapper.xml
new file mode 100644
index 0000000..28b146d
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeWaterTypeMapper.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.dy.pipIrrGlobal.daoSe.SeWaterTypeMapper">
+  <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoSe.SeWaterType">
+    <!--@mbg.generated-->
+    <!--@Table se_water_type-->
+    <id column="id" jdbcType="BIGINT" property="id" />
+    <result column="typeName" jdbcType="VARCHAR" property="typename" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    <!--@mbg.generated-->
+    id, typeName
+  </sql>
+  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
+    <!--@mbg.generated-->
+    select 
+    <include refid="Base_Column_List" />
+    from se_water_type
+    where id = #{id,jdbcType=BIGINT}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
+    <!--@mbg.generated-->
+    delete from se_water_type
+    where id = #{id,jdbcType=BIGINT}
+  </delete>
+  <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoSe.SeWaterType">
+    <!--@mbg.generated-->
+    insert into se_water_type (id, typeName)
+    values (#{id,jdbcType=BIGINT}, #{typename,jdbcType=VARCHAR})
+  </insert>
+  <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoSe.SeWaterType">
+    <!--@mbg.generated-->
+    insert into se_water_type
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        id,
+      </if>
+      <if test="typename != null">
+        typeName,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=BIGINT},
+      </if>
+      <if test="typename != null">
+        #{typename,jdbcType=VARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoSe.SeWaterType">
+    <!--@mbg.generated-->
+    update se_water_type
+    <set>
+      <if test="typename != null">
+        typeName = #{typename,jdbcType=VARCHAR},
+      </if>
+    </set>
+    where id = #{id,jdbcType=BIGINT}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoSe.SeWaterType">
+    <!--@mbg.generated-->
+    update se_water_type
+    set typeName = #{typename,jdbcType=VARCHAR}
+    where id = #{id,jdbcType=BIGINT}
+  </update>
+</mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/district/DistrictCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/district/DistrictCtrl.java
index de48d21..d60bf3e 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/district/DistrictCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/district/DistrictCtrl.java
@@ -297,6 +297,7 @@
                 List<Map<String, Object>> list_towns = Optional.ofNullable(sv.getDistrictsBySupperId(countyId)).orElse(new ArrayList<>());
                 if (list_towns.size() > 0) {
                     array_towns = JSONArray.parseArray(JSON.toJSONString(list_towns));
+                    job_county.put("children", array_towns);
                     // 閬嶅巻姣忎竴涓晣锛屽皢闀囦笅鏉戝垪琛ㄥ姞鍒伴晣鐨勫瓙闆�
                     for (int j = 0; j < array_towns.size(); j++) {
                         JSONObject job_town = array_towns.getJSONObject(j);
@@ -310,7 +311,7 @@
                     //System.out.println("----" + array_towns);
                 }
                 // 闀囨潙缁勮瀹屾瘯锛屽皢闀囨潙鍔犲埌鍘夸笅
-                job_county.put("children", array_towns);
+//                job_county.put("children", array_towns);
             }
             // 鍘跨粍瑁呭畬姣�
             //String a = array_counties.toJSONString();
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/district/DistrictVo.java b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/district/DistrictVo.java
index 1f712ff..ec67ab5 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/district/DistrictVo.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/district/DistrictVo.java
@@ -25,7 +25,7 @@
 
     @Schema(description = "琛屾斂鍖虹紪鍙�", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotEmpty(message = "琛屾斂鍖虹紪鍙蜂笉鑳戒负绌�") //涓嶈兘涓虹┖涔熶笉鑳戒负null
-    @Length(message = "琛屾斂鍖虹紪鍙锋槸涓�浣嶆垨涓や綅鏁�", min = 1, max = 2)
+    @Length(message = "琛屾斂鍖虹紪鍙锋槸涓�浣嶆垨涓や綅鏁�", min = 1, max = 3)
     public String num ;
 
     @Schema(description = "琛屾斂鍖虹骇鍒�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/util/InitListener.java b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/util/InitListener.java
index 9779e1b..fd569a6 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/util/InitListener.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/util/InitListener.java
@@ -10,10 +10,12 @@
 import com.dy.pipIrrGlobal.daoBa.BaSettingsMapper;
 import com.dy.pipIrrGlobal.daoBa.BaUserMapper;
 import com.dy.pipIrrGlobal.daoSe.SePaymentMethodMapper;
+import com.dy.pipIrrGlobal.daoSe.SeWaterTypeMapper;
 import com.dy.pipIrrGlobal.pojoBa.BaDistrict;
 import com.dy.pipIrrGlobal.pojoBa.BaSettings;
 import com.dy.pipIrrGlobal.pojoBa.BaUser;
 import com.dy.pipIrrGlobal.pojoSe.SePaymentMethod;
+import com.dy.pipIrrGlobal.pojoSe.SeWaterType;
 import com.dy.pipIrrGlobal.util.DistrictLevel;
 import org.jdom2.Document;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -37,6 +39,7 @@
     private BaUserMapper userDao ;
     private SePaymentMethodMapper paymentMethodDao ;
     private BaSettingsMapper settingsDao ;
+    private SeWaterTypeMapper waterTypeDao ;
 
     @Autowired
     public void setDistriDao(BaDistrictMapper distriDao){
@@ -56,6 +59,11 @@
     @Autowired
     public void setSettingsDao(BaSettingsMapper settingsDao){
         this.settingsDao = settingsDao ;
+    }
+
+    @Autowired
+    public void setWaterTypeDao(SeWaterTypeMapper waterTypeDao){
+        this.waterTypeDao = waterTypeDao ;
     }
 
 
@@ -153,6 +161,18 @@
                             }
                         }
                     }
+                    if(!this.existWaterTypes()){
+                        if(configXml.existElement(doc, "config.orgs.org" + num + ".waterTypes")){
+                            for(int i = 1 ; i < 10000; i++){
+                                if(configXml.existElement(doc, "config.orgs.org" + num + ".waterTypes.item" + i)){
+                                    String typeName = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".waterTypes.item" + i,"typeName", null, false, null) ;
+                                    this.saveWaterType(orgTag, typeName);
+                                }else{
+                                    break ;
+                                }
+                            }
+                        }
+                    }
                 }else{
                     break ;
                 }
@@ -193,6 +213,15 @@
      */
     private boolean existSettings(){
         Long total = this.settingsDao.selectCount(null) ;
+        return (total != null && total > 0) ;
+    }
+
+    /**
+     * 鏁版嵁搴撲腑鏄惁瀛樺湪鐢ㄦ按绫诲瀷鏁版嵁
+     * @return 瀛樺湪鍚�
+     */
+    private boolean existWaterTypes(){
+        Long total = this.waterTypeDao.selectCount(null) ;
         return (total != null && total > 0) ;
     }
 
@@ -278,4 +307,18 @@
         }
     }
 
+
+    /**
+     * 淇濆瓨鐢ㄦ按绫诲瀷
+     * @param orgTag 鏈烘瀯鏍囩
+     * @param typeName 鍚嶇О
+     */
+    private void saveWaterType(String orgTag, String typeName) throws Exception{
+        if(typeName != null && !typeName.trim().equals("")){
+            SeWaterType po = new SeWaterType() ;
+            po.setTypename(typeName);
+            this.waterTypeDao.insert(po) ;
+        }
+    }
+
 }
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java
index bb54a18..7ff5012 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java
@@ -1,5 +1,7 @@
 package com.dy.pipIrrSell.cardOperate;
 
+import com.alibaba.fastjson2.JSON;
+import com.alibaba.fastjson2.JSONObject;
 import com.dy.common.aop.SsoAop;
 import com.dy.common.webUtil.BaseResponse;
 import com.dy.common.webUtil.BaseResponseUtils;
@@ -9,8 +11,10 @@
 import com.dy.pipIrrGlobal.pojoSe.SeCardOperate;
 import com.dy.pipIrrGlobal.pojoSe.SeClientCard;
 import com.dy.pipIrrGlobal.util.AmountToChinese;
-import com.dy.pipIrrGlobal.util.Constant;
-import com.dy.pipIrrGlobal.voSe.*;
+import com.dy.pipIrrGlobal.voSe.VoActiveCard;
+import com.dy.pipIrrGlobal.voSe.VoOperate;
+import com.dy.pipIrrGlobal.voSe.VoRecharge;
+import com.dy.pipIrrGlobal.voSe.VoReissueCard;
 import com.dy.pipIrrSell.cardOperate.converter.RechargeDtoMapper;
 import com.dy.pipIrrSell.cardOperate.dto.*;
 import com.dy.pipIrrSell.cardOperate.enums.OperateTypeENUM;
@@ -34,7 +38,6 @@
 import org.springframework.web.bind.annotation.*;
 
 import java.math.BigDecimal;
-import java.time.format.DateTimeFormatter;
 import java.util.*;
 
 /**
@@ -134,7 +137,9 @@
         seClientCard.setClientid(clientId);
         seClientCard.setMoney(amount);
         seClientCard.setState(CardStateENUM.NORMAL.getCode());
-        seClientCard.setOriginalCardId(originalCardId);
+        if(originalCardId != null) {
+            seClientCard.setOriginalCardId(originalCardId);
+        }
         seClientCard.setCreatedt(activeTime);
         seClientCard.setLastoper(LastOperateENUM.ACTIVE.getCode());
         Long cardId = Optional.ofNullable(clientCardSv.add(seClientCard)).orElse(0L) ;
@@ -194,15 +199,6 @@
      * @param bindingResult
      * @return
      */
-    @Operation(summary = "琛ュ崱", description = "琛ュ崱")
-    @ApiResponses(value = {
-            @ApiResponse(
-                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
-                    description = "鎿嶄綔缁撴灉锛歵rue锛氭垚鍔燂紝false锛氬け璐ワ紙BaseResponse.content锛�",
-                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
-                            schema = @Schema(implementation = Boolean.class))}
-            )
-    })
     @PostMapping(path = "reissue", consumes = MediaType.APPLICATION_JSON_VALUE)
     @Transactional(rollbackFor = Exception.class)
     @SsoAop()
@@ -218,6 +214,7 @@
          * cardId           鍘熸按鍗★紙鎸傚け姘村崱锛塈D锛岃浆绉讳綑棰濆悗闇�瑕佹洿鏂板崱浣欓涓�0
          * moeny            浣欓锛屾寕澶辨椂浣跨敤
          * cardCost         鍗$墖璐圭敤
+         * reissueAmount    閫�杩橀噾棰�
          * paymentId        鏀粯鏂瑰紡缂栧彿
          * remarks          澶囨敞
          * operator         鎿嶄綔浜虹紪鍙�
@@ -227,15 +224,32 @@
         String clientNum = "";
         Long cardNum = po.getCardNum();
         Long cardId = 0L;
-        Integer cardCost = po.getCardCost();
+        Integer cardCost = Optional.ofNullable(po.getCardCost()).orElse(0);
         Float reissueAmount = po.getReissueAmount();
         Long paymentId = po.getPaymentId();
         String remarks = po.getRemarks();
         Long operator = po.getOperator();
+        String protocol = null;
 
-        // 鍒ゆ柇褰撳墠姘村崱鏄惁涓烘寕澶辩姸鎬佷笖鏈ˉ鍗★紝浠呭凡缁忔寕澶卞叾鏈ˉ鍗$殑鍙互琛ュ崱
+        // 濡傛灉浼犲叆鐨勬槸10浣嶇殑姘村崱缂栧彿锛屽崌涓�17浣嶆按鍗$紪鍙�
+        String cardNumS = String.valueOf(cardNum).trim();
+        if(cardNumS.length() == 10) {
+            cardNumS = "100000" + cardNumS.substring(0,6) + "0" + cardNumS.substring(6);
+            protocol = "p206V1_0_1";
+        }
+        cardNum = Long.valueOf(cardNumS);
+
+        // 鍒ゆ柇褰撳墠姘村崱鏄惁涓烘寕澶辩姸鎬佷笖鏈ˉ鍗★紝浠呭凡缁忔寕澶变笖鏈ˉ鍗$殑鍙互琛ュ崱
         if(!cardOperateSv.isLostAndUnreplaced(cardNum)) {
-            return BaseResponseUtils.buildFail(SellResultCode.THE_CARD_NOT_SUPPORT_THIS_OPERATION.getMessage());
+            return BaseResponseUtils.buildErrorMsg(SellResultCode.THE_CARD_NOT_SUPPORT_THIS_OPERATION.getMessage());
+        }
+
+        // 濡傛灉浼犲叆浜嗛��杩橀噾棰濓紝闇�瑕佸垽鏂�佸崱锛堣鎸傚け鐨勬按鍗★級鎸傚け鏃舵槸鍚﹀凡缁忛��娆撅紝鏃犺閫�娆惧灏戦兘鎻愮ず鐢ㄦ埛鎸傚け鏃跺凡閫�娆�
+        if(reissueAmount != null) {
+            Double tradeAmount = cardOperateSv.getTradeAmountByCardNo(cardNum);
+            if(tradeAmount != null) {
+                return BaseResponseUtils.buildErrorMsg(SellResultCode.THE_FEE_CANNOT_BE_REFUNDED.getMessage());
+            }
         }
 
         /**
@@ -243,7 +257,7 @@
          */
         Map map = Optional.ofNullable(clientCardSv.getCardIdAndClientNum(cardNum)).orElse(new HashMap());
         if(map == null || map.size() <= 0) {
-            return BaseResponseUtils.buildFail(SellResultCode.CARD_NUMBER_MISTAKE.getMessage());
+            return BaseResponseUtils.buildErrorMsg(SellResultCode.CARD_NUMBER_MISTAKE.getMessage());
         }
         clientNum = map.get("clientNum").toString();
         cardId = Long.parseLong(map.get("cardId").toString());
@@ -251,18 +265,22 @@
         /**
          * 濡傛灉鏄ˉ鍗¤皟鐢ㄧ殑寮�鍗′笖杞Щ浜嗛��杩橀噾棰濓紝闇�淇敼鎸傚け鍗′綑棰濅负0
          */
-        SeClientCard seClientCard = new SeClientCard();
-        seClientCard.setId(cardId);
-        seClientCard.setMoney(0f);
-        cardOperateSv.updateClientCard(seClientCard);
+        if(reissueAmount != null) {
+            SeClientCard seClientCard = new SeClientCard();
+            seClientCard.setId(cardId);
+            seClientCard.setMoney(0f);
+            cardOperateSv.updateClientCard(seClientCard);
+        }
 
         /**
          * 娣诲姞寮�鍗¤褰曪紝閫�杩橀噾棰濆啿鍒版柊鍗′腑
          */
         DtoActiveCard dtoActiveCard = new DtoActiveCard();
+        dtoActiveCard.setProtocol(protocol);
         dtoActiveCard.setCardAddr(cardAddr);
         dtoActiveCard.setClientNum(clientNum);
-        dtoActiveCard.setOriginalCardId(cardNum);
+        dtoActiveCard.setOriginalCardId(cardId);
+        //dtoActiveCard.setOriginalCardId(cardNum);
         dtoActiveCard.setCardCost(cardCost);
         dtoActiveCard.setAmount(reissueAmount);
         dtoActiveCard.setPaymentId(paymentId);
@@ -271,14 +289,17 @@
         BaseResponse<java.lang.Boolean> baseResponse_addActive = add_active(dtoActiveCard, null);
 
         if(!baseResponse_addActive.getCode().equals("0001")) {
-            return BaseResponseUtils.buildFail(SellResultCode.REPLACE_FAIL_WRITE_RECHARGE_ERROR.getMessage());
+            return BaseResponseUtils.buildErrorMsg(SellResultCode.REPLACE_FAIL_WRITE_RECHARGE_ERROR.getMessage());
         }
 
-        String theContent = String.valueOf(baseResponse_addActive.getContent());
-        cardNum = Long.parseLong(theContent.substring(theContent.indexOf("=") + 1, theContent.indexOf(",")));
+        JSONObject job_content = (JSONObject) JSON.toJSON( baseResponse_addActive.getContent());
+        cardNum = job_content.getLong("cardNum");
+        String orderNumber = job_content.getString("orderNumber");
+        String projectNo = job_content.getString("projectNo");
 
         Map map_response = new HashMap();
-        map_response.put("projectCode", Constant.projectCode_ym);
+        map_response.put("projectNo", projectNo);
+        map_response.put("orderNumber", orderNumber);
         map_response.put("cardNum", cardNum);
         return BaseResponseUtils.buildSuccess(map_response) ;
     }
@@ -289,15 +310,6 @@
      * @param bindingResult
      * @return
      */
-    @Operation(summary = "鍏呭��", description = "鍏呭��")
-    @ApiResponses(value = {
-            @ApiResponse(
-                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
-                    description = "鎿嶄綔缁撴灉锛歵rue锛氭垚鍔燂紝false锛氬け璐ワ紙BaseResponse.content锛�",
-                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
-                            schema = @Schema(implementation = Boolean.class))}
-            )
-    })
     @PostMapping(path = "recharge", consumes = MediaType.APPLICATION_JSON_VALUE)
     @Transactional(rollbackFor = Exception.class)
     @SsoAop()
@@ -314,20 +326,10 @@
      * @param bindingResult
      * @return
      */
-    @Operation(summary = "娣诲姞娉ㄩ攢璁板綍", description = "娣诲姞娉ㄩ攢璁板綍")
-    @ApiResponses(value = {
-            @ApiResponse(
-                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
-                    description = "鎿嶄綔缁撴灉锛歵rue锛氭垚鍔燂紝false锛氬け璐ワ紙BaseResponse.content锛�",
-                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
-                            schema = @Schema(implementation = Boolean.class))}
-            )
-    })
     @PostMapping(path = "cancel", consumes = MediaType.APPLICATION_JSON_VALUE)
     @Transactional(rollbackFor = Exception.class)
     @SsoAop()
     public BaseResponse<Boolean> add_cancel(@RequestBody @Valid DtoCancel po, BindingResult bindingResult){
-        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
         if(bindingResult != null && bindingResult.hasErrors()){
             return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
         }
@@ -351,10 +353,17 @@
         Long operator = po.getOperator();
         Date cancelTime = new Date();
 
+        // 濡傛灉浼犲叆鐨勬槸10浣嶇殑姘村崱缂栧彿锛屽崌涓�17浣嶆按鍗$紪鍙�
+        String cardNumS = String.valueOf(cardNum).trim();
+        if(cardNumS.length() == 10) {
+            cardNumS = "100000" + cardNumS.substring(0,6) + "0" + cardNumS.substring(6);
+        }
+        cardNum = Long.valueOf(cardNumS);
+
         // 楠岃瘉姘村崱鐘舵�佹槸鍚︽敮鎸佸綋鍓嶆搷浣�
         String stateName = Optional.ofNullable(clientCardSv.getCardStateByCardNum(cardNum)).orElse("");
         if(stateName.length() == 0 || !stateName.equals("姝e父")) {
-            return BaseResponseUtils.buildFail(stateName + ", " + SellResultCode.THE_CARD_NOT_SUPPORT_THIS_OPERATION.getMessage());
+            return BaseResponseUtils.buildErrorMsg(stateName + ", " + SellResultCode.THE_CARD_NOT_SUPPORT_THIS_OPERATION.getMessage());
         }
 
         /**
@@ -362,7 +371,7 @@
          */
         Map map = Optional.ofNullable(clientCardSv.getCardIdAndClientNum(cardNum)).orElse(new HashMap());
         if(map == null || map.size() <= 0) {
-            return BaseResponseUtils.buildFail(SellResultCode.CARD_NUMBER_MISTAKE.getMessage());
+            return BaseResponseUtils.buildErrorMsg(SellResultCode.CARD_NUMBER_MISTAKE.getMessage());
         }
         cardId = Long.parseLong(map.get("cardId").toString());
         clientId = Long.parseLong(map.get("clientId").toString());
@@ -380,7 +389,7 @@
         seClientCard.setLastoper(LastOperateENUM.CANCEL.getCode());
         Integer rec_updateClientCard = Optional.ofNullable(clientCardSv.UpdateClientCard(seClientCard)).orElse(0);
         if(rec_updateClientCard == 0) {
-            return BaseResponseUtils.buildFail(SellResultCode.CANCEL_FAIL_WRITE_CLIENT_CARD_ERROR.getMessage());
+            return BaseResponseUtils.buildErrorMsg(SellResultCode.CANCEL_FAIL_WRITE_CLIENT_CARD_ERROR.getMessage());
         }
 
         /**
@@ -399,7 +408,7 @@
 
         Long rec = Optional.ofNullable(cardOperateSv.add(seCardOperate)).orElse(0L);
         if(rec == 0) {
-            return BaseResponseUtils.buildFail(SellResultCode.CANCEL_FAIL_WRITE_CANCELL_ERROR.getMessage());
+            return BaseResponseUtils.buildErrorMsg(SellResultCode.CANCEL_FAIL_WRITE_CANCELL_ERROR.getMessage());
         }
 
         return BaseResponseUtils.buildSuccess(true) ;
@@ -411,15 +420,6 @@
      * @param bindingResult
      * @return
      */
-    @Operation(summary = "娣诲姞鎸傚け璁板綍", description = "娣诲姞鎸傚け璁板綍")
-    @ApiResponses(value = {
-            @ApiResponse(
-                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
-                    description = "鎿嶄綔缁撴灉锛歵rue锛氭垚鍔燂紝false锛氬け璐ワ紙BaseResponse.content锛�",
-                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
-                            schema = @Schema(implementation = Boolean.class))}
-            )
-    })
     @PostMapping(path = "loss", consumes = MediaType.APPLICATION_JSON_VALUE)
     @Transactional(rollbackFor = Exception.class)
     @SsoAop()
@@ -431,7 +431,7 @@
         /**
          * cardId           姘村崱缂栧彿锛堥潪浼犲叆鍙傛暟锛岀敱cardNum鍙嶆煡锛�
          * clientId         鍐滄埛缂栧彿锛堥潪浼犲叆鍙傛暟锛岀敱cardNum鍙嶆煡锛�
-         * cardNum          姘村崱缂栧彿
+         * cardNum          瑕佹寕澶辩殑姘村崱缂栧彿
          * money            浣欓
          * refund           閫�娆鹃噾棰�
          * remarks          澶囨敞
@@ -441,16 +441,23 @@
         Long cardId = 0L;
         Long clientId = 0L;
         Long cardNum = po.getCardNum();
-        Float money = po.getMoney();
-        Float refund = po.getRefund();
+        Float money = Optional.ofNullable(po.getMoney()).orElse(0f);
+        Float refund = Optional.ofNullable(po.getRefund()).orElse(0f);
         String remarks = po.getRemarks();
         Long operator = po.getOperator();
         Date lossTime = new Date();
 
+        // 濡傛灉浼犲叆鐨勬槸10浣嶇殑姘村崱缂栧彿锛屽崌涓�17浣嶆按鍗$紪鍙�
+        String cardNumS = String.valueOf(cardNum).trim();
+        if(cardNumS.length() == 10) {
+            cardNumS = "100000" + cardNumS.substring(0,6) + "0" + cardNumS.substring(6);
+        }
+        cardNum = Long.valueOf(cardNumS);
+
         // 楠岃瘉姘村崱鐘舵�佹槸鍚︽敮鎸佸綋鍓嶆搷浣�
         String stateName = Optional.ofNullable(clientCardSv.getCardStateByCardNum(cardNum)).orElse("");
         if(stateName.length() == 0 || !stateName.equals("姝e父")) {
-            return BaseResponseUtils.buildFail(stateName + ", " + SellResultCode.THE_CARD_NOT_SUPPORT_THIS_OPERATION.getMessage());
+            return BaseResponseUtils.buildErrorMsg(stateName + ", " + SellResultCode.THE_CARD_NOT_SUPPORT_THIS_OPERATION.getMessage());
         }
 
         /**
@@ -458,15 +465,17 @@
          */
         Map map = Optional.ofNullable(clientCardSv.getCardIdAndClientNum(cardNum)).orElse(new HashMap());
         if(map == null || map.size() <= 0) {
-            return BaseResponseUtils.buildFail(SellResultCode.CARD_NUMBER_MISTAKE.getMessage());
+            return BaseResponseUtils.buildErrorMsg(SellResultCode.CARD_NUMBER_MISTAKE.getMessage());
         }
         cardId = Long.parseLong(map.get("cardId").toString());
         clientId = Long.parseLong(map.get("clientId").toString());
 
         /**
          * 淇敼鍐滄埛鍗′俊鎭細
-         *      鎸傚け鏃堕棿
-         *      鏈�鍚庢搷浣滅被鍨�-4
+         *  浣欓
+         *  鎸傚け鏃堕棿
+         *  鐘舵��
+         *  鏈�鍚庢搷浣滅被鍨�-6
          */
         SeClientCard seClientCard = new SeClientCard();
         seClientCard.setId(cardId);
@@ -476,11 +485,12 @@
         seClientCard.setLastoper(LastOperateENUM.LOSS.getCode());
         Integer rec_updateClientCard = Optional.ofNullable(clientCardSv.UpdateClientCard(seClientCard)).orElse(0);
         if(rec_updateClientCard == 0) {
-            return BaseResponseUtils.buildFail(SellResultCode.LOSS_FAIL_WRITE_CLIENT_CARD_ERROR.getMessage());
+            return BaseResponseUtils.buildErrorMsg(SellResultCode.LOSS_FAIL_WRITE_CLIENT_CARD_ERROR.getMessage());
         }
 
         /**
          * 娣诲姞鎸傚け璁板綍
+         * 濡傛灉閫�娆鹃噾棰濅笉涓虹┖锛屽垯浼犲叆璐熷��
          */
         SeCardOperate seCardOperate = new SeCardOperate();
         seCardOperate.setCardId(cardId);
@@ -494,7 +504,7 @@
         seCardOperate.setOperateDt(lossTime);
         Long rec = Optional.ofNullable(cardOperateSv.add(seCardOperate)).orElse(0L);
         if(rec == 0) {
-            return BaseResponseUtils.buildFail(SellResultCode.LOSS_FAIL_WRITE_LOSS_ERROR.getMessage());
+            return BaseResponseUtils.buildErrorMsg(SellResultCode.LOSS_FAIL_WRITE_LOSS_ERROR.getMessage());
         }
 
         return BaseResponseUtils.buildSuccess(true) ;
@@ -506,15 +516,6 @@
      * @param bindingResult
      * @return
      */
-    @Operation(summary = "娣诲姞鍐叉璁板綍", description = "娣诲姞鍐叉璁板綍")
-    @ApiResponses(value = {
-            @ApiResponse(
-                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
-                    description = "鎿嶄綔缁撴灉锛歵rue锛氭垚鍔燂紝false锛氬け璐ワ紙BaseResponse.content锛�",
-                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
-                            schema = @Schema(implementation = Boolean.class))}
-            )
-    })
     @PostMapping(path = "reversal", consumes = MediaType.APPLICATION_JSON_VALUE)
     @Transactional(rollbackFor = Exception.class)
     @SsoAop()
@@ -542,10 +543,17 @@
         Long operator = po.getOperator();
         Date reversalTime = new Date();
 
+        // 濡傛灉浼犲叆鐨勬槸10浣嶇殑姘村崱缂栧彿锛屽崌涓�17浣嶆按鍗$紪鍙�
+        String cardNumS = String.valueOf(cardNum).trim();
+        if(cardNumS.length() == 10) {
+            cardNumS = "100000" + cardNumS.substring(0,6) + "0" + cardNumS.substring(6);
+        }
+        cardNum = Long.valueOf(cardNumS);
+
         // 楠岃瘉姘村崱鐘舵�佹槸鍚︽敮鎸佸綋鍓嶆搷浣�
         String stateName = Optional.ofNullable(clientCardSv.getCardStateByCardNum(cardNum)).orElse("");
         if(stateName.length() == 0 || !stateName.equals("姝e父")) {
-            return BaseResponseUtils.buildFail(stateName + ", " + SellResultCode.THE_CARD_NOT_SUPPORT_THIS_OPERATION.getMessage());
+            return BaseResponseUtils.buildErrorMsg(stateName + ", " + SellResultCode.THE_CARD_NOT_SUPPORT_THIS_OPERATION.getMessage());
         }
 
         /**
@@ -553,7 +561,7 @@
          */
         Map map = Optional.ofNullable(clientCardSv.getCardIdAndClientNum(cardNum)).orElse(new HashMap());
         if(map == null || map.size() <= 0) {
-            return BaseResponseUtils.buildFail(SellResultCode.CARD_NUMBER_MISTAKE.getMessage());
+            return BaseResponseUtils.buildErrorMsg(SellResultCode.CARD_NUMBER_MISTAKE.getMessage());
         }
         cardId = Long.parseLong(map.get("cardId").toString());
         clientId = Long.parseLong(map.get("clientId").toString());
@@ -570,7 +578,7 @@
         seClientCard.setLastoper(LastOperateENUM.REVERSAL.getCode());
         Integer rec_updateClientCard = Optional.ofNullable(clientCardSv.UpdateClientCard(seClientCard)).orElse(0);
         if(rec_updateClientCard == 0) {
-            return BaseResponseUtils.buildFail(SellResultCode.RECHARGE_FAIL_WRITE_CLIENT_CARD_ERROR.getMessage());
+            return BaseResponseUtils.buildErrorMsg(SellResultCode.RECHARGE_FAIL_WRITE_CLIENT_CARD_ERROR.getMessage());
         }
 
         /**
@@ -587,7 +595,7 @@
         seCardOperate.setOperateDt(reversalTime);
         Long rec = Optional.ofNullable(cardOperateSv.add(seCardOperate)).orElse(0L);
         if(rec == 0) {
-            return BaseResponseUtils.buildFail(SellResultCode.REVERSAL_FAIL_WRITE_REVERSAL_ERROR.getMessage());
+            return BaseResponseUtils.buildErrorMsg(SellResultCode.REVERSAL_FAIL_WRITE_REVERSAL_ERROR.getMessage());
         }
 
         return BaseResponseUtils.buildSuccess(true) ;
@@ -599,15 +607,6 @@
      * @param bindingResult
      * @return
      */
-    @Operation(summary = "琛ユ墸", description = "琛ユ墸")
-    @ApiResponses(value = {
-            @ApiResponse(
-                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
-                    description = "鎿嶄綔缁撴灉锛歵rue锛氭垚鍔燂紝false锛氬け璐ワ紙BaseResponse.content锛�",
-                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
-                            schema = @Schema(implementation = Boolean.class))}
-            )
-    })
     @PostMapping(path = "refund", consumes = MediaType.APPLICATION_JSON_VALUE)
     @Transactional(rollbackFor = Exception.class)
     @SsoAop()
@@ -635,10 +634,17 @@
         Long operator = po.getOperator();
         Date refundTime = new Date();
 
+        // 濡傛灉浼犲叆鐨勬槸10浣嶇殑姘村崱缂栧彿锛屽崌涓�17浣嶆按鍗$紪鍙�
+        String cardNumS = String.valueOf(cardNum).trim();
+        if(cardNumS.length() == 10) {
+            cardNumS = "100000" + cardNumS.substring(0,6) + "0" + cardNumS.substring(6);
+        }
+        cardNum = Long.valueOf(cardNumS);
+
         // 楠岃瘉姘村崱鐘舵�佹槸鍚︽敮鎸佸綋鍓嶆搷浣�
         String stateName = Optional.ofNullable(clientCardSv.getCardStateByCardNum(cardNum)).orElse("");
         if(stateName.length() == 0 || !stateName.equals("姝e父")) {
-            return BaseResponseUtils.buildFail(stateName + ", " + SellResultCode.THE_CARD_NOT_SUPPORT_THIS_OPERATION.getMessage());
+            return BaseResponseUtils.buildErrorMsg(stateName + ", " + SellResultCode.THE_CARD_NOT_SUPPORT_THIS_OPERATION.getMessage());
         }
 
         /**
@@ -646,7 +652,7 @@
          */
         Map map = Optional.ofNullable(clientCardSv.getCardIdAndClientNum(cardNum)).orElse(new HashMap());
         if(map == null || map.size() <= 0) {
-            return BaseResponseUtils.buildFail(SellResultCode.CARD_NUMBER_MISTAKE.getMessage());
+            return BaseResponseUtils.buildErrorMsg(SellResultCode.CARD_NUMBER_MISTAKE.getMessage());
         }
         cardId = Long.parseLong(map.get("cardId").toString());
         clientId = Long.parseLong(map.get("clientId").toString());
@@ -663,7 +669,7 @@
         seClientCard.setLastoper(LastOperateENUM.REFUND.getCode());
         Integer rec_updateClientCard = Optional.ofNullable(clientCardSv.UpdateClientCard(seClientCard)).orElse(0);
         if(rec_updateClientCard == 0) {
-            return BaseResponseUtils.buildFail(SellResultCode.RECHARGE_FAIL_WRITE_CLIENT_CARD_ERROR.getMessage());
+            return BaseResponseUtils.buildErrorMsg(SellResultCode.RECHARGE_FAIL_WRITE_CLIENT_CARD_ERROR.getMessage());
         }
 
         /**
@@ -681,7 +687,7 @@
         seCardOperate.setOperateDt(refundTime);
         Long rec = Optional.ofNullable(cardOperateSv.add(seCardOperate)).orElse(0L);
         if(rec == 0) {
-            return BaseResponseUtils.buildFail(SellResultCode.REFUND_FAIL_WRITE_REFUND_ERROR.getMessage());
+            return BaseResponseUtils.buildErrorMsg(SellResultCode.REFUND_FAIL_WRITE_REFUND_ERROR.getMessage());
         }
 
         return BaseResponseUtils.buildSuccess(true) ;
@@ -693,20 +699,10 @@
      * @param bindingResult
      * @return
      */
-    @Operation(summary = "娣诲姞瑙i攣璁板綍", description = "娣诲姞瑙i攣璁板綍")
-    @ApiResponses(value = {
-            @ApiResponse(
-                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
-                    description = "鎿嶄綔缁撴灉锛歵rue锛氭垚鍔燂紝false锛氬け璐ワ紙BaseResponse.content锛�",
-                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
-                            schema = @Schema(implementation = Boolean.class))}
-            )
-    })
     @PostMapping(path = "unlock", consumes = MediaType.APPLICATION_JSON_VALUE)
     @Transactional(rollbackFor = Exception.class)
     @SsoAop()
     public BaseResponse<Boolean> add_unlock(@RequestBody @Valid DtoUnlock po, BindingResult bindingResult){
-        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
         if(bindingResult != null && bindingResult.hasErrors()){
             return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
         }
@@ -728,9 +724,16 @@
         Long operator = po.getOperator();
         Date unlockTime = new Date();
 
+        // 濡傛灉浼犲叆鐨勬槸10浣嶇殑姘村崱缂栧彿锛屽崌涓�17浣嶆按鍗$紪鍙�
+        String cardNumS = String.valueOf(cardNum).trim();
+        if(cardNumS.length() == 10) {
+            cardNumS = "100000" + cardNumS.substring(0,6) + "0" + cardNumS.substring(6);
+        }
+        cardNum = Long.valueOf(cardNumS);
+
         // 鍒ゆ柇褰撳墠姘村崱鏄惁涓烘寕澶辩姸鎬佷笖鏈ˉ鍗★紝浠呭凡缁忔寕澶卞叾鏈ˉ鍗$殑鍙互瑙i攣
         if(!cardOperateSv.isLostAndUnreplaced(cardNum)) {
-            return BaseResponseUtils.buildFail(SellResultCode.THE_CARD_NOT_SUPPORT_THIS_OPERATION.getMessage());
+            return BaseResponseUtils.buildErrorMsg(SellResultCode.THE_CARD_NOT_SUPPORT_THIS_OPERATION.getMessage());
         }
 
         /**
@@ -738,7 +741,7 @@
          */
         Map map = Optional.ofNullable(clientCardSv.getCardIdAndClientNum(cardNum)).orElse(new HashMap());
         if(map == null || map.size() <= 0) {
-            return BaseResponseUtils.buildFail(SellResultCode.CARD_NUMBER_MISTAKE.getMessage());
+            return BaseResponseUtils.buildErrorMsg(SellResultCode.CARD_NUMBER_MISTAKE.getMessage());
         }
         cardId = Long.parseLong(map.get("cardId").toString());
         clientId = Long.parseLong(map.get("clientId").toString());
@@ -756,7 +759,7 @@
         seClientCard.setLastoper(LastOperateENUM.UNLOCK.getCode());
         Integer rec_updateClientCard = Optional.ofNullable(clientCardSv.UpdateClientCard(seClientCard)).orElse(0);
         if(rec_updateClientCard == 0) {
-            return BaseResponseUtils.buildFail(SellResultCode.UNLOCK_FAIL_WRITE_CLIENT_CARD_ERROR.getMessage());
+            return BaseResponseUtils.buildErrorMsg(SellResultCode.UNLOCK_FAIL_WRITE_CLIENT_CARD_ERROR.getMessage());
         }
 
         /**
@@ -772,7 +775,7 @@
         seCardOperate.setOperateDt(unlockTime);
         Long rec = Optional.ofNullable(cardOperateSv.add(seCardOperate)).orElse(0L);
         if(rec == 0) {
-            return BaseResponseUtils.buildFail(SellResultCode.UNLOCK_FAIL_WRITE_UNLOCK_ERROR.getMessage());
+            return BaseResponseUtils.buildErrorMsg(SellResultCode.UNLOCK_FAIL_WRITE_UNLOCK_ERROR.getMessage());
         }
 
         return BaseResponseUtils.buildSuccess(true) ;
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java
index d9f02e0..180bfe9 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java
@@ -150,11 +150,17 @@
         Long operator = po.getOperator();
         Date rechargeTime = new Date();
 
+        // 濡傛灉浼犲叆鐨勬槸10浣嶇殑姘村崱缂栧彿锛屽崌涓�17浣嶆按鍗$紪鍙�
+        String cardNumS = String.valueOf(cardNum).trim();
+        if(cardNumS.length() == 10) {
+            cardNumS = "100000" + cardNumS.substring(0,6) + "0" + cardNumS.substring(6);
+        }
+        cardNum = Long.valueOf(cardNumS);
 
         // 楠岃瘉姘村崱鐘舵�佹槸鍚︽敮鎸佸綋鍓嶆搷浣�
         String stateName = Optional.ofNullable(clientCardSv.getCardStateByCardNum(cardNum)).orElse("");
         if(stateName.length() == 0 || !stateName.equals("姝e父")) {
-            return BaseResponseUtils.buildFail(stateName + ", " + SellResultCode.THE_CARD_NOT_SUPPORT_THIS_OPERATION.getMessage());
+            return BaseResponseUtils.buildErrorMsg(stateName + ", " + SellResultCode.THE_CARD_NOT_SUPPORT_THIS_OPERATION.getMessage());
         }
 
         /**
@@ -162,7 +168,7 @@
          */
         Map map = Optional.ofNullable(clientCardSv.getCardIdAndClientNum(cardNum)).orElse(new HashMap());
         if(map == null || map.size() <= 0) {
-            return BaseResponseUtils.buildFail(SellResultCode.CARD_NUMBER_MISTAKE.getMessage());
+            return BaseResponseUtils.buildErrorMsg(SellResultCode.CARD_NUMBER_MISTAKE.getMessage());
         }
         cardId = Long.parseLong(map.get("cardId").toString());
         clientId = Long.parseLong(map.get("clientId").toString());
@@ -179,7 +185,7 @@
         seClientCard.setLastoper(LastOperateENUM.RECHARGE.getCode ());
         Integer rec_updateClientCard = Optional.ofNullable(clientCardSv.UpdateClientCard(seClientCard)).orElse(0);
         if(rec_updateClientCard == 0) {
-            return BaseResponseUtils.buildFail(SellResultCode.RECHARGE_FAIL_WRITE_CLIENT_CARD_ERROR.getMessage());
+            return BaseResponseUtils.buildErrorMsg(SellResultCode.RECHARGE_FAIL_WRITE_CLIENT_CARD_ERROR.getMessage());
         }
 
         /**
@@ -201,7 +207,7 @@
         seCardOperateMapper.insert(seCardOperate);
         Long rec = Optional.ofNullable(seCardOperate.getId()).orElse(0L);
         if(rec == 0) {
-            return BaseResponseUtils.buildFail(SellResultCode.REPLACE_FAIL_WRITE_RECHARGE_ERROR.getMessage());
+            return BaseResponseUtils.buildErrorMsg(SellResultCode.REPLACE_FAIL_WRITE_RECHARGE_ERROR.getMessage());
         }
 
         return BaseResponseUtils.buildSuccess(true) ;
@@ -430,11 +436,12 @@
      * @return 鏄惁宸叉寕澶辨湭琛ュ崱
      */
     public Boolean isLostAndUnreplaced(Long cardNum) {
-        Integer rec = seClientCardMapper.isLostAndUnreplaced(cardNum);
-        if(rec != null && rec > 0) {
-            return false;
+        Integer lostCount = seClientCardMapper.getLostCount(cardNum);
+        Integer replacedCount = seClientCardMapper.getReplacedCount(cardNum);
+        if(lostCount > 0 && replacedCount == 0) {
+            return true;
         }
-        return true;
+        return false;
     }
 
     /**
@@ -453,4 +460,13 @@
     public String getProjectNo() {
         return baSettingsMapper.getItemValue("projectNo");
     }
+
+    /**
+     * 鏍规嵁姘村崱缂栧彿鑾峰彇鍏舵寕澶辨椂閫�娆鹃噾棰濓紙琛ュ崱鏃跺垽鏂娇鐢級
+     * @param cardNum
+     * @return
+     */
+    public Double getTradeAmountByCardNo(Long cardNum) {
+        return seCardOperateMapper.getTradeAmountByCardNo(cardNum);
+    }
 }
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoLoss.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoLoss.java
index ac389b7..535f76d 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoLoss.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoLoss.java
@@ -1,9 +1,7 @@
 package com.dy.pipIrrSell.cardOperate.dto;
 
 import io.swagger.v3.oas.annotations.media.Schema;
-import jakarta.validation.constraints.Min;
 import jakarta.validation.constraints.NotNull;
-import jakarta.validation.constraints.Positive;
 import lombok.*;
 
 /**
@@ -23,7 +21,7 @@
     public static final long serialVersionUID = 202401191033001L;
 
     /**
-     * 姘村崱缂栧彿
+     * 瑕佹寕澶辩殑姘村崱缂栧彿
      */
     @Schema(description = "姘村崱缂栧彿", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
     @NotNull(message = "姘村崱缂栧彿涓嶈兘涓虹┖")
@@ -33,14 +31,12 @@
      * 浣欓
      */
     @Schema(description = "浣欓", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    @Min(value = 0, message="浣欓涓嶈兘灏忎簬0")
     private Float money;
 
     /**
      * 閫�娆鹃噾棰�
      */
     @Schema(description = "閫�娆鹃噾棰�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    @Min(value = 0, message="閫�娆鹃噾棰濅笉鑳藉皬浜�0")
     private Float refund;
 
     /**
@@ -53,6 +49,5 @@
      * 鎿嶄綔浜虹紪鍙�
      */
     @Schema(description = "鎿嶄綔浜虹紪鍙�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    @Positive(message = "鎿嶄綔浜虹紪鍙峰繀椤讳负澶т簬0鐨勬暣鏁�")
     private Long operator;
 }
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoReissue.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoReissue.java
index 935a761..0b634e9 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoReissue.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoReissue.java
@@ -1,9 +1,8 @@
 package com.dy.pipIrrSell.cardOperate.dto;
 
 import io.swagger.v3.oas.annotations.media.Schema;
-import jakarta.validation.constraints.Min;
 import jakarta.validation.constraints.NotBlank;
-import jakarta.validation.constraints.Positive;
+import jakarta.validation.constraints.NotNull;
 import lombok.*;
 
 /**
@@ -32,6 +31,7 @@
      * 姘村崱缂栧彿锛屼笉鏄紑鍗℃帴鍙d紶鍏ワ紝鐢卞啘鎴风紪鍙疯幏寰楋紝鍏呭�奸渶瑕�
      */
     @Schema(description = "姘村崱缂栧彿", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    @NotNull(message = "姘村崱缂栧彿涓嶈兘涓虹┖")
     private Long cardNum;
 
     /**
@@ -45,21 +45,19 @@
      * 鍗$墖璐圭敤
      */
     @Schema(description = "鍗$墖璐圭敤", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    @Positive(message = "鍗$墖璐圭敤蹇呴』涓哄ぇ浜�0鐨勬暣鏁�")
     private Integer cardCost;
 
     /**
      * 閫�杩橀噾棰濓紝琛ュ紑鍗℃椂鍏呭�肩敤
      */
     @Schema(description = "閫�杩橀噾棰�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    @Min(value = 0, message="閫�杩橀噾棰濅笉鑳藉皬浜�0")
     private Float reissueAmount;
 
     /**
      * 鏀粯鏂瑰紡缂栧彿
      */
     @Schema(description = "鏀粯鏂瑰紡缂栧彿", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    @Positive(message = "鏀粯鏂瑰紡缂栧彿蹇呴』涓哄ぇ浜�0鐨勬暣鏁�")
+    @NotNull(message = "鏀粯鏂瑰紡涓嶈兘涓虹┖")
     private Long paymentId;
 
     /**
@@ -72,6 +70,6 @@
      * 鎿嶄綔浜虹紪鍙�
      */
     @Schema(description = "鎿嶄綔浜虹紪鍙�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    @Positive(message = "鎿嶄綔浜虹紪鍙峰繀椤讳负澶т簬0鐨勬暣鏁�")
+    @NotNull(message = "鎿嶄綔浜轰笉鑳戒负绌�")
     private Long operator;
 }
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/SeClientToVoClient.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/SeClientToVoClient.java
index dfd265e..48f06fd 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/SeClientToVoClient.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/SeClientToVoClient.java
@@ -24,5 +24,6 @@
     //@Mapping(target = "cardCount", source = "cardCount")
     @Mapping(target = "address", source = "address")
     @Mapping(target = "operateDt", source = "operatedt")
+    @Mapping(target = "typeId", source = "typeid")
     VoClient po2vo(SeClient po);
 }
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardSv.java
index 41af87c..dfaef27 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardSv.java
@@ -110,8 +110,7 @@
      * @return
      */
     public String getCardStateByCardNum(Long cardNum) {
-        String stateName = Optional.ofNullable(seClientCardMapper.getCardStateByCardNum(cardNum)).orElse("");
-        return stateName;
+        return Optional.ofNullable(seClientCardMapper.getCardStateByCardNum(cardNum)).orElse("");
     }
 
     /**
@@ -170,4 +169,6 @@
 
         return rsVo ;
     }
+
+
 }
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/result/SellResultCode.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/result/SellResultCode.java
index c5eaca0..23112df 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/result/SellResultCode.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/result/SellResultCode.java
@@ -34,6 +34,8 @@
     THE_CARD_NOT_EXIST(10012, "娌℃湁绗﹀悎鏉′欢鐨勬按鍗�"),
     THE_CARD_NOT_SUPPORT_THIS_OPERATION(10013, "姘村崱鐘舵�佷笉鏀寔褰撳墠鎿嶄綔"),
 
+    THE_FEE_CANNOT_BE_REFUNDED(10014, "鍘熷崱鎸傚け鏃跺凡閫�娆撅紝琛ュ崱鏃朵笉鑳借ˉ璐圭敤"),
+
     /**
      * 鍏呭��
      */

--
Gitblit v1.8.0