From 6aa342cc662b3bfb81c3f58b6e6890a7c420ac23 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期四, 14 十二月 2023 11:24:00 +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/recharge/RechargeCtrl.java |  132 ++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 127 insertions(+), 5 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..321d450 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,7 +5,10 @@
 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.*;
+import com.dy.pipIrrGlobal.voSe.VoRecharge;
+import com.dy.pipIrrSell.clientCard.ClientCardSv;
+import com.dy.pipIrrSell.clientCard.LastOperateENUM;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.media.Content;
@@ -13,15 +16,19 @@
 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.time.format.DateTimeFormatter;
+import java.util.Date;
 import java.util.List;
+import java.util.Objects;
+import java.util.Optional;
 
 @Slf4j
 @Tag(name = "鍏呭�肩鐞�", description = "鍏呭�兼搷浣�")
@@ -30,6 +37,7 @@
 @RequiredArgsConstructor
 public class RechargeCtrl {
     private final RechargeSv rechargeSv;
+    private final ClientCardSv clientCardSv;
 
     @Operation(summary = "鑾峰緱涓�椤靛厖鍊艰褰�", description = "杩斿洖涓�椤靛厖鍊兼暟鎹�")
     @ApiResponses(value = {
@@ -52,4 +60,118 @@
         }
     }
 
+    @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("-1")//@SsoAop(power = "-1")
+    public BaseResponse<Boolean> add(@RequestBody @Parameter(description = "form琛ㄥ崟json鏁版嵁", required = true) @Valid DtoRecharge po, @Parameter(hidden = true) 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());
+        }
+
+        /**
+         * cardId           姘村崱缂栧彿锛堥潪浼犲叆鍙傛暟锛岀敱cardAddr鍙嶆煡锛�
+         * cardAddr         姘村崱鍦板潃
+         * clientId         鍐滄埛缂栧彿
+         * money            鍗$墖浣欓
+         * amount           鍏呭�奸噾棰�
+         * gift             璧犻�侀噾棰�
+         * afterRecharge    鍏呭�煎悗浣欓
+         * paymentId        鏀粯鏂瑰紡缂栧彿
+         * price            姘翠环
+         * remarks          澶囨敞
+         * operator         鎿嶄綔浜虹紪鍙�
+         * rechargeTime     鍏呭�兼椂闂�
+         */
+        Long cardId = 0L;
+        String cardAddr = po.getCardAddr();
+        Long clientId = po.getClientId();
+        Float money = po.getMoney();
+        Float amount = po.getAmount();
+        Float gift = po.getGift();
+        Float afterRecharge = po.getAfterRecharge();
+        Long paymentId = po.getPaymentId();
+        Float price = po.getPrice();
+        String remarks = po.getRemarks();
+        Long operator = po.getOperator();
+        Date rechargeTime = new Date();
+
+        /**
+         * 渚濇嵁姘村崱鍦板潃鑾峰彇姘村崱缂栧彿锛堜富閿級
+         */
+        cardId = Optional.ofNullable(clientCardSv.getCardIdByAddr(cardAddr)).orElse(0L);
+        if(cardId == 0) {
+            return BaseResponseUtils.buildFail("鍗″彿閿欒锛岃鍗′笉瀛樺湪");
+        }
+
+        /**
+         * 淇敼鍐滄埛鍗′俊鎭細
+         *      琛ュ崱鏃堕棿
+         *      鏈�鍚庢搷浣滅被鍨�-2
+         */
+        SeClientCard seClientCard = new SeClientCard();
+        seClientCard.setId(cardId);
+        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("鍏呭�煎け璐�-鍐滄埛鍗′慨鏀瑰紓甯�");
+        }
+
+        /**
+         * 鍒犻櫎鍏呭�艰〃璇ュ崱鐨勫厖鍊艰褰�
+         */
+        Integer rec_deleteRecharge = Optional.ofNullable(rechargeSv.deleteByCardId(cardId)).orElse(0);
+        /**
+         * 娣诲姞鍏呭�艰褰�
+         */
+        SeRecharge seRecharge = new SeRecharge();
+        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("鍏呭�煎け璐�-鍏呭�艰褰曞啓鍏ュ紓甯�");
+        }
+
+        /**
+         * 娣诲姞琛ュ崱鍘嗗彶璁板綍
+         */
+        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);
+
+        Long rec_history = Optional.ofNullable(rechargeSv.addHistory(seRechargeHistory)).orElse(0L);
+        if(rec_history == 0) {
+            return BaseResponseUtils.buildFail("鍏呭�煎け璐�-鍏呭�煎巻鍙茶褰曞啓鍏ュ紓甯�");
+        }
+
+        return BaseResponseUtils.buildSuccess(true) ;
+    }
 }

--
Gitblit v1.8.0