Administrator
2024-06-27 a1123bf437014c961bd8831828e265f61346aabc
2024-06-27 朱宝民 优化添加农户接口和开卡接口
6个文件已修改
59 ■■■■■ 已修改文件
pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoActiveCard.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientCtrl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/result/SellResultCode.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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, "开卡失败-开卡记录写入异常"),