From 70aeac289c132085e91d59dc82bc1facd41889fa Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期一, 24 二月 2025 15:33:53 +0800
Subject: [PATCH] 有关表阀一体机(王江海制定)通信协议: 1、根据新版本协议,解析部分更新; 2、根据测试一体阀协议数据处理需求与逻辑,进行表阀一体机数据处理。
---
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/recharge/RechargeCtrl.java | 160 ++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 150 insertions(+), 10 deletions(-)
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/recharge/RechargeCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/recharge/RechargeCtrl.java
index d4b5e3a..f79e599 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/recharge/RechargeCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/recharge/RechargeCtrl.java
@@ -5,23 +5,28 @@
import com.dy.common.webUtil.BaseResponseUtils;
import com.dy.common.webUtil.QueryResultVo;
import com.dy.common.webUtil.ResultCodeMsg;
-import com.dy.pipIrrGlobal.pojoSe.VoRecharge;
+import com.dy.pipIrrGlobal.pojoSe.SeClientCard;
+import com.dy.pipIrrGlobal.pojoSe.SeRecharge;
+import com.dy.pipIrrGlobal.pojoSe.SeRechargeHistory;
+import com.dy.pipIrrGlobal.voSe.VoRecharge;
+import com.dy.pipIrrSell.clientCard.ClientCardSv;
+import com.dy.pipIrrSell.clientCard.LastOperateENUM;
+import com.dy.pipIrrSell.result.SellResultCode;
import io.swagger.v3.oas.annotations.Operation;
-import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.media.Content;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.responses.ApiResponses;
import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.MediaType;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
-import java.util.List;
+import java.util.*;
@Slf4j
@Tag(name = "鍏呭�肩鐞�", description = "鍏呭�兼搷浣�")
@@ -30,6 +35,7 @@
@RequiredArgsConstructor
public class RechargeCtrl {
private final RechargeSv rechargeSv;
+ private final ClientCardSv clientCardSv;
@Operation(summary = "鑾峰緱涓�椤靛厖鍊艰褰�", description = "杩斿洖涓�椤靛厖鍊兼暟鎹�")
@ApiResponses(value = {
@@ -40,9 +46,10 @@
schema = @Schema(implementation = VoRecharge.class))}
)
})
- @GetMapping(path = "/getRecharges", consumes = MediaType.APPLICATION_JSON_VALUE)
- @SsoAop("-1")
- public BaseResponse<QueryResultVo<List<VoRecharge>>> get(@RequestBody @Parameter(description = "鏌ヨform琛ㄥ崟json鏁版嵁", required = true) QueryVo vo){
+ //@GetMapping(path = "/getRecharges", consumes = MediaType.APPLICATION_JSON_VALUE)
+ @GetMapping(path = "/getRecharges")
+ @SsoAop()
+ public BaseResponse<QueryResultVo<List<VoRecharge>>> get(QueryVo vo){
try {
QueryResultVo<List<VoRecharge>> res = rechargeSv.getRecharges(vo);
return BaseResponseUtils.buildSuccess(res);
@@ -52,4 +59,137 @@
}
}
+ @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 = "add", consumes = MediaType.APPLICATION_JSON_VALUE)
+ @Transactional(rollbackFor = Exception.class)
+ @SsoAop()
+ public BaseResponse<Boolean> add(@RequestBody @Valid DtoRecharge po, BindingResult bindingResult){
+ if(bindingResult != null && bindingResult.hasErrors()){
+ return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+ }
+ return addRecharge(po);
+ }
+
+ /**
+ * 娣诲姞鍏呭�艰褰�
+ * @param po
+ * @return
+ */
+ public BaseResponse<Boolean> addRecharge(DtoRecharge po){
+ /**
+ * cardId 姘村崱缂栧彿锛堟彃鍏ヨ褰曞悗鐢熸垚锛�
+ * cardAddr 姘村崱鍦板潃锛堜粎浠呭啓鍏ワ紝鏃犱笟鍔★級
+ * clientNum 鍐滄埛缂栧彿锛堥潪浼犲叆鍙傛暟锛岀敱cardNum鍙嶆煡锛屾坊鍔犲厖鍊间娇鐢級
+ * money 鍗$墖浣欓
+ * amount 鍏呭�奸噾棰�
+ * gift 璧犻�侀噾棰�
+ * afterRecharge 鍏呭�煎悗浣欓
+ * paymentId 鏀粯鏂瑰紡缂栧彿
+ * price 姘翠环
+ * remarks 澶囨敞
+ * operator 鎿嶄綔浜虹紪鍙�
+ * rechargeTime 鍏呭�兼椂闂�
+ */
+ Long cardId = 0L;
+ Long cardNum = po.getCardNum();
+ String clientNum = "";
+ //Long clientId = po.getClientId();
+ Long clientId = 0L;
+ Float money = po.getMoney();
+ Float amount = po.getAmount();
+ Float gift = po.getGift();
+ Float afterRecharge = money + amount + gift;
+ Long paymentId = po.getPaymentId();
+ Float price = po.getPrice();
+ String remarks = po.getRemarks();
+ Long operator = po.getOperator();
+ Date rechargeTime = new Date();
+
+ /**
+ * 渚濇嵁姘村崱缂栧彿鑾峰彇姘村崱琛ㄤ富閿強鍐滄埛缂栧彿
+ */
+ Map map = Optional.ofNullable(clientCardSv.getCardIdAndClientNum(cardNum)).orElse(new HashMap());
+ if(map == null || map.size() <= 0) {
+ return BaseResponseUtils.buildFail(SellResultCode.CARD_NUMBER_MISTAKE.getMessage());
+ }
+ cardId = Long.parseLong(map.get("cardId").toString());
+ clientNum = map.get("clientNum").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.buildFail(SellResultCode.RECHARGE_FAIL_WRITE_CLIENT_CARD_ERROR.getMessage());
+ }
+
+ /**
+ * 鍒犻櫎鍏呭�艰〃璇ュ崱鐨勫厖鍊艰褰�
+ */
+ Integer rec_deleteRecharge = Optional.ofNullable(rechargeSv.deleteByCardId(cardId)).orElse(0);
+ /**
+ * 娣诲姞鍏呭�艰褰�
+ */
+ SeRecharge seRecharge = new SeRecharge();
+ //seRecharge.setCardnum(cardNum);
+ //seRecharge.setClientnum(clientNum);
+
+ seRecharge.setCardid(cardId);
+ seRecharge.setClientid(clientId);
+ seRecharge.setMoney(money);
+ seRecharge.setAmount(amount);
+ seRecharge.setGift(gift);
+ seRecharge.setAfterrecharge(afterRecharge);
+ seRecharge.setPaymentid(paymentId);
+ seRecharge.setPrice(price);
+ seRecharge.setRemarks(remarks);
+ seRecharge.setOperator(operator);
+ seRecharge.setOperatedt(rechargeTime);
+ Long rec = Optional.ofNullable(rechargeSv.add(seRecharge)).orElse(0L);
+ if(rec == 0) {
+ return BaseResponseUtils.buildFail(SellResultCode.REPLACE_FAIL_WRITE_RECHARGE_ERROR.getMessage());
+ }
+
+ /**
+ * 娣诲姞琛ュ崱鍘嗗彶璁板綍
+ */
+ SeRechargeHistory seRechargeHistory = new SeRechargeHistory();
+ //seRechargeHistory.setCardnum(cardNum);
+ //seRechargeHistory.setClientnum(clientNum);
+ 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);
+
+ Long rec_history = Optional.ofNullable(rechargeSv.addHistory(seRechargeHistory)).orElse(0L);
+ if(rec_history == 0) {
+ return BaseResponseUtils.buildFail(SellResultCode.RECHARGE_FAIL_WRITE_RECHARGE_HISTORY_ERROR.getMessage());
+ }
+ Map returnMap = new HashMap();
+ returnMap.put("orderNumber",rec+"");//杩斿洖鍏呭�糏D
+ return BaseResponseUtils.buildSuccess(returnMap) ;
+ }
}
--
Gitblit v1.8.0