src/main/java/org/springblade/common/utils/IdUtils.java
New file @@ -0,0 +1,21 @@ package org.springblade.common.utils; import java.util.UUID; public class IdUtils { /** * 随机生成36位id * @return */ public static String getIdBy36(){ //生成uuid String randomId = UUID.randomUUID().toString(); String trim = randomId.replaceAll("-", ""); //再拼接4位 long l = System.currentTimeMillis(); String time = String.valueOf(l); String subTime = time.substring(time.length() - 4); return trim + subTime; } } src/main/java/org/springblade/modules/category/controller/CategoryLabelController.java
@@ -122,5 +122,13 @@ return R.status(categoryLabelService.removeByIds(Func.toLongList(ids))); } /** * 场所标签临时表 分页 */ @GetMapping("/getAllList") public R getAllList(CategoryLabelVO categoryLabel) { return R.data(categoryLabelService.list()); } } src/main/java/org/springblade/modules/doorplateAddress/controller/DoorplateAddressController.java
@@ -200,12 +200,12 @@ } /** * 数据处理 * 房屋数据处理 * @return */ @GetMapping("/dataHandle") @GetMapping("/houseDataHandle") public R dataHandle(){ return R.data(doorplateAddressService.dataHandle()); return R.data(doorplateAddressService.houseDataHandle()); } /** src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml
@@ -346,11 +346,11 @@ <!--查询所有户室数据--> <select id="getHouseList" resultType="org.springblade.modules.doorplateAddress.entity.DoorplateAddressEntity"> select * from jczz_doorplate_address where 1=1 and doorplate_type = '户室牌' and address_code not in ( select house_code from jczz_house ) select jda.* from jczz_doorplate_address jda left join jczz_house jh on jh.house_code = jda.address_code where 1=1 and jh.house_code is null and doorplate_type = '户室牌' </select> <!--查询商超--> @@ -427,7 +427,7 @@ where 1=1 and jp.house_code is null and (doorplate_type = '小门牌' or (doorplate_type = '中门牌' and address_level = 1)) union all union ( select jda.* from jczz_doorplate_address jda left join jczz_place jp on jp.house_code = jda.address_code and jp.is_deleted =0 src/main/java/org/springblade/modules/doorplateAddress/service/IDoorplateAddressService.java
@@ -94,10 +94,10 @@ List<DoorplateAddressVOTree> getHouseTree(HouseParam houseParam); /** * 数据处理 * 房屋数据处理 * @return */ Object dataHandle(); Object houseDataHandle(); /** * 小区数据处理 src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java
@@ -586,12 +586,12 @@ } /** * 数据处理 * 房屋数据处理 * @return */ @Override public Object dataHandle() { // 处理户室数据 public Object houseDataHandle() { // 处理房屋数据 handleHouseData(); return null; @@ -601,7 +601,7 @@ * 处理房屋数据 */ private void handleHouseData() { // 查询所有户室数据 // 查询所有户室数据(未入库的) List<DoorplateAddressEntity> list = baseMapper.getHouseList(); // 需要新增的房屋 list List<HouseEntity> houseList = new ArrayList<>(); @@ -627,6 +627,8 @@ houseEntity.setCreateTime(new Date()); houseEntity.setUpdateUser(AuthUtil.getUserId().toString()); houseEntity.setUpdateTime(new Date()); // 设置来源 1:地址总表 2:国控采集 houseEntity.setSource(1); // 加入集合 houseList.add(houseEntity); } src/main/java/org/springblade/modules/house/entity/HouseEntity.java
@@ -132,6 +132,12 @@ private Integer gridId; /** * 来源 1:地址总表 2:国控采集 */ @ApiModelProperty(value = "来源 1:地址总表 2:国控采集") private Integer source; /** * 创建人 */ @JsonSerialize(using = ToStringSerializer.class) src/main/java/org/springblade/modules/place/controller/PlaceController.java
@@ -100,9 +100,14 @@ return R.status(placeService.save(place)); } /** * 自定义新增/修改 * @param placeVO * @return */ @PostMapping("/add") public R add(@RequestBody PlaceVO placeVO){ return R.status(placeService.addVO(placeVO)); return R.status(placeService.addOrUpdate(placeVO)); } /** @@ -115,6 +120,17 @@ return R.status(placeService.updateById(place)); } /** * 自定义修改 * @param placeVO * @return */ @PostMapping("/updatePlace") public R updatePlace(@RequestBody PlaceVO placeVO){ return R.status(placeService.updatePlace(placeVO)); } /** * 场所表 新增或修改 */ src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.xml
@@ -43,6 +43,7 @@ </otherwise> </choose> </if> order by jpe.create_time desc,jpe.id desc </select> <!--自定义详情查询--> src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
@@ -49,6 +49,12 @@ <if test="place.placeName!=null and place.placeName!=''"> and jp.place_name like concat('%',#{place.placeName},'%') </if> <if test="place.principal!=null and place.principal!=''"> and jp.principal like concat('%',#{place.principal},'%') </if> <if test="place.principalPhone!=null and place.principalPhone!=''"> and jp.principal_phone like concat('%',#{place.principalPhone},'%') </if> <if test="place.isPerfect==1"> and ( src/main/java/org/springblade/modules/place/service/IPlaceService.java
@@ -51,11 +51,11 @@ List<TreeStringNode> selectPlaceNodeList(Long userId); /** * 场所信息自定义新增 * 场所信息自定义新增/修改 * @param placeVO * @return */ Boolean addVO(PlaceVO placeVO); Boolean addOrUpdate(PlaceVO placeVO); /** * 历史场所挂接处理-临时 @@ -96,4 +96,11 @@ * 场所数据处理-用户信息(场所负责人信息写入到场所表) */ Object placeUserHandle(); /** * 自定义修改 * @param placeVO * @return */ boolean updatePlace(PlaceVO placeVO); } src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
@@ -17,18 +17,17 @@ package org.springblade.modules.place.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.logging.log4j.util.Strings; import org.springblade.common.node.TreeStringNode; import org.springblade.common.utils.IdUtils; import org.springblade.core.mp.support.Condition; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.modules.doorplateAddress.entity.DoorplateAddressEntity; import org.springblade.modules.doorplateAddress.service.IDoorplateAddressService; import org.springblade.modules.grid.service.IGridService; import org.springblade.modules.place.entity.PlaceEntity; import org.springblade.modules.place.entity.PlaceExtEntity; import org.springblade.modules.place.entity.PlacePoiLabel; import org.springblade.modules.place.entity.PlaceRelEntity; import org.springblade.modules.place.entity.*; import org.springblade.modules.place.excel.PlaceAndRelExcel; import org.springblade.modules.place.excel.PlaceExcel; import org.springblade.modules.place.service.IPlaceExtService; @@ -44,10 +43,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; import java.util.List; import java.util.*; /** * 场所表 服务实现类 @@ -105,28 +101,51 @@ } /** * 场所信息自定义新增 * 场所信息自定义新增/修改 * @param placeVO * @return */ @Override @Transactional(rollbackFor = Exception.class) public Boolean addVO(PlaceVO placeVO) { // 设置基础数据 placeVO.setCreateUser(AuthUtil.getUserId()); placeVO.setCreateTime(new Date()); public Boolean addOrUpdate(PlaceVO placeVO) { boolean flag = false; placeVO.setUpdateUser(AuthUtil.getUserId()); placeVO.setUpdateTime(new Date()); // 绑定用户信息 bindUserHandle(placeVO); // 新增场所信息 boolean save = save(placeVO); // 保存场所详情及任务信息 savePlaceExtAndTaskInfo(placeVO); // 场所标签信息绑定 placeLabelBind(placeVO); // 查看是否包含houseCode,如果有,则更新 if (!Strings.isBlank(placeVO.getHouseCode())){ // 更新,先查询场所信息 QueryWrapper<PlaceEntity> wrapper = new QueryWrapper<>(); wrapper.eq("is_deleted",0).eq("house_code",placeVO.getHouseCode()); PlaceEntity one = getOne(wrapper); placeVO.setId(one.getId()); // 绑定用户信息 bindUserHandle(placeVO); // 更新场所信息 flag = updateById(placeVO); // 保存场所详情及任务信息 savePlaceExtAndTaskInfo(placeVO); // 场所标签信息绑定(更新,调整) placeLabelBind(placeVO); }else { // 设置基础数据 placeVO.setCreateUser(AuthUtil.getUserId()); placeVO.setCreateTime(new Date()); // 设置来源( 1:地址总表 2:国控采集) placeVO.setSource(2); // 并生成36位的houseCode placeVO.setHouseCode(IdUtils.getIdBy36()); // 绑定用户信息 bindUserHandle(placeVO); // 新增场所信息 flag = save(placeVO); // 保存场所详情及任务信息 savePlaceExtAndTaskInfo(placeVO); // 场所标签信息绑定 placeLabelBind(placeVO); } // 位置绑定,通过定位去匹配所在网格 // 返回结果 return save; return flag; } /** @@ -135,9 +154,34 @@ */ @Transactional(rollbackFor = Exception.class) public void placeLabelBind(PlaceVO placeVO) { // 先查询对于的场所是否已有标签信息 // 查询对应已存在的从业人员 QueryWrapper<PlacePoiLabel> wrapper = new QueryWrapper<>(); wrapper.eq("place_id",placeVO.getId()); List<PlacePoiLabel> oldList = placePoiLabelService.list(wrapper); if (oldList.size()>0){ // 先将老的全部删除,然后批量插入 QueryWrapper<PlacePoiLabel> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("place_id",placeVO.getId()); boolean remove = placePoiLabelService.remove(queryWrapper); if (remove){ // 批量新增 savePlaceLabel(placeVO); } }else { savePlaceLabel(placeVO); } } /** * 插入场所标签信息 * @param placeVO */ public void savePlaceLabel(PlaceVO placeVO) { // 批量新增 List<String> labelList = Arrays.asList(placeVO.getLabel().split(",")); // 遍历 labelList.forEach(labelId->{ labelList.forEach(labelId -> { PlacePoiLabel placePoiLabel = new PlacePoiLabel(); placePoiLabel.setPlaceId(placeVO.getId()); placePoiLabel.setPoiCode(Integer.parseInt(labelId)); @@ -473,4 +517,21 @@ } return null; } /** * 自定义修改 * @param placeVO * @return */ @Override @Transactional(rollbackFor = Exception.class) public boolean updatePlace(PlaceVO placeVO) { boolean flag = false; // 修改场所信息 flag = updateById(placeVO); // 修改标签绑定信息 // 返回 return flag; } }