From f49c7c85ec902d8639c3e0c9f997db1d670d7f1a Mon Sep 17 00:00:00 2001 From: wuzeyu <1223318623@qq.com> Date: 星期三, 21 八月 2024 13:52:24 +0800 Subject: [PATCH] 优化注销、挂失、冲正、解锁通用操作返回值代码 --- pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/loss/LossCtrl.java | 109 +++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 99 insertions(+), 10 deletions(-) diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/loss/LossCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/loss/LossCtrl.java index 2c0cfcc..051ddab 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/loss/LossCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/loss/LossCtrl.java @@ -5,23 +5,28 @@ import com.dy.common.webUtil.BaseResponseUtils; import com.dy.common.webUtil.QueryResultVo; import com.dy.common.webUtil.ResultCodeMsg; -import com.dy.pipIrrGlobal.pojoSe.VoLoss; +import com.dy.pipIrrGlobal.pojoSe.SeClientCard; +import com.dy.pipIrrGlobal.pojoSe.SeLoss; +import com.dy.pipIrrGlobal.voSe.VoLoss; +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.Parameter; 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.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.*; /** * @author ZhuBaoMin @@ -37,6 +42,7 @@ @RequiredArgsConstructor public class LossCtrl { private final LossSv lossSv; + private final ClientCardSv clientCardSv; @Operation(summary = "鑾峰緱涓�椤垫寕澶辫褰�", description = "杩斿洖涓�椤垫寕澶辨暟鎹�") @ApiResponses(value = { @@ -47,9 +53,9 @@ schema = @Schema(implementation = VoLoss.class))} ) }) - @GetMapping(path = "/getLosses", consumes = MediaType.APPLICATION_JSON_VALUE) - @SsoAop("-1") - public BaseResponse<QueryResultVo<List<VoLoss>>> getLosses(@RequestBody @Parameter(description = "鏌ヨform琛ㄥ崟json鏁版嵁", required = true) QueryVo vo){ + @GetMapping(path = "/getLosses") + @SsoAop() + public BaseResponse<QueryResultVo<List<VoLoss>>> getLosses(QueryVo vo){ try { QueryResultVo<List<VoLoss>> res = lossSv.getLosses(vo); return BaseResponseUtils.buildSuccess(res); @@ -58,4 +64,87 @@ 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 DtoLoss po, BindingResult bindingResult){ + if(bindingResult != null && bindingResult.hasErrors()){ + return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); + } + + /** + * cardId 姘村崱缂栧彿锛堥潪浼犲叆鍙傛暟锛岀敱cardNum鍙嶆煡锛� + * clientId 鍐滄埛缂栧彿锛堥潪浼犲叆鍙傛暟锛岀敱cardNum鍙嶆煡锛� + * cardNum 姘村崱缂栧彿 + * money 浣欓 + * refund 閫�娆鹃噾棰� + * remarks 澶囨敞 + * operator 鎿嶄綔浜虹紪鍙� + * lossTime 鎸傚け鏃堕棿 + */ + Long cardId = 0L; + Long cardNum = po.getCardNum(); + Long clientId = 0L; + Float money = po.getMoney(); + Float refund = po.getRefund(); + String remarks = po.getRemarks(); + Long operator = po.getOperator(); + Date lossTime = 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.setMoney(money); + seClientCard.setLossdtdt(lossTime); + seClientCard.setState(CardStateENUM.LOSS.getCode()); + seClientCard.setLastoper(LastOperateENUM.LOSS.getCode()); + Integer rec_updateClientCard = Optional.ofNullable(clientCardSv.UpdateClientCard(seClientCard)).orElse(0); + if(rec_updateClientCard == 0) { + return BaseResponseUtils.buildFail(SellResultCode.LOSS_FAIL_WRITE_CLIENT_CARD_ERROR.getMessage()); + } + + /** + * 娣诲姞鎸傚け璁板綍 + */ + SeLoss seLoss = new SeLoss(); + //seLoss.setCardnum(cardNum); + //seLoss.setClientnum(clientNum); + seLoss.setCardid(cardId); + seLoss.setClientid(clientId); + seLoss.setMoney(money); + seLoss.setRefund(refund); + seLoss.setRemarks(remarks); + seLoss.setOperator(operator); + seLoss.setOperatedt(lossTime); + Long rec = Optional.ofNullable(lossSv.add(seLoss)).orElse(0L); + if(rec == 0) { + return BaseResponseUtils.buildFail(SellResultCode.LOSS_FAIL_WRITE_LOSS_ERROR.getMessage()); + } + + return BaseResponseUtils.buildSuccess(true) ; + } } -- Gitblit v1.8.0