From 3dcb4e0ebfd43190957f556d886917b2a2ffa064 Mon Sep 17 00:00:00 2001 From: zhaoxiaohao <913652501@qq.com> Date: Wed, 12 Aug 2020 18:45:30 +0800 Subject: [PATCH] 修改上传图片的接口 --- kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserOrgController.java | 203 ++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 153 insertions(+), 50 deletions(-) diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserOrgController.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserOrgController.java index fb9520f..1ea6e4f 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserOrgController.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserOrgController.java @@ -1,13 +1,18 @@ package com.kidgrow.usercenter.controller; -import com.kidgrow.common.controller.BaseController; -import com.kidgrow.common.model.PageResult; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.kidgrow.common.annotation.LoginUser; import com.kidgrow.common.model.ResultBody; +import com.kidgrow.common.model.SysOrganization; +import com.kidgrow.common.model.SysUser; import com.kidgrow.common.model.SysUserOrg; +import com.kidgrow.usercenter.model.SysDepartment; +import com.kidgrow.usercenter.model.SysHospital; +import com.kidgrow.usercenter.service.ISysOrganizationService; import com.kidgrow.usercenter.service.ISysUserOrgService; +import com.kidgrow.usercenter.service.impl.SysDepartmentServiceImpl; +import com.kidgrow.usercenter.service.impl.SysHospitalServiceImpl; import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -15,60 +20,41 @@ import org.springframework.web.bind.annotation.*; import javax.validation.Valid; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; import java.util.Map; - -/** - * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br> - * @Description: 用户和组织关系表 - * @Project: 用户中心 - * @CreateDate: Created in 2020-03-31 11:01:35 <br> - * @Author: <a href="4345453@kidgrow.com">liuke</a> - * @version: 1.0 - */ @Slf4j @RestController @RequestMapping("/sysuserorg") -@Api(tags = "用户和组织关系表") -public class SysUserOrgController extends BaseController{ +@Api(tags = "用户与部门") +public class SysUserOrgController { @Autowired private ISysUserOrgService sysUserOrgService; + @Autowired + private ISysOrganizationService sysOrganizationService; + @Autowired + private SysDepartmentServiceImpl sysDepartmentService; + @Autowired + private SysHospitalServiceImpl sysHospitalService; + + @PostMapping("getListByMap") + public List<SysUserOrg> getListByMap(@RequestParam Map<String, Object> map) { + List<SysUserOrg> sysUserOrgs = sysUserOrgService.listByMap(map); + return sysUserOrgs; + } /** - * 列表 + * 根据条件查询列表 + * + * @param map + * @return */ - @ApiOperation(value = "查询列表") - @ApiImplicitParams({ - @ApiImplicitParam(name = "page", value = "分页起始位置", required = true, dataType = "Integer"), - @ApiImplicitParam(name = "limit", value = "分页结束位置", required = true, dataType = "Integer") - }) + @ApiOperation(value = "根据条件查询列表") @GetMapping - public PageResult list(@RequestParam Map<String, Object> params) { - if(params.size()==0){ - params.put("page",1); - params.put("limit",10); - } - return sysUserOrgService.findList(params); - } - - /** - * 查询 - */ - @ApiOperation(value = "查询") - @GetMapping("/{id}") - public ResultBody findById(@PathVariable Long id) { - SysUserOrg model = sysUserOrgService.getById(id); - return ResultBody.ok().data(model).msg("查询成功"); - } - - /** - * 根据SysUserOrg当做查询条件进行查询 - */ - @ApiOperation(value = "根据SysUserOrg当做查询条件进行查询") - @PostMapping("/query") - public ResultBody findByObject(@RequestBody SysUserOrg sysUserOrg) { - SysUserOrg model = sysUserOrgService.findByObject(sysUserOrg); - return ResultBody.ok().data(model).msg("查询成功"); + public ResultBody listByMap(@RequestParam Map<String, Object> map) { + return ResultBody.ok().data(sysUserOrgService.listByMap(map)).msg("查询成功"); } /** @@ -76,12 +62,119 @@ */ @ApiOperation(value = "保存") @PostMapping - public ResultBody save(@Valid @RequestBody SysUserOrg sysUserOrg, BindingResult bindingResult) { + public ResultBody save(@Valid @RequestBody SysUserOrg sysUserOrg, BindingResult bindingResult, @LoginUser SysUser sysUser) { if (bindingResult.hasErrors()) { return ResultBody.failed().msg(bindingResult.getFieldError().getDefaultMessage()); } else { - sysUserOrgService.saveOrUpdate(sysUserOrg); - return ResultBody.ok().data(sysUserOrg).msg("保存成功"); + if (sysUserOrg.getUserId() != null) { + String createUserOrgCode = ""; + List<SysOrganization> userOrgData = new ArrayList<>(); + SysOrganization byId = sysOrganizationService.getById(sysUserOrg.getOrgId()); + if(byId==null){ + return ResultBody.failed().data(null).msg("该组织id异常"); + } + SysOrganization parentId = sysOrganizationService.getById(byId.getOrgParentId()); + userOrgData.add(parentId); + userOrgData.add(byId); + if(parentId==null){ + return ResultBody.failed().data(null).msg("该组织id异常"); + } + if (userOrgData != null) { + if (userOrgData.size() == 2) { + createUserOrgCode = userOrgData.get(1).getOrgCode(); + } + } + if (!createUserOrgCode.isEmpty()) { + //查出用户的所有组织关系数据 + Map<String, Object> map = new HashMap<String, Object>(); + map.put("user_id", sysUserOrg.getUserId()); + List<SysUserOrg> userOrgList = sysUserOrgService.getListByMap(map); + if (userOrgList.size() > 0) { + for (int i = 0; i < userOrgList.size(); i++) { + if (sysUserOrg.getId().equals(userOrgList.get(i).getId())) { + userOrgList.get(i).setOrgId(sysUserOrg.getOrgId()); + userOrgList.get(i).setFromLevel(2); + + //查询 科室 + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("org_id", sysUserOrg.getOrgId()); + queryWrapper.eq("is_del", 0); + queryWrapper.eq("enabled", 1); + List<SysDepartment> list = sysDepartmentService.list(queryWrapper); + if (!list.isEmpty()) { + userOrgList.get(i).setFromId(list.get(0).getId()); + } else { + userOrgList.get(i).setFromId(null); + } + } else { + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("org_id", sysUserOrg.getUpdateUserId()); + queryWrapper.eq("is_del", 0); + queryWrapper.eq("enabled", 1); + List<SysHospital> listHospital = sysHospitalService.list(queryWrapper); + if (!listHospital.isEmpty()) { + userOrgList.get(i).setFromId(listHospital.get(0).getId()); + } + userOrgList.get(i).setFromLevel(1); + userOrgList.get(i).setOrgId(sysUserOrg.getUpdateUserId()); + } + userOrgList.get(i).setEnabled(sysUserOrg.getEnabled()); + userOrgList.get(i).setCreateUserOrgCode(createUserOrgCode); + } + } else { + userOrgList = new ArrayList<>(); + //查出来的上级组织信息建立用户关系 + //借用字段承载数据 + SysOrganization sysOrganization = sysOrganizationService.getById(sysUserOrg.getUpdateUserId()); + if (sysOrganization != null) { + SysUserOrg sysUserOrgTemp = new SysUserOrg(); + sysUserOrgTemp.setOrgId(sysOrganization.getId()); + sysUserOrgTemp.setUserId(sysUserOrg.getUserId()); + sysUserOrgTemp.setEnabled(sysUserOrg.getEnabled()); + sysUserOrgTemp.setCreateUserOrgCode(createUserOrgCode); + sysUserOrgTemp.setFromLevel(2); + + //查询 科室 + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("org_id", sysUserOrg.getOrgId()); + queryWrapper.eq("is_del", 0); + queryWrapper.eq("enabled", 1); + List<SysDepartment> list = sysDepartmentService.list(queryWrapper); + if (!list.isEmpty()) { + sysUserOrgTemp.setFromId(list.get(0).getId()); + } + userOrgList.add(sysUserOrgTemp); + //查询 医院 + queryWrapper = new QueryWrapper(); + queryWrapper.eq("org_id", sysUserOrg.getUpdateUserId()); + queryWrapper.eq("is_del", 0); + queryWrapper.eq("enabled", 1); + List<SysHospital> listHospital = sysHospitalService.list(queryWrapper); + if (!listHospital.isEmpty()) { + sysUserOrgTemp.setFromId(listHospital.get(0).getId()); + } + sysUserOrgTemp.setFromLevel(1); +// sysUserOrg.setUpdateUserId(0L); + sysUserOrg.setOrgId(sysOrganization.getOrgParentId()); + sysUserOrg.setCreateUserOrgCode(createUserOrgCode); + userOrgList.add(sysUserOrg); + } else { + return ResultBody.failed().data(null).msg("该组织的上级组织数据异常!"); + } + } + //查询 + boolean v = sysUserOrgService.saveOrUpdateBatch(userOrgList); + if (v) { + return ResultBody.ok().data(sysUserOrg).msg("保存成功"); + } else { + return ResultBody.failed().data(null).msg("数据保存失败!"); + } + } else { + return ResultBody.failed().data(null).msg("该组织数据不完整!"); + } + } else { + return ResultBody.failed().data(null).msg("该组数据不完整!"); + } } } @@ -94,4 +187,14 @@ sysUserOrgService.removeById(id); return ResultBody.ok().msg("删除成功"); } + + /** + * 查询 + */ + @ApiOperation(value = "查询") + @GetMapping("/{id}") + public ResultBody findById(@PathVariable Long id) { + SysUserOrg model = sysUserOrgService.getById(id); + return ResultBody.ok().data(model).msg("查询成功"); + } } -- Gitblit v1.8.0