From c8934e53e8477189927da76b51177808f21a6348 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期二, 10 九月 2024 11:16:16 +0800
Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV

---
 pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockSv.java                     |   35 +++++++
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/LastOperateENUM.java        |    4 
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrDivideMapper.xml                                        |   13 ++
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoTradeDetails.java                          |   64 +++++++++++-
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java         |   39 +++++++
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voPr/VoSimpleDivide.java                          |   28 +++++
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml                                   |   12 +-
 pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockCtrl.java                   |   15 +++
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java       |   31 +++---
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrDivideMapper.java                         |    8 +
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/enums/OperateTypeENUM.java |    4 
 pipIrr-platform/pipIrr-global/src/main/resources/init-config.xml                                                  |    1 
 12 files changed, 217 insertions(+), 37 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrDivideMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrDivideMapper.java
index c267e59..aed83e1 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrDivideMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrDivideMapper.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.dy.pipIrrGlobal.pojoPr.PrDivide;
 import com.dy.pipIrrGlobal.voPr.VoDivide;
+import com.dy.pipIrrGlobal.voPr.VoSimpleDivide;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -56,4 +57,11 @@
      * @return
      */
     Long getBlockIdById(@Param("divideId") Long divideId);
+
+    /**
+     * 鏍规嵁鐗囧尯ID鑾峰彇鍒嗘按鎴垮垪琛�
+     * @param blockId
+     * @return
+     */
+    List<VoSimpleDivide> getDividesByBlockId(Long blockId);
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voPr/VoSimpleDivide.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voPr/VoSimpleDivide.java
new file mode 100644
index 0000000..421feba
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voPr/VoSimpleDivide.java
@@ -0,0 +1,28 @@
+package com.dy.pipIrrGlobal.voPr;
+
+import com.alibaba.fastjson2.annotation.JSONField;
+import com.alibaba.fastjson2.writer.ObjectWriterImplToString;
+import lombok.Data;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-09-09 20:05
+ * @LastEditTime 2024-09-09 20:05
+ * @Description
+ */
+
+@Data
+public class VoSimpleDivide {
+    private static final long serialVersionUID = 202409092005001L;
+
+    /**
+     * 鍒嗘按鎴縄D
+     */
+    @JSONField(serializeUsing= ObjectWriterImplToString.class)
+    private Long value;
+
+    /**
+     * 鍒嗘按鎴垮悕绉�
+     */
+    private String label;
+}
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoTradeDetails.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoTradeDetails.java
index 559f77e..95468e4 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoTradeDetails.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoTradeDetails.java
@@ -5,9 +5,10 @@
 import com.alibaba.excel.annotation.write.style.ColumnWidth;
 import com.alibaba.excel.annotation.write.style.ContentRowHeight;
 import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import com.alibaba.fastjson2.annotation.JSONField;
+import com.alibaba.fastjson2.writer.ObjectWriterImplToString;
 import com.dy.common.po.BaseEntity;
 import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
 
@@ -21,64 +22,111 @@
  */
 
 @Data
-@JsonPropertyOrder({ "cashierId", "villageId", "clientNum", "districtTitle", "clientName", "phone", "operateType", "tradeAmount", "waterCost", "cardCost", "gift", "refundAmount", "paymentName", "tradeTime"})
+@JsonPropertyOrder({"cardNum", "cashierId", "villageId", "clientNum", "districtTitle", "clientName", "phone", "operateType", "tradeAmount", "waterCost", "cardCost", "gift", "refundAmount", "paymentName", "tradeTime"})
 @HeadRowHeight(30)
 @ContentRowHeight(20)
 public class VoTradeDetails implements BaseEntity {
     private static final long serialVersionUID = 202402012040001L;
 
-    @Schema(title = "鏀堕摱鍛業D")
-    @ExcelIgnore
-    private String cashierId;
+    /**
+     * 姘村崱缂栧彿
+     */
+    @JSONField(serializeUsing= ObjectWriterImplToString.class)
+    private Long cardNum;
 
-    @Schema(title = "鏉戝簞ID")
+    /**
+     * 鏀堕摱鍛業D
+     */
+    @JSONField(serializeUsing= ObjectWriterImplToString.class)
     @ExcelIgnore
-    private String villageId;
+    private Long cashierId;
 
-    @Schema(title = "鍐滄埛缂栧彿")
+    /**
+     * 鏉戝簞ID
+     */
+    @JSONField(serializeUsing= ObjectWriterImplToString.class)
+    @ExcelIgnore
+    private Long villageId;
+
+    /**
+     * 鍐滄埛缂栧彿
+     */
     @ExcelIgnore
     private String clientNum;
 
+    /**
+     * 鏉戝簞鍚嶇О
+     */
     @ExcelProperty(value = {"${title}", "鏉戝簞鍚嶇О"})
     @ColumnWidth(20)
     private String districtTitle;
 
+    /**
+     * 鍐滄埛濮撳悕
+     */
     @ExcelProperty(value = {"${title}", "鍐滄埛濮撳悕"})
     @ColumnWidth(15)
     private String clientName;
 
+    /**
+     * 鑱旂郴鐢佃瘽
+     */
     @ExcelProperty(value = {"${title}", "鑱旂郴鐢佃瘽"})
     @ColumnWidth(15)
     private String phone;
 
+    /**
+     * 涓氬姟绫诲瀷
+     */
     @ExcelProperty(value = {"${title}", "涓氬姟绫诲瀷"})
     @ColumnWidth(15)
     private String operateType;
 
+    /**
+     * 浜ゆ槗閲戦
+     */
     @ExcelProperty(value = {"${title}", "浜ゆ槗閲戦"})
     @ColumnWidth(15)
     private Double tradeAmount;
 
+    /**
+     * 璐按閲戦
+     */
     @ExcelProperty(value = {"${title}", "璐按閲戦"})
     @ColumnWidth(15)
     private Double waterCost;
 
+    /**
+     * 璐崱閲戦
+     */
     @ExcelProperty(value = {"${title}", "璐崱閲戦"})
     @ColumnWidth(15)
     private Double cardCost;
 
+    /**
+     * 璧犻�侀噾棰�
+     */
     @ExcelProperty(value = {"${title}", "璧犻�侀噾棰�"})
     @ColumnWidth(15)
     private Double gift;
 
+    /**
+     * 杩旇繕閲戦
+     */
     @ExcelProperty(value = {"${title}", "杩旇繕閲戦"})
     @ColumnWidth(15)
     private Double refundAmount;
 
+    /**
+     * 浠樻鏂瑰紡
+     */
     @ExcelProperty(value = {"${title}", "浠樻鏂瑰紡"})
     @ColumnWidth(15)
     private String paymentName;
 
+    /**
+     * 浜ゆ槗鏃堕棿
+     */
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @ExcelProperty(value = {"${title}", "浜ゆ槗鏃堕棿"})
     @ColumnWidth(20)
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 b28eb79..8e726f1 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,7 @@
                 <item2 name="寰俊鏀粯"/>
                 <item3 name="鏀粯瀹濇敮浠�"/>
                 <item4 name="閾惰杞处"/>
+                <item5 name="鎹㈠崱"/>
             </payments>
             <settings>
                 <item1 item_name="lng" item_value="101.87345" remarks="缁忓害"/>
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrDivideMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrDivideMapper.xml
index 8f5ca51..1348a36 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrDivideMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrDivideMapper.xml
@@ -302,14 +302,23 @@
     update pr_divide set deleted = 1
     <where>
       <if test = "id != null and id > 0">
-        AND id = ${id}
+        AND id = #{id}
       </if>
     </where>
   </update>
 
   <!--鏍规嵁鍒嗘按鎴跨紪鍙疯幏鍙栨墍灞炵墖鍖虹紪鍙�-->
   <select id="getBlockIdById" resultType="java.lang.Long">
-    SELECT blockId FROM pr_divide WHERE id = ${divideId}
+    SELECT blockId FROM pr_divide WHERE id = #{divideId}
+  </select>
+
+  <!--鏍规嵁鐗囧尯ID鑾峰彇鍒嗘按鎴垮垪琛�-->
+  <select id="getDividesByBlockId" resultType="com.dy.pipIrrGlobal.voPr.VoSimpleDivide">
+    SELECT
+      id As value,
+      name AS label
+    FROM pr_divide
+    WHERE deleted = 0 AND blockId = #{blockId}
   </select>
 
 </mapper>
\ 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 8c1b53c..d413173 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml
@@ -344,10 +344,6 @@
       <if test = "cashierId != null and cashierId > 0">
         AND cashierId = #{cashierId}
       </if>
-
-      <if test = "tradeTime != null">
-        AND tradeTime = #{tradeTime}
-      </if>
     </where>
   </select>
 
@@ -368,9 +364,11 @@
       </if>
     </where>
     ORDER BY tradeTime
-    <if test="pageCurr != null and pageSize != null">
-      LIMIT #{pageCurr}, #{pageSize}
-    </if>
+    <trim prefix="limit ">
+      <if test="start != null and count != null">
+        #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
+      </if>
+    </trim>
   </select>
 
   <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇寮�鍗¤褰曟暟閲�-->
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockCtrl.java
index a6bb146..eb0b48b 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockCtrl.java
@@ -388,4 +388,19 @@
 
         return BaseResponseUtils.buildSuccess(true);
     }
+
+    /**
+     * 鑾峰彇鐗囧尯銆佸垎姘存埧鑱斿姩瑙嗗浘锛屾坊鍔犲啘鎴锋椂浣跨敤
+     * @return
+     */
+    @GetMapping(path = "/block_divides")
+    @SsoAop()
+    public BaseResponse<JSONArray> getBlockDivides() {
+        try {
+            return BaseResponseUtils.buildSuccess(this.sv.getBlockDivides());
+        } catch (Exception e) {
+            log.error("鑾峰彇寮�鍗¤褰曞紓甯�", e);
+            return BaseResponseUtils.buildException(e.getMessage());
+        }
+    }
 }
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockSv.java
index 2286f3d..2c67b73 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockSv.java
@@ -7,20 +7,24 @@
 import com.dy.pipIrrGlobal.daoBa.BaBlockMapper;
 import com.dy.pipIrrGlobal.daoBa.BaMapCoordinatesMapper;
 import com.dy.pipIrrGlobal.daoBa.BaMapGraphMapper;
+import com.dy.pipIrrGlobal.daoPr.PrDivideMapper;
 import com.dy.pipIrrGlobal.pojoBa.BaBlock;
 import com.dy.pipIrrGlobal.pojoBa.BaMapCoordinates;
 import com.dy.pipIrrGlobal.pojoBa.BaMapGraph;
 import com.dy.pipIrrGlobal.voBa.VoBlock;
 import com.dy.pipIrrGlobal.voBa.VoMapCoordinates;
 import com.dy.pipIrrGlobal.voBa.VoMapGraph;
+import com.dy.pipIrrGlobal.voPr.VoSimpleDivide;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.common.utils.PojoUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import java.util.Optional;
 
 @Slf4j
 @Service
@@ -38,6 +42,9 @@
 
     @Autowired
     private BaMapCoordinatesMapper baMapCoordinatesMapper;
+
+    @Autowired
+    private PrDivideMapper prDivideMapper;
 
     /**
      * 寰楀埌涓�涓墖鍖�
@@ -212,4 +219,32 @@
         return this.baMapCoordinatesMapper.deleteByBlockId(blockId);
     }
 
+    /**
+     * 鑾峰彇鐗囧尯銆佸垎姘存埧鑱斿姩瑙嗗浘锛屾坊鍔犲啘鎴锋椂浣跨敤
+     * @return
+     */
+    public JSONArray getBlockDivides() {
+        JSONArray array_blocks = null;
+        JSONArray array_divides = null;
+        JSONArray array_result = new JSONArray();
+
+        List<BaBlock> list_blocks = dao.selectAll();
+        if(list_blocks != null && list_blocks.size() > 0) {
+            array_blocks = (JSONArray) JSON.toJSON(list_blocks);
+            for (int i = 0; i < array_blocks.size(); i++) {
+                JSONObject job_block = array_blocks.getJSONObject(i);
+                JSONObject job_blockNew = new JSONObject();
+                job_blockNew.put("value", job_block.getLong("id").toString());
+                job_blockNew.put("label", job_block.getString("name"));
+
+                List<VoSimpleDivide> list_divides = Optional.ofNullable( prDivideMapper.getDividesByBlockId(job_block.getLong("id"))).orElse(new ArrayList<>());
+                array_divides = (JSONArray) JSON.toJSON(list_divides);
+                job_blockNew.put("children", array_divides);
+                array_result.add(job_blockNew);
+            }
+            return array_result;
+        }else {
+            return new JSONArray();
+        }
+    }
 }
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 ba2542c..4eb7374 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
@@ -7,7 +7,6 @@
 import com.dy.common.webUtil.BaseResponseUtils;
 import com.dy.common.webUtil.QueryResultVo;
 import com.dy.common.webUtil.ResultCodeMsg;
-import com.dy.pipIrrGlobal.pojoBa.BaClient;
 import com.dy.pipIrrGlobal.pojoSe.SeCardOperate;
 import com.dy.pipIrrGlobal.pojoSe.SeClientCard;
 import com.dy.pipIrrGlobal.pojoSe.SeManagerCard;
@@ -64,6 +63,7 @@
     private Integer projectNo;
     /**
      * 寮�鍗�
+     * 褰撳崱鐗囪垂鐢ㄤ负0鏃跺嵆涓烘崲鍗℃搷浣滐紝涓嶆敹鍗$墖璐圭敤锛屼笉鏀朵綑棰�
      * @param po 寮�鍗′紶鍏ュ璞�
      * @param bindingResult
      * @return 姘村崱缂栧彿
@@ -143,7 +143,14 @@
             seClientCard.setOriginalCardId(originalCardId);
         }
         seClientCard.setCreatedt(activeTime);
-        seClientCard.setLastoper(LastOperateENUM.ACTIVE.getCode());
+        if(cardCost == 0) {
+            // 鎹㈠崱
+            seClientCard.setLastoper(LastOperateENUM.CHANGE_CARD.getCode());
+        }else {
+            // 寮�鍗�
+            seClientCard.setLastoper(LastOperateENUM.ACTIVE.getCode());
+        }
+        //seClientCard.setLastoper(LastOperateENUM.ACTIVE.getCode());
         Long cardId = Optional.ofNullable(clientCardSv.add(seClientCard)).orElse(0L) ;
         if(cardId == 0) {
             return BaseResponseUtils.buildErrorMsg(SellResultCode.ACTIVE_FAIL_WRITE_CLIENT_CARD_ERROR.getMessage());
@@ -162,8 +169,12 @@
             // 琛ュ崱
             seCardOperate.setOperateType(OperateTypeENUM.REISSUE.getCode());
         }else {
-            // 寮�鏂板崱
-            seCardOperate.setOperateType(OperateTypeENUM.ACTIVE.getCode());
+            // 寮�鏂板崱鎴栨崲鍗�
+            if(cardCost > 0) {
+                seCardOperate.setOperateType(OperateTypeENUM.ACTIVE.getCode());
+            }else {
+                seCardOperate.setOperateType(OperateTypeENUM.CHANGE_CARD.getCode());
+            }
         }
         seCardOperate.setRemarks(remarks);
         seCardOperate.setOperator(operator);
@@ -848,21 +859,11 @@
      * @param vo
      * @return
      */
-    @Operation(summary = "鑾峰緱浜ゆ槗璁板綍鏄庣粏", description = "杩斿洖浜ゆ槗璁板綍鏄庣粏")
-    @ApiResponses(value = {
-            @ApiResponse(
-                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
-                    description = "杩斿洖涓�椤靛啘鎴锋暟鎹紙BaseResponse.content:QueryResultVo[{}]锛�",
-                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
-                            schema = @Schema(implementation = BaClient.class))}
-            )
-    })
     @GetMapping(path = "getTransactions")
     @SsoAop()
     public BaseResponse<Map> getOperates(QoTransaction vo){
         try {
-            Map res = cardOperateSv.getTransactions(vo);
-            return BaseResponseUtils.buildSuccess(res);
+            return BaseResponseUtils.buildSuccess(cardOperateSv.getTransactions(vo));
         } catch (Exception e) {
             log.error("鏌ヨ浜ゆ槗璁板綍寮傚父", e);
             return BaseResponseUtils.buildException(e.getMessage()) ;
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 a927bb2..5daf122 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
@@ -11,6 +11,7 @@
 import com.dy.pipIrrGlobal.pojoSe.SeCardOperate;
 import com.dy.pipIrrGlobal.pojoSe.SeClientCard;
 import com.dy.pipIrrGlobal.pojoSe.SeManagerCard;
+import com.dy.pipIrrGlobal.pojoSe.SePaymentMethod;
 import com.dy.pipIrrGlobal.voSe.*;
 import com.dy.pipIrrSell.cardOperate.dto.DtoRecharge;
 import com.dy.pipIrrSell.cardOperate.enums.OperateTypeENUM;
@@ -57,6 +58,9 @@
 
     @Autowired
     private SeManagerCardMapper seManagerCardMapper;
+
+    @Autowired
+    private SePaymentMethodMapper sePaymentMethodMapper;
 
     @Value("${project.projectNo}")
     private Integer projectNo;
@@ -195,11 +199,20 @@
          *      琛ュ崱鏃堕棿
          *      鏈�鍚庢搷浣滅被鍨�-2
          */
+
+        // 鏍规嵁鏀粯鏂瑰紡ID鑾峰彇鏀粯鏂瑰紡鍚嶇О
+        SePaymentMethod sePaymentMethod = sePaymentMethodMapper.selectByPrimaryKey(paymentId);
+        String paymentName = sePaymentMethod.getName();
+
         SeClientCard seClientCard = new SeClientCard();
         seClientCard.setId(cardId);
         seClientCard.setMoney(afterRecharge);
         seClientCard.setRechargedt(rechargeTime);
-        seClientCard.setLastoper(LastOperateENUM.RECHARGE.getCode ());
+        if(paymentName != null && paymentName.equals("鎹㈠崱")) {
+            seClientCard.setLastoper(LastOperateENUM.CHANGE_RECHARGE.getCode ());
+        }else {
+            seClientCard.setLastoper(LastOperateENUM.RECHARGE.getCode ());
+        }
         Integer rec_updateClientCard = Optional.ofNullable(clientCardSv.UpdateClientCard(seClientCard)).orElse(0);
         if(rec_updateClientCard == 0) {
             return BaseResponseUtils.buildErrorMsg(SellResultCode.RECHARGE_FAIL_WRITE_CLIENT_CARD_ERROR.getMessage());
@@ -214,7 +227,11 @@
         seCardOperate.setMoney(money);
         seCardOperate.setTradeAmount(amount);
         seCardOperate.setGift(gift);
-        seCardOperate.setOperateType(OperateTypeENUM.RECHARGE.getCode());
+        if(paymentName != null && paymentName.equals("鎹㈠崱")) {
+            seCardOperate.setOperateType(OperateTypeENUM.CHANGE_RECHARGE.getCode());
+        }else {
+            seCardOperate.setOperateType(OperateTypeENUM.RECHARGE.getCode());
+        }
         seCardOperate.setPaymentId(paymentId);
         seCardOperate.setPrice(price);
         seCardOperate.setRemarks(remarks);
@@ -228,7 +245,6 @@
         }
 
         Map map_response = new HashMap();
-//        map_response.put("projectNo", String.format("%02x", Integer.parseInt(getProjectNo())));
         map_response.put("projectNo", String.format("%02x", projectNo));
         map_response.put("orderNumber", rec);
         map_response.put("cardNum", cardNum);
@@ -291,6 +307,11 @@
         // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟
         Long itemTotal = Optional.ofNullable(seCardOperateMapper.getTransactionRecordCount(params)).orElse(0L);
 
+        QueryResultVo rsVo = new QueryResultVo<>() ;
+        rsVo.pageSize = vo.pageSize ;
+        rsVo.pageCurr = vo.pageCurr ;
+        rsVo.calculateAndSet(itemTotal, params);
+
         List<VoTradeDetails> list = seCardOperateMapper.getTransactions(params);
         if(list.size() == 0) {
             return new HashMap();
@@ -299,13 +320,21 @@
         // 閬嶅巻浜ゆ槗鏄庣粏璁板綍锛屾眹鎬昏喘姘撮噾棰濄�佽喘鍗¢噾棰�
         Double totalWaterCost = 0.0;
         Double totalCardCost = 0.0;
+        Double totalGift = 0.0;
+        Double totalRefund = 0.0;
+
         JSONArray array= JSONArray.parseArray(JSON.toJSONString(list));
         for(int i = 0; i < array.size(); i++) {
             JSONObject job = array.getJSONObject(i);
             Double waterCost = Optional.ofNullable(job.getDouble("waterCost")).orElse(0.0);
             Double cardCost = Optional.ofNullable(job.getDouble("cardCost")).orElse(0.0);
+            Double gift = Optional.ofNullable(job.getDouble("gift")).orElse(0.0);
+            Double refundAmount = Optional.ofNullable(job.getDouble("refundAmount")).orElse(0.0);
+
             totalWaterCost = totalWaterCost + waterCost;
             totalCardCost = totalCardCost + cardCost;
+            totalGift = totalGift + gift;
+            totalRefund = totalRefund + refundAmount;
         }
 
         Map map_record = new HashMap();
@@ -315,6 +344,10 @@
         Map map_result = new HashMap();
         map_result.put("waterCost", df.format(totalWaterCost));
         map_result.put("cardCost", df.format(totalCardCost));
+        map_result.put("gift", df.format(totalGift));
+        map_result.put("refund", df.format(totalRefund));
+
+
         map_result.put("records", map_record);
 
         return map_result;
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/enums/OperateTypeENUM.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/enums/OperateTypeENUM.java
index f584ab5..7d5eb01 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/enums/OperateTypeENUM.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/enums/OperateTypeENUM.java
@@ -21,7 +21,9 @@
     LOSS((byte)6, "鎸傚け"),
     REVERSAL((byte)7, "鍐叉"),
     UNLOCK((byte)8, "瑙i攣"),
-    CONSUME((byte)9, "娑堣垂");
+    CONSUME((byte)9, "娑堣垂"),
+    CHANGE_CARD((byte)10, "鎹㈠崱"),
+    CHANGE_RECHARGE((byte)11, "鎹㈠崱鍏呭��");
 
     private final Byte code;
     private final String message;
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/LastOperateENUM.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/LastOperateENUM.java
index 63b4107..0f0ee95 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/LastOperateENUM.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/LastOperateENUM.java
@@ -21,7 +21,9 @@
     LOSS((byte)6, "鎸傚け"),
     REVERSAL((byte)7, "鍐叉"),
     UNLOCK((byte)8, "瑙i攣"),
-    CONSUME((byte)9, "娑堣垂");
+    CONSUME((byte)9, "娑堣垂"),
+    CHANGE_CARD((byte)10,"鎹㈠崱"),
+    CHANGE_RECHARGE((byte)11,"鎹㈠崱鍏呭��");
 
     private final Byte code;
     private final String message;

--
Gitblit v1.8.0