吉安感知网项目-后端
linwei
2026-02-09 6bd4e00c95635b2d3724d10c6a745a022fff06f2
查询飞手优化
4 files modified
44 ■■■■■ changed files
drone-common/src/main/java/org/sxkj/common/utils/HeaderUtils.java 9 ●●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/flyer/controller/GdFlyerController.java 2 ●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/flyer/service/IGdFlyerService.java 6 ●●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/flyer/service/impl/GdFlyerServiceImpl.java 27 ●●●●● patch | view | raw | blame | history
drone-common/src/main/java/org/sxkj/common/utils/HeaderUtils.java
@@ -214,6 +214,15 @@
    }
    /**
     * 补零
     * @param areaCode
     * @return
     */
    public static String fillZero(String areaCode) {
        return areaCode + "000000000000".substring(areaCode.length());
    }
    /**
     * 获取当前HttpServletRequest对象
     *
     * @return HttpServletRequest对象,可能为null
drone-service/drone-gd/src/main/java/org/sxkj/gd/flyer/controller/GdFlyerController.java
@@ -93,7 +93,7 @@
    @ApiOperationSupport(order = 6)
    @ApiOperation(value = "新增或修改", notes = "传入gdFlyer")
    public R submit(@Valid @RequestBody GdFlyerAddParam gdFlyer) {
        return R.status(gdFlyerService.saveOrUpdate(GenericConverter.convert(gdFlyer, GdFlyerEntity.class)));
        return R.status(gdFlyerService.saveOrUpdateFlyer(GenericConverter.convert(gdFlyer, GdFlyerEntity.class)));
    }
    /**
drone-service/drone-gd/src/main/java/org/sxkj/gd/flyer/service/IGdFlyerService.java
@@ -50,4 +50,10 @@
     */
    List<GdFlyerExcel> exportGdFlyer(Wrapper<GdFlyerEntity> queryWrapper);
    /**
     *
     * @param convert
     * @return
     */
    boolean saveOrUpdateFlyer(GdFlyerEntity convert);
}
drone-service/drone-gd/src/main/java/org/sxkj/gd/flyer/service/impl/GdFlyerServiceImpl.java
@@ -18,6 +18,7 @@
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.StringUtil;
import org.sxkj.common.utils.HeaderUtils;
import org.sxkj.gd.flyer.entity.GdFlyerEntity;
import org.sxkj.gd.flyer.param.GdFlyerPageParam;
import org.sxkj.gd.flyer.vo.GdFlyerVO;
@@ -56,7 +57,7 @@
            if (areaCode != null && areaCode.length() > 3) {
                areaCode = areaCode.substring(3);
            }
            gdFlyer.setAreaCode(areaCode);
            gdFlyer.setAreaCode(HeaderUtils.fillZero(areaCode));
        }
        return page.setRecords(baseMapper.selectGdFlyerPage(page, gdFlyer));
@@ -72,4 +73,28 @@
        return gdFlyerList;
    }
    /**
     * 新增或修改
     * @param convert 飞手实体对象
     * @return 保存或更新成功返回true,失败返回false
     */
    @Override
    public boolean saveOrUpdateFlyer(GdFlyerEntity convert) {
        // 步骤1:校验电话号码是否为空
        if (StringUtil.isNotBlank(convert.getFlyerPhone())) {
            // 步骤2:查询数据库中是否存在相同电话号码的记录
            Long count = baseMapper.selectCount(
                new com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper<GdFlyerEntity>()
                    .eq(GdFlyerEntity::getFlyerPhone, convert.getFlyerPhone())
                    .ne(convert.getId() != null, GdFlyerEntity::getId, convert.getId())
            );
            // 步骤3:如果存在重复的电话号码,抛出异常
            if (count > 0) {
                throw new RuntimeException("电话号码已存在,请使用其他电话号码");
            }
        }
        convert.setAreaCode(HeaderUtils.processAreaCode(convert.getRegionCode()));
        // 步骤4:执行保存或更新操作
        return saveOrUpdate(convert);
    }
}