package com.consum.base.controller; import com.consum.base.BaseController; import com.consum.base.pojo.FinSysTenantParam; import com.consum.base.pojo.FinSysTenantSearchParam; import com.consum.base.service.FinSysTenantServiceImpl; import com.consum.model.po.FinSysTenant; import com.consum.model.po.FinSysTenantUser; import com.walker.db.page.GenericPager; import com.walker.infrastructure.utils.StringUtils; import com.walker.web.ResponseValue; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.HashMap; /** * @Description 系统机构 * @Author 卢庆阳 * @Date 2023/10/23 */ @RestController @RequestMapping("/pc/fin/sys/tenant") public class FinSysTenantController extends BaseController { @Autowired private FinSysTenantServiceImpl finSysTenantService; /** * 添加机构 * @author 卢庆阳 * @date 2023/10/4 */ @PostMapping("/add") public ResponseValue add(@RequestBody FinSysTenantParam param){ if (param == null) { return ResponseValue.error("参数为空"); } if (StringUtils.isEmpty(param.getCode())) { return ResponseValue.error("机构编号为空"); } if (StringUtils.isEmpty(param.getName())) { return ResponseValue.error("机构名称为空"); } if (param.getParentId() == null) { return ResponseValue.error("上级机构不存在"); } //根据机构id查询机构 FinSysTenant sysTenant = this.finSysTenantService.selectByTenantId(param.getCode()); if (sysTenant != null) { return ResponseValue.error("机构编号已存在"); } String parentIdStr = param.getParentId() + ""; int lv = parentIdStr.length() / 3 + 1; if (lv > 4) { return ResponseValue.error("不能创建支局以下机构"); } int num = this.finSysTenantService.addSysTenant(param,this.getCurrentUser(),lv); if(num>0) return ResponseValue.success(1); return ResponseValue.error("插入失败!"); } /** * @Description 分页列表查询 * @Author 卢庆阳 * @Date 2023/10/24 */ // @RequestMapping("/select/list") @RequestMapping("/select/list") public ResponseValue allocatedList(FinSysTenantSearchParam param) { FinSysTenantUser sysInfo = getSysInfo(); if (sysInfo == null) { return ResponseValue.error("登录用户信息不存在"); } GenericPager pager = null; StringBuilder whStr = new StringBuilder("where 1=1 and is_delete = 0 "); HashMap paramts = new HashMap<>(); if (param.getTenantId() == null) { if (sysInfo.getLv() != 1) { whStr.append(" and parent_id=:parent_id"); paramts.put("parent_id", sysInfo.getTenantId()); } } if (param.getStatus() != null) { whStr.append(" and status = :status"); paramts.put("status", param.getStatus()); } if (param.getTenantId() != null && param.getTenantId() != 0) { whStr.append(" and parent_id=:parent_id"); paramts.put("parent_id", param.getTenantId()); } if (param.getName() != null && !param.getName().equals("")) { whStr.append(" and name like:name"); paramts.put("name", "%" + param.getName() + "%"); } if (param.getCode() != null && !param.getCode().equals("")) { whStr.append(" and code=:code"); paramts.put("code", param.getCode()); } whStr.append(" order by code ASC "); pager = this.finSysTenantService.selectSplit(new FinSysTenant(), whStr.toString(), paramts); return ResponseValue.success(pager); } }