forked from gzzfw/backEnd/gz-dyh

wangwh
2024-08-21 f974bf528f0fd1f7316bdb3f06be8004e8db9f15
dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUnitWebController.java
@@ -1,9 +1,12 @@
package cn.huge.module.ctuser.controller;
package cn.huge.module.ctuser.controller.web;
import cn.huge.base.common.utils.ReturnFailUtils;
import cn.huge.base.common.utils.ReturnSucUtils;
import cn.huge.base.config.CurrentUser;
import cn.huge.module.ctuser.domain.po.CtUnit;
import cn.huge.module.ctuser.domain.po.CtUser;
import cn.huge.module.ctuser.service.CtUnitService;
import cn.huge.module.ctuser.service.CtUserService;
import com.google.common.collect.Maps;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
@@ -14,6 +17,7 @@
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@@ -23,7 +27,7 @@
 * @description: 客户组织信息表接口api
 * @company: hugeinfo
 * @author: liyj
 * @time: 2024-08-17 15:30:57
 * @time: 2024-08-19 20:04:19
 * @version: 1.0.0
 */
@Slf4j
@@ -36,6 +40,9 @@
    @Autowired
    private CtUnitService service;
    @Autowired
    private CtUserService ctUserService;
    /**
    * 获取请求URL参数
@@ -276,19 +283,15 @@
    }
    /**
    * 根据主键单个/批量删除
    * @url {ctx}/api/web/ctUnit/deleteByIds
    * @param ids 主键编号
    * 根据主键单个
    * @url {ctx}/api/web/ctUnit/deleteById
    * @param id 主键编号
    * @return Object
    */
    @GetMapping("/deleteByIds")
    public Object deleteByIds(@RequestParam(value = "ids") String ids) {
    @GetMapping("/deleteById")
    public Object deleteById(@RequestParam(value = "id") String id) {
        try {
            if (ids.indexOf(",") != -1) {
                service.removeByIds(Stream.of(ids.split(",")).collect(Collectors.toList()));
            }else{
                service.removeById(ids);
            }
            service.removeById(id);
            return ReturnSucUtils.getRepInfo();
        } catch (Exception e) {
            return ReturnFailUtils.getRepInfo();
@@ -311,4 +314,55 @@
        }
    }
    /**
     * 批量新增-数据迁移
     * @url {ctx}/api/web/ctUnit/saveCtUnitList
     * @param targetCtUnitList 实体对象
     * @return Object
     */
    @PostMapping("/saveCtUnitList")
    public Object saveCtUnitList(@RequestBody List<CtUnit> targetCtUnitList) {
        try {
            service.saveBatch(targetCtUnitList);
            return ReturnSucUtils.getRepInfo();
        } catch (Exception e) {
            return ReturnFailUtils.getRepInfo();
        }
    }
    /**
     * 获取所有组织(包含所有下级子组织)树形结构
     * @url {ctx}/api/v1/ctUnit/listUnitTree
     * @param userId 登录用户标识称
     * @return Object
     */
    @GetMapping("/listUnitTree")
    public Object listUnitTree(@CurrentUser String userId) {
        try {
            // 获取当前登录用户
            CtUser ctUser = ctUserService.getById(userId);
            // 查询当前登录用户下的所有单位
            List<CtUnit> ctUnits = service.listUnitTree(ctUser.getCustId(), ctUser.getUnitId());
            return ReturnSucUtils.getRepInfo( "查询成功", ctUnits);
        } catch (Exception e) {
            return ReturnFailUtils.getRepInfo( "查询失败", null);
        }
    }
    /**
     * 获取组织详情(包含组织下的部门详情)
     * @url {ctx}/api/v1/ctUnit/getUnitAndDept?id=
     * @param id 组织编号
     * @return Object
     */
    @GetMapping("/getUnitAndDept")
    public Object getUnitAndDept(@RequestParam(value = "id") String id) {
        try {
            //查询该用户组织和部门
            CtUnit ctUnit = service.getUnitAndDept(id);
            return ReturnSucUtils.getRepInfo( "查询成功", ctUnit);
        } catch (Exception e) {
            return ReturnFailUtils.getRepInfo( "查询失败", null);
        }
    }
}