From e5c29d6ac2b210a9385723598d79a42ae5a9679e Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期三, 23 四月 2025 15:20:13 +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/unlock/UnlockCtrl.java |  147 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 147 insertions(+), 0 deletions(-)

diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/unlock/UnlockCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/unlock/UnlockCtrl.java
new file mode 100644
index 0000000..f035d06
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/unlock/UnlockCtrl.java
@@ -0,0 +1,147 @@
+package com.dy.pipIrrSell.unlock;
+
+import com.dy.common.aop.SsoAop;
+import com.dy.common.webUtil.BaseResponse;
+import com.dy.common.webUtil.BaseResponseUtils;
+import com.dy.common.webUtil.QueryResultVo;
+import com.dy.common.webUtil.ResultCodeMsg;
+import com.dy.pipIrrGlobal.pojoSe.SeClientCard;
+import com.dy.pipIrrGlobal.pojoSe.SeUnlock;
+import com.dy.pipIrrGlobal.voSe.VoUnlock;
+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.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.transaction.annotation.Transactional;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
+
+import java.time.format.DateTimeFormatter;
+import java.util.*;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2023/12/6 15:07
+ * @LastEditTime 2023/12/6 15:07
+ * @Description
+ */
+
+@Slf4j
+@Tag(name = "瑙i攣绠$悊", description = "瑙i攣鎿嶄綔")
+@RestController
+@RequestMapping(path="unlock")
+@RequiredArgsConstructor
+public class UnlockCtrl {
+    private final UnlockSv unlockSv;
+    private final ClientCardSv clientCardSv;
+
+    @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 = VoUnlock.class))}
+            )
+    })
+    @GetMapping(path = "/getUnlocks")
+    @SsoAop()
+    public BaseResponse<QueryResultVo<List<VoUnlock>>> getUnlocks(QueryVo vo){
+        try {
+            QueryResultVo<List<VoUnlock>> res = unlockSv.getUnlocks(vo);
+            return BaseResponseUtils.buildSuccess(res);
+        } catch (Exception e) {
+            log.error("鑾峰彇瑙i攣璁板綍寮傚父", e);
+            return BaseResponseUtils.buildException(e.getMessage()) ;
+        }
+    }
+
+    @Operation(summary = "娣诲姞瑙i攣璁板綍", description = "娣诲姞瑙i攣璁板綍")
+    @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 DtoUnlock po, 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鍙嶆煡锛屼慨鏀瑰啘鎴峰崱浣跨敤锛�
+         * clientId         鍐滄埛缂栧彿锛堥潪浼犲叆鍙傛暟锛岀敱cardNum鍙嶆煡锛�
+         * cardNum          姘村崱鍦板潃
+         * money            浣欓
+         * remarks          澶囨敞
+         * operator         鎿嶄綔浜虹紪鍙�
+         * unlockTime       瑙i攣鏃堕棿
+         */
+        Long cardId = 0L;
+        Long cardNum = po.getCardNum();
+        Long clientId = 0L;
+        Float money = po.getMoney();
+        String remarks = po.getRemarks();
+        Long operator = po.getOperator();
+        Date unlockTime = 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());
+        clientId = Long.parseLong(map.get("clientId").toString());
+
+        /**
+         * 淇敼鍐滄埛鍗′俊鎭細
+         *      鎸傚け鏃堕棿
+         *      鏈�鍚庢搷浣滅被鍨�-4
+         */
+        SeClientCard seClientCard = new SeClientCard();
+        seClientCard.setId(cardId);
+        seClientCard.setUnlockdt(unlockTime);
+        seClientCard.setMoney(money);
+        seClientCard.setLastoper(LastOperateENUM.UNLOCK.getCode());
+        Integer rec_updateClientCard = Optional.ofNullable(clientCardSv.UpdateClientCard(seClientCard)).orElse(0);
+        if(rec_updateClientCard == 0) {
+            return BaseResponseUtils.buildFail(SellResultCode.UNLOCK_FAIL_WRITE_CLIENT_CARD_ERROR.getMessage());
+        }
+
+        /**
+         * 娣诲姞瑙i攣璁板綍
+         */
+        SeUnlock seUnlock = new SeUnlock();
+        //seUnlock.setCardnum(cardNum);
+        //seUnlock.setClientnum(clientNum);
+        seUnlock.setCardid(cardId);
+        seUnlock.setClientid(clientId);
+        seUnlock.setMoney(money);
+        seUnlock.setRemarks(remarks);
+        seUnlock.setOperator(operator);
+        seUnlock.setOperatedt(unlockTime);
+        Long rec = Optional.ofNullable(unlockSv.add(seUnlock)).orElse(0L);
+        if(rec == 0) {
+            return BaseResponseUtils.buildFail(SellResultCode.UNLOCK_FAIL_WRITE_UNLOCK_ERROR.getMessage());
+        }
+
+        return BaseResponseUtils.buildSuccess(true) ;
+    }
+}

--
Gitblit v1.8.0