pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
@@ -72,7 +72,7 @@ pipIrr: global: dev: true #是否开发阶段,true或false dev: false #是否开发阶段,true或false dsName: ym #开发阶段,设置临时的数据库名称 mw: webPort: 8070 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java
@@ -59,15 +59,6 @@ * @param bindingResult * @return 水卡编号 */ @Operation(summary = "开卡", description = "新开农户卡") @ApiResponses(value = { @ApiResponse( responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, description = "操作结果:true:成功,false:失败(BaseResponse.content)", content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, schema = @Schema(implementation = Boolean.class))} ) }) @PostMapping(path = "active", consumes = MediaType.APPLICATION_JSON_VALUE) @Transactional(rollbackFor = Exception.class) @SsoAop() @@ -77,7 +68,10 @@ } // 获取5级行政区划串areaCode String areaCode = String.valueOf(cardOperateSv.getAreaCodeByNum(po.getClientNum())); String areaCode = cardOperateSv.getAreaCodeByNum(po.getClientNum()); if(areaCode.trim().length() == 0) { return BaseResponseUtils.buildErrorMsg(SellResultCode.AREA_CODE_MISTAKE.getMessage()); } /** * 根据行政区划串(areaCode)在水卡表中针对水卡编号(cardNum)进行模糊查询 @@ -89,12 +83,12 @@ if(cardNum != null && cardNum.trim().length() > 0) { Integer number = Integer.parseInt(cardNum.substring(12)); number = number + 1; if(number > 9999) { return BaseResponseUtils.buildFail(SellResultCode.CARD_NUMBER_OVERRUN.getMessage()); if(number > 65535) { return BaseResponseUtils.buildErrorMsg(SellResultCode.CARD_NUMBER_OVERRUN.getMessage()); } cardNum = cardNum.substring(0, 12) + String.format("%04d", number); } else { cardNum = areaCode + "0001"; cardNum = areaCode + "00001"; } /** @@ -122,6 +116,9 @@ * 根据农户编号获取农户ID */ Long clientId = cardOperateSv.getClientIdByNum(clientNum); if(clientId == null) { return BaseResponseUtils.buildErrorMsg(SellResultCode.CLIENT_NUM_ERROR.getMessage()); } /** * 添加农户卡记录,退还金额作为当前余额 @@ -137,7 +134,7 @@ seClientCard.setLastoper(LastOperateENUM.ACTIVE.getCode()); Long cardId = Optional.ofNullable(clientCardSv.add(seClientCard)).orElse(0L) ; if(cardId == 0) { return BaseResponseUtils.buildFail(SellResultCode.ACTIVE_FAIL_WRITE_CLIENT_CARD_ERROR.getMessage()); return BaseResponseUtils.buildErrorMsg(SellResultCode.ACTIVE_FAIL_WRITE_CLIENT_CARD_ERROR.getMessage()); } /** @@ -155,7 +152,7 @@ seCardOperate.setOperateDt(activeTime); Long rec = Optional.ofNullable(cardOperateSv.add(seCardOperate)).orElse(0L); if(rec == 0) { return BaseResponseUtils.buildFail(SellResultCode.ACTIVE_FAIL_WRITE_ACTIVE_CARD_ERROR.getMessage()); return BaseResponseUtils.buildErrorMsg(SellResultCode.ACTIVE_FAIL_WRITE_ACTIVE_CARD_ERROR.getMessage()); } /** @@ -171,12 +168,14 @@ dtoRecharge.setPrice(0f); BaseResponse<Boolean> job = cardOperateSv.addRecharge(dtoRecharge); if(!job.getCode().equals("0001")) { return BaseResponseUtils.buildFail(SellResultCode.ACTIVE_FAIL_RECHARGE_EXCEPTION.getMessage()); return BaseResponseUtils.buildErrorMsg(SellResultCode.ACTIVE_FAIL_RECHARGE_EXCEPTION.getMessage()); } } Map map = new HashMap(); map.put("projectCode", Constant.projectCode_ym); map.put("projectNo", String.format("%04x", Integer.parseInt(cardOperateSv.getProjectNo()))); map.put("orderNumber", cardId); map.put("cardNum", cardNum); return BaseResponseUtils.buildSuccess(map) ; } pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java
@@ -6,6 +6,7 @@ import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; import com.dy.common.webUtil.QueryResultVo; import com.dy.pipIrrGlobal.daoBa.BaSettingsMapper; import com.dy.pipIrrGlobal.daoSe.SeCardOperateMapper; import com.dy.pipIrrGlobal.daoSe.SeClientCardMapper; import com.dy.pipIrrGlobal.daoSe.SeClientMapper; @@ -52,6 +53,9 @@ @Autowired private SeGeneralMapper seGeneralMapper; @Autowired private BaSettingsMapper baSettingsMapper; /** * 添加开卡记录 @@ -68,8 +72,12 @@ * @param clientNum 农户编号 * @return 5级行政区划代码 */ public Long getAreaCodeByNum(String clientNum) { return seClientMapper.getAreaCodeByNum(clientNum); public String getAreaCodeByNum(String clientNum) { Long areaCode = seClientMapper.getAreaCodeByNum(clientNum); if (areaCode == null) { return ""; } return String.valueOf(areaCode); } /** @@ -437,4 +445,12 @@ public Integer updateClientCard(SeClientCard po) { return seClientCardMapper.updateByPrimaryKeySelective(po); } /** * 获取项目编号 * @return */ public String getProjectNo() { return baSettingsMapper.getItemValue("projectNo"); } } pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoActiveCard.java
@@ -32,6 +32,7 @@ * 农户编号,开卡使用 */ @Schema(description = "农户编号", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @NotBlank(message = "农户编号不能为空") private String clientNum; /** pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientCtrl.java
@@ -140,7 +140,7 @@ String villageName = map_districts.get("villageName").toString(); // 生成8位行政区划编码,生成农户编号用 String district8 = countyNum + townNum + villageNum; String district8 = String.format("%02d", Integer.parseInt(countyNum)) + String.format("%03d", Integer.parseInt(townNum)) + String.format("%03d", Integer.parseInt(villageNum)); // 生成农户编号 String clientNum = generateClientNum(district8); // 生成12位5级行政区划编码串及名称串 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/result/SellResultCode.java
@@ -17,6 +17,7 @@ * 开卡/补卡 */ AREA_CODE_MISTAKE(10001, "该农户行政区划异常"), CLIENT_NUM_ERROR(10001, "农户编号错误"), CARD_NUMBER_OVERRUN(10002, "水卡编号已满"), ACTIVE_FAIL_WRITE_CLIENT_CARD_ERROR(10003, "开卡失败-农户卡写入异常"), ACTIVE_FAIL_WRITE_ACTIVE_CARD_ERROR(10004, "开卡失败-开卡记录写入异常"),