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/cancel/CancelCtrl.java | 152 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 152 insertions(+), 0 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 new file mode 100644 index 0000000..d686fbb --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cancel/CancelCtrl.java @@ -0,0 +1,152 @@ +package com.dy.pipIrrSell.cancel; + +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.SeCancel; +import com.dy.pipIrrGlobal.pojoSe.SeClientCard; +import com.dy.pipIrrGlobal.voSe.VoCancel; +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 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 14:27 + * @LastEditTime 2023/12/6 14:27 + * @Description + */ + +@Slf4j +@Tag(name = "娉ㄩ攢绠$悊", description = "娉ㄩ攢鎿嶄綔") +@RestController +@RequestMapping(path="cancel") +@RequiredArgsConstructor +public class CancelCtrl { + private final CancelSv cancelSv; + private final ClientCardSv clientCardSv; + + @Operation(summary = "鑾峰緱涓�椤垫敞閿�璁板綍", description = "杩斿洖涓�椤垫敞閿�鏁版嵁") + @ApiResponses(value = { + @ApiResponse( + responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, + description = "杩斿洖涓�椤垫敞閿�鏁版嵁锛圔aseResponse.content:QueryResultVo[{}]锛�", + content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, + schema = @Schema(implementation = VoCancel.class))} + ) + }) + @GetMapping(path = "/getCancels") + @SsoAop() + public BaseResponse<QueryResultVo<List<VoCancel>>> getCancels(QueryVo vo){ + try { + QueryResultVo<List<VoCancel>> res = cancelSv.getCancels(vo); + return BaseResponseUtils.buildSuccess(res); + } catch (Exception e) { + log.error("鑾峰彇娉ㄩ攢璁板綍寮傚父", e); + 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() + public BaseResponse<Boolean> add(@RequestBody @Valid DtoCancel 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 姘村崱缂栧彿 + * refund 閫�娆鹃噾棰� + * refundType 閫�娆炬柟寮� + * remarks 澶囨敞 + * operator 鎿嶄綔浜虹紪鍙� + * cancelTime 鎸傚け鏃堕棿 + */ + Long cardId = 0L; + Long cardNum = po.getCardNum(); + Long clientId = 0L; + 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()); + clientId = Long.parseLong(map.get("clientId").toString()); + + /** + * 淇敼鍐滄埛鍗′俊鎭細 + * 娉ㄩ攢鏃堕棿 + * 鏈�鍚庢搷浣滅被鍨�-4 + */ + SeClientCard seClientCard = new SeClientCard(); + seClientCard.setId(cardId); + seClientCard.setCanceldt(cancelTime); + seClientCard.setMoney(0f); + seClientCard.setState(CardStateENUM.CANCELLED.getCode()); + 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.setCardid(cardId); + seCancel.setClientid(clientId); + 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