yubin 2 週間 前
コミット
0ba52f10b5

+ 121 - 7
operating-service/src/main/java/com/txz/operating/controller/AddrController.java

@@ -1,12 +1,13 @@
 package com.txz.operating.controller;
+import com.txz.operating.model.*;
 import com.txz.operating.result.Result;
-import com.txz.operating.model.Addr;
-import com.txz.operating.service.AddrService;
+import com.txz.operating.service.*;
 
 import com.txz.operating.core.ResultCode;
 
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
+import org.springframework.util.ObjectUtils;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -21,8 +22,9 @@ import tk.mybatis.mapper.entity.Condition;
 import tk.mybatis.mapper.entity.Example.Criteria;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
 import java.util.List;
-import java.util.Date;
+
 
 /**
 * Created by CodeGenerator on 2025/09/19.
@@ -37,6 +39,118 @@ private static Logger log = LoggerFactory.getLogger(AddrController.class);
     @Resource
     private AddrService addrService;
 
+    @Resource
+    private DivisionsService divisionsService;
+
+    @Resource
+    private DistrictsService  districtsService;
+
+    @Resource
+    private UpazilasService upazilasService;
+
+    @Resource
+    private UnionsService unionsService;
+
+
+
+    @PostMapping("/delData")
+    @ApiOperation(value = "delData")
+    public Result delData() {
+       List<Addr> addrList = new ArrayList<>();
+
+//        List<Divisions> allDivisions = divisionsService.findAll();
+//        for (Divisions divisions : allDivisions) {
+//            Addr addrDivisions = new Addr();
+//            addrDivisions.setId(divisions.getId());
+//            addrDivisions.setName(divisions.getName());
+//            addrDivisions.setBnName(divisions.getBnName());
+//            addrDivisions.setPid(0);
+//            addrDivisions.setOldId(divisions.getId());
+//            addrDivisions.setUrl(divisions.getUrl());
+//            addrDivisions.setType("divisions");
+//            addrList.add(addrDivisions);
+//        }
+
+//*************
+//        List<Districts> allDistricts = districtsService.findAll();
+//        for (Districts allDistrict : allDistricts) {
+//            Addr addrDistrict = new Addr();
+//
+//            addrDistrict.setName(allDistrict.getName());
+//            addrDistrict.setBnName(allDistrict.getBnName());
+//            addrDistrict.setPid(allDistrict.getDivisionId());
+//            addrDistrict.setOldId(allDistrict.getId());
+//            addrDistrict.setUrl(allDistrict.getUrl());
+//            addrDistrict.setLat(allDistrict.getLat());
+//            addrDistrict.setLon(allDistrict.getLon());
+//            addrDistrict.setType("allDistrict");
+//            addrList.add(addrDistrict);
+//
+//        }
+
+        //************
+//        Condition c = new Condition(Addr.class);
+//        c.createCriteria().andEqualTo("type","allDistrict");
+//        List<Addr> all = addrService.findByCondition(c);
+//        Map<Integer, Addr> addrMap = all.stream().collect(Collectors.toMap(Addr::getOldId,a->a,(b,d)->b));
+//
+//        List<Upazilas> allUpazilas = upazilasService.findAll();
+//
+//        for (Upazilas allUpazila : allUpazilas) {
+//
+//            Addr addrUpazila = new Addr();
+//
+//            addrUpazila.setName(allUpazila.getName());
+//            addrUpazila.setBnName(allUpazila.getBnName());
+//            Addr addr = addrMap.get(allUpazila.getDistrictId());
+//            if(!ObjectUtils.isEmpty(addr)){
+//                addrUpazila.setPid(addr.getId());
+//            }
+//            addrUpazila.setOldId(allUpazila.getId());
+//            addrUpazila.setUrl(allUpazila.getUrl());
+//            addrUpazila.setType("upazilas");
+//            addrList.add(addrUpazila);
+//
+//        }
+//***********
+//        Condition c = new Condition(Addr.class);
+//        c.createCriteria().andEqualTo("type","upazilas");
+//        List<Addr> all = addrService.findByCondition(c);
+//        Map<Integer, Addr> addrMap = all.stream().collect(Collectors.toMap(Addr::getOldId,a->a,(b,d)->b));
+//
+//        List<Unions> allUnions = unionsService.findAll();
+//
+//        for (Unions allUnion : allUnions) {
+//            Addr addrUnions = new Addr();
+//
+//            addrUnions.setName(allUnion.getName());
+//            addrUnions.setBnName(allUnion.getBnName());
+//            Addr addr = addrMap.get(allUnion.getUpazillaId());
+//            if(!ObjectUtils.isEmpty(addr)){
+//                addrUnions.setPid(addr.getId());
+//            }
+//            addrUnions.setOldId(allUnion.getId());
+//            addrUnions.setUrl(allUnion.getUrl());
+//            addrUnions.setType("unions");
+//            addrList.add(addrUnions);
+//        }
+
+
+
+        for (Addr addr1 : addrList) {
+            try{
+                addrService.save(addr1);
+            }catch(Exception e){
+                log.error(e+"");
+            }
+
+        }
+
+        return Result.success();
+    }
+
+
+
     @PostMapping("/add")
     @ApiOperation(value = "addr新增")
     public Result add(@RequestBody Addr addr) {
@@ -44,7 +158,7 @@ private static Logger log = LoggerFactory.getLogger(AddrController.class);
         return Result.fail(ResultCode.OBJECT_IS_NULL);
         }
         try {
-        addr.setCreateTime(new Date());
+
         //            addr.setCreateUserId(userId);
         addrService.save(addr);
         } catch (Exception e) {
@@ -62,8 +176,8 @@ private static Logger log = LoggerFactory.getLogger(AddrController.class);
         }
         try {
         Addr addr = new Addr();
-        addr.setId(id);
-        addr.setIsDelete(1);
+
+
         addrService.update(addr);
         } catch (Exception e) {
         log.error("删除对象操作异常e:{}",e);
@@ -82,7 +196,7 @@ private static Logger log = LoggerFactory.getLogger(AddrController.class);
         return Result.fail(ResultCode.ID_IS_NULL);
         }
         try {
-        addr.setUpdateTime(new Date());
+
         //            addr.setUpdateUserId(userId);
         addrService.update(addr);
         } catch (Exception e) {

+ 7 - 3
operating-service/src/main/java/com/txz/operating/controller/DivisionsController.java

@@ -11,6 +11,7 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.util.ObjectUtils;
 import org.springframework.web.bind.annotation.*;
 import tk.mybatis.mapper.entity.Condition;
 import tk.mybatis.mapper.entity.Example.Criteria;
@@ -122,10 +123,13 @@ public class DivisionsController {
         return Result.success(pageInfo);
     }
 
-    @PostMapping("/treeList")
+    @GetMapping("/treeList")
     @ApiOperation(value = "获取树列表")
-    public Result<List<AreaTreeVo>> treeList(@RequestParam(required = false) String name, @RequestParam(required = false) Integer pid) {
-        List<AreaTreeVo> treedList = divisionsService.treeList(name, pid);
+    public Result<List<AreaTreeVo>> treeList(@RequestParam(value = "pid",required = false) Integer pid) {
+        if(ObjectUtils.isEmpty(pid)){
+            pid = 0;
+        }
+        List<AreaTreeVo> treedList = divisionsService.treeList(pid);
         return Result.success(treedList);
     }
 }

+ 1 - 1
operating-service/src/main/java/com/txz/operating/service/DivisionsService.java

@@ -17,5 +17,5 @@ public interface DivisionsService extends Service<Divisions> {
      *
      * @return
      */
-    List<AreaTreeVo> treeList(String name, Integer pid);
+    List<AreaTreeVo> treeList(Integer pid);
 }

+ 113 - 86
operating-service/src/main/java/com/txz/operating/service/impl/DivisionsServiceImpl.java

@@ -6,14 +6,8 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.txz.operating.core.AbstractService;
 import com.txz.operating.core.ServiceException;
 import com.txz.operating.dao.DivisionsMapper;
-import com.txz.operating.model.Districts;
-import com.txz.operating.model.Divisions;
-import com.txz.operating.model.Unions;
-import com.txz.operating.model.Upazilas;
-import com.txz.operating.service.DistrictsService;
-import com.txz.operating.service.DivisionsService;
-import com.txz.operating.service.UnionsService;
-import com.txz.operating.service.UpazilasService;
+import com.txz.operating.model.*;
+import com.txz.operating.service.*;
 import com.txz.operating.web.vo.AreaTreeVo;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -42,86 +36,119 @@ public class DivisionsServiceImpl extends AbstractService<Divisions> implements
     @Resource
     private UnionsService unionsService;
 
-    @Override
-    public List<AreaTreeVo> treeList(String name, Integer pid) {
-        List<Divisions> allTree = findAll();
-        if (CollectionUtils.isEmpty(allTree)) {
-            return Collections.emptyList();
-        }
-        // 获取所有树
-        List<AreaTreeVo> treeVoList = allTree.stream()
-                .map(divisions -> {
-                    AreaTreeVo vo = new AreaTreeVo();
-                    BeanUtil.copyProperties(divisions, vo);
-                    vo.setLevel(1);
-                    vo.setPid(null);
-                    return vo;
-                })
-                .collect(Collectors.toList());
 
-        // 如果传入了code,则只返回该code下的树形结构,否则返回所有顶级节点的树形结构
-        if (StringUtils.isNotBlank(name)) {
-            // 查找指定code的节点
-            AreaTreeVo root = treeVoList.stream()
-                    .filter(vo -> name.equals(vo.getName()))
-                    .findFirst()
-                    .orElse(null);
-            if (root == null) {
-                Districts districts = districtsService.findBy("name", name);
-                if (districts != null && districts.getDivisionId().equals(pid)) {
-                    root = new AreaTreeVo();
-                    BeanUtil.copyProperties(districts, root);
-                    root.setPid(districts.getDivisionId());
-                    root.setLevel(2);
-                }
-            }
-            if (root == null) {
-                Condition upazilasCondition = new Condition(Upazilas.class);
-                Example.Criteria upazilasCriteria = upazilasCondition.createCriteria();
-                upazilasCriteria.andEqualTo("districtId", pid);
-                upazilasCriteria.andEqualTo("name", name);
-                List<Upazilas> upazilasList = upazilasService.findByCondition(upazilasCondition);
-                if (upazilasList.size() > 1 && pid == null) {
-                    throw new ServiceException("当前地区有多个,请输入上级");
-                }
-                upazilasList = upazilasList.stream()
-                        .filter(unions -> unions.getDistrictId().equals(pid))
-                        .collect(Collectors.toList());
-                if (upazilasList.size() == 1) {
-                    root = new AreaTreeVo();
-                    BeanUtil.copyProperties(upazilasList.get(0), root);
-                    root.setPid(upazilasList.get(0).getDistrictId());
-                    root.setLevel(3);
-                }
-            }
-            if (root == null) {
-                Condition unionsCondition = new Condition(Unions.class);
-                Example.Criteria unionsCriteria = unionsCondition.createCriteria();
-                unionsCriteria.andEqualTo("upazillaId", pid);
-                unionsCriteria.andEqualTo("name", name);
-                List<Unions> unionsList = unionsService.findByCondition(unionsCondition);
-                if (unionsList.size() > 1 && pid == null) {
-                    throw new ServiceException("当前地区有多个,请输入上级");
-                }
-                unionsList = unionsList.stream()
-                        .filter(unions -> unions.getUpazillaId().equals(pid))
-                        .collect(Collectors.toList());
-                if (unionsList.size() == 1) {
-                    root = new AreaTreeVo();
-                    BeanUtil.copyProperties(unionsList.get(0), root);
-                    root.setPid(unionsList.get(0).getUpazillaId());
-                    root.setLevel(4);
-                }
-            }
-            if (root == null) {
-                return Collections.emptyList();
+    /**
+     * Divisions   省
+     * <p>
+     * <p>
+     * districts    区(二级市)
+     * <p>
+     * upazilas     副区(三级区)
+     * <p>
+     * unions       联盟四级街道
+     */
+    @Resource
+    private AddrService addrService;
+
+    @Override
+    public List<AreaTreeVo> treeList(Integer pid) {
+        Condition c = new Condition(Addr.class);
+        c.createCriteria().andEqualTo("pid", pid);
+        List<Addr> addrByCondition = addrService.findByCondition(c);
+        List<AreaTreeVo> areaTreeVos = new ArrayList<>();
+        if (!CollectionUtils.isEmpty(addrByCondition)) {
+            for (Addr addr : addrByCondition) {
+                AreaTreeVo areaTreeVo = new AreaTreeVo();
+                areaTreeVo.setId(addr.getId());
+                areaTreeVo.setPid(addr.getPid());
+                areaTreeVo.setName(addr.getName());
+                areaTreeVo.setBnName(addr.getBnName());
+                areaTreeVos.add(areaTreeVo);
             }
-            // 递归构建该节点下的所有子树
-            buildTree(root);
-            return Collections.singletonList(root);
         }
+        return areaTreeVos;
+    }
 
-        // 没有name的时候只返第一级
+//    @Override
+//    public List<AreaTreeVo> treeList(String name, Integer pid) {
+//        List<Divisions> allTree = findAll();
+//        if (CollectionUtils.isEmpty(allTree)) {
+//            return Collections.emptyList();
+//        }
+//        // 获取所有树
+//        List<AreaTreeVo> treeVoList = allTree.stream()
+//                .map(divisions -> {
+//                    AreaTreeVo vo = new AreaTreeVo();
+//                    BeanUtil.copyProperties(divisions, vo);
+//                    vo.setLevel(1);
+//                    vo.setPid(null);
+//                    return vo;
+//                })
+//                .collect(Collectors.toList());
+//
+//        // 如果传入了code,则只返回该code下的树形结构,否则返回所有顶级节点的树形结构
+//        if (StringUtils.isNotBlank(name)) {
+//            // 查找指定code的节点
+//            AreaTreeVo root = treeVoList.stream()
+//                    .filter(vo -> name.equals(vo.getName()))
+//                    .findFirst()
+//                    .orElse(null);
+//            if (root == null) {
+//                Districts districts = districtsService.findBy("name", name);
+//                if (districts != null && districts.getDivisionId().equals(pid)) {
+//                    root = new AreaTreeVo();
+//                    BeanUtil.copyProperties(districts, root);
+//                    root.setPid(districts.getDivisionId());
+//                    root.setLevel(2);
+//                }
+//            }
+//            if (root == null) {
+//                Condition upazilasCondition = new Condition(Upazilas.class);
+//                Example.Criteria upazilasCriteria = upazilasCondition.createCriteria();
+//                upazilasCriteria.andEqualTo("districtId", pid);
+//                upazilasCriteria.andEqualTo("name", name);
+//                List<Upazilas> upazilasList = upazilasService.findByCondition(upazilasCondition);
+//                if (upazilasList.size() > 1 && pid == null) {
+//                    throw new ServiceException("当前地区有多个,请输入上级");
+//                }
+//                upazilasList = upazilasList.stream()
+//                        .filter(unions -> unions.getDistrictId().equals(pid))
+//                        .collect(Collectors.toList());
+//                if (upazilasList.size() == 1) {
+//                    root = new AreaTreeVo();
+//                    BeanUtil.copyProperties(upazilasList.get(0), root);
+//                    root.setPid(upazilasList.get(0).getDistrictId());
+//                    root.setLevel(3);
+//                }
+//            }
+//            if (root == null) {
+//                Condition unionsCondition = new Condition(Unions.class);
+//                Example.Criteria unionsCriteria = unionsCondition.createCriteria();
+//                unionsCriteria.andEqualTo("upazillaId", pid);
+//                unionsCriteria.andEqualTo("name", name);
+//                List<Unions> unionsList = unionsService.findByCondition(unionsCondition);
+//                if (unionsList.size() > 1 && pid == null) {
+//                    throw new ServiceException("当前地区有多个,请输入上级");
+//                }
+//                unionsList = unionsList.stream()
+//                        .filter(unions -> unions.getUpazillaId().equals(pid))
+//                        .collect(Collectors.toList());
+//                if (unionsList.size() == 1) {
+//                    root = new AreaTreeVo();
+//                    BeanUtil.copyProperties(unionsList.get(0), root);
+//                    root.setPid(unionsList.get(0).getUpazillaId());
+//                    root.setLevel(4);
+//                }
+//            }
+//            if (root == null) {
+//                return Collections.emptyList();
+//            }
+//            // 递归构建该节点下的所有子树
+//            buildTree(root);
+//            return Collections.singletonList(root);
+//        }
+
+    // 没有name的时候只返第一级
 //        else {
 //            // 为每个顶级节点递归构建子树
 //            for (AreaTreeVo root : treeVoList) {
@@ -129,8 +156,8 @@ public class DivisionsServiceImpl extends AbstractService<Divisions> implements
 //            }
 //            return treeVoList;
 //        }
-        return treeVoList;
-    }
+    //  return treeVoList;
+//}
 
     private void buildTree(AreaTreeVo parent) {
         List<AreaTreeVo> children = new ArrayList<>();

+ 1 - 1
operating-service/src/test/java/CodeGenerator.java

@@ -46,7 +46,7 @@ public class CodeGenerator {
 	public static void main(String[] args) {
 //		genCode("o_lottery","o_lottery_prize","o_lottery_record");
 		// genCode("输入表名","输入自定义Model名称");
-		  genCode("r_day_statistics","r_dimension","r_dimension_section","r_spectaculars","r_spectaculars_dimension");
+		  genCode("");
 		//genCode("c_member_coupon");
 	}