From 23f8f5155749bbe0d2494c52d8adc3e6476b9cac Mon Sep 17 00:00:00 2001
From: Administrator <zhubaomin>
Date: 星期三, 20 十二月 2023 17:23:55 +0800
Subject: [PATCH] 2023-12-20 朱宝民 IC卡15个接口重构,角色授权,获取用户信息

---
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cancel/CancelCtrl.java |   99 ++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 93 insertions(+), 6 deletions(-)

diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cancel/CancelCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cancel/CancelCtrl.java
index 2e31570..d320e2a 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cancel/CancelCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cancel/CancelCtrl.java
@@ -5,7 +5,12 @@
 import com.dy.common.webUtil.BaseResponseUtils;
 import com.dy.common.webUtil.QueryResultVo;
 import com.dy.common.webUtil.ResultCodeMsg;
-import com.dy.pipIrrGlobal.pojoSe.VoCancel;
+import com.dy.pipIrrGlobal.pojoSe.SeCancel;
+import com.dy.pipIrrGlobal.pojoSe.SeClientCard;
+import com.dy.pipIrrGlobal.voSe.VoCancel;
+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;
@@ -13,15 +18,16 @@
 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.time.format.DateTimeFormatter;
+import java.util.*;
 
 /**
  * @author ZhuBaoMin
@@ -37,6 +43,7 @@
 @RequiredArgsConstructor
 public class CancelCtrl {
     private final CancelSv cancelSv;
+    private final ClientCardSv clientCardSv;
 
     @Operation(summary = "鑾峰緱涓�椤垫敞閿�璁板綍", description = "杩斿洖涓�椤垫敞閿�鏁版嵁")
     @ApiResponses(value = {
@@ -58,4 +65,84 @@
             return BaseResponseUtils.buildException(e.getMessage()) ;
         }
     }
+
+    @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 DtoCancel 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鍙嶆煡锛屼慨鏀瑰啘鎴峰崱浣跨敤锛�
+         * cardNum          姘村崱缂栧彿
+         * clientNum        鍐滄埛缂栧彿锛堥潪浼犲叆鍙傛暟锛岀敱cardNum鍙嶆煡锛屾坊鍔犳敞閿�浣跨敤锛�
+         * refund           閫�娆鹃噾棰�
+         * refundType       閫�娆炬柟寮�
+         * remarks          澶囨敞
+         * operator         鎿嶄綔浜虹紪鍙�
+         * cancelTime       鎸傚け鏃堕棿
+         */
+        Long cardId = 0L;
+        String cardNum = po.getCardNum();
+        String clientNum = "";
+        Float refund = po.getRefund();
+        Byte refundType = po.getRefundType();
+        String remarks = po.getRemarks();
+        Long operator = po.getOperator();
+        Date cancelTime = 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();
+
+        /**
+         * 淇敼鍐滄埛鍗′俊鎭細
+         *      鎸傚け鏃堕棿
+         *      鏈�鍚庢搷浣滅被鍨�-4
+         */
+        SeClientCard seClientCard = new SeClientCard();
+        seClientCard.setId(cardId);
+        seClientCard.setCanceldt(cancelTime);
+        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());
+        }
+
+        /**
+         * 娣诲姞鎸傚け璁板綍
+         */
+        SeCancel seCancel = new SeCancel();
+        seCancel.setCardnum(cardNum);
+        seCancel.setClientnum(clientNum);
+        seCancel.setRefund(refund);
+        seCancel.setRefundtype(refundType);
+        seCancel.setRemarks(remarks);
+        seCancel.setOperator(operator);
+        seCancel.setOperatedt(cancelTime);
+        Long rec = Optional.ofNullable(cancelSv.add(seCancel)).orElse(0L);
+        if(rec == 0) {
+            return BaseResponseUtils.buildFail(SellResultCode.CANCEL_FAIL_WRITE_CANCELL_ERROR.getMessage());
+        }
+
+        return BaseResponseUtils.buildSuccess(true) ;
+    }
 }

--
Gitblit v1.8.0