From 1e6561acc89b7105c1dcbf5395845d6046f1453d Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期五, 21 二月 2025 16:55:09 +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 | 863 ++++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 665 insertions(+), 198 deletions(-)
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 be26372..b144bb3 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
@@ -1,32 +1,35 @@
package com.dy.pipIrrSell.cardOperate;
+import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.dy.common.webUtil.BaseResponse;
import com.dy.common.webUtil.BaseResponseUtils;
import com.dy.common.webUtil.QueryResultVo;
-import com.dy.pipIrrGlobal.daoSe.SeCardOperateMapper;
-import com.dy.pipIrrGlobal.daoSe.SeClientCardMapper;
-import com.dy.pipIrrGlobal.daoSe.SeClientMapper;
+import com.dy.pipIrrGlobal.daoBa.BaSettingsMapper;
+import com.dy.pipIrrGlobal.daoRm.RmOpenCloseValveHistoryMapper;
+import com.dy.pipIrrGlobal.daoSe.*;
import com.dy.pipIrrGlobal.pojoSe.SeCardOperate;
import com.dy.pipIrrGlobal.pojoSe.SeClientCard;
+import com.dy.pipIrrGlobal.pojoSe.SeManagerCard;
+import com.dy.pipIrrGlobal.pojoSe.SeRechargeHistory;
+import com.dy.pipIrrGlobal.voRm.VoExpend;
import com.dy.pipIrrGlobal.voSe.*;
import com.dy.pipIrrSell.cardOperate.dto.DtoRecharge;
import com.dy.pipIrrSell.cardOperate.enums.OperateTypeENUM;
-import com.dy.pipIrrSell.cardOperate.qo.QoActiveCard;
-import com.dy.pipIrrSell.cardOperate.qo.QoRecharge;
-import com.dy.pipIrrSell.cardOperate.qo.QoTransaction;
-import com.dy.pipIrrSell.cardOperate.qo.QoTransactionStatistics;
+import com.dy.pipIrrSell.cardOperate.qo.*;
+import com.dy.pipIrrSell.clientCard.CardStateENUM;
import com.dy.pipIrrSell.clientCard.ClientCardSv;
import com.dy.pipIrrSell.clientCard.LastOperateENUM;
import com.dy.pipIrrSell.result.SellResultCode;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.common.utils.PojoUtils;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
+import java.text.DecimalFormat;
+import java.time.Duration;
import java.util.*;
/**
@@ -51,9 +54,30 @@
@Autowired
private ClientCardSv clientCardSv;
+ @Autowired
+ private SeGeneralMapper seGeneralMapper;
+
+ @Autowired
+ private BaSettingsMapper baSettingsMapper;
+
+ @Autowired
+ private SeManagerCardMapper seManagerCardMapper;
+
+ @Autowired
+ private SePaymentMethodMapper sePaymentMethodMapper;
+
+ @Autowired
+ private SeRechargeHistoryMapper seRechargeHistoryMapper;
+
+ @Autowired
+ private RmOpenCloseValveHistoryMapper rmOpenCloseValveHistoryMapper;
+
+ @Value("${project.projectNo}")
+ private Integer projectNo;
/**
* 娣诲姞寮�鍗¤褰�
+ *
* @param po 姘村崱鎿嶄綔瀵硅薄
* @return 寮�鍗¤褰曚富閿�
*/
@@ -64,32 +88,62 @@
/**
* 鏍规嵁鍐滄埛缂栧彿鑾峰彇5绾ц鏀垮尯鍒掍唬鐮侊紝寮�鍗′娇鐢�
+ *
* @param clientNum 鍐滄埛缂栧彿
* @return 5绾ц鏀垮尯鍒掍唬鐮�
*/
- public Long getAreaCodeByNum(String clientNum) {
- return seClientMapper.getAreaCodeByNum(clientNum);
+ public String getAreaCodeByNum(String clientNum) {
+ Long areaCode = seClientMapper.getAreaCodeByNum(clientNum);
+ if (areaCode == null) {
+ return "";
+ }
+ return String.valueOf(areaCode);
}
/**
* 鏍规嵁鍐滄埛缂栧彿鑾峰彇5绾ц鏀垮尯鍒掍覆areaCode锛岃ˉ鍗¤繃绋嬩腑寮�鏂板崱浣跨敤
+ *
* @param clientId
* @return
*/
public Long getAreaCodeById(Long clientId) {
return seClientMapper.getAreaCodeById(clientId);
}
+
/**
* 鏍规嵁琛屾斂鍖哄垝涓叉ā鍧楁煡璇㈡按鍗$紪鍙凤紝寮�鍗′娇鐢�
+ *
* @param areaCode
* @return
*/
- String getCardNumOfMax(String areaCode) {
+ public String getCardNumOfMax(String areaCode) {
return seClientCardMapper.getCardNumOfMax(areaCode);
}
/**
+ * 鏍规嵁琛屾斂鍖哄垝涓叉ā绯婃煡璇㈢鐞嗗崱缂栧彿锛屽垱寤虹鐞嗗崱浣跨敤
+ *
+ * @param areaCode
+ * @return
+ */
+ public String getManagerCardNumOfMax(String areaCode) {
+ return seManagerCardMapper.getManagerCardNumOfMax(areaCode);
+ }
+
+ /**
+ * 鍒涘缓绠$悊鍗�
+ *
+ * @param po
+ * @return
+ */
+ public Long addManagerCard(SeManagerCard po) {
+ seManagerCardMapper.insert(po);
+ return po.getId();
+ }
+
+ /**
* 鏍规嵁鍐滄埛缂栧彿鑾峰彇鍐滄埛ID锛屽紑鍗′娇鐢�
+ *
* @param clientNum
* @return
*/
@@ -99,6 +153,7 @@
/**
* 娣诲姞姘村崱鎿嶄綔瀵硅薄锛屽悇鎿嶄綔閮戒娇鐢�
+ *
* @param po 姘村崱鎿嶄綔瀵硅薄
* @return 鎿嶄綔璁板綍涓婚敭
*/
@@ -109,11 +164,12 @@
/**
* 娣诲姞鍏呭�艰褰�
- * 淇敼鍐滄埛淇℃伅銆佹坊鍔犲厖鍊艰褰�
+ * 淇敼鍐滄埛淇℃伅銆佹坊鍔犳按鍗℃搷浣滆褰曘�佹坊鍔犲厖鍊艰褰�
+ *
* @param po
* @return
*/
- public BaseResponse<Boolean> addRecharge(DtoRecharge po){
+ public BaseResponse<Boolean> addRecharge(DtoRecharge po) {
/**
* cardId 姘村崱缂栧彿锛堜緷鎹按鍗$紪鍙疯幏鍙栵級
* clientId 鍐滄埛缂栧彿锛堜緷鎹按鍗$紪鍙疯幏鍙栵級
@@ -130,7 +186,7 @@
*/
Long cardId = 0L;
Long clientId = 0L;
- String cardNum = po.getCardNum();
+ Long cardNum = po.getCardNum();
Float money = po.getMoney();
Float amount = po.getAmount();
Float gift = po.getGift();
@@ -141,33 +197,44 @@
Long operator = po.getOperator();
Date rechargeTime = new Date();
+ // 鑾峰彇姘村崱鐘舵��
+ String stateName = Optional.ofNullable(clientCardSv.getCardStateByCardNum(cardNum)).orElse("");
+
+ // 鍗曠嫭鍏呭�兼椂鍗$墖蹇呴』涓烘甯�
+ if (remarks.trim().equals("鍏呭��") && !stateName.equals("姝e父")) {
+ return BaseResponseUtils.buildErrorMsg(stateName + ", " + SellResultCode.THE_CARD_NOT_SUPPORT_THIS_OPERATION.getMessage());
+ }
+
+ // 寮�鍗″悓姝ュ厖鍊兼椂鍏佽鍗$墖涓烘棤鏁堢姸鎬侊紝寰楀埌閫氱煡鍚庤嚜鍔ㄥ彉鏇翠负鏈夋晥
+ if (!remarks.trim().equals("鍏呭��") && !stateName.equals("姝e父") && !stateName.equals("鏃犳晥鍗$墖")) {
+ return BaseResponseUtils.buildErrorMsg(stateName + ", " + SellResultCode.THE_CARD_NOT_SUPPORT_THIS_OPERATION.getMessage());
+ }
+
/**
* 渚濇嵁姘村崱缂栧彿鑾峰彇姘村崱琛ㄤ富閿強鍐滄埛缂栧彿
*/
Map map = Optional.ofNullable(clientCardSv.getCardIdAndClientNum(cardNum)).orElse(new HashMap());
- if(map == null || map.size() <= 0) {
- return BaseResponseUtils.buildFail(SellResultCode.CARD_NUMBER_MISTAKE.getMessage());
+ if (map == null || map.size() <= 0) {
+ return BaseResponseUtils.buildErrorMsg(SellResultCode.CARD_NUMBER_MISTAKE.getMessage());
}
cardId = Long.parseLong(map.get("cardId").toString());
clientId = Long.parseLong(map.get("clientId").toString());
/**
- * 淇敼鍐滄埛鍗′俊鎭細
- * 琛ュ崱鏃堕棿
- * 鏈�鍚庢搷浣滅被鍨�-2
+ * 鍏呭�兼椂涓嶄慨鏀瑰啘鎴峰崱淇℃伅锛屾敹鍒版垚鍔熼�氱煡鍚庡啀淇敼锛氫綑棰濄�佸厖鍊兼椂闂淬�佹渶鍚庢搷浣滅被鍨�
+ SeClientCard seClientCard = new SeClientCard();
+ seClientCard.setId(cardId);
+ seClientCard.setMoney(afterRecharge);
+ seClientCard.setRechargedt(rechargeTime);
+ 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());
+ }
*/
- SeClientCard seClientCard = new SeClientCard();
- seClientCard.setId(cardId);
- seClientCard.setMoney(afterRecharge);
- seClientCard.setRechargedt(rechargeTime);
- 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());
- }
/**
- * 娣诲姞鍏呭�艰褰�
+ * 娣诲姞姘村崱鍏呭�兼搷浣滆褰�
*/
SeCardOperate seCardOperate = new SeCardOperate();
seCardOperate.setCardId(cardId);
@@ -181,224 +248,277 @@
seCardOperate.setRemarks(remarks);
seCardOperate.setOperator(operator);
seCardOperate.setOperateDt(rechargeTime);
-
+ seCardOperate.setOperateValid((byte) 1);
seCardOperateMapper.insert(seCardOperate);
Long rec = Optional.ofNullable(seCardOperate.getId()).orElse(0L);
- if(rec == 0) {
- return BaseResponseUtils.buildFail(SellResultCode.REPLACE_FAIL_WRITE_RECHARGE_ERROR.getMessage());
+ if (rec == 0) {
+ return BaseResponseUtils.buildErrorMsg(SellResultCode.RECHARGE_FAIL_WRITE_RECHARGE_ERROR.getMessage());
}
- return BaseResponseUtils.buildSuccess(true) ;
- }
+ /**
+ * 娣诲姞鍏呭�煎巻鍙茶褰�
+ */
+ SeRechargeHistory seRechargeHistory = new SeRechargeHistory();
+ seRechargeHistory.setCardid(cardId);
+ seRechargeHistory.setClientid(clientId);
+ seRechargeHistory.setMoney(money);
+ seRechargeHistory.setAmount(amount);
+ seRechargeHistory.setGift(gift);
+ seRechargeHistory.setAfterrecharge(afterRecharge);
+ seRechargeHistory.setPaymentid(paymentId);
+ seRechargeHistory.setPrice(price);
+ seRechargeHistory.setRemarks(remarks);
+ seRechargeHistory.setOperator(operator);
+ seRechargeHistory.setOperatedt(rechargeTime);
+ seRechargeHistory.setOperateValid((byte) 1);
+ seRechargeHistoryMapper.insert(seRechargeHistory);
+ Long rec_seRechargeHistory = Optional.ofNullable(seRechargeHistory.getId()).orElse(0L);
+ if (rec_seRechargeHistory == 0) {
+ return BaseResponseUtils.buildErrorMsg(SellResultCode.RECHARGE_FAIL_WRITE_RECHARGE_HISTORY_ERROR.getMessage());
+ }
+ Map map_response = new HashMap();
+ map_response.put("projectNo", String.format("%02x", projectNo));
+ map_response.put("orderNumber", rec);
+ map_response.put("cardNum", cardNum);
+ return BaseResponseUtils.buildSuccess(map_response);
+ }
/**
* 鏍规嵁鎸囧畾鏉′欢鑾峰彇鍏呭�艰褰�
+ *
* @param queryVo
* @return
*/
public QueryResultVo<List<VoRecharge>> getRecharges(QoRecharge queryVo) {
//瀹屽杽鏌ヨ鍏呭�艰褰曠殑璧锋鏃堕棿
- String rechargeTimeStart = queryVo.rechargeTimeStart;
- String rechargeTimeStop = queryVo.rechargeTimeStop;
- if(rechargeTimeStart != null) {
- rechargeTimeStart = rechargeTimeStart + " 00:00:00";
- queryVo.setRechargeTimeStart(rechargeTimeStart);
- }
- if(rechargeTimeStop != null) {
- rechargeTimeStop = rechargeTimeStop + " 23:59:59";
- queryVo.setRechargeTimeStop(rechargeTimeStop);
- }
+ //String rechargeTimeStart = queryVo.rechargeTimeStart;
+ //String rechargeTimeStop = queryVo.rechargeTimeStop;
+ //if(rechargeTimeStart != null) {
+ // rechargeTimeStart = rechargeTimeStart + " 00:00:00";
+ // queryVo.setRechargeTimeStart(rechargeTimeStart);
+ //}
+ //if(rechargeTimeStop != null) {
+ // rechargeTimeStop = rechargeTimeStop + " 23:59:59";
+ // queryVo.setRechargeTimeStop(rechargeTimeStop);
+ //}
Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
Long itemTotal = seCardOperateMapper.getRecordCount(params);
- QueryResultVo<List<VoRecharge>> rsVo = new QueryResultVo<>() ;
- Integer pageCurr = 0;
- Integer pageSize = 10000;
- rsVo.pageCurr = 1;
- rsVo.pageSize = 10000;
- if(queryVo.pageSize != null && queryVo.pageCurr != null) {
- rsVo.pageSize = queryVo.pageSize ;
- rsVo.pageCurr = queryVo.pageCurr;
- pageSize = queryVo.pageSize ;
- pageCurr = (Integer.parseInt(params.get("pageCurr").toString()) - 1) * Integer.parseInt(params.get("pageSize").toString());
- }
- params.put("pageCurr", pageCurr);
- params.put("pageSize", pageSize);
+ QueryResultVo<List<VoRecharge>> rsVo = new QueryResultVo<>();
+ rsVo.pageSize = queryVo.pageSize;
+ rsVo.pageCurr = queryVo.pageCurr;
rsVo.calculateAndSet(itemTotal, params);
rsVo.obj = seCardOperateMapper.getRecharges(params);
- return rsVo ;
+ return rsVo;
}
+ /**
+ * 鑾峰彇鍏呭�艰褰曪紝绠$悊骞冲彴鍏呭�煎垪琛ㄤ娇鐢紝APP鏈娇鐢�
+ *
+ * @param queryVo
+ * @return
+ */
+ public QueryResultVo<List<VoRechargeNew>> getRechargesNew(QoRecharge queryVo) {
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
+
+ Long itemTotal = seCardOperateMapper.getRechargesCountNew(params);
+
+ QueryResultVo<List<VoRechargeNew>> rsVo = new QueryResultVo<>();
+ rsVo.pageSize = queryVo.pageSize;
+ rsVo.pageCurr = queryVo.pageCurr;
+
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = seCardOperateMapper.getRechargesNew(params);
+ return rsVo;
+ }
+
+ /**
+ * 鑾峰彇杩旇繕璁板綍锛岀鐞嗗钩鍙板厖鍊煎垪琛ㄤ娇鐢�
+ *
+ * @param queryVo
+ * @return
+ */
+ public QueryResultVo<List<VoRefund>> getRefunds(QoRecharge queryVo) {
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
+
+ Long itemTotal = seCardOperateMapper.getRefundsCount(params);
+
+ QueryResultVo<List<VoRefund>> rsVo = new QueryResultVo<>();
+ rsVo.pageSize = queryVo.pageSize;
+ rsVo.pageCurr = queryVo.pageCurr;
+
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = seCardOperateMapper.getRefunds(params);
+ return rsVo;
+ }
+
+ /**
+ * 鑾峰彇姘村崱娑堣垂璁板綍锛岀鐞嗗钩鍙颁娇鐢�
+ *
+ * @param queryVo
+ * @return
+ */
+ public QueryResultVo<List<VoExpend>> getExpends(QoRecharge queryVo) {
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
+
+ Long itemTotal = rmOpenCloseValveHistoryMapper.getExpendsCount(params);
+
+ QueryResultVo<List<VoExpend>> rsVo = new QueryResultVo<>();
+ rsVo.pageSize = queryVo.pageSize;
+ rsVo.pageCurr = queryVo.pageCurr;
+
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = rmOpenCloseValveHistoryMapper.getExpends(params);
+ return rsVo;
+ }
/**
* 鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗璁板綍
+ *
* @param vo
* @return
*/
- public Map getTransactions(QoTransaction vo){
+ public Map getTransactions(QoTransaction vo) {
+ DecimalFormat df = new DecimalFormat("0.00");
// 琛ラ綈鏌ヨ鏃堕棿
String operateTimeStart = vo.operateTimeStart;
String operateTimeStop = vo.operateTimeStop;
- if(operateTimeStart != null) {
+ if (operateTimeStart != null) {
operateTimeStart = operateTimeStart + " 00:00:00";
vo.setOperateTimeStart(operateTimeStart);
}
- if(operateTimeStop != null) {
+ if (operateTimeStop != null) {
operateTimeStop = operateTimeStop + " 23:59:59";
vo.setOperateTimeStop(operateTimeStop);
}
// 鐢熸垚鏌ヨ鍙傛暟
- Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(vo) ;
-
- // 鑾峰彇姹囨�荤殑璐按閲戦銆佽喘鍗¢噾棰�
- Float waterCost = 0f;
- Float cardCost = 0f;
- Map map_sum = Optional.ofNullable(seCardOperateMapper.getTransactionSums(params)).orElse(new HashMap());
- if(map_sum.size() > 0) {
- waterCost = Float.parseFloat(map_sum.get("waterCost").toString());
- cardCost = Float.parseFloat(map_sum.get("cardCost").toString());
- }
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(vo);
// 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟
- Long itemTotal = seCardOperateMapper.getTransactionRecordCount(params);
+ Long itemTotal = Optional.ofNullable(seCardOperateMapper.getTransactionRecordCount(params)).orElse(0L);
- Integer pageSize = vo.getPageSize();
- // 璁$畻鎬婚〉鏁�
- Integer pageTotal ;
- pageTotal = (int)Math.ceil((itemTotal==null?0.0D:itemTotal.doubleValue())/pageSize);
+ QueryResultVo<List<VoTradeDetails>> rsVo = new QueryResultVo<>();
+ rsVo.pageSize = vo.pageSize;
+ rsVo.pageCurr = vo.pageCurr;
+ rsVo.calculateAndSet(itemTotal, params);
- // 鏍规嵁褰撳墠椤电爜鍙婃瘡椤垫暟閲忚绠楀亸绉婚噺
- Integer pageCurr = (Integer.parseInt(params.get("pageCurr").toString()) - 1) * Integer.parseInt(params.get("pageSize").toString());
- params.put("pageCurr", pageCurr);
+ rsVo.obj = seCardOperateMapper.getTransactions(params);
+ List<VoTradeDetails> list = rsVo.obj;
+ if (list.size() == 0) {
+ return new HashMap();
+ }
+//鍏冭皨涓�鏈熼檰甯镐附闇�姹傛妸璧犻�侀噾棰濅笌鍏呭�奸噾棰濆垎寮�鏄剧ず
+ for (int i = list.size()-1; i >= 0 ; i--) {
+ Optional.ofNullable(list.get(i).getGift()).orElse(0d);
+ if (!list.get(i).getGift().equals(0d)){
+ Double gift1 = list.get(i).getGift();//璧犻�侀噾棰�
+ String districtTitle = list.get(i).getDistrictTitle();//鍦板潃
+ String clientNum = list.get(i).getClientNum();//鍐滄埛缂栧彿
+ String clientName = list.get(i).getClientName();//鍐滄埛濮撳悕
+ String phone = list.get(i).getPhone();//鎵嬫満鍙�
+ Date tradeTime = list.get(i).getTradeTime();//浜ゆ槗鏃堕棿
+ String orderNumber = list.get(i).getOrderNumber();//璁㈠崟缂栧彿
+ String cardNum = list.get(i).getCardNum();//鍗$紪鍙�
+ String idCard = list.get(i).getIdCard();//韬唤璇�
+ String cashierName = list.get(i).getCashierName();//鎿嶄綔浜�
+ Double money = list.get(i).getMoney();//浣欓
+ Double cardCost1 = list.get(i).getCardCost();//璐崱閲戦
+ Double tradeAmount = list.get(i).getTradeAmount();//浜ゆ槗閲戦
+ Double waterCost1 = list.get(i).getWaterCost();//璐按閲戦
+ Double refundAmount1 = list.get(i).getRefundAmount();//杩斿洖閲戦
+ String paymentName = list.get(i).getPaymentName();//鏀粯鏂瑰紡
+ String operateType = list.get(i).getOperateType();//涓氬姟绫诲瀷
+ String cardState = list.get(i).getCardState();//鍗$姸鎬�
+ Long villageId = list.get(i).getVillageId();//鏉慽d
+ Long cashierId = list.get(i).getCashierId();//鏀堕摱鍛榠d
- List<VoTransaction> lit = seCardOperateMapper.getTransactions(params);
+ list.get(i).setGift(0d);
+ list.get(i).setMoney(money-gift1);
+
+ VoTradeDetails voTradeDetail = new VoTradeDetails();
+ voTradeDetail.setDistrictTitle(districtTitle);//2
+ voTradeDetail.setClientNum(clientNum);//2
+ voTradeDetail.setClientName(clientName);//2
+ voTradeDetail.setPhone(phone);//2
+ voTradeDetail.setOperateType("璧犻��");//2
+ voTradeDetail.setTradeTime(tradeTime);//2
+ voTradeDetail.setWaterCost(0d);//2
+ voTradeDetail.setCardCost(0d);//2
+ voTradeDetail.setGift(gift1);//2
+ voTradeDetail.setTradeAmount(0d);//2
+ voTradeDetail.setRefundAmount(refundAmount1);//2
+ voTradeDetail.setMoney(money);//寰�2
+ voTradeDetail.setPaymentName("璧犻��");//2
+ voTradeDetail.setOrderNumber(orderNumber);//2
+ voTradeDetail.setCardNum(cardNum);//2
+ voTradeDetail.setIdCard(idCard);//2
+ voTradeDetail.setCashierName(cashierName);//2
+ voTradeDetail.setCashierId(cashierId);//2
+ voTradeDetail.setCardState(cardState);//2
+ voTradeDetail.setVillageId(villageId);//2
+
+ list.add(voTradeDetail);
+ itemTotal = itemTotal + 1;
+ }
+ }
+ list.sort(Comparator.comparing(VoTradeDetails::getTradeTime));
+ rsVo.obj = list;
+ rsVo.calculateAndSet(itemTotal, params);
+
+ // 閬嶅巻浜ゆ槗鏄庣粏璁板綍锛屾眹鎬昏喘姘撮噾棰濄�佽喘鍗¢噾棰�
+ 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();
- map_record.put("itemTotal", itemTotal);
- map_record.put("pageCurr", vo.pageCurr);
- map_record.put("pageSize", pageSize);
- map_record.put("pageTotal", pageTotal);
- map_record.put("list", lit);
+ map_record.put("list", rsVo);
Map map_result = new HashMap();
- map_result.put("waterCost", waterCost);
- map_result.put("cardCost", cardCost);
+ 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;
- }
-
- /**
- * 鑾峰彇浜ゆ槗缁熻璁板綍
- * 1.浜ゆ槗缁熻璁板綍
- * 2.绗旀暟鍚堣銆佸疄鏀堕噾棰濆悎璁°�佽禒閫侀噾棰濆悎璁�
- * 3.姣忎竴澶┿�佸悇绉嶆敮浠樻柟寮忓疄鏀堕噾棰濆悎璁�
- * @param vo
- * @return
- */
- public Map getTransactionStatistics(QoTransactionStatistics vo) throws ParseException {
- /**
- * 閬嶅巻鏌ヨ鏃ユ湡锛屽彇鍑烘瘡澶╀笁绉嶆敮浠樻柟寮忥紙鐜伴噾銆佹壂鐮併�佽浆璐︼級瀹炴敹閲戦
- * 姣忓ぉ涓�涓璞�
- * 瀵硅薄缁勬垚JSONArray娣诲姞鍒拌繑鍥炲璞′腑
- */
- SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
- Date startDate = dateFormat.parse(vo.getOperateTimeStart());
- Date stopDate = dateFormat.parse(vo.getOperateTimeStop());
- Calendar calendar = Calendar.getInstance();
- calendar.setTime(startDate);
-
- JSONArray array_paymentSums = new JSONArray();
- while (calendar.getTime().before(stopDate) || calendar.getTime().equals(stopDate)) {
- String tradeDate = dateFormat.format(calendar.getTime()) ;
- Float receivedCash = Optional.ofNullable(seCardOperateMapper.getPaymentSums(tradeDate ,1L)).orElse(0f);
- Float receivedQRCode = Optional.ofNullable(seCardOperateMapper.getPaymentSums(tradeDate,2L)).orElse(0f);
- Float receivedTransfer = Optional.ofNullable(seCardOperateMapper.getPaymentSums(tradeDate, 3L)).orElse(0f);
- JSONObject job = new JSONObject();
- job.put("tradeDate", tradeDate);
- job.put("receivedCash", receivedCash);
- job.put("receivedQRCode", receivedQRCode);
- job.put("receivedTransfer", receivedTransfer);
-
- array_paymentSums.add(job);
- calendar.add(Calendar.DAY_OF_MONTH, 1);
- }
-
-
- // 琛ラ綈鏌ヨ鏃堕棿
- String operateTimeStart = vo.operateTimeStart;
- String operateTimeStop = vo.operateTimeStop;
- if(operateTimeStart != null) {
- operateTimeStart = operateTimeStart + " 00:00:00";
- vo.setOperateTimeStart(operateTimeStart);
- }
- if(operateTimeStop != null) {
- operateTimeStop = operateTimeStop + " 23:59:59";
- vo.setOperateTimeStop(operateTimeStop);
- }
-
- // 鐢熸垚鏌ヨ鍙傛暟
- Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(vo) ;
-
- //鑾峰彇绗旀暟鍚堣銆佸疄鏀堕噾棰濆悎璁°�佽禒閫侀噾棰濆悎璁�
- Integer totalCount = 0;
- Float totalReceived = 0f;
- Float totalGift = 0f;
- Map map_sum = Optional.ofNullable(seCardOperateMapper.getTransactionStatisticsSums(params)).orElse(new HashMap());
- if(map_sum.size() > 0) {
- totalCount = Integer.parseInt(map_sum.get("totalCount").toString());
- totalReceived = Float.parseFloat(map_sum.get("totalReceived").toString());
- totalGift = Float.parseFloat(map_sum.get("totalGift").toString());
- }
-
- // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟
- Long itemTotal = seCardOperateMapper.getTransactionStatisticsRecordCount(params);
-
- Integer pageSize = vo.getPageSize();
- // 璁$畻鎬婚〉鏁�
- Integer pageTotal ;
- pageTotal = (int)Math.ceil((itemTotal==null?0.0D:itemTotal.doubleValue())/pageSize);
-
- // 鏍规嵁褰撳墠椤电爜鍙婃瘡椤垫暟閲忚绠楀亸绉婚噺
- Integer pageCurr = (Integer.parseInt(params.get("pageCurr").toString()) - 1) * Integer.parseInt(params.get("pageSize").toString());
- params.put("pageCurr", pageCurr);
-
- List<VoTransactionStatistics> list = seCardOperateMapper.getTransactionStatistics(params);
- Map map_record = new HashMap();
- map_record.put("itemTotal", itemTotal);
- map_record.put("pageCurr", vo.pageCurr);
- map_record.put("pageSize", pageSize);
- map_record.put("pageTotal", pageTotal);
- map_record.put("list", list);
-
- Map map_result = new HashMap();
- map_result.put("totalCount", totalCount);
- map_result.put("totalReceived", totalReceived);
- map_result.put("totalGift", totalGift);
- map_result.put("records", map_record);
- map_result.put("paymentSums", array_paymentSums);
return map_result;
}
/**
* 鏍规嵁鎸囧畾鏉′欢鑾峰彇寮�鍗¤褰�
+ *
* @param queryVo
* @return
*/
- public QueryResultVo<List<VoActiveCardNew>> getActiveCards(QoActiveCard queryVo) {
+ public QueryResultVo<List<VoActiveCard>> getActiveCards(QoActiveCard queryVo) {
//瀹屽杽鏌ヨ鍏呭�艰褰曠殑璧锋鏃堕棿
String activeTimeStart = queryVo.activeTimeStart;
String activeTimeStop = queryVo.activeTimeStop;
- if(activeTimeStart != null) {
+ if (activeTimeStart != null) {
activeTimeStart = activeTimeStart + " 00:00:00";
queryVo.setActiveTimeStart(activeTimeStart);
}
- if(activeTimeStop != null) {
+ if (activeTimeStop != null) {
activeTimeStop = activeTimeStop + " 23:59:59";
queryVo.setActiveTimeStop(activeTimeStop);
}
@@ -407,22 +527,369 @@
Long itemTotal = seCardOperateMapper.getActiveCardRecordCount(params);
- QueryResultVo<List<VoActiveCardNew>> rsVo = new QueryResultVo<>() ;
- Integer pageCurr = 0;
- Integer pageSize = 10000;
- rsVo.pageCurr = 1;
- rsVo.pageSize = 10000;
- if(queryVo.pageSize != null && queryVo.pageCurr != null) {
- rsVo.pageSize = queryVo.pageSize ;
- rsVo.pageCurr = queryVo.pageCurr;
- pageSize = queryVo.pageSize ;
- pageCurr = (Integer.parseInt(params.get("pageCurr").toString()) - 1) * Integer.parseInt(params.get("pageSize").toString());
- }
- params.put("pageCurr", pageCurr);
- params.put("pageSize", pageSize);
+ QueryResultVo<List<VoActiveCard>> rsVo = new QueryResultVo<>();
+
+ rsVo.pageSize = queryVo.pageSize;
+ rsVo.pageCurr = queryVo.pageCurr;
rsVo.calculateAndSet(itemTotal, params);
rsVo.obj = seCardOperateMapper.getActiveCards(params);
- return rsVo ;
+ return rsVo;
+ }
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鑾峰彇琛ュ崱璁板綍
+ *
+ * @param queryVo
+ * @return
+ */
+ public QueryResultVo<List<VoReissueCard>> getReissueCards(QoReissueCard queryVo) {
+ //瀹屽杽鏌ヨ鍏呭�艰褰曠殑璧锋鏃堕棿
+ String reissueCardTimeStart = queryVo.reissueCardTimeStart;
+ String reissueCardTimeStop = queryVo.reissueCardTimeStop;
+ if (reissueCardTimeStart != null) {
+ reissueCardTimeStart = reissueCardTimeStart + " 00:00:00";
+ queryVo.setReissueCardTimeStart(reissueCardTimeStart);
+ }
+ if (reissueCardTimeStop != null) {
+ reissueCardTimeStop = reissueCardTimeStop + " 23:59:59";
+ queryVo.setReissueCardTimeStop(reissueCardTimeStop);
+ }
+
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
+
+ Long itemTotal = seCardOperateMapper.getReissueCardRecordCount(params);
+
+ QueryResultVo<List<VoReissueCard>> rsVo = new QueryResultVo<>();
+
+ rsVo.pageSize = queryVo.pageSize;
+ rsVo.pageCurr = queryVo.pageCurr;
+
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = seCardOperateMapper.getReissueCards(params);
+ return rsVo;
+ }
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鑾峰彇閫氱敤鎿嶄綔璁板綍
+ *
+ * @param queryVo
+ * @return
+ */
+ public QueryResultVo<List<VoOperate>> getCommonOperations(QoCommonOperate queryVo) {
+ //瀹屽杽鏌ヨ鍏呭�艰褰曠殑璧锋鏃堕棿
+ String timeStart = queryVo.getTimeStart();
+ String timeStop = queryVo.getTimeStop();
+ if (timeStart != null) {
+ timeStart = timeStart + " 00:00:00";
+ queryVo.setTimeStart(timeStart);
+ }
+ if (timeStop != null) {
+ timeStop = timeStop + " 23:59:59";
+ queryVo.setTimeStop(timeStop);
+ }
+
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
+
+ Long itemTotal = Optional.ofNullable(seCardOperateMapper.getCommonOperationRecordCount(params)).orElse(0L);
+
+ QueryResultVo<List<VoOperate>> rsVo = new QueryResultVo<>();
+
+ rsVo.pageSize = queryVo.pageSize;
+ rsVo.pageCurr = queryVo.pageCurr;
+
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = seCardOperateMapper.getCommonOperations(params);
+ return rsVo;
+ }
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鏀舵嵁鍒楄〃
+ *
+ * @param queryVo
+ * @return
+ */
+ public Map getReceipts(QoReceipt queryVo) {
+ if (queryVo.getTimeStart() != null && queryVo.getTimeStart() != "") {
+ queryVo.setTimeStart(queryVo.getTimeStart() + " 00:00:00");
+ }
+ if (queryVo.getTimeStop() != null && queryVo.getTimeStop() != "") {
+ queryVo.setTimeStop(queryVo.getTimeStop() + " 23:59:59");
+ }
+
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
+
+ DecimalFormat df = new DecimalFormat("#.00");
+ Double totalAmount = Optional.ofNullable(seCardOperateMapper.getTotalAmount(params)).orElse(0.0);
+
+ Long itemTotal = seCardOperateMapper.getReceiptsRecordCount(params);
+
+ QueryResultVo<List<VoReceipt>> rsVo = new QueryResultVo<>();
+ rsVo.pageSize = queryVo.pageSize;
+ rsVo.pageCurr = queryVo.pageCurr;
+
+ rsVo.calculateAndSet(itemTotal, params);
+ //rsVo.obj = seCardOperateMapper.getReceipts(params);
+ //return rsVo ;
+
+ List<VoReceipt> list = seCardOperateMapper.getReceipts(params);
+ Map map_record = new HashMap();
+ map_record.put("itemTotal", rsVo.itemTotal);
+ map_record.put("pageCurr", rsVo.pageCurr);
+ map_record.put("pageSize", rsVo.pageSize);
+ map_record.put("pageTotal", rsVo.pageTotal);
+ map_record.put("list", list);
+
+ Map map_result = new HashMap();
+ map_result.put("totalAmount", df.format(totalAmount));
+ map_result.put("records", map_record);
+
+ return map_result;
+ }
+
+ /**
+ * 鍒ゆ柇鎸囧畾姘村崱鏄惁涓烘寕澶辩姸鎬佷笖鏃犺ˉ鍗¤褰�
+ *
+ * @param cardNum 姘村崱缂栧彿
+ * @return 鏄惁宸叉寕澶辨湭琛ュ崱
+ */
+ public Boolean isLostAndUnreplaced(Long cardNum) {
+ Integer lostCount = seClientCardMapper.getLostCount(cardNum);
+ Integer replacedCount = seClientCardMapper.getReplacedCount(cardNum);
+ if (lostCount > 0 && replacedCount == 0) {
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * 淇敼鍐滄埛姘村崱
+ *
+ * @param po
+ * @return
+ */
+ public Integer updateClientCard(SeClientCard po) {
+ return seClientCardMapper.updateByPrimaryKeySelective(po);
+ }
+
+ /**
+ * 鑾峰彇椤圭洰缂栧彿
+ *
+ * @return
+ */
+ public String getProjectNo() {
+ return baSettingsMapper.getItemValue("projectNo");
+ }
+
+ /**
+ * 鏍规嵁姘村崱缂栧彿鑾峰彇鍏舵寕澶辨椂閫�娆鹃噾棰濓紙琛ュ崱鏃跺垽鏂娇鐢級
+ *
+ * @param cardNum
+ * @return
+ */
+ public Double getTradeAmountByCardNo(Long cardNum) {
+ return seCardOperateMapper.getTradeAmountByCardNo(cardNum);
+ }
+
+ /**
+ * 鏍规嵁姘村崱鍦板潃鍒ゆ柇璇ュ崱鏄惁鍙互寮�鍗�
+ *
+ * @param cardAddr
+ * @return
+ */
+ public Boolean canActiveCard(String cardAddr) {
+
+ // 鎸囧畾姘村崱鍦板潃鐨勬按鍗℃暟閲忥紝鏃犳晥鍗$墖鎺掗櫎鍦ㄥ
+ Long cardCount = Optional.ofNullable(seClientCardMapper.getCountByCardAddr(cardAddr)).orElse(0L);
+ if (cardCount == 0) {
+ return true;
+ }
+
+ // 鎸囧畾姘村崱鍦板潃涓旀甯哥姸鎬佹垨鎸傚け鐘舵�佺殑姘村崱鏁伴噺
+ cardCount = Optional.ofNullable(seClientCardMapper.getCountByCardAddrAndState(cardAddr)).orElse(0L);
+ if (cardCount == 0) {
+ return true;
+ }
+
+ return false;
+ }
+
+ /**
+ * 渚濇嵁姘村崱鍦板潃鑾峰彇姘村崱缂栧彿
+ *
+ * @param cardAddr
+ * @return
+ */
+ public Long getCardIdByAddr(String cardAddr) {
+ return seClientCardMapper.getCardIdByAddr(cardAddr);
+ }
+
+ /**
+ * 渚濇嵁姘村崱鍦板潃灏嗘渶鍚庝竴鏉℃棤鏁堢姸鎬佺殑鎸囧畾鎿嶄綔璁板綍鏀逛负鏈夋晥
+ *
+ * @param cardAddr
+ * @param operateType
+ * @return
+ */
+ public Integer turnCardValidByAddr(String cardAddr, Integer operateType) {
+ return seClientCardMapper.turnCardValidByAddr(cardAddr, operateType);
+ }
+
+ /**
+ * 鏍规嵁姘村崱ID銆佹搷浣滅被鍨嬭幏鍙栬幏鍙栨渶鍚庝竴鏉¤褰曪紝鍒ゆ柇寮�鍗℃槸鍚﹀悓姝ュ厖鍊间娇鐢�
+ *
+ * @param cardId
+ * @return
+ */
+ public Integer turnOperateValidByCardId(Long cardId, Integer operateType) {
+ return seCardOperateMapper.turnOperateValidByCardId(cardId, operateType);
+ }
+
+ /**
+ * 渚濇嵁姘村崱ID灏嗘渶鍚庝竴鏉℃棤鏁堢姸鎬佺殑鍏呭�煎巻鍙茶褰曟敼涓烘湁鏁�
+ *
+ * @param cardId
+ * @return
+ */
+ public Integer turnRechargeHistoryValidByCardId(Long cardId) {
+ return seRechargeHistoryMapper.turnRechargeHistoryValidByCardId(cardId);
+ }
+
+ /**
+ * 鏍规嵁姘村崱ID鍒ゆ柇鏄惁涓哄紑鍗℃椂鍚屾鍏呭��
+ * 璇ユ按鍗D涓嶅瓨鍦ㄥ紑鍗¤褰曟垨鍏呭�艰褰曞垯杩斿洖false
+ * 濡傛灉寮�鍗℃搷浣滀笌鍏呭�兼搷浣滄椂闂撮棿闅旇秴杩�30绉掑垯杩斿洖false
+ * 濡傛灉鍏呭�奸噾棰濆ぇ浜�0涓斿厖鍊煎墠浣欓涓�0鍒欒繑鍥瀟rue
+ *
+ * @param cardId
+ * @return
+ */
+ public Boolean isMergeRecharge(Long cardId) {
+ SeCardOperate activeCard = seCardOperateMapper.getCardOperate(1, cardId);
+ SeCardOperate recharge = seCardOperateMapper.getCardOperate(2, cardId);
+ if (activeCard == null || recharge == null) {
+ return false;
+ }
+
+ Duration duration = Duration.between(activeCard.getOperateDt().toInstant(), recharge.getOperateDt().toInstant());
+ if (duration.toSeconds() > 30) {
+ return false;
+ }
+
+ Float money = Optional.ofNullable(recharge.getMoney()).orElse(0f);
+ Float tradeAmount = Optional.ofNullable(recharge.getTradeAmount()).orElse(0f);
+
+ if (tradeAmount > 0 && money == 0) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ /**
+ * 鏍规嵁姘村崱ID浠庢搷浣滆褰曡〃涓彇鍑猴細浣欓銆佷氦鏄撻噾棰濄�佽禒閫侀噾棰濓紝姹傚拰寰楀埌姘村崱浣欓
+ * 灏嗕綑棰濇洿鏂板埌姘村崱琛ㄤ腑
+ *
+ * @param cardId
+ * @return
+ */
+ public Boolean updateCard(Long cardId) {
+ SeCardOperate recharge = seCardOperateMapper.getCardOperate(2, cardId);
+ if (recharge == null) {
+ return false;
+ }
+ Float money = Optional.ofNullable(recharge.getMoney()).orElse(0f);
+ Float amount = Optional.ofNullable(recharge.getTradeAmount()).orElse(0f);
+ Float gift = Optional.ofNullable(recharge.getGift()).orElse(0f);
+
+ SeClientCard clientCard = new SeClientCard();
+ clientCard.setId(cardId);
+ clientCard.setMoney(money + amount + gift);
+ clientCard.setRechargedt(recharge.getOperateDt());
+ clientCard.setLastoper(LastOperateENUM.RECHARGE.getCode());
+ Integer rec_updateClientCard = seClientCardMapper.updateByPrimaryKeySelective(clientCard);
+ if (rec_updateClientCard == null || rec_updateClientCard == 0) {
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * 濡傛灉琛ュ崱鏃惰浆绉讳簡閫�杩橀噾棰濓紝娓呯┖鎸傚け鍗′綑棰�
+ * @param operateType
+ * @param cardId
+ */
+ public void emptyCardBalance(Integer operateType, Long cardId) {
+ SeCardOperate cardOperate = seCardOperateMapper.getCardOperate(operateType, cardId);
+ if(cardOperate != null) {
+ Float noTradeAmount = cardOperate.getNoTradeAmount();
+ if(noTradeAmount != null && noTradeAmount > 0) {
+ Long originalCardId = seClientCardMapper.getOriginalCardIdByCardId(cardId);
+ if(originalCardId != null) {
+ SeClientCard clientCard = new SeClientCard();
+ clientCard.setId(cardId);
+ clientCard.setMoney(0f);
+ seClientCardMapper.updateByPrimaryKeySelective(clientCard);
+ }
+ }
+ }
+
+ }
+
+ /**
+ * 淇敼娉ㄩ攢姘村崱琛ㄧ殑璁板綍鍙婁綑棰濓紙0锛�
+ * @param cardId
+ * @return
+ */
+ public Integer updateCancels(Integer operateType, Long cardId) {
+ SeCardOperate cardOperate = seCardOperateMapper.getCardOperate(operateType, cardId);
+ Date cancelTime = Optional.ofNullable(cardOperate.getOperateDt()).orElse(new Date());
+
+ SeClientCard clientCard = new SeClientCard();
+ clientCard.setId(cardId);
+ clientCard.setCanceldt(cancelTime);
+ clientCard.setMoney(0f);
+ clientCard.setState(CardStateENUM.CANCELLED.getCode());
+ clientCard.setLastoper(LastOperateENUM.CANCEL.getCode());
+ return seClientCardMapper.updateByPrimaryKeySelective(clientCard);
+ }
+
+ /**
+ * 淇敼琛ユ墸姘村崱琛ㄧ殑鎿嶄綔淇℃伅鍙婁綑棰�
+ * @param operateType
+ * @param cardId
+ * @return
+ */
+ public Integer updateRefund(Integer operateType, Long cardId) {
+ SeCardOperate cardOperate = seCardOperateMapper.getCardOperate(operateType, cardId);
+ Date refundTime = Optional.ofNullable(cardOperate.getOperateDt()).orElse(new Date());
+ Float money = cardOperate.getMoney();
+ Float refund = cardOperate.getRefundAmount();
+
+ SeClientCard clientCard = new SeClientCard();
+ clientCard.setId(cardId);
+ clientCard.setRefunddt(refundTime);
+ clientCard.setMoney(money + refund);
+ clientCard.setLastoper(LastOperateENUM.REFUND.getCode());
+ return seClientCardMapper.updateByPrimaryKeySelective(clientCard);
+ }
+
+ /**
+ * 淇敼鍙嶅啓姘村崱琛ㄧ殑鎿嶄綔淇℃伅鍙婁綑棰�
+ * @param operateType
+ * @param cardId
+ * @return
+ */
+ public Integer updateWriteBack(Integer operateType, Long cardId) {
+ SeCardOperate cardOperate = seCardOperateMapper.getCardOperate(operateType, cardId);
+ Date writeBackTime = Optional.ofNullable(cardOperate.getOperateDt()).orElse(new Date());
+ Float money = cardOperate.getMoney();
+
+ SeClientCard clientCard = new SeClientCard();
+ clientCard.setId(cardId);
+ clientCard.setRefunddt(writeBackTime);
+ clientCard.setMoney(money);
+ clientCard.setLastoper(LastOperateENUM.WRITE_BACK.getCode());
+ return seClientCardMapper.updateByPrimaryKeySelective(clientCard);
}
}
--
Gitblit v1.8.0