From e405dffd51d2c7e0bed16aaa4248ca8029deaaec Mon Sep 17 00:00:00 2001 From: Administrator <zhubaomin> Date: 星期二, 19 十二月 2023 14:14:40 +0800 Subject: [PATCH] 2023-12-19 朱宝民 重构了开卡、充值等功能 --- pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/recharge/RechargeCtrl.java | 148 +++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 142 insertions(+), 6 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..0066355 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,12 @@ 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 io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Content; @@ -13,15 +18,15 @@ 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 = { @@ -52,4 +58,134 @@ } } + @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){ + 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; + //String cardAddr = po.getCardAddr(); + //Long clientId = po.getClientId(); + String cardNum = po.getCardNum(); + //String clientNum = po.getClientNum(); + String clientNum = ""; + 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("鍗″彿閿欒锛岃鍗′笉瀛樺湪"); + } + cardId = Long.parseLong(map.get("cardId").toString()); + clientNum = map.get("clientNum").toString(); + + /** + * 淇敼鍐滄埛鍗′俊鎭細 + * 琛ュ崱鏃堕棿 + * 鏈�鍚庢搷浣滅被鍨�-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.deleteByCardNum(cardNum)).orElse(0); + /** + * 娣诲姞鍏呭�艰褰� + */ + SeRecharge seRecharge = new SeRecharge(); + //seRecharge.setCardid(cardId); + //seRecharge.setClientid(clientId); + seRecharge.setCardnum(cardNum); + seRecharge.setClientnum(clientNum); + 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.setCardnum(cardNum); + seRechargeHistory.setClientnum(clientNum); + 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