田间灌溉项目管理 营销模块 获取12为行政编码接口 增加返回项目编码
2个文件已修改
139 ■■■■■ 已修改文件
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientCtrl.java 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientSv.java 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientCtrl.java
@@ -41,7 +41,7 @@
@Slf4j
@Tag(name = "农户管理", description = "农户操作")
@RestController
@RequestMapping(path="client")
@RequestMapping(path = "client")
@RequiredArgsConstructor
public class ClientCtrl {
    private final ClientSv clientSv;
@@ -50,6 +50,7 @@
    /**
     * 获取农户列表
     *
     * @param vo
     * @return
     */
@@ -64,18 +65,19 @@
    })
    @GetMapping(path = "get")
    @SsoAop()
    public BaseResponse<QueryResultVo<List<VoClient>>> get(QueryVo vo){
    public BaseResponse<QueryResultVo<List<VoClient>>> get(QueryVo vo) {
        try {
            QueryResultVo<List<VoClient>> res = clientSv.getClients(vo);
            return BaseResponseUtils.buildSuccess(res);
        } catch (Exception e) {
            log.error("查询农户异常", e);
            return BaseResponseUtils.buildException(e.getMessage()) ;
            return BaseResponseUtils.buildException(e.getMessage());
        }
    }
    /**
     * 根据主键获取一个农户对象
     *
     * @param id
     * @return
     */
@@ -90,19 +92,20 @@
    })
    @GetMapping(path = "/getone/{id}")
    @SsoAop()
    public BaseResponse<VoClient> getOneClient(@PathVariable("id") Long id){
    public BaseResponse<VoClient> getOneClient(@PathVariable("id") Long id) {
        try {
            VoClient res = clientSv.getOneClient(id);
            return BaseResponseUtils.buildSuccess(res);
        } catch (Exception e) {
            log.error("查询农户异常", e);
            return BaseResponseUtils.buildException(e.getMessage()) ;
            return BaseResponseUtils.buildException(e.getMessage());
        }
    }
    /**
     * 添加一个农户对象
     *
     * @param po
     * @param bindingResult
     * @return
@@ -120,7 +123,7 @@
    @Transactional(rollbackFor = Exception.class)
    @SsoAop()
    public BaseResponse<Boolean> add(@RequestBody @Valid DtoClient po, BindingResult bindingResult) {
        if(bindingResult != null && bindingResult.hasErrors()){
        if (bindingResult != null && bindingResult.hasErrors()) {
            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
        }
@@ -131,7 +134,7 @@
         * 获取5级行政区划信息
         */
        Map map_districts = Optional.ofNullable(clientSv.getDistrictsByVillageId(villageId)).orElse(new HashMap());
        if(map_districts.size() <= 0) {
        if (map_districts.size() <= 0) {
            return BaseResponseUtils.buildFail("区划信息有误");
        }
@@ -156,11 +159,11 @@
        // 生成虚拟卡号
        Long virtualId = Optional.ofNullable(clientSv.getMa1xVirtualId()).orElse(0L);
        if(virtualId == 0) {
        if (virtualId == 0) {
            virtualId = 1000000000L;
        }else {
        } else {
            virtualId = virtualId + 1;
            if(virtualId > 10000000000L) {
            if (virtualId > 10000000000L) {
                return BaseResponseUtils.buildFail("虚拟卡号超限");
            }
        }
@@ -175,33 +178,33 @@
        Date operateTime = new Date();
        seClient.setOperatedt(operateTime);
        seClient.setDisabled((byte)0);
        seClient.setDeleted((byte)0);
        seClient.setDisabled((byte) 0);
        seClient.setDeleted((byte) 0);
        Integer rec = Optional.ofNullable(clientSv.addClient(seClient)).orElse(0);
        if(rec == 0) {
        if (rec == 0) {
            return BaseResponseUtils.buildFail("添加农户失败");
        }
        return BaseResponseUtils.buildSuccess(true) ;
        return BaseResponseUtils.buildSuccess(true);
    }
    /**
     * 生成10位农户编号
     * 1. 到农户表中查询6位区划串开头的最大的农户编号
     * 2. 是否取到记录
     *      2.1 取到
     *          2.1.1 取出后4位顺序号并转成整形
     *          2.1.2. 整形格式的顺序号加1并判断是否大于9999
     *              2.1.2.1 如果大于则提示用户编号已满
     *              2.1.2.2 如果不大 6位区划加上格式化后的顺序号
     *      2.2 未取到 6位区划加上0001
     * 2.1 取到
     * 2.1.1 取出后4位顺序号并转成整形
     * 2.1.2. 整形格式的顺序号加1并判断是否大于9999
     * 2.1.2.1 如果大于则提示用户编号已满
     * 2.1.2.2 如果不大 6位区划加上格式化后的顺序号
     * 2.2 未取到 6位区划加上0001
     * 3. 返回农户编号
     */
    private String generateClientNum(String district8) {
        String clientNum = Optional.ofNullable(clientSv.getClientNumOfMax(district8)).orElse("");
        if(clientNum != null && clientNum.trim().length() > 0) {
        if (clientNum != null && clientNum.trim().length() > 0) {
            Integer number = Integer.parseInt(clientNum.substring(8));
            number = number + 1;
            if(number > 9999) {
            if (number > 9999) {
                return "农户编号超限";
            }
            clientNum = clientNum.substring(0, 8) + String.format("%04d", number);
@@ -213,7 +216,8 @@
    /**
     * 修改农户对象(虚拟卡号、禁止标志、逻辑删除标识不参与修改)
     * @param po 农户对象
     *
     * @param po            农户对象
     * @param bindingResult
     * @return
     */
@@ -229,8 +233,8 @@
    @PostMapping(path = "update", consumes = MediaType.APPLICATION_JSON_VALUE)
    @Transactional(rollbackFor = Exception.class)
    @SsoAop()
    public BaseResponse<Boolean> update(@RequestBody @Valid DtoClient po, BindingResult bindingResult){
        if(bindingResult != null && bindingResult.hasErrors()){
    public BaseResponse<Boolean> update(@RequestBody @Valid DtoClient po, BindingResult bindingResult) {
        if (bindingResult != null && bindingResult.hasErrors()) {
            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
        }
@@ -241,7 +245,7 @@
         * 获取5级行政区划信息
         */
        Map map_districts = Optional.ofNullable(clientSv.getDistrictsByVillageId(villageId)).orElse(new HashMap());
        if(map_districts.size() <= 0) {
        if (map_districts.size() <= 0) {
            return BaseResponseUtils.buildFail("区划信息有误");
        }
@@ -274,14 +278,15 @@
        seClient.setOperatedt(operateTime);
        Integer rec = Optional.ofNullable(clientSv.updateByPrimaryKey(seClient)).orElse(0);
        if(rec == 0) {
        if (rec == 0) {
            return BaseResponseUtils.buildFail("农户修改失败");
        }
        return BaseResponseUtils.buildSuccess(true) ;
        return BaseResponseUtils.buildSuccess(true);
    }
    /**
     * 根据农户ID逻辑删除农户
     *
     * @param id
     * @return
     */
@@ -297,21 +302,22 @@
    @GetMapping(path = "/delone/{id}")
    @SsoAop()
    public BaseResponse<Boolean> deleteClientById(@PathVariable("id") Long id){
    public BaseResponse<Boolean> deleteClientById(@PathVariable("id") Long id) {
        try {
            Integer res = Optional.ofNullable(clientSv.deleteClientById(id)).orElse(0);
            if(res == 0) {
            if (res == 0) {
                return BaseResponseUtils.buildFail("农户删除失败");
            }
            return BaseResponseUtils.buildSuccess(true);
        } catch (Exception e) {
            log.error("查询农户异常", e);
            return BaseResponseUtils.buildException(e.getMessage()) ;
            return BaseResponseUtils.buildException(e.getMessage());
        }
    }
    /**
     * 获取用水方式列表
     *
     * @param
     * @return
     */
@@ -326,16 +332,17 @@
    })
    @GetMapping(path = "/watertypes")
    @SsoAop()
    public BaseResponse<QueryResultVo<List<Map<String, Object>>>> getWaterTypes(){
    public BaseResponse<QueryResultVo<List<Map<String, Object>>>> getWaterTypes() {
        List<Map<String, Object>> map_WaterTypes = Optional.ofNullable(clientSv.getWaterTypes()).orElse(new ArrayList<>());
        if(map_WaterTypes == null || map_WaterTypes.size() == 0) {
            return BaseResponseUtils.buildFail("没有用水方式") ;
        if (map_WaterTypes == null || map_WaterTypes.size() == 0) {
            return BaseResponseUtils.buildFail("没有用水方式");
        }
        return BaseResponseUtils.buildSuccess(map_WaterTypes);
    }
    /**
     * 发送验证码
     *
     * @param phoneNumber
     * @return
     */
@@ -351,7 +358,7 @@
    @PostMapping(path = "send_sms")
    @SsoAop()
    public BaseResponse<Boolean> sendSms(@RequestParam(name = "phoneNumber", required = true) String phoneNumber) throws ClientException {
        if(phoneNumber == null || phoneNumber.length() <= 0) {
        if (phoneNumber == null || phoneNumber.length() <= 0) {
            return BaseResponseUtils.buildFail(SellResultCode.PHONE_NUMBER_CANNOT_BE_NULL.getMessage());
        }
@@ -366,15 +373,16 @@
        SendSmsResponse response = aliyunSmsSv.sendSms(phoneNumber, templateParam);
        if (response.getCode().equals("OK")) {
            // 发送成功处理逻辑
            return BaseResponseUtils.buildSuccess(true) ;
            return BaseResponseUtils.buildSuccess(true);
        } else {
            // 发送失败处理逻辑
            return BaseResponseUtils.buildFail(SellResultCode.SECURITY_CODE_SEND_FAIL.getMessage()) ;
            return BaseResponseUtils.buildFail(SellResultCode.SECURITY_CODE_SEND_FAIL.getMessage());
        }
    }
    /**
     * 校验验证码
     *
     * @param phoneNumber
     * @param code
     * @return
@@ -392,7 +400,7 @@
    @PostMapping(path = "verify")
    @SsoAop()
    public BaseResponse<Boolean> verify(@RequestParam("phoneNumber") String phoneNumber, @RequestParam("code") String code) throws ClientException {
        if(phoneNumber == null || phoneNumber.length() <= 0 || code == null || code.length() <=0) {
        if (phoneNumber == null || phoneNumber.length() <= 0 || code == null || code.length() <= 0) {
            return BaseResponseUtils.buildFail(SellResultCode.VERIFY_PARAMS_INCOMPLETE.getMessage());
        }
@@ -409,11 +417,12 @@
        //    return BaseResponseUtils.buildFail(SellResultCode.CODE_VERIFY_FAIL.getMessage());
        //}
        return BaseResponseUtils.buildSuccess(true) ;
        return BaseResponseUtils.buildSuccess(true);
    }
    /**
     * 根据村ID获取12位行政区划
     *
     * @param villageId
     * @return
     */
@@ -428,12 +437,12 @@
    })
    @GetMapping(path = "district")
    @SsoAop()
    public BaseResponse<Boolean> getDistrictNum(@RequestParam("villageId") @NotNull(message = "村编号不能为空") Long villageId){
    public BaseResponse<Boolean> getDistrictNum(@RequestParam("villageId") @NotNull(message = "村编号不能为空") Long villageId) {
        /**
         * 获取5级行政区划信息
         */
        Map map_districts = Optional.ofNullable(clientSv.getDistrictsByVillageId(villageId)).orElse(new HashMap());
        if(map_districts.size() <= 0) {
        if (map_districts.size() <= 0) {
            return BaseResponseUtils.buildFail("区划信息有误");
        }
@@ -445,9 +454,19 @@
        // 生成12位5级行政区划编码串及名称串
        Long districtNum = Long.parseLong(provinceNum + cityNum + countyNum + townNum + villageNum);
        //获取项目编码
        String projectNo = clientSv.getItemValue("projectNo");
        //转为int
        Integer projectNo1 = Integer.valueOf(projectNo);
        //转为16进制
//        String projectNo2 = Integer.toHexString(projectNo1);
//        log.info(projectNo2);
        String projectNo3 = String.format("%02x", projectNo1);
        log.info(projectNo3);
        Map map = new HashMap();
        map.put("districtNum", districtNum);
        return BaseResponseUtils.buildSuccess(map) ;
        map.put("projectNo",projectNo3);
        return BaseResponseUtils.buildSuccess(map);
    }
}
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientSv.java
@@ -2,11 +2,13 @@
import com.dy.common.webUtil.QueryResultVo;
import com.dy.pipIrrGlobal.daoBa.BaDistrictMapper;
import com.dy.pipIrrGlobal.daoBa.BaSettingsMapper;
import com.dy.pipIrrGlobal.daoSe.SeClientMapper;
import com.dy.pipIrrGlobal.pojoSe.SeClient;
import com.dy.pipIrrGlobal.voSe.VoClient;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.common.utils.PojoUtils;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -29,27 +31,32 @@
    @Autowired
    private BaDistrictMapper baDistrictMapper;
    @Autowired
    private BaSettingsMapper baSettingsMapper;
    /**
     * 根据指定条件获取农户数据
     *
     * @param queryVo
     * @return
     */
    public QueryResultVo<List<VoClient>> getClients(QueryVo queryVo){
        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo) ;
    public QueryResultVo<List<VoClient>> getClients(QueryVo queryVo) {
        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
        Long itemTotal = seClientMapper.getRecordCount(params);
        QueryResultVo<List<VoClient>> rsVo = new QueryResultVo<>() ;
        rsVo.pageSize = queryVo.pageSize ;
        rsVo.pageCurr = queryVo.pageCurr ;
        QueryResultVo<List<VoClient>> rsVo = new QueryResultVo<>();
        rsVo.pageSize = queryVo.pageSize;
        rsVo.pageCurr = queryVo.pageCurr;
        rsVo.calculateAndSet(itemTotal, params);
        rsVo.obj = seClientMapper.getClients(params);
        return rsVo ;
        return rsVo;
    }
    /**
     * 根据主键获取农户对象
     *
     * @param id 农户主键
     * @return 农户对象
     */
@@ -58,8 +65,10 @@
        VoClient voClient = SeClientToVoClient.INSTANCT.po2vo(seClient);
        return voClient;
    }
    /**
     * 增开农户
     *
     * @param po
     * @return
     */
@@ -69,6 +78,7 @@
    /**
     * 根据6位区划串模糊查询农户编号
     *
     * @param district6
     * @return
     */
@@ -78,6 +88,7 @@
    /**
     * 根据村编号获取5级区划信息
     *
     * @param villageId 村编号(主键)
     * @return 5级行政区划信息
     */
@@ -94,6 +105,7 @@
    /**
     * 修改农户对象
     *
     * @param po 农户对象
     * @return 修改记录条数
     */
@@ -103,6 +115,7 @@
    /**
     * 根据主键获取村ID
     *
     * @param id
     * @return
     */
@@ -112,6 +125,7 @@
    /**
     * 获取虚拟卡号最大值
     *
     * @return
     */
    public Long getMa1xVirtualId() {
@@ -120,9 +134,19 @@
    /**
     * 获取用水方式列表
     *
     * @return
     */
    public List<Map<String, Object>> getWaterTypes() {
        return seClientMapper.getWaterTypes();
    }
    /**
     * 根据配置项获取配置项值
     * @param itemName
     * @return
     */
    public String getItemValue(String itemName) {
        return baSettingsMapper.getItemValue(itemName);
    }
}