From f1599d8230e83fb08ebb0473bbe486979b4d1d38 Mon Sep 17 00:00:00 2001 From: wuzeyu <1223318623@qq.com> Date: 星期三, 29 五月 2024 17:24:16 +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/virtualCard/VirtualCardCtrl.java | 95 +++++++++++++++++++++++++++-------------------- 1 files changed, 54 insertions(+), 41 deletions(-) diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/virtualCard/VirtualCardCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/virtualCard/VirtualCardCtrl.java index 22f2cca..26cb867 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/virtualCard/VirtualCardCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/virtualCard/VirtualCardCtrl.java @@ -3,15 +3,24 @@ import com.dy.common.aop.SsoAop; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; +import com.dy.pipIrrGlobal.pojoSe.SeVirtualCard; import com.dy.pipIrrGlobal.voSe.VoVirtualCard; +import com.dy.pipIrrSell.result.SellResultCode; import com.dy.pipIrrSell.util.PayHelper; +import com.dy.pipIrrSell.virtualCard.dto.DtoRegist; +import com.dy.pipIrrSell.virtualCard.enums.LastOperateENUM; import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.validation.Valid; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import java.util.Date; import java.util.List; +import java.util.Objects; +import java.util.Optional; /** * @author ZhuBaoMin @@ -31,14 +40,14 @@ private final PayHelper payHelper; /** - * 鑾峰彇鍏ㄩ儴铏氭嫙鍗� + * 鑾峰彇鍐滄埛鍏ㄩ儴铏氭嫙鍗� * @return */ @GetMapping(path = "/get") @SsoAop() - public BaseResponse<List<VoVirtualCard>> getVCs(){ + public BaseResponse<List<VoVirtualCard>> getVCs(Long clientId){ try { - List<VoVirtualCard> res = virtualCardSv.getVCs(); + List<VoVirtualCard> res = virtualCardSv.getVCs(clientId); return BaseResponseUtils.buildSuccess(res); } catch (Exception e) { log.error("鑾峰彇鏀粯鏂瑰紡璁板綍寮傚父", e); @@ -68,44 +77,48 @@ * @param bindingResult * @return */ - //@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_vc") - //@SsoAop() - //public BaseResponse<Boolean> addVC(@RequestBody @Valid DtoRegist po, BindingResult bindingResult){ - // if(bindingResult != null && bindingResult.hasErrors()){ - // return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); - // } - // Long clientId = po.getClientId(); - // String vcName = po.getVcName(); - // - // // 鍚嶇О楠岄噸 - // Integer rc = virtualCardSv.getRecordCountByName(po); - // if(rc != null && rc > 0) { - // return BaseResponseUtils.buildFail(SellResultCode.CARD_NAME_ESIST.getMessage()); - // } - // - // SeVirtualCard seVirtualCard = new SeVirtualCard(); - // seVirtualCard.setVcName(vcName); - // seVirtualCard.setClientId(clientId); - // seVirtualCard.setMoney(0d); - // seVirtualCard.setLastOperate(LastOperateENUM.OPEN_ACCOUNT.getCode()); - // seVirtualCard.setLastOperateTime(new Date()); - // seVirtualCard.setInUse((byte) 0); - // seVirtualCard.setCreateTime(new Date()); - // Long rec = virtualCardSv.insertVirtualCard(seVirtualCard); - // if(rec == null) { - // return BaseResponseUtils.buildFail(SellResultCode.WALLET_OPEN_ACCOUNT_FAIL.getMessage()); - // } - // return BaseResponseUtils.buildSuccess(true) ; - //} + @PostMapping(path = "add_vc") + @SsoAop() + public BaseResponse<Boolean> addVC(@RequestBody @Valid DtoRegist po, BindingResult bindingResult){ + if(bindingResult != null && bindingResult.hasErrors()){ + return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); + } + Long clientId = po.getClientId(); + + // 鑾峰彇5绾ц鏀垮尯鍒掍覆areaCode + String areaCode = String.valueOf(virtualCardSv.getAreaCodeById(clientId)); + /** + * 鏍规嵁琛屾斂鍖哄垝涓诧紙areaCode锛夊湪铏氭嫙鍗¤〃涓拡瀵硅櫄鎷熷崱缂栧彿锛坴cNum锛夎繘琛屾ā绯婃煡璇� + * 濡傛灉5浣嶉『搴忓彿宸茬粡杈惧埌鏈�澶у�硷紝鎻愮ず鐢ㄦ埛鑱旂郴绯荤粺绠$悊鍛� + * 濡傛灉5浣嶉『搴忓彿鏈揪鍒版渶澶у�硷紝鍒欏姞1 + * cardNum涓烘柊鐨勫崱鍙� + */ + String vcNum = Optional.ofNullable(virtualCardSv.getVcCardNumOfMax(areaCode)).orElse(""); + if(vcNum != null && vcNum.trim().length() > 0) { + Integer number = Integer.parseInt(vcNum.substring(12)); + number = number + 1; + if(number > 99999) { + return BaseResponseUtils.buildFail(SellResultCode.CARD_NUMBER_OVERRUN.getMessage()); + } + vcNum = vcNum.substring(0, 12) + String.format("%05d", number); + } else { + vcNum = areaCode + "00001"; + } + + SeVirtualCard seVirtualCard = new SeVirtualCard(); + seVirtualCard.setVcNum(Long.parseLong(vcNum)); + seVirtualCard.setClientId(clientId); + seVirtualCard.setMoney(0d); + seVirtualCard.setLastOperate(LastOperateENUM.OPEN_ACCOUNT.getCode()); + seVirtualCard.setLastOperateTime(new Date()); + seVirtualCard.setInUse((byte) 0); + seVirtualCard.setCreateTime(new Date()); + Long rec = virtualCardSv.insertVirtualCard(seVirtualCard); + if(rec == null) { + return BaseResponseUtils.buildFail(SellResultCode.VC_OPEN_ACCOUNT_FAIL.getMessage()); + } + return BaseResponseUtils.buildSuccess(true) ; + } /** * 鐢ㄦ埛鐢宠閫�娆� -- Gitblit v1.8.0