portal
This commit is contained in:
24
src/main/java/com/yxt/portal/PortalApplication.java
Normal file
24
src/main/java/com/yxt/portal/PortalApplication.java
Normal file
@@ -0,0 +1,24 @@
|
||||
package com.yxt.portal;
|
||||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.cloud.openfeign.EnableFeignClients;
|
||||
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||
|
||||
/**
|
||||
* @author wangpengfei
|
||||
* @date 2024/4/28 14:43
|
||||
*/
|
||||
@SpringBootApplication(scanBasePackages = {
|
||||
"com.yxt.portal.config",
|
||||
"com.yxt.common.base.config",
|
||||
"com.yxt.portal"
|
||||
})
|
||||
// 启用自带定时任务
|
||||
@EnableScheduling
|
||||
@EnableFeignClients(basePackages = {})
|
||||
public class PortalApplication {
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(PortalApplication.class, args);
|
||||
}
|
||||
}
|
||||
10
src/main/java/com/yxt/portal/apiadmin/AdminHomeRest.java
Normal file
10
src/main/java/com/yxt/portal/apiadmin/AdminHomeRest.java
Normal file
@@ -0,0 +1,10 @@
|
||||
package com.yxt.portal.apiadmin;
|
||||
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
@RestController("com.yxt.base.apiadmin.AdminHomeRest")
|
||||
@RequestMapping("/apiadmin/home")
|
||||
public class AdminHomeRest {
|
||||
|
||||
}
|
||||
164
src/main/java/com/yxt/portal/apiadmin/DictCommonRest.java
Normal file
164
src/main/java/com/yxt/portal/apiadmin/DictCommonRest.java
Normal file
@@ -0,0 +1,164 @@
|
||||
package com.yxt.portal.apiadmin;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.portal.biz.dictcommon.*;
|
||||
import com.yxt.portal.biz.dicttype.DictTypeService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author dimengzhe
|
||||
* @date 2021/7/5 21:29
|
||||
* @description
|
||||
*/
|
||||
@Slf4j
|
||||
@Controller
|
||||
@RequestMapping("apiadmin/dictcommons")
|
||||
@Api(tags = "数据字典数据项管理")
|
||||
public class DictCommonRest {
|
||||
|
||||
@Autowired
|
||||
private DictTypeService dictTypeService;
|
||||
|
||||
@Autowired
|
||||
private DictCommonService dictCommonService;
|
||||
|
||||
@PostMapping(value = "/save")
|
||||
@ResponseBody
|
||||
@ApiOperation(value = "数据字典数据项保存")
|
||||
ResultBean save(@Valid @RequestBody DictCommonDto dictCommonDto) {
|
||||
ResultBean resultBean = ResultBean.fireFail();
|
||||
//数据类型
|
||||
String dictType = dictCommonDto.getDictType();
|
||||
//数据项值
|
||||
String dictKey = dictCommonDto.getDictKey();
|
||||
//父级sid
|
||||
String parentSid = dictCommonDto.getParentSid();
|
||||
int size = dictTypeService.selectSize(dictType);
|
||||
if (size > 0) {
|
||||
//根据数据类型和数据项值查询是否已存在
|
||||
DictCommon dc = dictCommonService.selectSize(dictKey, dictType, parentSid);
|
||||
if (dc != null) {
|
||||
return resultBean.setMsg(dictType + "此类型的数据项已存在");
|
||||
}
|
||||
DictCommon dictCommon = new DictCommon();
|
||||
dictCommonDto.fillEntity(dictCommon);
|
||||
boolean isSave = dictCommonService.save(dictCommon);
|
||||
if (!isSave) {
|
||||
return resultBean.setMsg("保存数据项失败");
|
||||
}
|
||||
} else {
|
||||
return resultBean.setMsg("数据字典类型不存在");
|
||||
}
|
||||
return resultBean.success().setMsg("保存成功");
|
||||
}
|
||||
|
||||
@PostMapping("/pageList")
|
||||
@ResponseBody
|
||||
@ApiOperation(value = "数据字典数据项分页列表")
|
||||
ResultBean<PagerVo<DictCommonVo>> pageList(@RequestBody PagerQuery<DictCommonQuery> pagerQuery) {
|
||||
ResultBean<PagerVo<DictCommonVo>> rb = ResultBean.fireFail();
|
||||
PagerVo<DictCommonVo> pv = new PagerVo<>();
|
||||
IPage<DictCommonVo> p2 = dictCommonService.pageList(pagerQuery);
|
||||
PagerVo<DictCommonVo> pv1 = PagerUtil.pageToVo(p2, pv);
|
||||
return rb.success().setData(pv1);
|
||||
}
|
||||
|
||||
@PostMapping("/update/{sid}")
|
||||
@ResponseBody
|
||||
@ApiOperation(value = "数据字典修改后保存")
|
||||
ResultBean update(@Valid @RequestBody DictCommonDto dictCommonDto, @ApiParam(value = "数据项sid", required = true) @PathVariable("sid") String sid){
|
||||
ResultBean resultBean = ResultBean.fireFail();
|
||||
//数据类型
|
||||
String dictType = dictCommonDto.getDictType();
|
||||
int size = dictTypeService.selectSize(dictType);
|
||||
if (size > 0) {
|
||||
//根据数据类型和数据项值查询是否已存在
|
||||
DictCommon dc = dictCommonService.fetchBySid(sid);
|
||||
if (dc == null) {
|
||||
return resultBean.setMsg(dictType + "此类型的数据项不存在");
|
||||
} else {
|
||||
if (!sid.equals(dc.getSid())) {
|
||||
return resultBean.setMsg(dictType + "此类型的数据项已存在");
|
||||
}
|
||||
}
|
||||
if (0 == dictCommonService.updateBySid(dictCommonDto.toMap(), sid)) {
|
||||
return resultBean.setMsg("更新失败");
|
||||
}
|
||||
} else {
|
||||
return resultBean.setMsg("数据字典类型不存在");
|
||||
}
|
||||
return resultBean.success().setMsg("保存成功");
|
||||
}
|
||||
|
||||
@ResponseBody
|
||||
@DeleteMapping("/delete/{sid}")
|
||||
@ApiOperation(value = "删除")
|
||||
ResultBean delete(@ApiParam(value = "数据项sid", required = true) @PathVariable("sid") String sid){
|
||||
DictCommon dictCommon = dictCommonService.fetchBySid(sid);
|
||||
if (null == dictCommon) {
|
||||
return ResultBean.fireFail().setMsg("该数据项不存在");
|
||||
}
|
||||
if (0 == dictCommonService.deleteBySid(sid)) {
|
||||
return ResultBean.fireFail().setMsg("删除失败");
|
||||
}
|
||||
return ResultBean.fireSuccess().setMsg("删除成功");
|
||||
}
|
||||
|
||||
@GetMapping("/typeValues")
|
||||
@ResponseBody
|
||||
@ApiOperation("下拉框的获取")
|
||||
ResultBean<List<DictCommonVo>> getTypeValues(@RequestParam("type") String type, @RequestParam(value = "psid", defaultValue = "0")String psid){
|
||||
DictCommonTypeQuery query = new DictCommonTypeQuery();
|
||||
query.setType(type);
|
||||
query.setPsid(psid);
|
||||
List<DictCommonVo> dictCommonVoList = dictCommonService.getValue(query);
|
||||
if (dictCommonVoList.size() == 0) {
|
||||
return new ResultBean<List<DictCommonVo>>().fail().setMsg("该类型无数据项");
|
||||
}
|
||||
return new ResultBean<List<DictCommonVo>>().success().setData(dictCommonVoList);
|
||||
}
|
||||
|
||||
@ResponseBody
|
||||
@GetMapping("/selectBykey/{key}/{type}")
|
||||
@ApiOperation(value = "数据字典信息修改时的初始化信息")
|
||||
public ResultBean<DictCommonVo> selectBykey(@ApiParam(value = "数据字典key", required = true) @PathVariable("key") String key, @ApiParam(value = "数据字典type", required = true) @PathVariable("type") String type) {
|
||||
DictCommonVo v = dictCommonService.selectBykey(key, type);
|
||||
if (v == null) {
|
||||
return new ResultBean<DictCommonVo>().success().setData(new DictCommonVo());
|
||||
}
|
||||
return new ResultBean<DictCommonVo>().success().setData(v);
|
||||
}
|
||||
|
||||
@GetMapping("/getFirstDictKeyByType")
|
||||
@ResponseBody
|
||||
@ApiOperation("根据数据字典的key获取第一个值(默认值)")
|
||||
ResultBean getFirstDictKeyByType(@RequestParam("dictType") String dictType, @RequestParam("psid") String psid){
|
||||
ResultBean<List<DictCommonVo>> resultBean = getTypeValues(dictType, psid);
|
||||
if (resultBean.getSuccess() && resultBean.getData() != null) {
|
||||
String dictKey = resultBean.getData().get(0).getDictKey();
|
||||
return new ResultBean().success().setData(dictKey);
|
||||
} else {
|
||||
return new ResultBean().fail().setData(new DictCommon());
|
||||
}
|
||||
}
|
||||
|
||||
@GetMapping("/getTypeValueList")
|
||||
@ResponseBody
|
||||
@ApiOperation("根据分类编码和数据分组查询数据字典")
|
||||
ResultBean<List<DictCommonVo>> getTypeValueList(@RequestParam("type")String type,@RequestParam("groupNum")String groupNum){
|
||||
return dictCommonService.getList(type,groupNum);
|
||||
}
|
||||
}
|
||||
105
src/main/java/com/yxt/portal/apiadmin/DictTypeRest.java
Normal file
105
src/main/java/com/yxt/portal/apiadmin/DictTypeRest.java
Normal file
@@ -0,0 +1,105 @@
|
||||
package com.yxt.portal.apiadmin;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.portal.biz.dictcommon.DictCommon;
|
||||
import com.yxt.portal.biz.dictcommon.DictCommonService;
|
||||
import com.yxt.portal.biz.dicttype.*;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author dimengzhe
|
||||
* @date 2021/7/5 22:37
|
||||
* @description
|
||||
*/
|
||||
@Slf4j
|
||||
@Controller
|
||||
@RequestMapping("apiadmin/dicttypes")
|
||||
@Api(tags = "数据字典类型管理")
|
||||
public class DictTypeRest{
|
||||
|
||||
@Autowired
|
||||
private DictTypeService dictTypeService;
|
||||
|
||||
@Autowired
|
||||
private DictCommonService dictCommonService;
|
||||
|
||||
|
||||
@PostMapping(value = "/save")
|
||||
@ResponseBody
|
||||
@ApiOperation(value = "数据字典类型保存")
|
||||
ResultBean save(@Valid @RequestBody DictTypeDto dictTypeDto){
|
||||
ResultBean resultBean = ResultBean.fireFail();
|
||||
DictType dictType = new DictType();
|
||||
//判断数据字典类型是否已存在
|
||||
String dictTypeCode = dictTypeDto.getDictTypeCode();
|
||||
int size = dictTypeService.selectSize(dictTypeCode);
|
||||
if (size > 0) {
|
||||
return resultBean.setMsg("数据类型代码已存在");
|
||||
}
|
||||
dictTypeDto.fillEntity(dictType);
|
||||
boolean isSave = dictTypeService.save(dictType);
|
||||
if (!isSave) {
|
||||
return resultBean.setMsg("保存失败");
|
||||
}
|
||||
return resultBean.success().setMsg("保存成功");
|
||||
}
|
||||
@PostMapping("/pageList")
|
||||
@ResponseBody
|
||||
@ApiOperation(value = "数据字典类型分页列表")
|
||||
ResultBean<PagerVo<DictTypeVo>> pageList(@RequestBody PagerQuery<DictTypeQuery> pagerQuery){
|
||||
ResultBean<PagerVo<DictTypeVo>> rb = ResultBean.fireFail();
|
||||
PagerVo<DictTypeVo> pv = new PagerVo<>();
|
||||
IPage<DictTypeVo> p2 = dictTypeService.pageList(pagerQuery);
|
||||
PagerVo<DictTypeVo> pv1 = PagerUtil.pageToVo(p2, pv);
|
||||
return rb.success().setData(pv1);
|
||||
}
|
||||
|
||||
@PostMapping("/update/{sid}")
|
||||
@ResponseBody
|
||||
@ApiOperation(value = "数据字典类型更新")
|
||||
ResultBean update(@Valid DictTypeDto dictTypeDto, @ApiParam(value = "数据字典类型sid", required = true) @PathVariable("sid") String sid){
|
||||
DictType dictType = dictTypeService.fetchBySid(sid);
|
||||
if (null == dictType) {
|
||||
return ResultBean.fireFail().setMsg("该数据字典类型不存在");
|
||||
}
|
||||
if (!dictTypeDto.getDictTypeCode().equals(dictType.getDictTypeCode())) {
|
||||
return ResultBean.fireFail().setMsg("数据字典类型的code值不允许修改");
|
||||
}
|
||||
if (0 == dictTypeService.updateBySid(dictTypeDto.toMap(), sid)) {
|
||||
return ResultBean.fireFail().setMsg("更新失败");
|
||||
}
|
||||
return ResultBean.fireSuccess().setMsg("更新成功");
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete/{sid}")
|
||||
@ResponseBody
|
||||
@ApiOperation(value = "数据字典类型删除")
|
||||
ResultBean delete(@ApiParam(value = "sid", required = true) @PathVariable("sid") String sid){
|
||||
DictType dictType = dictTypeService.fetchBySid(sid);
|
||||
if (null == dictType) {
|
||||
return ResultBean.fireFail().setMsg("该数据字典类型不存在");
|
||||
}
|
||||
//查询该类型下是否存在数据项
|
||||
List<DictCommon> dictCommon = dictCommonService.selectByType(dictType.getDictTypeCode());
|
||||
if (dictCommon.size() > 0) {
|
||||
return ResultBean.fireFail().setMsg("该数据字典类型下存在数据项,请先删除该类下的数据项");
|
||||
}
|
||||
if (0 == dictTypeService.deleteBySid(sid)) {
|
||||
return ResultBean.fireFail().setMsg("删除失败");
|
||||
}
|
||||
return ResultBean.fireSuccess().setMsg("删除成功");
|
||||
}
|
||||
}
|
||||
42
src/main/java/com/yxt/portal/apiadmin/SmsRest.java
Normal file
42
src/main/java/com/yxt/portal/apiadmin/SmsRest.java
Normal file
@@ -0,0 +1,42 @@
|
||||
package com.yxt.portal.apiadmin;
|
||||
|
||||
import com.yxt.portal.biz.sms.SmsDto;
|
||||
import com.yxt.portal.utils.MsgWs;
|
||||
import com.yxt.common.base.utils.StringUtils;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import io.swagger.annotations.Api;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysFunctionFeignFallback.java <br/>
|
||||
* Class: com.yxt.anrui.portal.biz.sysfunction.SysFunctionRest <br/>
|
||||
* Description: 功能. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:28 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Api(tags = "短信")
|
||||
@RestController
|
||||
@RequestMapping("apiadmin/sms")
|
||||
public class SmsRest {
|
||||
|
||||
|
||||
public ResultBean SendWaitWorkMsg(SmsDto dto) {
|
||||
String mobile = dto.getMobile();
|
||||
String msg = dto.getMsg();
|
||||
if (StringUtils.isBlank(mobile)){
|
||||
return ResultBean.fireFail().setMsg("手机号不能为空!");
|
||||
}
|
||||
if (StringUtils.isBlank(msg)){
|
||||
return ResultBean.fireFail().setMsg("信息不能为空!");
|
||||
}
|
||||
String result = MsgWs.SendWaitWorkMsg(mobile, msg);
|
||||
return ResultBean.fireSuccess();
|
||||
}
|
||||
}
|
||||
218
src/main/java/com/yxt/portal/apiadmin/SysFunctionRest.java
Normal file
218
src/main/java/com/yxt/portal/apiadmin/SysFunctionRest.java
Normal file
@@ -0,0 +1,218 @@
|
||||
package com.yxt.portal.apiadmin;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.yxt.portal.biz.sysfunction.*;
|
||||
import com.yxt.portal.biz.syssource.SysSource;
|
||||
import com.yxt.portal.biz.syssource.SysSourceVo;
|
||||
//import com.yxt.user.biz.syssourcefunction.SysSourceFunction;
|
||||
import com.yxt.portal.biz.syssource.SysSourceService;
|
||||
//import com.yxt.user.biz.syssourcefunction.SysSourceFunctionService;
|
||||
import com.yxt.common.base.utils.StringUtils;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import io.swagger.annotations.Api;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysFunctionFeignFallback.java <br/>
|
||||
* Class: com.yxt.user.biz.sysfunction.SysFunctionRest <br/>
|
||||
* Description: 功能. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:28 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Api(tags = "功能")
|
||||
@RestController
|
||||
@RequestMapping("apiadmin/sysfunction")
|
||||
public class SysFunctionRest {
|
||||
|
||||
@Autowired
|
||||
private SysFunctionService sysFunctionService;
|
||||
@Autowired
|
||||
private SysSourceService sysSourceService;
|
||||
// @Autowired
|
||||
// private SysSourceFunctionService sysSourceFunctionService;
|
||||
|
||||
|
||||
public ResultBean<PagerVo<SysFunctionVo>> listPage(@RequestBody PagerQuery<SysFunctionQuery> pq) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
PagerVo<SysFunctionVo> pv = sysFunctionService.listPageVo(pq);
|
||||
return rb.success().setData(pv);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<List<SysFunctionVo>> listAll(@RequestBody SysFunctionQuery query) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<SysFunctionVo> list = sysFunctionService.listAllVo(query);
|
||||
return rb.success().setData(list);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<List<SysFunctionVo>> listAllByRoleSid(SysFunctionQuery query) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<SysFunctionVo> list = sysFunctionService.listAllByRoleSid(query);
|
||||
return rb.success().setData(list);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<List<SysFunctionTreeVo>> listAllVoForSource(@RequestBody SysFunctionQuery query) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<SysFunctionTreeVo> list = sysFunctionService.listAllVoForSource(query);
|
||||
return rb.success().setData(list);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<List<SysFunctionVo>> list() {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<SysFunctionVo> list = sysFunctionService.listVo();
|
||||
return rb.success().setData(list);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean save(SysFunctionDto dto) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
String sourceSid = dto.getSourceSid();
|
||||
if (StringUtils.isBlank(sourceSid)) {
|
||||
return ResultBean.fireFail().setMessage("资源不能为空");
|
||||
} else {
|
||||
SysSourceVo sysSourceVo = sysSourceService.fetchBySidVo(sourceSid);
|
||||
if (sysSourceVo.getSid() == null) {
|
||||
return ResultBean.fireFail().setMessage("资源不存在");
|
||||
}
|
||||
}
|
||||
String pSid = dto.getParentSid();
|
||||
if (StringUtils.isBlank(pSid)) {
|
||||
return ResultBean.fireFail().setMessage("菜单父级sid不能为空");
|
||||
} else {
|
||||
if (!"0".equals(pSid)) {
|
||||
SysFunction sysFunction = sysFunctionService.fetchBySid(pSid);
|
||||
if (StringUtils.isBlank(sysFunction.getSid())) {
|
||||
return ResultBean.fireFail().setMessage("菜单父级不存在!");
|
||||
}
|
||||
}
|
||||
}
|
||||
sysFunctionService.saveOrUpdateDto(dto);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
|
||||
public ResultBean update(SysFunctionDto dto, String sid) {
|
||||
SysFunction sysFunction = sysFunctionService.fetchBySid(sid);
|
||||
if (sysFunction.getSid() == null) {
|
||||
return ResultBean.fireFail().setMessage("功能不存在!");
|
||||
}
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
sysFunctionService.updateBySid(dto.toMap(), sid);
|
||||
// SysSourceFunction sysSourceFunction1 = sysSourceFunctionService.fetchByFunctionSid(sid);
|
||||
// sysSourceFunctionService.delByFunctionSid(sid);
|
||||
// SysSourceFunction sysSourceFunction = new SysSourceFunction();
|
||||
// sysSourceFunction.setFunctionRootSid(sysSourceFunction1.getFunctionRootSid());
|
||||
// sysSourceFunction.setFunctionSid(sid);
|
||||
// sysSourceFunction.setSourceSid(dto.getSourceSid());
|
||||
// sysSourceFunctionService.insert(sysSourceFunction);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
|
||||
public ResultBean updateIsEnable(String sid, Integer isEnable) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
SysFunction sysFunction = sysFunctionService.fetchBySid(sid);
|
||||
if (sysFunction == null) {
|
||||
//查询资源是否存在
|
||||
SysSource sysSource = sysSourceService.fetchBySid(sid);
|
||||
if (sysSource == null) {
|
||||
return ResultBean.fireFail().setMessage("功能不存在!");
|
||||
} else {
|
||||
//将该资源下的所有功能关闭
|
||||
// List<String> sids = sysSourceFunctionService.selectBySourceSid(sid);
|
||||
// if (sids.size() != 0) {
|
||||
// sysFunctionService.updateBySourceSid(isEnable, sids);
|
||||
// }
|
||||
|
||||
}
|
||||
} else {
|
||||
sysFunction.setIsEnable(isEnable);
|
||||
sysFunctionService.updateById(sysFunction);
|
||||
}
|
||||
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
|
||||
public ResultBean del(String ids) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
sysFunctionService.delByIds(ids);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
|
||||
public ResultBean delBySids(String sids) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
String[] sidsArr = sids.split(",");
|
||||
// for (String functionSid : sidsArr) {
|
||||
// sysSourceFunctionService.delByFunctionSid(functionSid);
|
||||
// }
|
||||
sysFunctionService.delBySids(sidsArr);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<SysFunctionVo> fetch(String id) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
SysFunctionVo vo = sysFunctionService.fetchByIdVo(id);
|
||||
return rb.success().setData(vo);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<SysFunctionVo> fetchBySid(String sid) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
SysFunction entity = sysFunctionService.fetchBySid(sid);
|
||||
SysFunctionVo vo = new SysFunctionVo();
|
||||
BeanUtil.copyProperties(entity, vo);
|
||||
// SysSourceFunction sysSourceFunction = sysSourceFunctionService.fetchByFunctionSid(sid);
|
||||
// vo.setSourceSid(sysSourceFunction.getSourceSid());
|
||||
if ("0".equals(entity.getParentSid())) {
|
||||
vo.setParentSid("0");
|
||||
vo.setParentName("顶级功能");
|
||||
} else {
|
||||
SysFunction sysFunction = sysFunctionService.fetchBySid(entity.getParentSid());
|
||||
vo.setParentSid(sysFunction.getSid());
|
||||
vo.setParentName(sysFunction.getName());
|
||||
}
|
||||
return rb.success().setData(vo);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<List<Map<String,Object>>> getFunctionAuthorization(String roleSid) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<Map<String,Object>> list=sysFunctionService.getFunctionAuthorization(roleSid);
|
||||
return rb.success().setData(list);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<List<Map<String, Object>>> getFunctionAuthorizationApp(String roleSid) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<Map<String,Object>> list=sysFunctionService.getFunctionAuthorizationApp(roleSid);
|
||||
return rb.success().setData(list);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<List<ButtonPermissionVo>> getButtonPermissions(ButtonPermissionQuery query) {
|
||||
ResultBean<List<ButtonPermissionVo>> rb = ResultBean.fireFail();
|
||||
return rb.success().setData(sysFunctionService.getButtonPermissions(query));
|
||||
}
|
||||
//getFunctionAuthorization(){
|
||||
// }
|
||||
}
|
||||
327
src/main/java/com/yxt/portal/apiadmin/SysMenuRest.java
Normal file
327
src/main/java/com/yxt/portal/apiadmin/SysMenuRest.java
Normal file
@@ -0,0 +1,327 @@
|
||||
package com.yxt.portal.apiadmin;
|
||||
|
||||
import com.yxt.portal.biz.sysmenu.*;
|
||||
//import com.yxt.user.biz.sysmenurole.SysMenuRoleQuery;
|
||||
import com.yxt.portal.biz.sysmenurole.SysMenuRoleQuery;
|
||||
import com.yxt.portal.biz.sysmenurole.SysMenuRoleService;
|
||||
import com.yxt.portal.biz.sysrole.SysRole;
|
||||
import com.yxt.portal.biz.syssource.SysSource;
|
||||
import com.yxt.portal.biz.syssource.SysSourceVo;
|
||||
//import com.yxt.user.biz.syssourcemenu.SysSourceMenu;
|
||||
//import com.yxt.user.biz.syssourcemenu.SysSourceMenuVo;
|
||||
import com.yxt.portal.biz.sysuserrole.SysUserRoleVo;
|
||||
//import com.yxt.user.biz.sysmenurole.SysMenuRoleService;
|
||||
import com.yxt.portal.biz.sysrole.SysRoleService;
|
||||
import com.yxt.portal.biz.syssource.SysSourceService;
|
||||
//import com.yxt.user.biz.syssourcemenu.SysSourceMenuService;
|
||||
import com.yxt.portal.biz.sysuser.SysUserService;
|
||||
import com.yxt.portal.biz.sysuserrole.SysUserRoleService;
|
||||
import com.yxt.common.base.utils.StringUtils;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
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;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysMenuFeignFallback.java <br/>
|
||||
* Class: com.yxt.user.biz.sysmenu.SysMenuRest <br/>
|
||||
* Description: 菜单表. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:28 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Api(tags = "菜单表")
|
||||
@RestController
|
||||
@RequestMapping("apiadmin/sysmenu")
|
||||
public class SysMenuRest {
|
||||
// @Autowired
|
||||
// private SysSourceMenuService sysSourceMenuService;
|
||||
@Autowired
|
||||
private SysMenuService sysMenuService;
|
||||
@Autowired
|
||||
private SysSourceService sysSourceService;
|
||||
@Autowired
|
||||
private SysUserRoleService sysUserRoleService;
|
||||
@Autowired
|
||||
private SysMenuRoleService sysMenuRoleService;
|
||||
@Autowired
|
||||
private SysUserService sysUserService;
|
||||
@Autowired
|
||||
private SysRoleService sysRoleService;
|
||||
|
||||
|
||||
@ApiOperation("根据条件分页查询数据的列表")
|
||||
@PostMapping("/listPage")
|
||||
public ResultBean<PagerVo<SysMenuVo>> listPage(@RequestBody PagerQuery<SysMenuQuery> pq) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
PagerVo<SysMenuVo> pv = sysMenuService.listPageVo(pq);
|
||||
return rb.success().setData(pv);
|
||||
}
|
||||
|
||||
/* @Override
|
||||
public ResultBean<List<SysMenuVo>> listAll(@RequestBody SysMenuQuery query) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<SysMenuVo> list = sysMenuService.listAllVo(query);
|
||||
return rb.success().setData(list);
|
||||
}*/
|
||||
|
||||
/**
|
||||
* 菜单列表:根据资源归类
|
||||
*
|
||||
* @param query
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation("菜单列表:根据资源归类")
|
||||
@PostMapping("/listAllVoForSource")
|
||||
public ResultBean<List<SysMenuTreeVo>> listAllVoForSource(@RequestBody SysMenuQuery query){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<SysMenuTreeVo> list = sysMenuService.listAllVoForSource(query);
|
||||
return rb.success().setData(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 菜单列表:根据资源归类 设置功能的url用
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation("菜单列表:根据资源归类 设置功能的url用")
|
||||
@PostMapping("/getMenusForFunction")
|
||||
public ResultBean<List<Map<String,String>>> getMenusForFunction(@RequestBody SysMenuFunctionQuery sysMenuFunctionQuery) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
SysMenuQuery smq= new SysMenuQuery();
|
||||
smq.setSourceSid(sysMenuFunctionQuery.getSourceSid());
|
||||
List<SysMenuTreeVo> list = sysMenuService.listAllVoForSource(smq);
|
||||
List<Map<String,String>> l=new ArrayList<>();
|
||||
list.forEach(f->{
|
||||
if(sysMenuFunctionQuery.getSourceSid().equals(f.getSourceSid())){
|
||||
makeMenuListForChildren(f,l);
|
||||
}
|
||||
});
|
||||
return rb.success().setData(l);
|
||||
}
|
||||
private void makeMenuListForChildren(SysMenuTreeVo s, List<Map<String,String>> l){
|
||||
List<SysMenuTreeVo> children = s.getChildren();
|
||||
int size = children.size();
|
||||
for (int i=0;i<size;i++){
|
||||
makeMenuListForChildren( children.get(i), l) ;
|
||||
}
|
||||
String menuUrl = s.getMenuUrl();
|
||||
if(StringUtils.isNotBlank(menuUrl)){
|
||||
Map<String,String> m=new HashMap<>();
|
||||
m.put("name",s.getName());
|
||||
m.put("url",s.getMenuUrl());
|
||||
m.put("sid",s.getSid());
|
||||
l.add(m);
|
||||
}
|
||||
|
||||
}
|
||||
@ApiOperation("根据用户sid查询所有数据列表 ")
|
||||
@PostMapping("/sourceMenuTreeByUserSid")
|
||||
public ResultBean<List<Map<String, Object>>> sourceMenuTreeByUserSid(@RequestBody SysMenuQuery query) {
|
||||
ResultBean<List<Map<String, Object>>> rb = ResultBean.fireFail();
|
||||
SysMenuRoleQuery orgRoleMenuQuery = new SysMenuRoleQuery();
|
||||
List<Map<String, Object>> list = new ArrayList<>();
|
||||
if (null == query)
|
||||
return rb.setData(list);
|
||||
|
||||
//if业务角色存在,则查询业务角色的菜单列表,否则查询平台角色的菜单列表
|
||||
List<SysUserRoleVo> userRole = sysUserRoleService.selectByUserSid(query.getUserSid());
|
||||
List<String> roleSids = userRole.stream().map(s -> s.getRoleSid()).collect(Collectors.toList());
|
||||
for (String roleSid : roleSids) {
|
||||
SysRole sysRole = sysRoleService.fetchBySid(roleSid);
|
||||
if(sysRole == null){
|
||||
continue;
|
||||
}
|
||||
Integer type = sysRoleService.fetchBySid(roleSid).getType();
|
||||
if (type == 1){
|
||||
orgRoleMenuQuery.setIsAdmin("1");
|
||||
}else {
|
||||
orgRoleMenuQuery.setIsAdmin("0");
|
||||
}
|
||||
}
|
||||
orgRoleMenuQuery.setRoleSids(roleSids);
|
||||
orgRoleMenuQuery.setSourceSid(query.getSourceSid());
|
||||
list = sysMenuRoleService.getSourceMenuTreeOfRoles(orgRoleMenuQuery, null);
|
||||
return rb.success().setData(list);
|
||||
}
|
||||
@ApiOperation("根据资源sid查询所有数据列表 ")
|
||||
@PostMapping("/sourcemenutree")
|
||||
public ResultBean<List<Map<String, Object>>> sourcemenutree(@RequestBody SysMenuQuery query) {
|
||||
ResultBean<List<Map<String, Object>>> rb = ResultBean.fireFail();
|
||||
// SysMenuRoleQuery orgRoleMenuQuery = new SysMenuRoleQuery();
|
||||
List<Map<String, Object>> list = new ArrayList<>();
|
||||
if (null == query)
|
||||
return rb.setData(list);
|
||||
|
||||
//if业务角色存在,则查询业务角色的菜单列表,否则查询平台角色的菜单列表
|
||||
List<SysUserRoleVo> userRole = sysUserRoleService.selectByUserSid(query.getUserSid());
|
||||
List<String> roleSids = userRole.stream().map(s -> s.getRoleSid()).collect(Collectors.toList());
|
||||
for (String roleSid : roleSids) {
|
||||
SysRole sysRole = sysRoleService.fetchBySid(roleSid);
|
||||
if(sysRole == null){
|
||||
continue;
|
||||
}
|
||||
Integer type = sysRoleService.fetchBySid(roleSid).getType();
|
||||
if (type == 1){
|
||||
// orgRoleMenuQuery.setIsAdmin("1");
|
||||
}else {
|
||||
// orgRoleMenuQuery.setIsAdmin("0");
|
||||
}
|
||||
}
|
||||
// orgRoleMenuQuery.setRoleSids(roleSids);
|
||||
// orgRoleMenuQuery.setSourceSid(query.getSourceSid());
|
||||
// list = sysMenuRoleService.getSourceMenuTreeOfRoles(orgRoleMenuQuery, null);
|
||||
return rb.success().setData(list);
|
||||
}
|
||||
|
||||
@ApiOperation("根据角色sid条件查询所有数据列表")
|
||||
@PostMapping("/listAllByRoleSid")
|
||||
public ResultBean<List<SysMenuVo>> listAllByRoleSid(@RequestBody SysMenuQuery query) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
String roleSid = query.getRoleSid();
|
||||
if (StringUtils.isBlank(roleSid)) {
|
||||
ResultBean<List<SysMenuVo>> resultBean = new ResultBean<List<SysMenuVo>>();
|
||||
return resultBean.fail().setMessage("角色sid不能为空!");
|
||||
}
|
||||
List<SysSourceVo> sysSourceVos = sysSourceService.listVo();
|
||||
List<SysMenuVo> list = new ArrayList<>();
|
||||
for (SysSourceVo s : sysSourceVos) {
|
||||
SysMenuVo sysMenuVo = new SysMenuVo();
|
||||
sysMenuVo.setName(s.getSourceName());
|
||||
sysMenuVo.setSid(s.getSid());
|
||||
sysMenuVo.setChecked("1");
|
||||
query.setSourceSid(s.getSid());
|
||||
sysMenuVo.setChildren(sysMenuService.listAllByRoleSid(query));
|
||||
list.add(sysMenuVo);
|
||||
}
|
||||
return rb.success().setData(list);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<List<SysMenuVo>> list() {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<SysMenuVo> list = sysMenuService.listVo();
|
||||
return rb.success().setData(list);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("新增保存")
|
||||
@PostMapping("/save")
|
||||
public ResultBean save(@Valid @RequestBody SysMenuDto dto) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
String sourceSid = dto.getSourceSid();
|
||||
SysSource sysSource = sysSourceService.fetchBySid(sourceSid);
|
||||
if (sysSource == null) {
|
||||
return rb.setMsg("资源不存在");
|
||||
}
|
||||
sysMenuService.saveMenu(dto);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
@ApiOperation("修改保存")
|
||||
@PostMapping("/update/{sid}")
|
||||
public ResultBean update(@Valid @RequestBody SysMenuDto dto, @PathVariable("sid") String sid){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
//查询菜单是否存在
|
||||
SysMenu sysMenu = sysMenuService.fetchBySid(sid);
|
||||
if (sysMenu == null) {
|
||||
return rb.setMsg("菜单不存在");
|
||||
}
|
||||
String sourceSid = dto.getSourceSid();
|
||||
// SysSourceMenuVo vo = sysSourceMenuService.fetchByMenuSid(sid);
|
||||
// if (!sourceSid.equals(vo.getSourceSid())) {
|
||||
// sysSourceMenuService.delByMenuSid(sid);
|
||||
// SysSourceMenu sysSourceMenu = new SysSourceMenu();
|
||||
// sysSourceMenu.setMenuSid(sid);
|
||||
// sysSourceMenu.setSourceSid(dto.getSourceSid());
|
||||
// sysSourceMenu.setMenuRootSid(vo.getMenuRootSid());
|
||||
// sysSourceMenuService.save(sysSourceMenu);
|
||||
// }
|
||||
sysMenuService.updateBySid(dto, sid);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改是否可用的状态
|
||||
*
|
||||
* @param sid 菜单sid或资源sid
|
||||
* @param isEnable 是否可用的状态:1可用,0不可用
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation("修改是否可用的状态 ")
|
||||
@PostMapping("/updateIsEnable/{sid}/{isEnable}")
|
||||
public ResultBean updateIsEnable(@PathVariable("sid") String sid, @PathVariable("isEnable") Integer isEnable) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
SysMenu sysMenu = sysMenuService.fetchBySid(sid);
|
||||
if (sysMenu == null) {
|
||||
//查询资源是否存在
|
||||
SysSource sysSource = sysSourceService.fetchBySid(sid);
|
||||
if (sysSource == null) {
|
||||
return ResultBean.fireFail().setMessage("菜单不存在!");
|
||||
} else {
|
||||
//将该资源下的所有菜单关闭
|
||||
sysMenuService.updateBySourceSid(sid, isEnable);
|
||||
}
|
||||
} else {
|
||||
sysMenu.setIsEnable(isEnable);
|
||||
sysMenuService.updateById(sysMenu);
|
||||
}
|
||||
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
/* @Override
|
||||
public ResultBean del(String ids) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
sysMenuService.delByIds(ids);
|
||||
return rb.success();
|
||||
}*/
|
||||
/**
|
||||
* 根据当前行sid删除菜单
|
||||
*
|
||||
* @param sid 菜单sid
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation("删除记录 根据sid")
|
||||
@GetMapping("/delBySids/{sid}")
|
||||
public ResultBean delBySids(@PathVariable("sid") String sid) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
SysMenu sysMenu = sysMenuService.fetchBySid(sid);
|
||||
if (sysMenu == null) {
|
||||
return rb.setMsg("该菜单不存在");
|
||||
}
|
||||
// sysSourceMenuService.delByMenuSid(sid);
|
||||
sysMenuService.deleteBySid(sid);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
/* @Override
|
||||
public ResultBean<SysMenuVo> fetch(String id) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
SysMenuVo vo = sysMenuService.fetchByIdVo(id);
|
||||
return rb.success().setData(vo);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<SysMenuVo> fetchBySid(String sid) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
SysMenu sysMenu = sysMenuService.fetchBySid(sid);
|
||||
SysMenuVo vo = new SysMenuVo();
|
||||
BeanUtil.copyProperties(sysMenu, vo);
|
||||
return rb.success().setData(vo);
|
||||
}*/
|
||||
}
|
||||
159
src/main/java/com/yxt/portal/apiadmin/SysMenuRoleRest.java
Normal file
159
src/main/java/com/yxt/portal/apiadmin/SysMenuRoleRest.java
Normal file
@@ -0,0 +1,159 @@
|
||||
package com.yxt.portal.apiadmin;
|
||||
|
||||
import com.yxt.portal.biz.sysmenurole.*;
|
||||
import com.yxt.portal.biz.sysrole.SysRole;
|
||||
import com.yxt.portal.biz.sysrole.SysRoleService;
|
||||
import com.yxt.common.base.utils.StringUtils;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.portal.biz.sysmenurole.*;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysMenuRoleFeignFallback.java <br/>
|
||||
* Class: com.yxt.anrui.portal.biz.sysmenurole.SysMenuRoleRest <br/>
|
||||
* Description: 菜单与角色关联表. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:28 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Api(tags = "菜单与角色关联表")
|
||||
@RestController
|
||||
@RequestMapping("v1/sysmenurole")
|
||||
public class SysMenuRoleRest {
|
||||
|
||||
@Autowired
|
||||
private SysMenuRoleService sysMenuRoleService;
|
||||
@Autowired
|
||||
private SysRoleService sysRoleService;
|
||||
|
||||
@ApiOperation("根据条件分页查询数据的列表")
|
||||
@PostMapping("/listPage")
|
||||
public ResultBean<PagerVo<SysMenuRoleVo>> listPage(@RequestBody PagerQuery<SysMenuRoleQuery> pq){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
PagerVo<SysMenuRoleVo> pv = sysMenuRoleService.listPageVo(pq);
|
||||
return rb.success().setData(pv);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("根据条件查询所有数据列表")
|
||||
@PostMapping("/listAll")
|
||||
public ResultBean<List<SysMenuRoleVo>> listAll(@RequestBody SysMenuRoleQuery query){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<SysMenuRoleVo> list = sysMenuRoleService.listAllVo(query);
|
||||
return rb.success().setData(list);
|
||||
}
|
||||
|
||||
@ApiOperation("根据角色查询授权的菜单列表(PC)")
|
||||
@PostMapping("/selMenuByRole")
|
||||
public ResultBean<List<SysMenuRoleDataVo>> selMenuByRole(@RequestBody SysMenuRoleDataQuery query) {
|
||||
return sysMenuRoleService.selMenuByRole(query);
|
||||
}
|
||||
|
||||
@ApiOperation("根据角色查询授权的菜单列表(APP)")
|
||||
@PostMapping("/selMenuByRoleApp")
|
||||
public ResultBean<List<SysMenuRoleDataVo>> selMenuByRoleApp(@RequestBody SysMenuRoleDataQuery query) {
|
||||
return sysMenuRoleService.selMenuByRoleApp(query);
|
||||
}
|
||||
|
||||
@ApiOperation("修改角色菜单的数据权限(PC)")
|
||||
@PostMapping("/updateDataByRoleMenu")
|
||||
public ResultBean updateDataByRoleMenu(@RequestBody List<SysMenuRoleDataDto> dtos) {
|
||||
return sysMenuRoleService.updateDataByRoleMenu(dtos);
|
||||
}
|
||||
|
||||
@ApiOperation("修改角色菜单的数据权限(移动端)")
|
||||
@PostMapping("/updateDataByRoleMenuApp")
|
||||
public ResultBean updateDataByRoleMenuApp(@RequestBody List<SysMenuRoleDataDto> dtos) {
|
||||
return sysMenuRoleService.updateDataByRoleMenuApp(dtos);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("所有数据列表")
|
||||
@GetMapping("/list")
|
||||
public ResultBean<List<SysMenuRoleVo>> list(){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<SysMenuRoleVo> list = sysMenuRoleService.listVo();
|
||||
return rb.success().setData(list);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("新增保存")
|
||||
@PostMapping("/save")
|
||||
public ResultBean save(@RequestBody SysMenuRoleDto dto){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
sysMenuRoleService.saveOrUpdateDto(dto);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
@ApiOperation("修改保存")
|
||||
@PostMapping("/update/{sid}")
|
||||
public ResultBean update(@RequestBody SysMenuRoleDto dto,@PathVariable("sid") String sid){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
sysMenuRoleService.updateBySid(dto.toMap(),sid);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("修改角色的菜单配置")
|
||||
@PostMapping("/updateRoleAndMenu")
|
||||
public ResultBean updateRoleAndMenu(@RequestBody SysMenuRoleDto dto) {
|
||||
String roleSid=dto.getRoleSid();
|
||||
String menuSid=dto.getMenuSid();
|
||||
if(StringUtils.isBlank(roleSid)){
|
||||
return ResultBean.fireFail().setMessage("角色sid不能为空");
|
||||
}else{
|
||||
SysRole sysRole = sysRoleService.fetchBySid(roleSid);
|
||||
if(sysRole==null||StringUtils.isBlank(sysRole.getSid())){
|
||||
return ResultBean.fireFail().setMessage("角色sid不存在");
|
||||
}
|
||||
}
|
||||
List<MenuRoleVo> menuRoleList = sysMenuRoleService.selectByRoleSid(roleSid);
|
||||
sysMenuRoleService.delByRoleSid(roleSid);
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
if(!StringUtils.isBlank(menuSid)){
|
||||
String[] sids = menuSid.split(",");
|
||||
for(String sid:sids){
|
||||
MenuRoleVo menuRoleVo = menuRoleList.stream().filter(s -> Objects.equals(s.getMenuSid(), sid)).findFirst().orElse(null);
|
||||
SysMenuRole sysMenuRole = new SysMenuRole();
|
||||
sysMenuRole.setRoleSid(roleSid);
|
||||
sysMenuRole.setMenuSid(sid);
|
||||
if(menuRoleVo != null){
|
||||
sysMenuRole.setDataRuleId(menuRoleVo.getDataRuleId());
|
||||
}
|
||||
sysMenuRoleService.save(sysMenuRole);
|
||||
}
|
||||
}
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("删除记录")
|
||||
@GetMapping("/del/{ids}")
|
||||
public ResultBean del(@PathVariable("ids") String ids){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
sysMenuRoleService.delByIds(ids);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("获取一条记录")
|
||||
@GetMapping("/fetch/{id}")
|
||||
public ResultBean<SysMenuRoleVo> fetch(@PathVariable("id") String id){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
SysMenuRoleVo vo = sysMenuRoleService.fetchByIdVo(id);
|
||||
return rb.success().setData(vo);
|
||||
}
|
||||
}
|
||||
474
src/main/java/com/yxt/portal/apiadmin/SysOrganizationRest.java
Normal file
474
src/main/java/com/yxt/portal/apiadmin/SysOrganizationRest.java
Normal file
@@ -0,0 +1,474 @@
|
||||
package com.yxt.portal.apiadmin;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.yxt.common.base.config.RedisUtil;
|
||||
import com.yxt.common.base.config.component.FileUploadComponent;
|
||||
import com.yxt.common.base.utils.QRCodeUtil;
|
||||
import com.yxt.common.base.utils.StringUtils;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.portal.biz.sysstaffinfo.SysStaffinfoService;
|
||||
import com.yxt.portal.biz.sysstafforg.SysStaffOrgService;
|
||||
import com.yxt.portal.biz.sysstafforg.SysStaffOrgVo;
|
||||
import com.yxt.portal.biz.sysuser.SysUserService;
|
||||
import com.yxt.portal.biz.sysorganization.*;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.cloud.openfeign.SpringQueryMap;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.*;
|
||||
|
||||
import static java.util.stream.Collectors.toList;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysOrganizationFeignFallback.java <br/>
|
||||
* Class: SysOrganizationRest <br/>
|
||||
* Description: 组织机构表. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:28 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Api(tags = "组织机构表")
|
||||
@RestController
|
||||
@RequestMapping("apiadmin/sysorganization")
|
||||
public class SysOrganizationRest{
|
||||
|
||||
@Autowired
|
||||
private SysOrganizationService sysOrganizationService;
|
||||
@Autowired
|
||||
private SysStaffOrgService sysStaffOrgService;
|
||||
@Autowired
|
||||
private SysStaffinfoService sysStaffinfoService;
|
||||
@Autowired
|
||||
private FileUploadComponent fileUploadComponent;
|
||||
@Autowired
|
||||
private SysUserService sysUserService;
|
||||
@Autowired
|
||||
private RedisUtil redisUtil;
|
||||
|
||||
@PostMapping("/saveSysOrg")
|
||||
public ResultBean saveOrg(@RequestBody SysOrganizationDto dto){
|
||||
return sysOrganizationService.saveOrg(dto);
|
||||
}
|
||||
|
||||
@ApiOperation("根据条件分页查询数据的列表")
|
||||
@PostMapping("/listPage")
|
||||
public ResultBean<PagerVo<SysOrganizationVo>> listPage(@RequestBody PagerQuery<SysOrganizationQuery> pq) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
String psid = pq.getParams().getPsid();
|
||||
if (StringUtils.isBlank(psid)) {
|
||||
ResultBean<PagerVo<SysOrganizationVo>> r = new ResultBean<>();
|
||||
return r.setMessage("父级sid不能为空!");
|
||||
}
|
||||
PagerVo<SysOrganizationVo> pv = sysOrganizationService.listPageVo(pq);
|
||||
return rb.success().setData(pv);
|
||||
}
|
||||
|
||||
@ApiOperation("根据条件查询所有数据列表")
|
||||
@PostMapping("/listAll")
|
||||
public ResultBean<List<SysOrganizationVo>> listAll(@RequestBody SysOrganizationQuery query) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<SysOrganizationVo> list = sysOrganizationService.listAllVo(query);
|
||||
return rb.success().setData(list);
|
||||
}
|
||||
|
||||
@ApiOperation("所有数据列表")
|
||||
@GetMapping("/list")
|
||||
public ResultBean<List<SysOrganizationVo>> list() {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<SysOrganizationVo> list = sysOrganizationService.listVo();
|
||||
return rb.success().setData(list);
|
||||
}
|
||||
|
||||
@ApiOperation("新增保存")
|
||||
@PostMapping("/save")
|
||||
public ResultBean save(@RequestBody SysOrganizationDto dto) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
sysOrganizationService.saveOrUpdateDto(dto);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
@ApiOperation("一级组织机构列表")
|
||||
@GetMapping("/selectFirstOrgList")
|
||||
public ResultBean<List<SysOrganizationVo>> selectFirstOrgList(){
|
||||
return new ResultBean<List<SysOrganizationVo>>().success().setData(sysOrganizationService.selectFirstOrgList());
|
||||
}
|
||||
|
||||
@ApiOperation("根据父级sid查询子集列表")
|
||||
@GetMapping("/selectChildrenListBySid/{sid}")
|
||||
public ResultBean<List<SysOrganizationVo>> selectChildrenListBySid(@PathVariable("sid") String sid) {
|
||||
return new ResultBean<List<SysOrganizationVo>>().success().setData(sysOrganizationService.selectChildrenListBySid(sid));
|
||||
}
|
||||
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public ResultBean update(SysOrganizationDto dto, String sid){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
//查询该机构下的所有分管人员
|
||||
List<String> stringList = sysStaffOrgService.selectByOrgSid(sid);
|
||||
//根据组织sid查询组织信息
|
||||
SysOrganization sysOrganization = sysOrganizationService.fetchBySid(sid);
|
||||
if (sysOrganization == null) {
|
||||
return rb.setMsg("该组织机构不存在");
|
||||
}
|
||||
BeanUtil.copyProperties(dto, sysOrganization, "sid");
|
||||
//主管人员的sid
|
||||
String zgStaffSid = dto.getZgStaffSid();
|
||||
//分管人员的sid
|
||||
String fgStaffSid = dto.getFgStaffSid();
|
||||
//查询分管人员中是否包含主管人员
|
||||
if (StringUtils.isNotBlank(fgStaffSid)) {
|
||||
if (StringUtils.isNotBlank(zgStaffSid)) {
|
||||
if (fgStaffSid.contains(zgStaffSid)) {
|
||||
return rb.setMsg("同一个组织机构中主管分管的人员不能重复");
|
||||
}
|
||||
}
|
||||
}
|
||||
//删除关联关系中的所有主管与分管的人员关系
|
||||
sysStaffOrgService.delZGAndFGByOrgSid(sid);
|
||||
/*if (StringUtils.isNotBlank(zgStaffSid)) {
|
||||
ResultBean resultBean = sysOrganizationService.addSysStaffOrg(zgStaffSid, "1", sysOrganization);
|
||||
if (!resultBean.getSuccess()) {
|
||||
return rb.setMsg(resultBean.getMsg());
|
||||
}
|
||||
}*/
|
||||
if (StringUtils.isNotBlank(fgStaffSid)) {
|
||||
ResultBean resultBean = sysOrganizationService.addSysStaffOrg(fgStaffSid, "2", sysOrganization);
|
||||
if (!resultBean.getSuccess()) {
|
||||
return rb.setMsg(resultBean.getMsg());
|
||||
}
|
||||
}
|
||||
sysOrganizationService.updateBySid(dto.toMap(), sid);
|
||||
//修改金蝶组织信息
|
||||
//==========================添加清空变化的用户的token
|
||||
//查询分管人员
|
||||
List<String> stringList1 = new ArrayList<>();
|
||||
List<String> reduce1 = new ArrayList<>();
|
||||
if(StringUtils.isNotBlank(fgStaffSid)){
|
||||
stringList1 = Arrays.asList(fgStaffSid.split(","));
|
||||
reduce1 = stringList1.stream().filter(item -> !stringList.contains(item)).collect(toList());
|
||||
}else{
|
||||
reduce1 = stringList;
|
||||
}
|
||||
String orgSid1 = sysStaffOrgService.getOrgByOrgSid(sid);
|
||||
if(reduce1.size()>0){
|
||||
for (String s : reduce1){
|
||||
//查询该人员的组织机构list
|
||||
List<SysStaffOrgVo> sysStaffOrgVos = sysStaffOrgService.selectByStaffS(s);
|
||||
List<String> orgList = new ArrayList<>();
|
||||
if (sysStaffOrgVos.size() > 0) {
|
||||
for (SysStaffOrgVo vv : sysStaffOrgVos) {
|
||||
String orgSid = sysStaffOrgService.getOrgByOrgSid(vv.getOrgSid());
|
||||
SysOrganization ss = sysOrganizationService.fetchBySid(orgSid);
|
||||
if (ss != null) {
|
||||
orgList.add(orgSid);
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(!orgList.contains(orgSid1)){
|
||||
//根据staffSid查询token
|
||||
String token = sysUserService.selectByStaffsid(s).getToken();
|
||||
if(StringUtils.isNotBlank(token)){
|
||||
//清空该token
|
||||
redisUtil.remove(token);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
@ApiOperation("删除记录")
|
||||
@GetMapping("/del/{ids}")
|
||||
public ResultBean del(@PathVariable("ids") String ids){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
sysOrganizationService.delByIds(ids);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
@ApiOperation("删除记录 根据sid")
|
||||
@GetMapping("/delBySid/{sid}")
|
||||
public ResultBean delBySid(@PathVariable("sid") String sid){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
if (StringUtils.isBlank(sid)) {
|
||||
return ResultBean.fireFail().setMessage("sid不能为空!");
|
||||
}
|
||||
String[] sidArr = sid.split(",");
|
||||
sysOrganizationService.delBySids(sidArr);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
@ApiOperation("获取一条记录")
|
||||
@GetMapping("/fetch/{id}")
|
||||
public ResultBean<SysOrganizationVo> fetch(@PathVariable("id") String id){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
SysOrganizationVo vo = sysOrganizationService.fetchByIdVo(id);
|
||||
return rb.success().setData(vo);
|
||||
}
|
||||
|
||||
@ApiOperation("获取一条记录 根据sid")
|
||||
@ResponseBody
|
||||
@GetMapping("/fetchBySid/{sid}")
|
||||
public ResultBean<SysOrganizationVo> fetchBySid(@PathVariable("sid") String sid){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
SysOrganization entity = sysOrganizationService.fetchBySid(sid);
|
||||
List<SysStaffOrgVo> list = sysStaffOrgService.fetchByOrgSid(sid);
|
||||
String fgNames = "";
|
||||
String fgSids = "";
|
||||
String zgNames = "";
|
||||
String zgSids = "";
|
||||
for (SysStaffOrgVo s : list) {
|
||||
if ("1".equals(s.getManageType())) {
|
||||
zgNames = zgNames + "," + s.getStaffName();
|
||||
zgSids = zgSids + "," + s.getStaffSid();
|
||||
}
|
||||
if ("2".equals(s.getManageType())) {
|
||||
fgNames = fgNames + "," + s.getStaffName();
|
||||
fgSids = fgSids + "," + s.getStaffSid();
|
||||
}
|
||||
}
|
||||
if (fgNames.length() > 1) {
|
||||
fgNames = fgNames.substring(1, fgNames.length());
|
||||
fgSids = fgSids.substring(1, fgSids.length());
|
||||
}
|
||||
if (zgNames.length() > 1) {
|
||||
zgNames = zgNames.substring(1, zgNames.length());
|
||||
zgSids = zgSids.substring(1, zgSids.length());
|
||||
}
|
||||
SysOrganizationVo vo = new SysOrganizationVo();
|
||||
BeanUtil.copyProperties(entity, vo);
|
||||
vo.setFgNames(fgNames);
|
||||
vo.setFgStaffSid(fgSids);
|
||||
vo.setZgNames(zgNames);
|
||||
vo.setZgStaffSid(zgSids);
|
||||
return rb.success().setData(vo);
|
||||
}
|
||||
|
||||
@ApiOperation("手机获取组织架构")
|
||||
@ResponseBody
|
||||
@GetMapping("/selectAppOrganization")
|
||||
public ResultBean<Map<String, Object>> selectAppOrganization(@RequestParam(value = "sid", required = false) String sid) {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
List<Map<String, Object>> nameList = sysOrganizationService.selectOrgNameList(sid);
|
||||
List<AppContactSysOrganizationVo> staffList = new ArrayList<>();
|
||||
List<AppContactSysOrganizationVo> list = null;
|
||||
if (StringUtils.isBlank(sid)) { // 组织架构
|
||||
list = sysOrganizationService.selectAppOrganization();
|
||||
} else { // 组织架构子集
|
||||
list = sysOrganizationService.selectAppOrganizationSub(sid);
|
||||
staffList = sysStaffinfoService.selectContactsByOrgsid(sid);
|
||||
list.addAll(staffList);
|
||||
}
|
||||
map.put("nameList", nameList);
|
||||
map.put("list", list);
|
||||
// map.put("staffList", staffList);
|
||||
return new ResultBean<Map<String, Object>>().success().setData(map);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("组织架构")
|
||||
@ResponseBody
|
||||
@GetMapping("/selectListOrg")
|
||||
ResultBean<List<SysOrgVo>> selectListOrg(){
|
||||
ResultBean<List<SysOrgVo>> rb = ResultBean.fireFail();
|
||||
List<SysOrgVo> menuTree2VoList = sysOrganizationService.treeList();
|
||||
return rb.success().setData(menuTree2VoList);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("获取到分公司")
|
||||
@ResponseBody
|
||||
@GetMapping("/getListOrg")
|
||||
ResultBean<List<SysOrgVo>> getListOrg(){
|
||||
ResultBean<List<SysOrgVo>> rb = ResultBean.fireFail();
|
||||
List<SysOrgVo> menuTree2VoList = sysOrganizationService.getListOrg();
|
||||
return rb.success().setData(menuTree2VoList);
|
||||
}
|
||||
|
||||
@ApiOperation("获取同品牌下分公司")
|
||||
@ResponseBody
|
||||
@GetMapping("/getListOrgByBrand/{orgSid}")
|
||||
ResultBean<List<SysOrgVo>> getListOrgByBrand(@PathVariable(value = "orgSid") String orgSid){
|
||||
return null;//sysOrganizationService.getListOrgByBrand(orgSid);
|
||||
}
|
||||
|
||||
@ApiOperation("获取指定品牌下分公司(已筛选本分公司)")
|
||||
@ResponseBody
|
||||
@GetMapping("/getListOrgByBrandSid/{orgSid}/{brandSid}")
|
||||
ResultBean<List<SysOrgVo>> getListOrgByBrandSid(@PathVariable(value = "orgSid") String orgSid,@PathVariable(value = "brandSid") String brandSid){
|
||||
return null;//sysOrganizationService.getListOrgByBrandSid(orgSid,brandSid);
|
||||
}
|
||||
|
||||
@ApiOperation("获取指定品牌下分公司(未筛选本分公司)")
|
||||
@ResponseBody
|
||||
@GetMapping("/getListOrgByBrandSidNo/{orgSid}/{brandSid}")
|
||||
ResultBean<List<SysOrgVo>> getListOrgByBrandSidNo(@PathVariable(value = "orgSid") String orgSid,@PathVariable(value = "brandSid") String brandSid){
|
||||
return null;//sysOrganizationService.getListOrgByBrandSidNo(orgSid,brandSid);
|
||||
}
|
||||
|
||||
@ApiOperation("获取指定分公司下部门信息")
|
||||
@ResponseBody
|
||||
@GetMapping("/getListDeptByOrgSid/{orgSid}")
|
||||
ResultBean<List<SysOrgVo>> getListDeptByOrgSid(@PathVariable(value = "orgSid") String orgSid){
|
||||
return sysOrganizationService.getListDeptByOrgSid(orgSid);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("根据业务员sid获取到分公司")
|
||||
@ResponseBody
|
||||
@GetMapping("/getUseOrgByUserSid")
|
||||
ResultBean<SysOrganizationVo> getUseOrgByUserSid(@RequestParam("userSid") String userSid){
|
||||
ResultBean<SysOrganizationVo> rb = ResultBean.fireFail();
|
||||
SysOrganizationVo vo = sysOrganizationService.getUseOrgByUserSid(userSid);
|
||||
return rb.success().setData(vo);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("根据部门sid查询组织信息")
|
||||
@ResponseBody
|
||||
@GetMapping("/selectBySid")
|
||||
ResultBean<SysOrganization> selectBySid(@RequestParam("sid") String sid){
|
||||
SysOrganization sysOrganization = sysOrganizationService.fetchBySid(sid);
|
||||
if (sysOrganization == null) {
|
||||
return new ResultBean<SysOrganization>().fail().setData(new SysOrganization());
|
||||
}
|
||||
return new ResultBean<SysOrganization>().success().setData(sysOrganization);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("根据组织架构sid查询组织下所有分公司")
|
||||
@ResponseBody
|
||||
@GetMapping("/selectUseOrgSidBySid")
|
||||
ResultBean<List<Map<String, String>>> selectUseOrgSidBySid(@RequestParam("sid") String sid){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<Map<String, String>> maps = sysOrganizationService.selectUseOrgSidBySid(sid);
|
||||
return rb.success().setData(maps);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询公司所有的部门
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation("所在部门下拉")
|
||||
@ResponseBody
|
||||
@GetMapping("/selectListOne")
|
||||
ResultBean<List<SysOrgListVo>> selectListOne(){
|
||||
ResultBean<List<SysOrgListVo>> rb = ResultBean.fireFail();
|
||||
List<SysOrgListVo> sysOrgListVo = sysOrganizationService.selectTreeList();
|
||||
if (sysOrgListVo.size() == 0) {
|
||||
List<SysOrgListVo> list = new ArrayList();
|
||||
list.add(new SysOrgListVo());
|
||||
return rb.setData(list);
|
||||
}
|
||||
return rb.success().setData(sysOrgListVo);
|
||||
}
|
||||
|
||||
@PostMapping("/getQrCode/{sid}")
|
||||
@ResponseBody
|
||||
@ApiOperation("查看二维码")
|
||||
public ResultBean<QrCodeVo> getQrCode(@ApiParam(value = "sid", required = true) @PathVariable("sid") String sid) {
|
||||
SysOrganization sysOrganization = sysOrganizationService.fetchBySid(sid);
|
||||
if (sysOrganization == null) {
|
||||
return new ResultBean<QrCodeVo>().fail().setMsg("部门不存在");
|
||||
}
|
||||
if (StringUtils.isBlank(sysOrganization.getQrText())) {
|
||||
File file = new File(fileUploadComponent.getUploadPath() + "qrCode");
|
||||
QRCodeUtil.createCodeToFile(sysOrganization.getSid() + "#" + sysOrganization.getId() + "#" + "q", file, sysOrganization.getName() + sysOrganization.getId() + ".png");
|
||||
//将该二维码地址放进部门表中的二维码图片地址中
|
||||
String path = fileUploadComponent.getUrlPrefix() + "qrCode/" + sysOrganization.getName() + sysOrganization.getId() + ".png";
|
||||
sysOrganizationService.updateQrCodePath(sid, path);
|
||||
}
|
||||
QrCodeVo qrCodeVo = sysOrganizationService.getQrCodeVo(sid);
|
||||
String orgSidPath = sysOrganization.getOrgSidPath();
|
||||
String[] split = orgSidPath.split("/");
|
||||
for (String s : split) {
|
||||
SysOrganization sysOrganization1 = sysOrganizationService.fetchBySid(s);
|
||||
Integer isDept = sysOrganization1.getIsDept();
|
||||
String psid = sysOrganization1.getPsid();
|
||||
if (isDept != null) {
|
||||
if (isDept == 0 && !psid.equals(0)) {
|
||||
qrCodeVo.setOrganizationName(sysOrganization1.getName());
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return new ResultBean<QrCodeVo>().success().setData(qrCodeVo);
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/getOrgSid/{sid}")
|
||||
@ResponseBody
|
||||
@ApiOperation("根据当前用户的所在组织获取当前用户所在的分公司")
|
||||
ResultBean<String> getOrgSid(@PathVariable(value = "sid") String sid){
|
||||
ResultBean<String> rb = ResultBean.fireFail();
|
||||
SysOrganization sysOrganization = sysOrganizationService.fetchBySid(sid);
|
||||
if (sysOrganization == null) {
|
||||
return rb.setMsg("该组织不存在");
|
||||
}
|
||||
String orgSid = sysOrganizationService.getOrgSid(sid);
|
||||
return rb.success().setData(orgSid);
|
||||
}
|
||||
|
||||
@GetMapping("/selectOrgList")
|
||||
@ResponseBody
|
||||
@ApiOperation("当前分公司销售部门及部门人员")
|
||||
ResultBean<List<SysOrganizationListVo>> selectOrgList(@SpringQueryMap SysOrganizationListQuery query){
|
||||
return sysOrganizationService.selectOrgList(query);
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/selectOrgLists")
|
||||
@ResponseBody
|
||||
@ApiOperation("当前分公司下所有部门")
|
||||
ResultBean<List<SysOrganizationListsVo>> selectOrgLists(@SpringQueryMap SysOrganizationListQuery query){
|
||||
return sysOrganizationService.selectOrgLists(query);
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/selectByPSid")
|
||||
@ResponseBody
|
||||
@ApiOperation("查询分公司下的销售支持部")
|
||||
ResultBean<SysOrganizationVo> selectByPSid(@RequestParam("sid") String sid, @RequestParam("name") String name){
|
||||
return sysOrganizationService.selectByPSid(sid,name);
|
||||
}
|
||||
|
||||
@GetMapping("/selectOrgSidList")
|
||||
@ResponseBody
|
||||
@ApiOperation("所有分公司sid")
|
||||
ResultBean<List<SysOrganizationVo>> selectOrgSidList() {
|
||||
ResultBean<List<SysOrganizationVo>> rb = ResultBean.fireFail();
|
||||
List<SysOrganizationVo> stringList = sysOrganizationService.selectOrgSidList();
|
||||
return rb.success().setData(stringList);
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/selectOrgByPSid")
|
||||
@ResponseBody
|
||||
@ApiOperation("查询事业部下所有分公司")
|
||||
ResultBean<List<SysOrganizationVo>> selectOrgByPSid(@RequestParam("psid") String psid){
|
||||
return sysOrganizationService.selectOrgByPSid(psid);
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/selectByOrgSidPath")
|
||||
@ResponseBody
|
||||
@ApiOperation("组织层级分页查询")
|
||||
ResultBean<SysOrganizationVo> selectByOrgSidPath(@RequestParam("orgSidPath") String orgSidPath){
|
||||
return sysOrganizationService.selectByOrgSidPath(orgSidPath);
|
||||
}
|
||||
}
|
||||
149
src/main/java/com/yxt/portal/apiadmin/SysPostRest.java
Normal file
149
src/main/java/com/yxt/portal/apiadmin/SysPostRest.java
Normal file
@@ -0,0 +1,149 @@
|
||||
package com.yxt.portal.apiadmin;
|
||||
|
||||
import com.yxt.portal.biz.syspost.*;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysPostFeignFallback.java <br/>
|
||||
* Class: com.yxt.anrui.portal.biz.syspost.SysPostRest <br/>
|
||||
* Description: 岗位. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:28 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Api(tags = "岗位")
|
||||
@RestController
|
||||
@RequestMapping("apiadmin/syspost")
|
||||
public class SysPostRest {
|
||||
|
||||
@Autowired
|
||||
private SysPostService sysPostService;
|
||||
|
||||
@ApiOperation("根据条件分页查询数据的列表")
|
||||
@PostMapping("/listPage")
|
||||
public ResultBean<PagerVo<SysPostVo>> listPage(@RequestBody PagerQuery<SysPostQuery> pq) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
PagerVo<SysPostVo> pv = sysPostService.listPageVo(pq);
|
||||
return rb.success().setData(pv);
|
||||
}
|
||||
|
||||
@ApiOperation("根据条件查询所有数据列表")
|
||||
@PostMapping("/listAll")
|
||||
public ResultBean<List<SysPostVo>> listAll(@RequestBody SysPostQuery query){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<SysPostVo> list = sysPostService.listAllVo(query);
|
||||
return rb.success().setData(list);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("所有数据列表")
|
||||
@GetMapping("/list")
|
||||
public ResultBean<List<SysPostVo>> list() {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<SysPostVo> list = sysPostService.listVo();
|
||||
return rb.success().setData(list);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("新增保存")
|
||||
@PostMapping("/save")
|
||||
public ResultBean save(@RequestBody SysPostDto dto){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
sysPostService.saveOrUpdateDto(dto);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("修改保存")
|
||||
@PostMapping("/update/{sid}")
|
||||
public ResultBean update(@RequestBody SysPostDto dto, @PathVariable("sid") String sid){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
sysPostService.updateBySid(dto.toMap(), sid);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
@ApiOperation("删除记录")
|
||||
@GetMapping("/del/{ids}")
|
||||
public ResultBean del(@PathVariable("ids") String ids){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
sysPostService.delByIds(ids);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("删除记录")
|
||||
@GetMapping("/delBySids/{sids}")
|
||||
public ResultBean delBySids(@PathVariable("sids") String sids){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
String[] sidArr = sids.split(",");
|
||||
sysPostService.delBySids(sidArr);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("获取一条记录")
|
||||
@GetMapping("/fetch/{id}")
|
||||
public ResultBean<SysPostVo> fetch(@PathVariable("id") String id){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
SysPostVo vo = sysPostService.fetchByIdVo(id);
|
||||
return rb.success().setData(vo);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("获取一条记录")
|
||||
@GetMapping("/fetchBySid/{sid}")
|
||||
public ResultBean<SysPostVo> fetchBySid(@PathVariable("sid") String sid){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
SysPostVo vo = sysPostService.fetchBySidVo(sid);
|
||||
return rb.success().setData(vo);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("根据部门sid获取岗位列表")
|
||||
@GetMapping("/fetchByOrgSid/{orgSid}")
|
||||
public ResultBean<List<SysPostVo>> fetchByOrgSid(@PathVariable("orgSid") String orgSid){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<SysPostVo> list = sysPostService.fetchByOrgSid(orgSid);
|
||||
return rb.success().setData(list);
|
||||
}
|
||||
|
||||
@ApiOperation("根据部门sid获取岗位编号")
|
||||
@GetMapping("/fetchByOrgSidPostCode/{orgSid}")
|
||||
public ResultBean<String> fetchByOrgSidPostCode(){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
String s = sysPostService.fetchByOrgSidPostCode();
|
||||
return rb.success().setData(s);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询岗位列表
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation("查询岗位列表")
|
||||
@GetMapping("/selectList")
|
||||
public ResultBean<List<SysPostListVo>> selectList() {
|
||||
ResultBean<List<SysPostListVo>> rb = ResultBean.fireFail();
|
||||
List<SysPostListVo> sysPostVoList = sysPostService.selectList();
|
||||
if (sysPostVoList.size() == 0) {
|
||||
List<SysPostListVo> list = new ArrayList<>();
|
||||
list.add(new SysPostListVo());
|
||||
return rb.setData(list);
|
||||
}
|
||||
return rb.success().setData(sysPostVoList);
|
||||
}
|
||||
}
|
||||
171
src/main/java/com/yxt/portal/apiadmin/SysRoleRest.java
Normal file
171
src/main/java/com/yxt/portal/apiadmin/SysRoleRest.java
Normal file
@@ -0,0 +1,171 @@
|
||||
package com.yxt.portal.apiadmin;
|
||||
|
||||
import com.yxt.common.base.utils.StringUtils;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.portal.biz.sysrole.*;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysRoleFeignFallback.java <br/>
|
||||
* Class: com.yxt.anrui.portal.biz.sysrole.SysRoleRest <br/>
|
||||
* Description: 角色. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:29 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Api(tags = "角色")
|
||||
@RestController
|
||||
@RequestMapping("apiadmin/sysrole")
|
||||
public class SysRoleRest {
|
||||
|
||||
@Autowired
|
||||
private SysRoleService sysRoleService;
|
||||
|
||||
@ApiOperation("根据条件分页查询数据的列表")
|
||||
@PostMapping("/listPage")
|
||||
public ResultBean<PagerVo<SysRoleVo>> listPage(@RequestBody PagerQuery<SysRoleQuery> pq){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
PagerVo<SysRoleVo> pv = sysRoleService.listPageVo(pq);
|
||||
return rb.success().setData(pv);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("根据条件查询所有数据列表")
|
||||
@PostMapping("/listAll")
|
||||
public ResultBean<List<SysRoleVo>> listAll(@RequestBody SysRoleQuery query){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<SysRoleVo> list = sysRoleService.listAllVo(query);
|
||||
return rb.success().setData(list);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("查询所有的角色数据,并根据用户sid查询被选中的角色")
|
||||
@PostMapping("/listAllByUserSid/{userSid}")
|
||||
public ResultBean<List<SysRoleVo>> listAllByUserSid(@PathVariable("userSid") String userSid){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<SysRoleVo> list = sysRoleService.listAllByUserSid(userSid);
|
||||
return rb.success().setData(list);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("根据用户sid查询用户的角色列表")
|
||||
@PostMapping("/fetchByUserSid/{userSid}")
|
||||
public ResultBean<List<SysRoleVo>> fetchByUserSid(@PathVariable("userSid") String userSid){
|
||||
if(StringUtils.isBlank(userSid)){
|
||||
return new ResultBean<List<SysRoleVo>>().fail().setMsg("userSid不能为空");
|
||||
}
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<SysRoleVo> list = sysRoleService.fetchByUserSid(userSid);
|
||||
return rb.success().setData(list);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<List<SysRoleVo>> list(){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<SysRoleVo> list = sysRoleService.listVo();
|
||||
return rb.success().setData(list);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("新增保存")
|
||||
@PostMapping("/save")
|
||||
public ResultBean save(@RequestBody SysRoleDto dto){
|
||||
String name = dto.getName();
|
||||
if(StringUtils.isBlank(name)){
|
||||
return new ResultBean<List<SysRoleVo>>().fail().setMsg("角色名称不能为空!");
|
||||
}else{
|
||||
SysRoleVo sysRoleVo = sysRoleService.fetchByName(name);
|
||||
if(sysRoleVo.getName()!=null){
|
||||
return new ResultBean<List<SysRoleVo>>().fail().setMsg("角色名称不能重复!");
|
||||
}
|
||||
}
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
sysRoleService.saveOrUpdateDto(dto);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("修改保存")
|
||||
@PostMapping("/update/{sid}")
|
||||
public ResultBean update(@RequestBody SysRoleDto dto,@PathVariable("sid") String sid){
|
||||
String roleName = dto.getName();
|
||||
if(StringUtils.isBlank(sid)){
|
||||
return new ResultBean<List<SysRoleVo>>().fail().setMsg("角色sid不能为空!");
|
||||
}
|
||||
if(StringUtils.isBlank(roleName)){
|
||||
return new ResultBean<List<SysRoleVo>>().fail().setMsg("角色名称不能为空!");
|
||||
}else{
|
||||
SysRoleVo sysRoleVo = sysRoleService.fetchByName(roleName);
|
||||
if(sysRoleVo.getName()!=null&&!sid.equals(sysRoleVo.getSid())){
|
||||
return new ResultBean<List<SysRoleVo>>().fail().setMsg("角色名称不能重复!");
|
||||
}
|
||||
}
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
sysRoleService.updateBySid(dto.toMap(),sid);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("删除记录")
|
||||
@GetMapping("/del/{ids}")
|
||||
public ResultBean del(@PathVariable("ids") String ids){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
sysRoleService.delByIds(ids);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
@ApiOperation("删除记录根据sids")
|
||||
@GetMapping("/delBySids/{sids}")
|
||||
public ResultBean delBySids(@PathVariable("sids") String sids){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
sysRoleService.delBySids(sids);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
@ApiOperation("获取一条记录")
|
||||
@GetMapping("/fetch/{id}")
|
||||
public ResultBean<SysRoleVo> fetch(@PathVariable("id") String id){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
SysRoleVo vo = sysRoleService.fetchByIdVo(id);
|
||||
return rb.success().setData(vo);
|
||||
}
|
||||
|
||||
@ApiOperation("获取一条记录根据sid")
|
||||
@GetMapping("/fetchBySid/{sid}")
|
||||
public ResultBean<SysRoleVo> fetchBySid(@PathVariable("sid") String sid){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
SysRoleVo vo = sysRoleService.fetchBySidVo(sid);
|
||||
if (StringUtils.isBlank(vo.getSid())) {
|
||||
return rb.success().setData(null);
|
||||
}
|
||||
return rb.success().setData(vo);
|
||||
}
|
||||
|
||||
@PostMapping("/setIsEnable/{sid}/{isEnable}")
|
||||
@ResponseBody
|
||||
@ApiOperation(value = "设置是否可用:isEnable:1可用,0不可用")
|
||||
public ResultBean setIsEnable(@ApiParam(value = "sid", required = true) @PathVariable("sid") String sid, @ApiParam(value = "isEnable", required = true) @PathVariable("isEnable") String isEnable){
|
||||
SysRole role = sysRoleService.fetchBySid(sid);
|
||||
if (role == null) {
|
||||
return ResultBean.fireFail().setMsg("此角色已不存在");
|
||||
}
|
||||
int i = sysRoleService.updateIsEnable(sid, isEnable);
|
||||
if (i == 0) {
|
||||
return ResultBean.fireFail().setMsg("设置失败");
|
||||
}
|
||||
return ResultBean.fireSuccess().setMsg("设置成功");
|
||||
}
|
||||
}
|
||||
130
src/main/java/com/yxt/portal/apiadmin/SysSourceRest.java
Normal file
130
src/main/java/com/yxt/portal/apiadmin/SysSourceRest.java
Normal file
@@ -0,0 +1,130 @@
|
||||
package com.yxt.portal.apiadmin;
|
||||
|
||||
//import com.yxt.user.biz.systemlog.SystemLog;
|
||||
import com.yxt.portal.biz.sysuser.SysUser;
|
||||
//import com.yxt.user.biz.systemlog.SystemLogService;
|
||||
import com.yxt.portal.biz.sysuser.SysUserService;
|
||||
import com.yxt.common.base.config.RedisUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.portal.biz.syssource.*;
|
||||
import io.swagger.annotations.Api;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysSourceFeignFallback.java <br/>
|
||||
* Class: com.yxt.user.biz.syssource.SysSourceRest <br/>
|
||||
* Description: 资源表. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:29 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Api(tags = "资源表")
|
||||
@RestController
|
||||
@RequestMapping("apiadmin/syssource")
|
||||
public class SysSourceRest {
|
||||
// @Autowired
|
||||
// private SystemLogService systemLogService;
|
||||
@Autowired
|
||||
private SysUserService sysUserService;
|
||||
@Autowired(required = false)
|
||||
private HttpServletRequest httpServletRequest;
|
||||
@Autowired
|
||||
private SysSourceService sysSourceService;
|
||||
@Autowired
|
||||
private RedisUtil redisUtil;
|
||||
|
||||
public ResultBean<PagerVo<SysSourceVo>> listPage(@RequestBody PagerQuery<SysSourceQuery> pq){
|
||||
String token = httpServletRequest.getHeader("token");
|
||||
String s = redisUtil.get(token);
|
||||
SysUser sysUser = sysUserService.fetchByUserName(s);
|
||||
// SystemLog systemLog = new SystemLog();
|
||||
// systemLog.setUserSid(sysUser.getSid());
|
||||
// systemLog.setCreateTime(new Date());
|
||||
// systemLog.setEventName("人员岗位保存");
|
||||
// systemLog.setEventContent("");
|
||||
// systemLog.setEventUrl("/portal/apiadmin/sysstaffpost/save");
|
||||
// systemLog.setUserIp("0.0.0.0");
|
||||
// systemLog.setUserName(sysUser.getUserName());
|
||||
// systemLogService.save(systemLog);
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
PagerVo<SysSourceVo> pv = sysSourceService.listPageVo(pq);
|
||||
return rb.success().setData(pv);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<List<SysSourceVo>> listAll(@RequestBody SysSourceQuery query){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<SysSourceVo> list = sysSourceService.listAllVo(query);
|
||||
return rb.success().setData(list);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<List<SysSourceVo>> listAllByRoleSid(SysSourceQuery query) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<SysSourceVo> list = sysSourceService.listAllByRoleSid(query);
|
||||
return rb.success().setData(list);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<List<SysSourceVo>> list(){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<SysSourceVo> list = sysSourceService.listVo();
|
||||
return rb.success().setData(list);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean save(SysSourceDto dto){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
sysSourceService.saveOrUpdateDto(dto);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
|
||||
public ResultBean update(SysSourceDto dto,String sid){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
sysSourceService.updateBySid(dto.toMap(),sid);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
|
||||
public ResultBean del(String ids){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
sysSourceService.delByIds(ids);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
|
||||
public ResultBean delBySids(String sids) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
String[] sidArr = sids.split(",");
|
||||
sysSourceService.delBySids(sidArr);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<SysSourceVo> fetch(String id){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
SysSourceVo vo = sysSourceService.fetchByIdVo(id);
|
||||
return rb.success().setData(vo);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<SysSourceVo> fetchBySid(String sid) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
SysSourceVo vo = sysSourceService.fetchBySidVo(sid);
|
||||
return rb.success().setData(vo);
|
||||
}
|
||||
}
|
||||
162
src/main/java/com/yxt/portal/apiadmin/SysStaffOrgRest.java
Normal file
162
src/main/java/com/yxt/portal/apiadmin/SysStaffOrgRest.java
Normal file
@@ -0,0 +1,162 @@
|
||||
package com.yxt.portal.apiadmin;
|
||||
|
||||
import com.yxt.portal.biz.sysstafforg.*;
|
||||
import com.yxt.common.base.utils.StringUtils;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import io.swagger.annotations.Api;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysStaffOrgFeignFallback.java <br/>
|
||||
* Class: com.yxt.user.biz.sysstafforg.SysStaffOrgRest <br/>
|
||||
* Description: 员工部门关联表. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:29 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Api(tags = "员工部门关联表")
|
||||
@RestController
|
||||
@RequestMapping("apiadmin/sysstafforg")
|
||||
public class SysStaffOrgRest {
|
||||
|
||||
@Autowired
|
||||
private SysStaffOrgService sysStaffOrgService;
|
||||
|
||||
|
||||
|
||||
public ResultBean<PagerVo<SysStaffOrgVo>> listPage(@RequestBody PagerQuery<SysStaffOrgQuery> pq) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
PagerVo<SysStaffOrgVo> pv = sysStaffOrgService.listPageVo(pq);
|
||||
return rb.success().setData(pv);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<List<SysStaffOrgVo>> listAll(@RequestBody SysStaffOrgQuery query) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<SysStaffOrgVo> list = sysStaffOrgService.listAllVo(query);
|
||||
return rb.success().setData(list);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<List<SysStaffOrgVo>> list() {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<SysStaffOrgVo> list = sysStaffOrgService.listVo();
|
||||
return rb.success().setData(list);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<List<SysStaffOrgVo>> staffinfoList(@RequestBody SysStaffOrgQuery query) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<SysStaffOrgVo> list = sysStaffOrgService.staffinfoList(query);
|
||||
return rb.success().setData(list);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean save(SysStaffOrgDto dto) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
sysStaffOrgService.saveOrUpdateDto(dto);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
|
||||
public ResultBean update(SysStaffOrgDto dto, String sid) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
sysStaffOrgService.updateBySid(dto.toMap(), sid);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
|
||||
public ResultBean del(String ids) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
sysStaffOrgService.delByIds(ids);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<SysStaffOrgVo> fetch(String id) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
SysStaffOrgVo vo = sysStaffOrgService.fetchByIdVo(id);
|
||||
return rb.success().setData(vo);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<List<SysStaffOrgVo>> getSysStaffOrgListByStaffSid(String staffSid) {
|
||||
List<SysStaffOrgVo> list = sysStaffOrgService.getSysStaffOrgListByStaffSid(staffSid);
|
||||
if (list.size() > 0) {
|
||||
return new ResultBean<List<SysStaffOrgVo>>().success().setData(list);
|
||||
} else {
|
||||
return new ResultBean().fail().setMsg("该员工无部门").setData(list);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<String> getSysStaffOrgSidListByStaffSid(String staffSid) {
|
||||
String orgSids = sysStaffOrgService.getSysStaffOrgSidListByStaffSid(staffSid);
|
||||
if (StringUtils.isNotBlank(orgSids)) {
|
||||
return new ResultBean<String>().success().setData(orgSids);
|
||||
} else {
|
||||
return new ResultBean().fail().setMsg("该员工无部门").setData("");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<String> selectSidPathByStaffSid(String applySid) {
|
||||
return sysStaffOrgService.selectSidPathByStaffSid(applySid);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<String> getOrgSidBySid(String orgSid) {
|
||||
ResultBean<String> rb = ResultBean.fireFail();
|
||||
String orgPathSid = sysStaffOrgService.getOrgByOrgSid(orgSid);
|
||||
return rb.success().setData(orgPathSid);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<SysStaffOrg> getOrgByStaffSid(String staffSid) {
|
||||
ResultBean<SysStaffOrg> rb = ResultBean.fireFail();
|
||||
SysStaffOrg sysStaffOrg = sysStaffOrgService.getOrgByStaffSid(staffSid);
|
||||
return rb.success().setData(sysStaffOrg);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<String> getOrgSidByPath(String orgPath) {
|
||||
return sysStaffOrgService.getOrgSidByPath(orgPath);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<String> getOrgSidByPath2(String orgPath) {
|
||||
return sysStaffOrgService.getOrgSidByPath2(orgPath);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<List<SysStaffOrgByUserVo>> selAllByOrgPath(String orgSidPath,String roleSid) {
|
||||
return sysStaffOrgService.selAllByOrgPath(orgSidPath,roleSid);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<List<SysStaffOrgByUserVo>> selAllByOrgSidPath(String orgSidPath) {
|
||||
return sysStaffOrgService.selAllByOrgSidPath(orgSidPath);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<SysStaffOrg> selectAllByStaffSid(String staffSid) {
|
||||
return sysStaffOrgService.selectAllByStaffSid(staffSid);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<String> getPathSidByUserSid(String applySid) {
|
||||
return sysStaffOrgService.getPathSidByUserSid(applySid);
|
||||
}
|
||||
}
|
||||
123
src/main/java/com/yxt/portal/apiadmin/SysStaffPostRest.java
Normal file
123
src/main/java/com/yxt/portal/apiadmin/SysStaffPostRest.java
Normal file
@@ -0,0 +1,123 @@
|
||||
package com.yxt.portal.apiadmin;
|
||||
|
||||
import com.yxt.portal.biz.sysstaffpost.SysStaffPostDto;
|
||||
import com.yxt.portal.biz.sysstaffpost.SysStaffPostQuery;
|
||||
import com.yxt.portal.biz.sysstaffpost.SysStaffPostVo;
|
||||
//import com.yxt.user.biz.systemlog.SystemLog;
|
||||
import com.yxt.portal.biz.sysuser.SysUser;
|
||||
//import com.yxt.user.biz.systemlog.SystemLogService;
|
||||
import com.yxt.portal.biz.sysuser.SysUserService;
|
||||
import com.yxt.common.base.config.RedisUtil;
|
||||
import com.yxt.common.base.utils.StringUtils;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.portal.biz.sysstaffpost.SysStaffPostService;
|
||||
import io.swagger.annotations.Api;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysStaffPostFeignFallback.java <br/>
|
||||
* Class: com.yxt.user.biz.sysstaffpost.SysStaffPostRest <br/>
|
||||
* Description: 员工岗位关联表. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:30 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Api(tags = "员工岗位关联表")
|
||||
@RestController
|
||||
@RequestMapping("apiadmin/sysstaffpost")
|
||||
public class SysStaffPostRest {
|
||||
@Autowired
|
||||
private RedisUtil redisUtil;
|
||||
@Autowired
|
||||
private SysStaffPostService sysStaffPostService;
|
||||
// @Autowired
|
||||
// private SystemLogService systemLogService;
|
||||
@Autowired
|
||||
private SysUserService sysUserService;
|
||||
@Autowired(required = false)
|
||||
private HttpServletRequest httpServletRequest;
|
||||
|
||||
|
||||
public ResultBean<PagerVo<SysStaffPostVo>> listPage(@RequestBody PagerQuery<SysStaffPostQuery> pq) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
PagerVo<SysStaffPostVo> pv = sysStaffPostService.listPageVo(pq);
|
||||
return rb.success().setData(pv);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<List<SysStaffPostVo>> listAll(@RequestBody SysStaffPostQuery query) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<SysStaffPostVo> list = sysStaffPostService.listAllVo(query);
|
||||
return rb.success().setData(list);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<List<SysStaffPostVo>> list() {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<SysStaffPostVo> list = sysStaffPostService.listVo();
|
||||
return rb.success().setData(list);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean save(SysStaffPostDto dto) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
sysStaffPostService.saveOrUpdateDto(dto);
|
||||
String token = httpServletRequest.getHeader("token");
|
||||
String s = redisUtil.get(token);
|
||||
SysUser sysUser = sysUserService.fetchByUserName(s);
|
||||
// SystemLog systemLog = new SystemLog();
|
||||
// systemLog.setUserSid(sysUser.getSid());
|
||||
// systemLog.setCreateTime(new Date());
|
||||
// systemLog.setEventName("人员岗位保存");
|
||||
// systemLog.setEventContent("");
|
||||
// systemLog.setEventUrl("/portal/apiadmin/sysstaffpost/save");
|
||||
// systemLog.setUserIp("0.0.0.0");
|
||||
// systemLog.setUserName(sysUser.getUserName());
|
||||
// systemLogService.save(systemLog);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
|
||||
public ResultBean update(SysStaffPostDto dto, String sid) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
sysStaffPostService.updateBySid(dto.toMap(), sid);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
|
||||
public ResultBean del(String ids) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
sysStaffPostService.delByIds(ids);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<SysStaffPostVo> fetch(String id) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
SysStaffPostVo vo = sysStaffPostService.fetchByIdVo(id);
|
||||
return rb.success().setData(vo);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<String> selectPost(String sid) {
|
||||
ResultBean<String> rb = ResultBean.fireFail();
|
||||
String s = sysStaffPostService.selecctPost(sid);
|
||||
if(StringUtils.isBlank(s)){
|
||||
return rb.setMsg("操作失败");
|
||||
}
|
||||
return rb.success().setData(s);
|
||||
}
|
||||
}
|
||||
235
src/main/java/com/yxt/portal/apiadmin/SysStaffinfoRest.java
Normal file
235
src/main/java/com/yxt/portal/apiadmin/SysStaffinfoRest.java
Normal file
@@ -0,0 +1,235 @@
|
||||
package com.yxt.portal.apiadmin;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.portal.biz.sysstaffinfo.*;
|
||||
import com.yxt.portal.biz.sysstaffinfo.app.AppSysStaffQuery;
|
||||
import com.yxt.portal.biz.sysstaffinfo.app.AppSysStaffVo;
|
||||
import com.yxt.portal.biz.sysuser.SysUserService;
|
||||
import com.yxt.common.base.config.component.FileUploadComponent;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.portal.biz.sysstaffinfo.SysStaffinfoService;
|
||||
import io.swagger.annotations.Api;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysStaffinfoFeignFallback.java <br/>
|
||||
* Class: com.yxt.user.biz.sysstaffinfo.SysStaffinfoRest <br/>
|
||||
* Description: 人员基础信息表. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:30 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Api(tags = "人员基础信息表")
|
||||
@RestController
|
||||
@RequestMapping("apiadmin/sysstaffinfo")
|
||||
public class SysStaffinfoRest{
|
||||
|
||||
private final Long PAGECURRENT = 2L;
|
||||
private final Long PAGESIZE = 2L;
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
|
||||
@Autowired
|
||||
private SysStaffinfoService sysStaffinfoService;
|
||||
|
||||
@Autowired
|
||||
private SysUserService sysUserService;
|
||||
@Autowired
|
||||
private FileUploadComponent fileUploadComponent;
|
||||
|
||||
/**
|
||||
* 员工管理的分页列表
|
||||
*
|
||||
* @param pq 查询条件
|
||||
* @return
|
||||
*/
|
||||
|
||||
public ResultBean<PagerVo<SysStaffinfoVo>> listPage(@RequestBody PagerQuery<SysStaffinfoQuery> pq) {
|
||||
ResultBean<PagerVo<SysStaffinfoVo>> rb = ResultBean.fireFail();
|
||||
IPage<SysStaffinfoVo> page = sysStaffinfoService.pagerList(pq);
|
||||
PagerVo<SysStaffinfoVo> pv = new PagerVo<>();
|
||||
PagerVo<SysStaffinfoVo> papiadmin = PagerUtil.pageToVo(page, pv);
|
||||
return rb.success().setData(papiadmin);
|
||||
}
|
||||
|
||||
/**
|
||||
* 员工信息的新增保存
|
||||
*
|
||||
* @param dto 数据传输对象
|
||||
* @return
|
||||
*/
|
||||
|
||||
public ResultBean save(SysStaffinfoDto dto) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
ResultBean resultBean = sysStaffinfoService.saveStaffInfo(dto);
|
||||
if (!resultBean.getSuccess()) {
|
||||
return rb.setMsg(resultBean.getMsg());
|
||||
}
|
||||
return rb.success().setMsg(resultBean.getMsg());
|
||||
}
|
||||
|
||||
/**
|
||||
* 员工信息的修改保存
|
||||
*
|
||||
* @param dto 数据传输对象
|
||||
* @param sid 员工信息sid
|
||||
* @return
|
||||
*/
|
||||
|
||||
public ResultBean update(SysStaffinfoDto dto, String sid) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
ResultBean resultBean = sysStaffinfoService.updateStaffInfo(dto, sid);
|
||||
if (!resultBean.getSuccess()) {
|
||||
return rb.setMsg(resultBean.getMsg());
|
||||
}
|
||||
return rb.success().setMsg(resultBean.getMsg());
|
||||
}
|
||||
|
||||
/**
|
||||
* 进行删除操作,即设置员工类型为离职类型02的操作。
|
||||
*
|
||||
* @param sysStaffQuery 数据传输对象
|
||||
* @return
|
||||
*/
|
||||
|
||||
public ResultBean del(SysStaffQuery sysStaffQuery) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
//查询员工是否是离职
|
||||
SysStaffinfo sysStaffinfo = sysStaffinfoService.fetchBySid(sysStaffQuery.getSid());
|
||||
if (sysStaffinfo == null) {
|
||||
return rb.setMsg("员工不存在");
|
||||
}
|
||||
if ("01".equals(sysStaffinfo.getPersonType())) {
|
||||
return rb.setMsg("此员工已是离职人员");
|
||||
|
||||
}
|
||||
int i = sysStaffinfoService.del(sysStaffQuery);
|
||||
if (i == 0) {
|
||||
return rb.setMsg("失败");
|
||||
}
|
||||
return rb.success().setMsg("成功");
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<SysStaffinfoDetailsVo> fetchBySid(String sid) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
SysStaffinfoDetailsVo sysStaffinfo = sysStaffinfoService.selectDetailsBySid(sid);
|
||||
if (sysStaffinfo == null) {
|
||||
return rb.setData(new SysStaffinfoDetailsVo());
|
||||
}
|
||||
return rb.success().setData(sysStaffinfo);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<List<Map<String, String>>> getStaffName(String staffName, String deptSid) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<Map<String, String>> staffNameList = sysStaffinfoService.getStaffName(staffName, deptSid);
|
||||
return rb.success().setData(staffNameList);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<List<Map<String, String>>> getStaffNameByDeptSid(String staffName, String deptSid) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<Map<String, String>> staffNameList = sysStaffinfoService.getStaffNameByDeptSid(staffName, deptSid);
|
||||
return rb.success().setData(staffNameList);
|
||||
}
|
||||
|
||||
|
||||
|
||||
public ResultBean<List<SysStaffinfoAppContactsVo>> selectAppContactsList(String names) {
|
||||
return new ResultBean<List<SysStaffinfoAppContactsVo>>().success().setData(sysStaffinfoService.selectAppContactsList());
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<AppContactsDetailsVo> selectAppContactsVO(String staffSid) {
|
||||
if (StringUtils.isBlank(staffSid)) {
|
||||
return new ResultBean<AppContactsDetailsVo>().fail().setMsg("staffSid不能为空");
|
||||
}
|
||||
AppContactsDetailsVo appContactsDetailsVo = sysStaffinfoService.selectAppContactsVO(staffSid);
|
||||
if (appContactsDetailsVo == null) {
|
||||
return new ResultBean<AppContactsDetailsVo>().fail().setMsg("查无此人信息");
|
||||
}
|
||||
if (StringUtils.isNotBlank(appContactsDetailsVo.getHeadImage())) {
|
||||
appContactsDetailsVo.setHeadImage(fileUploadComponent.getUrlPrefix() + appContactsDetailsVo.getHeadImage());
|
||||
}
|
||||
List<String> stringList = sysUserService.getPost(staffSid);
|
||||
stringList.removeAll(Collections.singleton(null));
|
||||
if (!stringList.isEmpty()) {
|
||||
appContactsDetailsVo.setPosition(String.join("|", stringList));
|
||||
}
|
||||
return new ResultBean<AppContactsDetailsVo>().success().setData(appContactsDetailsVo);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<PagerVo<SysStaffinfoAppContactsSearchVo>> searchAppContactsList(PagerQuery<SysStaffinfoQuery> pq) {
|
||||
String names = pq.getParams().getName();
|
||||
if (StringUtils.isBlank(names))
|
||||
return new ResultBean<PagerVo<SysStaffinfoAppContactsSearchVo>>().fail().setMsg("搜索内容不能为空");
|
||||
PagerVo<SysStaffinfoAppContactsSearchVo> page1 = new PagerVo<>();
|
||||
IPage<SysStaffinfoAppContactsSearchVo> iPage = sysStaffinfoService.searchAppContactsList(pq, names);
|
||||
//把Ipage转换为PageVo
|
||||
PagerVo<SysStaffinfoAppContactsSearchVo> pv_result = PagerUtil.pageToVo(iPage, page1);
|
||||
pv_result.setMsg("找到 " + pv_result.getTotal() + " 个联系人 ");
|
||||
return new ResultBean<PagerVo<SysStaffinfoAppContactsSearchVo>>().success().setData(pv_result);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<PagerVo<SysStaffinfoAppContactsSearchVo>> searchAppContactsList2(PagerQuery<SysStaffinfoQuery> pq) {
|
||||
PagerVo<SysStaffinfoAppContactsSearchVo> page1 = new PagerVo<>();
|
||||
IPage<SysStaffinfoAppContactsSearchVo> iPage = sysStaffinfoService.searchAppContactsList2(pq);
|
||||
//把Ipage转换为PageVo
|
||||
PagerVo<SysStaffinfoAppContactsSearchVo> pv_result = PagerUtil.pageToVo(iPage, page1);
|
||||
pv_result.setMsg("找到 " + pv_result.getTotal() + " 个联系人 ");
|
||||
return new ResultBean<PagerVo<SysStaffinfoAppContactsSearchVo>>().success().setData(pv_result);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<List<PcSysStaffVo>> selectStaffList(PcSysStaffQuery pcSysStaffQuery) {
|
||||
return sysStaffinfoService.selectStaffList(pcSysStaffQuery);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<PagerVo<AppSysStaffVo>> getUserList(PagerQuery<AppSysStaffQuery> pagerQuery) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
PagerVo<AppSysStaffVo> pv = sysStaffinfoService.getUserList(pagerQuery);
|
||||
return rb.success().setData(pv);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<List<AppSysStaffVo>> getGressionUserList(String userSid) {
|
||||
return sysStaffinfoService.getGressionUserList(userSid, "");
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<List<AppSysStaffVo>> getGressionUserList(String userSid, String orgPath) {
|
||||
return sysStaffinfoService.getGressionUserList(userSid, orgPath);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<List<PcSysStaffVo>> selectStaffLists() {
|
||||
return sysStaffinfoService.selectStaffLists();
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<List<PcSysStaffVo>> selectStaffListss() {
|
||||
return sysStaffinfoService.selectStaffListss();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package com.yxt.portal.apiadmin;
|
||||
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.portal.biz.sysuserdefaultorg.SysUserDefaultOrgDto;
|
||||
import com.yxt.portal.biz.sysuserdefaultorg.SysUserDefaultOrgService;
|
||||
import com.yxt.portal.biz.sysuserdefaultorg.SysUserDefaultOrgVo;
|
||||
import io.swagger.annotations.Api;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* @Author dimengzhe
|
||||
* @Date 2023/1/11 11:26
|
||||
* @Description
|
||||
*/
|
||||
@Api(tags = "用户默认的组织机构")
|
||||
@RestController
|
||||
@RequestMapping("apiadmin/sysuserdefaultorg")
|
||||
public class SysUserDefaultOrgRest {
|
||||
|
||||
@Autowired
|
||||
private SysUserDefaultOrgService sysUserDefaultOrgService;
|
||||
|
||||
|
||||
public ResultBean<SysUserDefaultOrgVo> getList(String userSid) {
|
||||
return sysUserDefaultOrgService.getList(userSid);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean saveOrUpdate(SysUserDefaultOrgDto dto) {
|
||||
return sysUserDefaultOrgService.saveDefaultOrg(dto);
|
||||
}
|
||||
}
|
||||
877
src/main/java/com/yxt/portal/apiadmin/SysUserRest.java
Normal file
877
src/main/java/com/yxt/portal/apiadmin/SysUserRest.java
Normal file
@@ -0,0 +1,877 @@
|
||||
package com.yxt.portal.apiadmin;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
|
||||
import com.yxt.common.base.config.RedisUtil;
|
||||
import com.yxt.common.base.utils.*;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.portal.biz.sysorganization.SysOrganization;
|
||||
import com.yxt.portal.biz.sysorganization.SysOrganizationService;
|
||||
import com.yxt.portal.biz.syspost.SysPost;
|
||||
import com.yxt.portal.biz.syspost.SysPostService;
|
||||
import com.yxt.portal.biz.sysstaffinfo.SysStaffinfo;
|
||||
import com.yxt.portal.biz.sysstaffinfo.SysStaffinfoService;
|
||||
import com.yxt.portal.biz.sysstaffinfo.SysStaffinfoVo;
|
||||
import com.yxt.portal.biz.sysstafforg.SysStaffOrg;
|
||||
import com.yxt.portal.biz.sysstafforg.SysStaffOrgService;
|
||||
import com.yxt.portal.biz.sysstaffpost.SysStaffPost;
|
||||
import com.yxt.portal.biz.sysstaffpost.SysStaffPostService;
|
||||
import com.yxt.portal.biz.sysuser.*;
|
||||
import com.yxt.portal.biz.sysuser.app.OrgList;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.cloud.openfeign.SpringQueryMap;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.validation.Valid;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysUserFeignFallback.java <br/>
|
||||
* Class: com.yxt.anrui.portal.biz.sysuser.SysUserRest <br/>
|
||||
* Description: 用户表. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:30 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Api(tags = "用户表")
|
||||
@RestController
|
||||
@RequestMapping("apiadmin/sysuser")
|
||||
public class SysUserRest {
|
||||
@Autowired
|
||||
private RedisUtil redisUtil;
|
||||
@Autowired
|
||||
private SysUserService sysUserService;
|
||||
@Autowired
|
||||
private SysStaffinfoService sysStaffinfoService;
|
||||
@Autowired
|
||||
private SysStaffOrgService sysStaffOrgService;
|
||||
@Autowired
|
||||
private SysStaffPostService sysStaffPostService;
|
||||
@Autowired
|
||||
private SysOrganizationService sysOrganizationService;
|
||||
@Autowired
|
||||
private SysPostService sysPostService;
|
||||
@Autowired
|
||||
private HttpServletRequest httpServletRequest;
|
||||
// @Autowired
|
||||
// private SystemLogService systemLogService;
|
||||
// 定义点选文字图片验证码允许的误差值
|
||||
private static final int ERROR_AMOUNT = 50;// 定义允许的误差值,单位是px
|
||||
|
||||
@ApiOperation("根据条件分页查询数据的列表 ")
|
||||
@PostMapping("/listPage")
|
||||
public ResultBean<PagerVo<SysUserVo>> listPage(@RequestBody PagerQuery<SysUserQuery> pq) {
|
||||
ResultBean rb = ResultBean.fireFail();//roleSid
|
||||
PagerVo<SysUserVo> pv = sysUserService.listPageVo(pq);
|
||||
return rb.success().setData(pv);
|
||||
}
|
||||
|
||||
@ApiOperation("根据条件查询所有数据列表")
|
||||
@PostMapping("/listAll")
|
||||
public ResultBean<List<SysUserVo>> listAll(@RequestBody SysUserQuery query){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<SysUserVo> list = sysUserService.listAllVo(query);
|
||||
return rb.success().setData(list);
|
||||
}
|
||||
|
||||
@ApiOperation("所有数据列表")
|
||||
@GetMapping("/list")
|
||||
public ResultBean<List<SysUserVo>> list() {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<SysUserVo> list = sysUserService.listVo();
|
||||
return rb.success().setData(list);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("新增保存")
|
||||
@PostMapping("/save")
|
||||
public ResultBean save(@Valid @RequestBody SysUserDto dto){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
//手机号
|
||||
String mobile = dto.getMobile();
|
||||
//姓名
|
||||
String name = dto.getName();
|
||||
//用户类型
|
||||
int userType = dto.getUserType();
|
||||
//部门sid
|
||||
String deptSid = dto.getDeptSid();
|
||||
//岗位sid
|
||||
String postSid = dto.getPostSid();
|
||||
//验证码
|
||||
String verificationCode = dto.getVerificationCode();
|
||||
|
||||
if (StringUtils.isBlank(mobile)) {
|
||||
return new ResultBean<SysUserVo>().fail().setMsg("手机号不能为空");
|
||||
} else {
|
||||
SysUser one = sysUserService.fetchByUserName(mobile);
|
||||
if (null != one) {
|
||||
return new ResultBean<SysUserVo>().fail().setMsg("手机号重复!`");
|
||||
}
|
||||
}
|
||||
if (StringUtils.isBlank(name)) {
|
||||
return new ResultBean<SysUserVo>().fail().setMsg("姓名不能为空");
|
||||
}
|
||||
if (userType == 0) {
|
||||
return new ResultBean<SysUserVo>().fail().setMsg("用户类型不能为空");
|
||||
}
|
||||
if (StringUtils.isBlank(verificationCode)) {
|
||||
return new ResultBean<SysUserVo>().fail().setMsg("验证码不能为空");
|
||||
} else {
|
||||
Map<String, Object> stringObjectMap = sysUserService.mobileValidateRegister(mobile, verificationCode);
|
||||
String code = stringObjectMap.get("code").toString();
|
||||
String details = stringObjectMap.get("details").toString();
|
||||
if (Tools.CODE_FAIL.equals(code)) {
|
||||
return ResultBean.fireFail().setMessage(details).setMsg(details);
|
||||
}
|
||||
}
|
||||
//"15097329653";
|
||||
String password = mobile.substring(5, 11);
|
||||
String md5 = Encodes.md5(password);
|
||||
SysStaffinfo ssi = new SysStaffinfo();
|
||||
SysUser su = new SysUser();
|
||||
dto.fillEntity(su);
|
||||
su.setStaffSid(ssi.getSid());
|
||||
su.setUserName(mobile);
|
||||
su.setPassword(md5);
|
||||
su.setIsAdmin("1");
|
||||
sysUserService.save(su);
|
||||
ssi.setName(name);
|
||||
ssi.setMobile(mobile);
|
||||
// ssi.setPinYinName(PinYinUtils.getPinYinName(name));
|
||||
// ssi.setFirstPinYinLabel(PinYinUtils.getCharDuoPinYinChar(name));
|
||||
sysStaffinfoService.save(ssi);
|
||||
if (StringUtils.isNotBlank(deptSid)) {
|
||||
SysOrganization sysOrganization = sysOrganizationService.fetchBySid(deptSid);
|
||||
SysStaffOrg sso = new SysStaffOrg();
|
||||
sso.setOrgName(sysOrganization.getName());
|
||||
sso.setOrgSid(sysOrganization.getSid());
|
||||
sso.setStaffSid(ssi.getSid());
|
||||
// sso.setOrgSidPath(sysOrganization.getOrgSidPath());
|
||||
// sso.setOrgNamePath(sysOrganization.getName());
|
||||
sso.setManageType("3");
|
||||
sysStaffOrgService.save(sso);
|
||||
}
|
||||
if (StringUtils.isNotBlank(postSid)) {
|
||||
SysPost sysPost = sysPostService.fetchBySid(postSid);
|
||||
SysStaffPost ssp = new SysStaffPost();
|
||||
ssp.setStaffSid(ssi.getSid());
|
||||
ssp.setOrgSid(deptSid);
|
||||
ssp.setPostSid(postSid);
|
||||
ssp.setStartDate(new Date());
|
||||
ssp.setIsDepetHead(0);
|
||||
sysStaffPostService.save(ssp);
|
||||
}
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
@ApiOperation("根据staffSid删除用户(逻辑删除)")
|
||||
@PostMapping("/delSysUserByMobile")
|
||||
public ResultBean delSysUserByMobile(@RequestParam("sid") String sid){
|
||||
int i = sysUserService.delSysUserByMobile(sid);
|
||||
if (i == 0) {
|
||||
return new ResultBean().fail().setMsg("删除失败");
|
||||
}
|
||||
return new ResultBean().success().setMsg("删除成功");
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("根据staffSid查询用户信息")
|
||||
@PostMapping("/getSysUserByMobile")
|
||||
public ResultBean<SysStaffinfoVo> getSysUserByMobile(@RequestParam("staffSid") String staffSid){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
SysStaffinfoVo user = sysUserService.getSysUserByMobile(staffSid);
|
||||
return rb.success().setData(user);
|
||||
}
|
||||
|
||||
@ApiOperation("修改保存")
|
||||
@PostMapping("/update/{sid}")
|
||||
public ResultBean update(@RequestBody SysUserDto dto, @PathVariable("sid") String sid){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
sysUserService.updateBySid(dto.toMap(), sid);
|
||||
//部门sid
|
||||
String deptSid = dto.getDeptSid();
|
||||
//岗位sid
|
||||
String postSid = dto.getPostSid();
|
||||
SysUser sysUser = sysUserService.fetchBySid(sid);
|
||||
SysStaffinfo ssi = sysStaffinfoService.fetchBySid(sysUser.getStaffSid());
|
||||
ssi.setMobile(dto.getMobile());
|
||||
ssi.setName(dto.getName());
|
||||
sysStaffinfoService.updateById(ssi);
|
||||
if (StringUtils.isNotBlank(deptSid)) {
|
||||
SysOrganization sysOrganization = sysOrganizationService.fetchBySid(deptSid);
|
||||
sysStaffOrgService.deleteByStaffSid(sysUser.getStaffSid());
|
||||
SysStaffOrg sso = new SysStaffOrg();
|
||||
sso.setOrgName(sysOrganization.getName());
|
||||
sso.setOrgSid(sysOrganization.getSid());
|
||||
sso.setStaffSid(ssi.getSid());
|
||||
// sso.setOrgSidPath(sysOrganization.getOrgSidPath());
|
||||
// sso.setOrgNamePath(sysOrganization.getName());
|
||||
sso.setManageType("3");
|
||||
sysStaffOrgService.save(sso);
|
||||
}
|
||||
if (StringUtils.isNotBlank(postSid)) {
|
||||
SysPost sysPost = sysPostService.fetchBySid(postSid);
|
||||
sysStaffPostService.deleteByStaffSid(sysUser.getStaffSid());
|
||||
SysStaffPost ssp = new SysStaffPost();
|
||||
ssp.setStaffSid(ssi.getSid());
|
||||
ssp.setOrgSid(deptSid);
|
||||
ssp.setPostSid(postSid);
|
||||
ssp.setStartDate(new Date());
|
||||
ssp.setIsDepetHead(0);
|
||||
sysStaffPostService.save(ssp);
|
||||
}
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改密码(★)
|
||||
*
|
||||
* @param original 原始密码
|
||||
* @param password 密码
|
||||
* @param confirmPassword 确认密码
|
||||
* @param userSid 用户sid
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/updatePassword")
|
||||
@ApiOperation(value = "5、修改密码")
|
||||
public ResultBean updatePassword(@RequestParam("original") String original,
|
||||
@RequestParam("password") String password,
|
||||
@RequestParam("confirmPassword") String confirmPassword,
|
||||
@RequestParam("userSid") String userSid,
|
||||
HttpServletRequest httpServletRequest){
|
||||
String token = httpServletRequest.getHeader("token");
|
||||
// 根据redisToken查询用户信息
|
||||
SysUser user = sysUserService.fetchBySid(userSid);
|
||||
if (user == null) {
|
||||
return ResultBean.fireFail().setMsg("抱歉,用户不存在");
|
||||
}
|
||||
if (!password
|
||||
.matches("^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])[a-zA-Z0-9]{8,16}$")) {
|
||||
return ResultBean.fireFail().setMsg("密码格式错误,必须为8至16位大小写字母和数字的组合");
|
||||
}
|
||||
String newPassword = Encodes.md5(original);
|
||||
if (!newPassword.equals(user.getPassword())) {
|
||||
return ResultBean.fireFail().setMsg("原始密码输入错误");
|
||||
}
|
||||
if (!password.equals(confirmPassword)) {
|
||||
return ResultBean.fireFail().setMsg("密码和确认密码不一致");
|
||||
}
|
||||
int i = sysUserService.updatePassword(user.getSid(), Encodes.md5(password));
|
||||
if (i == 0) {
|
||||
return ResultBean.fireFail().setMsg("修改失败");
|
||||
}
|
||||
redisUtil.remove(token);
|
||||
return ResultBean.fireSuccess().setMsg("修改成功");
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("删除记录")
|
||||
@GetMapping("/del/{ids}")
|
||||
public ResultBean del(@PathVariable("ids") String ids){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
sysUserService.delByIds(ids);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("删除记录根据sid")
|
||||
@GetMapping("/delBySid/{sid}")
|
||||
public ResultBean delBySid(@PathVariable("sid") String sid){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
sysUserService.delBySid(sid);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("根据用户名(手机号)查询用户")
|
||||
@GetMapping("/fetchByMobile/{mobile}")
|
||||
public ResultBean<SysUserVo> selectByUserName(@PathVariable("mobile") String mobile){
|
||||
SysUser user = sysUserService.selectByUserName(mobile);
|
||||
SysUserVo sysUserVo = new SysUserVo();
|
||||
BeanUtil.copyProperties(user, sysUserVo);
|
||||
return new ResultBean().success().setData(sysUserVo);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("获取一条记录")
|
||||
@GetMapping("/fetch/{id}")
|
||||
public ResultBean<SysUserVo> fetch(@PathVariable("id") String id){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
SysUserVo vo = sysUserService.fetchByIdVo(id);
|
||||
return rb.success().setData(vo);
|
||||
}
|
||||
|
||||
@ApiOperation("根据sid获取一条记录")
|
||||
@GetMapping("/fetchBySid/{sid}")
|
||||
public ResultBean<SysUserVo> fetchBySid(@PathVariable("sid") String sid){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
SysUserVo vo = sysUserService.fetchBySidVo(sid);
|
||||
return rb.success().setData(vo);
|
||||
}
|
||||
|
||||
@ApiOperation("根据多个或者一个sid获取对应的用户集合")
|
||||
@GetMapping("/fetchBySids/{sids}")
|
||||
public ResultBean<List<SysUserVo>> fetchBySids(@PathVariable("sids") String sids){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<SysUserVo> vo = sysUserService.fetchBySidSVo(sids);
|
||||
return rb.success().setData(vo);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 客户端找回密码
|
||||
*
|
||||
* @param userName,userPhone
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation("客户端找回密码")
|
||||
@PostMapping("/reGetPwd")
|
||||
public ResultBean reGetPwd(@RequestParam("userName") String userName, @RequestParam("userPhone") String userPhone){
|
||||
return sysUserService.reGetPwd(userName, userPhone);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 初始化密码
|
||||
*
|
||||
* @param sid 用户sid
|
||||
* @return ResultBean
|
||||
*/
|
||||
@ResponseBody
|
||||
@PostMapping("/initPwd/{sid}")
|
||||
@ApiOperation(value = "10、用户初始化密码")
|
||||
@ApiOperationSupport(order = 100)
|
||||
public ResultBean
|
||||
initPwd(@ApiParam(value = "用户sid", required = true) @PathVariable("sid") String sid) {
|
||||
if (!sysUserService.initPwd(sid)) {
|
||||
return ResultBean.fireFail().setMsg("初始化密码失败");
|
||||
}
|
||||
return ResultBean.fireSuccess().setMsg("初始化密码成功");
|
||||
}
|
||||
|
||||
@PostMapping("/login")
|
||||
@ResponseBody
|
||||
@ApiOperation(value = "3、登录")
|
||||
@ApiOperationSupport(order = 30)
|
||||
public ResultBean<SysUserVo> login(@RequestBody SysUserQuery userQuery) {
|
||||
String userName = userQuery.getUserName();
|
||||
String password = userQuery.getPassword();
|
||||
String verifyCode = userQuery.getVerifyCode();
|
||||
String type =userQuery.getType();
|
||||
SysUser user = null;
|
||||
//密码登录
|
||||
if(type.equals("1")){
|
||||
if (StringUtils.isBlank(userName)) {
|
||||
return new ResultBean<SysUserVo>().fail().setMsg("用户名不能为空");
|
||||
}
|
||||
if (StringUtils.isBlank(password)) {
|
||||
return new ResultBean<SysUserVo>().fail().setMsg("密码不能为空");
|
||||
}
|
||||
|
||||
// 验证通过之后删除redis上的验证过的该条uuid
|
||||
user = sysUserService.selectByUserName(userName);
|
||||
String md5 = Encodes.md5(password);
|
||||
if (user == null) {
|
||||
//根据手机号查询用户是否存在
|
||||
user = sysUserService.selectByMobile(userName);
|
||||
if (user == null) {
|
||||
return new ResultBean<SysUserVo>().fail().setMsg("用户名或密码错误");
|
||||
} else {
|
||||
if (!md5.equals(user.getPassword())) {
|
||||
return new ResultBean<SysUserVo>().fail().setMsg("用户名或密码错误");
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (!(md5.equals(user.getPassword()))) {
|
||||
return new ResultBean<SysUserVo>().fail().setMsg("用户名或密码错误");
|
||||
}
|
||||
}
|
||||
}else{
|
||||
//验证码登录
|
||||
if (StringUtils.isBlank(verifyCode)) return new ResultBean<SysUserVo>().fail().setMsg("验证码不能为空");
|
||||
String codeFromRedis = redisUtil.get("loginCode" + userName);
|
||||
if (StringUtils.isBlank(codeFromRedis))
|
||||
return new ResultBean<SysUserVo>().fail().setMsg("短信验证码已失效,请重新发送");
|
||||
if (verifyCode.equals(codeFromRedis.substring(0, 4))) {
|
||||
user = sysUserService.selectByUserName(userName);
|
||||
if(user==null){
|
||||
return new ResultBean<SysUserVo>().fail().setMsg("用户名不存在");
|
||||
}
|
||||
redisUtil.remove("loginCode" + userName);
|
||||
} else {
|
||||
return new ResultBean<SysUserVo>().fail().setMsg("短信验证码错误或已失效,请重新获取");
|
||||
}
|
||||
}
|
||||
// 根据用户信息查询用户的角色信息
|
||||
SysUserVo userInfoOneVo = sysUserService.setUserRedisSessionToken(user);
|
||||
if (userInfoOneVo == null) {
|
||||
return new ResultBean<SysUserVo>().fail().setMsg("该用户不是公司员工");
|
||||
}
|
||||
return new ResultBean<SysUserVo>().success().setData(userInfoOneVo);
|
||||
}
|
||||
@PostMapping("/register")
|
||||
@ResponseBody
|
||||
@ApiOperation(value = "3、注册")
|
||||
@ApiOperationSupport(order = 30)
|
||||
public ResultBean register(@RequestBody SysUserDto dto) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
SysUserVo userInfoOneVo =new SysUserVo();
|
||||
|
||||
//手机号
|
||||
String mobile = dto.getMobile();
|
||||
//姓名
|
||||
String name = dto.getName();
|
||||
//用户类型
|
||||
int userType = dto.getUserType();
|
||||
//部门sid
|
||||
String deptSid = dto.getDeptSid();
|
||||
//岗位sid
|
||||
String postSid = dto.getPostSid();
|
||||
//验证码
|
||||
String verificationCode = dto.getVerificationCode();
|
||||
|
||||
if (StringUtils.isBlank(mobile)) {
|
||||
return new ResultBean<SysUserVo>().fail().setMsg("手机号不能为空");
|
||||
}
|
||||
// if (userType == 0) {
|
||||
// return new ResultBean<SysUserVo>().fail().setMsg("用户类型不能为空");
|
||||
// }
|
||||
if (StringUtils.isBlank(verificationCode)) {
|
||||
return new ResultBean<SysUserVo>().fail().setMsg("验证码不能为空");
|
||||
} else {
|
||||
// Map<String, Object> stringObjectMap = sysUserService.mobileValidateRegister(mobile, verificationCode);
|
||||
Map<String, Object> stringObjectMap = new HashMap<>();
|
||||
// String code = stringObjectMap.get("code").toString();
|
||||
// String details = stringObjectMap.get("details").toString();
|
||||
String code = "200";
|
||||
String details="";
|
||||
if (Tools.CODE_FAIL.equals(code)) {
|
||||
return ResultBean.fireFail().setMessage(details).setMsg(details);
|
||||
}
|
||||
}
|
||||
String ssSid="";
|
||||
SysUser one = sysUserService.fetchByUserName(mobile);
|
||||
if (null != one) {
|
||||
SysOrganization s=sysOrganizationService.getOne(new QueryWrapper<SysOrganization>().eq("name",dto.getCompanyName()));
|
||||
if(s!=null){
|
||||
return new ResultBean<SysUserVo>().fail().setMsg("公司重复!`");
|
||||
}else{
|
||||
ssSid=one.getStaffSid();
|
||||
}
|
||||
}else{
|
||||
//"15097329653";
|
||||
String password = mobile.substring(5, 11);
|
||||
String md5 = Encodes.md5(password);
|
||||
SysStaffinfo ssi = new SysStaffinfo();
|
||||
SysUser su = new SysUser();
|
||||
dto.fillEntity(su);
|
||||
su.setStaffSid(ssi.getSid());
|
||||
su.setUserName(mobile);
|
||||
su.setPassword(md5);
|
||||
su.setIsAdmin("1");
|
||||
sysUserService.save(su);
|
||||
ssi.setName(name);
|
||||
ssi.setMobile(mobile);
|
||||
sysStaffinfoService.save(ssi);
|
||||
ssSid=ssi.getSid();
|
||||
}
|
||||
|
||||
SysOrganization sysOrg=new SysOrganization();
|
||||
sysOrg.setName(dto.getCompanyName());
|
||||
sysOrg.setLinkPhone(dto.getContacts());
|
||||
sysOrganizationService.save(sysOrg);
|
||||
SysStaffOrg sysStaffOrg=new SysStaffOrg();
|
||||
sysStaffOrg.setStaffSid(ssSid);
|
||||
sysStaffOrg.setOrgSid(sysOrg.getSid());
|
||||
sysStaffOrg.setOrgName(sysOrg.getName());
|
||||
sysStaffOrg.setManageType("3");
|
||||
sysStaffOrgService.save(sysStaffOrg);
|
||||
|
||||
if (StringUtils.isNotBlank(deptSid)) {
|
||||
SysOrganization sysOrganization = sysOrganizationService.fetchBySid(deptSid);
|
||||
SysStaffOrg sso = new SysStaffOrg();
|
||||
sso.setOrgName(sysOrganization.getName());
|
||||
sso.setOrgSid(sysOrganization.getSid());
|
||||
sso.setStaffSid(ssSid);
|
||||
// sso.setOrgSidPath(sysOrganization.getOrgSidPath());
|
||||
// sso.setOrgNamePath(sysOrganization.getName());
|
||||
sso.setManageType("3");
|
||||
sysStaffOrgService.save(sso);
|
||||
}
|
||||
if (StringUtils.isNotBlank(postSid)) {
|
||||
SysPost sysPost = sysPostService.fetchBySid(postSid);
|
||||
SysStaffPost ssp = new SysStaffPost();
|
||||
ssp.setStaffSid(ssSid);
|
||||
ssp.setOrgSid(deptSid);
|
||||
ssp.setPostSid(postSid);
|
||||
ssp.setStartDate(new Date());
|
||||
ssp.setIsDepetHead(0);
|
||||
sysStaffPostService.save(ssp);
|
||||
}
|
||||
|
||||
return new ResultBean<SysUserVo>().success().setData(userInfoOneVo);
|
||||
}
|
||||
@PostMapping("/loginByNoVeriCode")
|
||||
@ResponseBody
|
||||
@ApiOperation(value = "3、登录无验证码")
|
||||
@ApiOperationSupport(order = 30)
|
||||
public ResultBean<SysUserVo> loginByNoVeriCode(@RequestBody SysUserQuery userQuery) {
|
||||
|
||||
String userName = userQuery.getUserName();
|
||||
String password = userQuery.getPassword();
|
||||
if (StringUtils.isBlank(userName)) {
|
||||
return new ResultBean<SysUserVo>().fail().setMsg("用户名不能为空");
|
||||
}
|
||||
if (StringUtils.isBlank(password)) {
|
||||
return new ResultBean<SysUserVo>().fail().setMsg("密码不能为空");
|
||||
}
|
||||
SysUser user = null;
|
||||
// 验证通过之后删除redis上的验证过的该条uuid
|
||||
user = sysUserService.selectByUserName(userName);
|
||||
String md5 = Encodes.md5(password);
|
||||
if (user == null) {
|
||||
//根据手机号查询用户是否存在
|
||||
user = sysUserService.selectByMobile(userName);
|
||||
if (user == null) {
|
||||
return new ResultBean<SysUserVo>().fail().setMsg("用户名或密码错误");
|
||||
} else {
|
||||
if (!md5.equals(user.getPassword())) {
|
||||
return new ResultBean<SysUserVo>().fail().setMsg("用户名或密码错误");
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (!(md5.equals(user.getPassword()))) {
|
||||
return new ResultBean<SysUserVo>().fail().setMsg("用户名或密码错误");
|
||||
}
|
||||
}
|
||||
// 根据用户信息查询用户的角色信息
|
||||
SysUserVo userInfoOneVo = sysUserService.setUserRedisSessionToken(user);
|
||||
if (userInfoOneVo == null) {
|
||||
return new ResultBean<SysUserVo>().fail().setMsg("该用户不是公司员工");
|
||||
}
|
||||
// SystemLog systemLog = new SystemLog();
|
||||
// systemLog.setUserName(user.getUserName());
|
||||
// String ip = WebUtil.getIpAddr(httpServletRequest);
|
||||
// systemLog.setUserIp(ip);
|
||||
// systemLog.setEventUrl("portal/apiadmin/sysuser/login");
|
||||
// systemLog.setEventContent("用户登录");
|
||||
// systemLog.setEventName("用户登录");
|
||||
// systemLogService.save(systemLog);
|
||||
return new ResultBean<SysUserVo>().success().setData(userInfoOneVo);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 退出登录
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/signOut")
|
||||
@ResponseBody
|
||||
@ApiOperation(value = "退出登录")
|
||||
@ApiOperationSupport(order = 30)
|
||||
public ResultBean signOut(HttpServletRequest httpServletRequest){
|
||||
String token = httpServletRequest.getHeader("token");
|
||||
String redisToken = redisUtil.get(token);
|
||||
if (StringUtils.isBlank(redisToken)) {
|
||||
return ResultBean.fireSuccess().setMsg("您已退出,请刷新");
|
||||
}
|
||||
redisUtil.remove(token);
|
||||
return ResultBean.fireSuccess().setMsg("退出成功");
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取验证码(注册)(★)
|
||||
*
|
||||
* @param mobile 手机号
|
||||
* @return ResultBean
|
||||
*/
|
||||
@PostMapping("/sendMessageCode")
|
||||
@ResponseBody
|
||||
@ApiOperation(value = "3、获取注册码")
|
||||
@ApiOperationSupport(order = 30)
|
||||
public ResultBean sendMessageCode(@RequestParam("mobile") String mobile) {
|
||||
if (StringUtils.isBlank(mobile) || !RegexUtil.isMobile(mobile)) {
|
||||
return new ResultBean().fail().setMsg("请输入正确的手机号");
|
||||
}
|
||||
String verificationCode = "";
|
||||
return sysUserService.getVerificationCode(mobile, verificationCode);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取登录码()
|
||||
* @param mobile
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/sendMessageLogin")
|
||||
@ResponseBody
|
||||
@ApiOperation(value = "3、获取登录码")
|
||||
@ApiOperationSupport(order = 30)
|
||||
public ResultBean sendMessageLogin(@RequestParam("mobile") String mobile) {
|
||||
if (StringUtils.isBlank(mobile) || !RegexUtil.isMobile(mobile)) {
|
||||
return new ResultBean().fail().setMsg("请输入正确的手机号");
|
||||
}
|
||||
String verificationCode = "";
|
||||
return sysUserService.getVerificationCodeL(mobile, verificationCode);
|
||||
}
|
||||
/**
|
||||
* 获取修改码()
|
||||
* @param mobile
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/sendMessageUpdate")
|
||||
@ResponseBody
|
||||
@ApiOperation(value = "3、获取修改码")
|
||||
@ApiOperationSupport(order = 30)
|
||||
public ResultBean sendMessageUpdate(@RequestParam("mobile") String mobile) {
|
||||
if (StringUtils.isBlank(mobile) || !RegexUtil.isMobile(mobile)) {
|
||||
return new ResultBean().fail().setMsg("请输入正确的手机号");
|
||||
}
|
||||
String verificationCode = "";
|
||||
return sysUserService.getVerificationCodeU(mobile, verificationCode);
|
||||
}
|
||||
@ApiOperation("根据staffsid查询用户")
|
||||
@ResponseBody
|
||||
@GetMapping("/selectByStaffsid/{staffsid}")
|
||||
public ResultBean<SysUserVo> selectByStaffsid(@PathVariable("staffsid") String staffsid){
|
||||
SysUserVo user = sysUserService.selectByStaffsid(staffsid);
|
||||
if (user != null) {
|
||||
return new ResultBean<SysUserVo>().success().setData(user);
|
||||
} else {
|
||||
return new ResultBean<SysUserVo>().fail().setData(new SysUserVo()).setMsg("查无此用户");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("根据sid查询用户信息")
|
||||
@PostMapping("/selectBySid")
|
||||
public ResultBean<SysUser> selectBySid(@RequestParam("sid") String sid){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
SysUser vo = sysUserService.fetchBySid(sid);
|
||||
if (vo == null) {
|
||||
vo = new SysUser();
|
||||
return rb.fail().setData(vo).setMsg("用户不存在");
|
||||
}
|
||||
return rb.success().setData(vo);
|
||||
}
|
||||
|
||||
@PostMapping("/loginDetails")
|
||||
@ResponseBody
|
||||
@ApiOperation(value = "获取登录人")
|
||||
@ApiOperationSupport(order = 30)
|
||||
public ResultBean<SysUserVo> loginDetails(HttpServletRequest httpServletRequest) {
|
||||
String token = httpServletRequest.getHeader("token");
|
||||
if (StringUtils.isBlank(token)) {
|
||||
return new ResultBean<SysUserVo>().fail().setMsg("请重新登录");
|
||||
}
|
||||
String userName = redisUtil.get(token);
|
||||
if (StringUtils.isBlank(userName)) {
|
||||
return new ResultBean<SysUserVo>().fail().setMsg("请重新登录");
|
||||
}
|
||||
SysUser user = sysUserService.selectByUserName(userName);
|
||||
user.setToken(token);
|
||||
SysUserVo userInfoOneVo = sysUserService.selectUserOne(user);
|
||||
if (userInfoOneVo == null) {
|
||||
return new ResultBean<SysUserVo>().fail().setMsg("该用户不是公司员工");
|
||||
}
|
||||
return new ResultBean<SysUserVo>().success().setData(userInfoOneVo);
|
||||
}
|
||||
|
||||
|
||||
// public ResultBean<AppUserOrgInfoVo> getUserOrgInfoByUserSid(String userSid) {
|
||||
// AppUserOrgInfoVo vo = sysUserService.getUserOrgInfoByUserSid(userSid);
|
||||
// if (vo == null) {
|
||||
// return new ResultBean().fail().setMsg("查询失败");
|
||||
// }
|
||||
// return new ResultBean().success().setData(vo);
|
||||
// }
|
||||
|
||||
/**
|
||||
* 根据用户的sid查询该用户的组织信息
|
||||
*
|
||||
* @param userSid 用户sid
|
||||
* @return
|
||||
*/
|
||||
|
||||
@ApiOperation(value = "根据用户的sid查询用户的组织信息")
|
||||
@ResponseBody
|
||||
@GetMapping("/selectUserInfoByUserSid/{userSid}")
|
||||
public ResultBean<SysUserInfoVo> selectUserInfoByUserSid(@PathVariable("userSid") String userSid){
|
||||
ResultBean<SysUserInfoVo> rb = ResultBean.fireFail();
|
||||
SysUserInfoVo sysUserInfoVo = sysUserService.selectUserInfoByUserSid(userSid);
|
||||
if (sysUserInfoVo == null) {
|
||||
return rb.setData(new SysUserInfoVo()).setMsg("该用户未设置所属部门");
|
||||
}
|
||||
return rb.success().setData(sysUserInfoVo);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation(value = "根据用户的sid查询用户的组织信息")
|
||||
@ResponseBody
|
||||
@GetMapping("/selectUserInfoByUserSid/{userSid}/{orgSid}")
|
||||
public ResultBean<SysUserInfoVo> selectUserInfoByUserSid(@PathVariable("userSid") String userSid, @PathVariable("orgSid") String orgSid){
|
||||
ResultBean<SysUserInfoVo> rb = ResultBean.fireFail();
|
||||
SysUserInfoVo sysUserInfoVo = sysUserService.selectUserInfoByUserSid(userSid, orgSid);
|
||||
if (sysUserInfoVo == null) {
|
||||
return rb.setData(new SysUserInfoVo()).setMsg("该用户未设置所属部门");
|
||||
}
|
||||
return rb.success().setData(sysUserInfoVo);
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/setIsEnable/{sid}/{isEnable}")
|
||||
@ResponseBody
|
||||
@ApiOperation(value = "设置是否可用:isEnable:1可用,0不可用")
|
||||
public ResultBean setIsEnable(@ApiParam(value = "sid", required = true) @PathVariable("sid") String sid, @ApiParam(value = "isEnable", required = true) @PathVariable("isEnable") String isEnable){
|
||||
SysUser sysUser = sysUserService.fetchBySid(sid);
|
||||
if (sysUser == null) {
|
||||
return ResultBean.fireFail().setMsg("此角色已不存在");
|
||||
}
|
||||
int i = sysUserService.updateIsEnable(sid, isEnable);
|
||||
if (i == 0) {
|
||||
return ResultBean.fireFail().setMsg("设置失败");
|
||||
}
|
||||
return ResultBean.fireSuccess().setMsg("设置成功");
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("根据角色sid查询用户")
|
||||
@GetMapping("/getUsersByRoleSid/{roleSid}")
|
||||
ResultBean getUsersByRoleSid(@PathVariable("roleSid") String roleSid) {
|
||||
return sysUserService.getUsersByRoleSid(roleSid);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation(value = "获取本机构链角色的用户")
|
||||
@GetMapping(value = "getUserByRole")
|
||||
ResultBean<List<SysUserVo>> getUserByRole(@SpringQueryMap UserQuery query) {
|
||||
return sysUserService.getUserByRole(query);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation(value = "获取本机构链角色的用户sid")
|
||||
@GetMapping(value = "getUserSidByRole")
|
||||
ResultBean<List<String>> getUserSidByRole(@SpringQueryMap UserQuery query) {
|
||||
return sysUserService.getUserSidByRole(query);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation(value = "获取本机构链角色的用户")
|
||||
@PostMapping(value = "getUsersByRoles")
|
||||
ResultBean<List<SysUserVo>> getUsersByRoles(@RequestBody UserssQuery usersQuery) {
|
||||
return sysUserService.getUsersByRoles(usersQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 参数:当前用户角色sid,部门sid
|
||||
*
|
||||
* @param query
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value = "获取本部门直属上级角色的用户")
|
||||
@GetMapping(value = "getUserByOrgRole")
|
||||
ResultBean<List<SysUserVo>> getUserByOrgRole(@SpringQueryMap UserRoleQuery query) {
|
||||
return sysUserService.getUserByOrgRole(query);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 参数为下一环节角色sid,机构sid
|
||||
*
|
||||
* @param query
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value = "获取其他机构链角色的用户")
|
||||
@GetMapping(value = "getOtherOrgRoleUser")
|
||||
ResultBean<List<SysUserVo>> getOtherOrgRoleUser(@SpringQueryMap UserRoleQuery query) {
|
||||
return sysUserService.getOtherOrgRoleUser(query);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation(value = "获取当前分公司下所有员工的userSid和员工姓名")
|
||||
@GetMapping(value = "getUserByOrgSid")
|
||||
ResultBean<List<Map<String, String>>> getUserByOrgSid(@RequestParam("orgSid") String orgSid, @RequestParam("userSid") String userSid){
|
||||
return sysUserService.getUserByOrgSid(orgSid, userSid);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "根据用户sid获取用户id")
|
||||
@PostMapping(value = "selectIdBySid")
|
||||
ResultBean<String> selectIdBySid(@RequestBody List<String> stringList) {
|
||||
return sysUserService.selectIdBySid(stringList);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation(value = "根据用户sid查询该分公司下所有销售经理的用户")
|
||||
@GetMapping(value = "selectSysUserList")
|
||||
ResultBean<List<SysUserListVo>> selectSysUserList(@RequestParam("userSid") String userSid, @RequestParam(value = "orgPath", required = false) String orgPath){
|
||||
return sysUserService.selectSysUserList(userSid, orgPath);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation(value = "查询是否需要更换密码")
|
||||
@GetMapping(value = "/selectPasswordByUserSid/{userSid}")
|
||||
ResultBean<Boolean> selectPasswordByUserSid(@PathVariable("userSid") String userSid){
|
||||
return sysUserService.selectPasswordByUserSid(userSid);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 查询该菜单是否允许创建,是否有提醒消息
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value = "查询该菜单是否允许创建,是否有提醒消息")
|
||||
@PostMapping(value = "/selectHaveMessage")
|
||||
ResultBean selectHaveMessage(@RequestBody SysHaveMessageQuery sysHaveMessageQuery){
|
||||
return sysUserService.selectHaveMessage(sysHaveMessageQuery);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation(value = "根据用户sid获取当前用户所有的组织机构list")
|
||||
@GetMapping(value = "/getOrgListByUserSid")
|
||||
ResultBean<List<OrgList>> getOrgListByUserSid(@RequestParam("userSid") String userSid) {
|
||||
return sysUserService.getOrgListByUserSid(userSid);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation(value = "根据多个角色sid以及机构sid获取本机构链角色的用户")
|
||||
@PostMapping(value = "/getUserByRoles")
|
||||
ResultBean<List<SysUserVo>> getUserByRoles(@RequestBody UserByRolesAndOrgQuery userQuery) {
|
||||
return sysUserService.getUserByRoles(userQuery);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation(value = "分享时查询的人员")
|
||||
@PostMapping(value = "/shareSelectUser")
|
||||
ResultBean<List<String>> shareSelectUser(@RequestBody ShareUserQuery shareUserQuery){
|
||||
return sysUserService.shareSelectUser(shareUserQuery);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation(value = "查询角色权限的层级获取权限id")
|
||||
@PostMapping(value = "/selectPrivilegeLevel")
|
||||
ResultBean<String> selectPrivilegeLevel(@RequestBody PrivilegeQuery query) {
|
||||
return sysUserService.selectPrivilegeLevel(query);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation(value = "清除所有离职人员的移动端登录缓存")
|
||||
@PostMapping(value = "/removeRedis")
|
||||
ResultBean removeRedis() {
|
||||
return sysUserService.removeRedis();
|
||||
}
|
||||
}
|
||||
129
src/main/java/com/yxt/portal/apiadmin/SysUserRoleRest.java
Normal file
129
src/main/java/com/yxt/portal/apiadmin/SysUserRoleRest.java
Normal file
@@ -0,0 +1,129 @@
|
||||
package com.yxt.portal.apiadmin;
|
||||
|
||||
import com.yxt.common.base.utils.StringUtils;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.portal.biz.sysuserrole.*;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysUserRoleFeignFallback.java <br/>
|
||||
* Class: com.yxt.anrui.portal.biz.sysuserrole.SysUserRoleRest <br/>
|
||||
* Description: 用户与角色关联表. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:30 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Api(tags = "用户与角色关联表")
|
||||
@RestController
|
||||
@RequestMapping("apiadmin/sysuserrole")
|
||||
public class SysUserRoleRest {
|
||||
|
||||
@Autowired
|
||||
private SysUserRoleService sysUserRoleService;
|
||||
|
||||
@ApiOperation("根据条件分页查询数据的列表")
|
||||
@PostMapping("/listPage")
|
||||
public ResultBean<PagerVo<SysUserRoleVo>> listPage(@RequestBody PagerQuery<SysUserRoleQuery> pq){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
PagerVo<SysUserRoleVo> pv = sysUserRoleService.listPageVo(pq);
|
||||
return rb.success().setData(pv);
|
||||
}
|
||||
|
||||
@ApiOperation("根据条件查询所有数据列表")
|
||||
@PostMapping("/listAll")
|
||||
public ResultBean<List<SysUserRoleVo>> listAll(@RequestBody SysUserRoleQuery query){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<SysUserRoleVo> list = sysUserRoleService.listAllVo(query);
|
||||
return rb.success().setData(list);
|
||||
}
|
||||
|
||||
@ApiOperation("所有数据列表")
|
||||
@GetMapping("/list")
|
||||
public ResultBean<List<SysUserRoleVo>> list(){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<SysUserRoleVo> list = sysUserRoleService.listVo();
|
||||
return rb.success().setData(list);
|
||||
}
|
||||
|
||||
@ApiOperation("新增保存")
|
||||
@PostMapping("/save")
|
||||
public ResultBean save(@RequestBody SysUserRoleDto dto){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
sysUserRoleService.saveOrUpdateDto(dto);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
@ApiOperation("修改保存")
|
||||
@PostMapping("/update")
|
||||
public ResultBean update(@RequestBody SysUserRoleDto dto){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
sysUserRoleService.deleteByUserSid(dto.getUserSid());
|
||||
String roleSid = dto.getRoleSid();
|
||||
if(StringUtils.isBlank(roleSid)){
|
||||
return rb.success();
|
||||
}
|
||||
String[] roleSids = roleSid.split(",");
|
||||
for(String sid:roleSids){
|
||||
SysUserRole sysUserRole=new SysUserRole();
|
||||
sysUserRole.setRoleSid(sid);
|
||||
sysUserRole.setUserSid(dto.getUserSid());
|
||||
sysUserRoleService.saveOrUpdate(sysUserRole);
|
||||
}
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
@ApiOperation("删除记录")
|
||||
@GetMapping("/del/{ids}")
|
||||
public ResultBean del(@PathVariable("ids") String ids){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
sysUserRoleService.delByIds(ids);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
@ApiOperation("根据用户sid和角色sid删除记录")
|
||||
@GetMapping("/delByUserSidAndRoleSid/{userSid}/{roleSid}")
|
||||
public ResultBean delByUserSidAndRoleSid(@PathVariable("userSid")String userSid,
|
||||
@PathVariable("roleSid")String roleSid) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
sysUserRoleService.delByUserSidAndRoleSid(userSid,roleSid);
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
@ApiOperation("获取一条记录")
|
||||
@GetMapping("/fetch/{id}")
|
||||
public ResultBean<SysUserRoleVo> fetch(@PathVariable("id") String id){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
SysUserRoleVo vo = sysUserRoleService.fetchByIdVo(id);
|
||||
return rb.success().setData(vo);
|
||||
}
|
||||
|
||||
@ApiOperation("根据用户sid查询用户角色sid列表")
|
||||
@GetMapping("/getUserRoleSidByUserSid/{userSid}")
|
||||
public ResultBean<List<String>> getUserRoleSidByUserSid(@PathVariable("userSid") String userSid) {
|
||||
return sysUserRoleService.getUserRoleSidByUserSid(userSid);
|
||||
}
|
||||
|
||||
@ApiOperation("根据角色sid查询用户id列表")
|
||||
@GetMapping("/getUserIdListByRoleSid")
|
||||
public ResultBean<List<String>> getUserIdListByRoleSid(@RequestParam("roleList") List<String> roleList) {
|
||||
return sysUserRoleService.getUserIdListByRoleSid(roleList);
|
||||
}
|
||||
|
||||
@ApiOperation("查询用户的角色")
|
||||
@GetMapping("/selectByUserSid")
|
||||
ResultBean<List<String>> selectByUserSid(@RequestParam("userSid") String userSid) {
|
||||
return sysUserRoleService.selectByUserSids(userSid);
|
||||
}
|
||||
}
|
||||
10
src/main/java/com/yxt/portal/apiwx/WxHomeRest.java
Normal file
10
src/main/java/com/yxt/portal/apiwx/WxHomeRest.java
Normal file
@@ -0,0 +1,10 @@
|
||||
package com.yxt.portal.apiwx;
|
||||
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
@RestController("com.yxt.base.apiwx.WxHomeRest")
|
||||
@RequestMapping("/apiwx/home")
|
||||
public class WxHomeRest {
|
||||
|
||||
}
|
||||
25
src/main/java/com/yxt/portal/biz/dictcommon/DictCommon.java
Normal file
25
src/main/java/com/yxt/portal/biz/dictcommon/DictCommon.java
Normal file
@@ -0,0 +1,25 @@
|
||||
package com.yxt.portal.biz.dictcommon;
|
||||
|
||||
import com.yxt.common.core.domain.BaseEntity;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author dimengzhe
|
||||
* @date 2021/6/23 15:40
|
||||
* @description 数据字典数据项
|
||||
*/
|
||||
@Data
|
||||
public class DictCommon extends BaseEntity {
|
||||
private static final long serialVersionUID = 8921237815183601526L;
|
||||
@ApiModelProperty(value = "数据项值")
|
||||
private String dictKey;
|
||||
@ApiModelProperty(value = "数据类型")
|
||||
private String dictType;
|
||||
@ApiModelProperty(value = "数据项相对应的value值")
|
||||
private String dictValue;
|
||||
@ApiModelProperty(value = "数据项的父级sid")
|
||||
private String parentSid;
|
||||
@ApiModelProperty(value = "分组名称")
|
||||
private String groupName;
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package com.yxt.portal.biz.dictcommon;
|
||||
|
||||
import com.yxt.common.core.dto.Dto;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
/**
|
||||
* @author dimengzhe
|
||||
* @date 2021/6/23 15:41
|
||||
* @description 数据字典数据项参数
|
||||
*/
|
||||
@Data
|
||||
public class DictCommonDto implements Dto {
|
||||
private static final long serialVersionUID = 9102264215113210976L;
|
||||
|
||||
@ApiModelProperty(value = "数据项值", required = true)
|
||||
@NotBlank(message = "数据项值不能为空")
|
||||
private String dictKey;
|
||||
|
||||
@ApiModelProperty(value = "数据类型", required = true)
|
||||
@NotBlank(message = "数据类型不能为空")
|
||||
private String dictType;
|
||||
|
||||
@ApiModelProperty(value = "数据项相对应的value值", required = true)
|
||||
@NotBlank(message = "数据项相对应的value值不能为空")
|
||||
private String dictValue;
|
||||
|
||||
@ApiModelProperty(value = "数据项的父级sid", required = true)
|
||||
@NotBlank(message = "数据项的父级sid不能为空")
|
||||
private String parentSid;
|
||||
|
||||
@ApiModelProperty(value = "分组名称", required = true)
|
||||
private String groupName;
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
package com.yxt.portal.biz.dictcommon;
|
||||
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author dimengzhe
|
||||
* @date 2021/7/5 21:59
|
||||
* @description
|
||||
*/
|
||||
@FeignClient(
|
||||
contextId = "anrui-portal-DictCommon",
|
||||
name = "anrui-portal",
|
||||
path = "v1/dictcommons",
|
||||
fallback = DictCommonFeignFallback.class)
|
||||
public interface DictCommonFeign {
|
||||
|
||||
@PostMapping(value = "/save")
|
||||
@ResponseBody
|
||||
@ApiOperation(value = "数据字典数据项保存")
|
||||
ResultBean save(@Valid @RequestBody DictCommonDto dictCommonDto);
|
||||
|
||||
@PostMapping("/pageList")
|
||||
@ResponseBody
|
||||
@ApiOperation(value = "数据字典数据项分页列表")
|
||||
ResultBean<PagerVo<DictCommonVo>> pageList(@RequestBody PagerQuery<DictCommonQuery> pagerQuery);
|
||||
|
||||
@PostMapping("/update/{sid}")
|
||||
@ResponseBody
|
||||
@ApiOperation(value = "数据字典修改后保存")
|
||||
ResultBean update(@Valid @RequestBody DictCommonDto dictCommonDto, @ApiParam(value = "数据项sid", required = true) @PathVariable("sid") String sid);
|
||||
|
||||
@ResponseBody
|
||||
@DeleteMapping("/delete/{sid}")
|
||||
@ApiOperation(value = "删除")
|
||||
ResultBean delete(@ApiParam(value = "数据项sid", required = true) @PathVariable("sid") String sid);
|
||||
|
||||
@ResponseBody
|
||||
@GetMapping("/selectBykey/{key}/{type}")
|
||||
@ApiOperation(value = "数据字典信息修改时的初始化信息")
|
||||
public ResultBean<DictCommonVo> selectBykey(@ApiParam(value = "数据字典key", required = true) @PathVariable("key") String key, @ApiParam(value = "数据字典type", required = true) @PathVariable("type") String type);
|
||||
|
||||
@GetMapping("/typeValues")
|
||||
@ResponseBody
|
||||
@ApiOperation("下拉框的获取")
|
||||
ResultBean<List<DictCommonVo>> getTypeValues(@RequestParam("type") String type, @RequestParam(value = "psid", defaultValue = "0")String psid);
|
||||
|
||||
@GetMapping("/getFirstDictKeyByType")
|
||||
@ResponseBody
|
||||
@ApiOperation("根据数据字典的key获取第一个值(默认值)")
|
||||
ResultBean getFirstDictKeyByType(@RequestParam("dictType") String dictType, @RequestParam("psid") String psid);
|
||||
|
||||
@GetMapping("/getTypeValueList")
|
||||
@ResponseBody
|
||||
@ApiOperation("根据分类编码和数据分组查询数据字典")
|
||||
ResultBean<List<DictCommonVo>> getTypeValueList(@RequestParam("type")String type,@RequestParam("groupNum")String groupNum);
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
package com.yxt.portal.biz.dictcommon;
|
||||
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author dimengzhe
|
||||
* @date 2021/7/5 22:00
|
||||
* @description
|
||||
*/
|
||||
@Component
|
||||
public class DictCommonFeignFallback implements DictCommonFeign {
|
||||
@Override
|
||||
public ResultBean save(DictCommonDto dictCommonDto) {
|
||||
return ResultBean.fireFail().setMsg("网站维护,请稍后再试");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<PagerVo<DictCommonVo>> pageList(PagerQuery<DictCommonQuery> pagerQuery) {
|
||||
return new ResultBean<PagerVo<DictCommonVo>>().fail().setMsg("网站维护,请稍后再试");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean update(DictCommonDto dictCommonDto, String sid) {
|
||||
return ResultBean.fireFail().setMsg("网站维护,请稍后再试");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean delete(String sid) {
|
||||
return ResultBean.fireFail().setMsg("网站维护,请稍后再试");
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public ResultBean<DictCommonVo> selectBykey(String key, String type) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<List<DictCommonVo>> getTypeValues(String type, String psid) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean getFirstDictKeyByType(String dictType, String psid) {
|
||||
return ResultBean.fireFail().setMsg("网站维护,请稍后再试");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<List<DictCommonVo>> getTypeValueList(String type, String groupNum) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
package com.yxt.portal.biz.dictcommon;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author dimengzhe
|
||||
* @date 2021/6/23 15:07
|
||||
* @description
|
||||
*/
|
||||
@Mapper
|
||||
public interface DictCommonMapper extends BaseMapper<DictCommon> {
|
||||
/**
|
||||
* 根据数据项的key值和分类类型code值查询数量
|
||||
*
|
||||
* @param dictKey 数据项key值
|
||||
* @param dictType 类型code值
|
||||
* @param parentSid 父级sid,无父级的此字段为0
|
||||
* @return
|
||||
*/
|
||||
DictCommon selectSize(@Param("dictkey") String dictKey, @Param("dictType") String dictType, @Param("parentSid") String parentSid);
|
||||
|
||||
|
||||
/**
|
||||
* 根据类型查询数据项
|
||||
*
|
||||
* @param dictTypeCode 数据分类的类型
|
||||
* @return
|
||||
*/
|
||||
List<DictCommon> selectByType(String dictTypeCode);
|
||||
|
||||
|
||||
IPage<DictCommonVo> pageList(
|
||||
IPage<DictCommonQuery> page, @Param(Constants.WRAPPER) Wrapper<DictCommonVo> qw);
|
||||
|
||||
DictCommonVo selectBykey(@Param("key") String key, @Param("type") String sid);
|
||||
|
||||
/**
|
||||
* 根据类型和父级sid查询数据字典
|
||||
*
|
||||
* @param qw 查询条件
|
||||
* @return
|
||||
*/
|
||||
List<DictCommonVo> getValue(@Param(Constants.WRAPPER) QueryWrapper<DictCommonVo> qw);
|
||||
|
||||
/**
|
||||
* 根据数据字典编码类别和分组查询数据字典
|
||||
* @param type 数据字典编码类别
|
||||
* @param groupNum 数据字典分组
|
||||
* @return
|
||||
*/
|
||||
List<DictCommonVo> getList(@Param("type") String type, @Param("groupNum") String groupNum);
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.yxt.portal.biz.dictcommon.DictCommonMapper">
|
||||
<select id="selectSize" resultType="com.yxt.portal.biz.dictcommon.DictCommon">
|
||||
SELECT *
|
||||
FROM dict_common
|
||||
WHERE dictKey = #{dictkey}
|
||||
AND dictType = #{dictType}
|
||||
AND parentSid = #{parentSid}
|
||||
</select>
|
||||
|
||||
<select id="selectByType" resultType="com.yxt.portal.biz.dictcommon.DictCommon">
|
||||
SELECT *
|
||||
FROM dict_common
|
||||
WHERE dictType = #{dictTypeCode}
|
||||
</select>
|
||||
|
||||
<select id="pageList" resultType="com.yxt.portal.biz.dictcommon.DictCommonVo">
|
||||
SELECT dc.dictValue, dc.dictType, dc.dictKey, dc.sid, dc.parentSid,dc.groupName
|
||||
FROM dict_common dc
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
<!--获取下拉框-->
|
||||
<select id="getValue" resultType="com.yxt.portal.biz.dictcommon.DictCommonVo">
|
||||
SELECT dc.sid, dc.dictType, dc.dictKey, dc.dictValue, dc.parentSid
|
||||
FROM dict_common dc ${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
<select id="selectBykey" resultType="com.yxt.portal.biz.dictcommon.DictCommonVo">
|
||||
SELECT sid,
|
||||
dictKey,
|
||||
dictType,
|
||||
dictValue,
|
||||
groupName
|
||||
FROM dict_common
|
||||
WHERE dictType = #{type}
|
||||
AND dictkey = #{key}
|
||||
</select>
|
||||
|
||||
<select id="getList" resultType="com.yxt.portal.biz.dictcommon.DictCommonVo">
|
||||
select * from dict_common dc where dc.dictType = #{type} and find_in_set(#{groupNum}, replace(dc.groupName, ',', ','));
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.yxt.portal.biz.dictcommon;
|
||||
|
||||
import com.yxt.common.core.query.Query;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author dimengzhe
|
||||
* @date 2021/6/28 10:39
|
||||
* @description
|
||||
*/
|
||||
@Data
|
||||
public class DictCommonQuery implements Query {
|
||||
private static final long serialVersionUID = -787372981183812826L;
|
||||
|
||||
@ApiModelProperty(value = "数据字典条目key", required = false)
|
||||
private String dictKey;
|
||||
|
||||
@ApiModelProperty(value = "数据字典文本", required = false)
|
||||
private String dictValue;
|
||||
|
||||
@ApiModelProperty(value ="dictType")
|
||||
private String dictType;
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
package com.yxt.portal.biz.dictcommon;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.service.MybatisBaseService;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.base.utils.StringUtils;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author dimengzhe
|
||||
* @date 2021/6/23 15:06
|
||||
* @description
|
||||
*/
|
||||
@Service
|
||||
public class DictCommonService extends MybatisBaseService<DictCommonMapper, DictCommon> {
|
||||
|
||||
public DictCommon selectSize(String dictKey, String dictType, String parentSid) {
|
||||
return baseMapper.selectSize(dictKey, dictType, parentSid);
|
||||
}
|
||||
|
||||
public List<DictCommon> selectByType(String dictTypeCode) {
|
||||
return baseMapper.selectByType(dictTypeCode);
|
||||
}
|
||||
|
||||
public IPage<DictCommonVo> pageList(PagerQuery<DictCommonQuery> pagerQuery) {
|
||||
IPage<DictCommonQuery> page = PagerUtil.queryToPage(pagerQuery);
|
||||
DictCommonQuery params = pagerQuery.getParams();
|
||||
QueryWrapper<DictCommonVo> qw = new QueryWrapper<>();
|
||||
if (params != null) {
|
||||
String dictKey = params.getDictKey();
|
||||
String dictValue = params.getDictValue();
|
||||
if (StringUtils.isNotBlank(dictValue)) {
|
||||
qw.like("dc.dictValue", dictValue);
|
||||
}
|
||||
if (StringUtils.isNotBlank(dictKey)) {
|
||||
qw.like("dc.dictKey", dictKey);
|
||||
}
|
||||
if (StringUtils.isNotBlank(params.getDictType())) {
|
||||
qw.eq("dc.dictType", params.getDictType());
|
||||
}
|
||||
}
|
||||
qw.orderByDesc("dc.createTime");
|
||||
return baseMapper.pageList(page, qw);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据类型和父级sid查询数据字典
|
||||
*
|
||||
* @param dictCommonTypeQuery 查询条件
|
||||
* @return
|
||||
*/
|
||||
public List<DictCommonVo> getValue(DictCommonTypeQuery dictCommonTypeQuery) {
|
||||
QueryWrapper<DictCommonVo> qw = new QueryWrapper<>();
|
||||
if (StringUtils.isNotBlank(dictCommonTypeQuery.getType())) {//类型
|
||||
qw.eq("dc.dictType", dictCommonTypeQuery.getType());
|
||||
}
|
||||
if (StringUtils.isNotBlank(dictCommonTypeQuery.getPsid())) {//父级sid
|
||||
qw.eq("dc.parentSid", dictCommonTypeQuery.getPsid());
|
||||
}
|
||||
return baseMapper.getValue(qw);
|
||||
}
|
||||
|
||||
public DictCommonVo selectBykey(String key, String type) {
|
||||
return baseMapper.selectBykey(key, type);
|
||||
}
|
||||
|
||||
public ResultBean<List<DictCommonVo>> getList(String type, String groupNum) {
|
||||
ResultBean<List<DictCommonVo>> rb = ResultBean.fireFail();
|
||||
List<DictCommonVo> list = baseMapper.getList(type,groupNum);
|
||||
return rb.success().setData(list);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.yxt.portal.biz.dictcommon;
|
||||
|
||||
import com.yxt.common.core.query.Query;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author dimengzhe
|
||||
* @date 2021/9/30 15:33
|
||||
* @description 下拉框条件
|
||||
*/
|
||||
@Data
|
||||
public class DictCommonTypeQuery implements Query {
|
||||
private static final long serialVersionUID = 139959085226402464L;
|
||||
|
||||
@ApiModelProperty(value = "数据字典类型", required = true)
|
||||
private String type;
|
||||
|
||||
@ApiModelProperty(value = "psid", required = false,example = "0")
|
||||
private String psid;
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
package com.yxt.portal.biz.dictcommon;
|
||||
|
||||
import com.yxt.common.core.vo.Vo;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author dimengzhe
|
||||
* @date 2021/6/23 15:54
|
||||
* @description
|
||||
*/
|
||||
@Data
|
||||
public class DictCommonVo implements Vo {
|
||||
private static final long serialVersionUID = -1094142938193916816L;
|
||||
|
||||
@ApiModelProperty(value = "数据字典项sid")
|
||||
private String sid;
|
||||
|
||||
@ApiModelProperty(value = "数据字典项key")
|
||||
private String dictKey;
|
||||
|
||||
@ApiModelProperty(value = "数据字典类型")
|
||||
private String dictType;
|
||||
|
||||
@ApiModelProperty(value = "数据字典项名称")
|
||||
private String dictValue;
|
||||
@ApiModelProperty(value = "父级sid:0为第一级")
|
||||
private String parentSid;
|
||||
|
||||
@ApiModelProperty(value = "分组名称")
|
||||
private String groupName;
|
||||
}
|
||||
21
src/main/java/com/yxt/portal/biz/dicttype/DictType.java
Normal file
21
src/main/java/com/yxt/portal/biz/dicttype/DictType.java
Normal file
@@ -0,0 +1,21 @@
|
||||
package com.yxt.portal.biz.dicttype;
|
||||
|
||||
import com.yxt.common.core.domain.BaseEntity;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author dimengzhe
|
||||
* @date 2021/7/5 22:29
|
||||
* @description
|
||||
*/
|
||||
@Data
|
||||
public class DictType extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = -2790449398289680139L;
|
||||
|
||||
@ApiModelProperty(value = "类型代码")
|
||||
private String dictTypeCode;
|
||||
@ApiModelProperty(value = "类型名称")
|
||||
private String dictTypeName;
|
||||
}
|
||||
30
src/main/java/com/yxt/portal/biz/dicttype/DictTypeDto.java
Normal file
30
src/main/java/com/yxt/portal/biz/dicttype/DictTypeDto.java
Normal file
@@ -0,0 +1,30 @@
|
||||
package com.yxt.portal.biz.dicttype;
|
||||
|
||||
import com.yxt.common.core.dto.Dto;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
/**
|
||||
* @author dimengzhe
|
||||
* @date 2021/6/23 15:20
|
||||
* @description 数据字典类型参数
|
||||
*/
|
||||
@Data
|
||||
public class DictTypeDto implements Dto {
|
||||
private static final long serialVersionUID = -2302005624272862359L;
|
||||
|
||||
@ApiModelProperty(value = "类型代码", required = true)
|
||||
@NotBlank(message = "类型代码不能为空")
|
||||
private String dictTypeCode;
|
||||
|
||||
@ApiModelProperty(value = "类型名称", required = true)
|
||||
@NotBlank(message = "类型名称不能为空")
|
||||
private String dictTypeName;
|
||||
|
||||
@ApiModelProperty(value = "类型说明", required = false)
|
||||
private String remarks;
|
||||
|
||||
|
||||
}
|
||||
46
src/main/java/com/yxt/portal/biz/dicttype/DictTypeFeign.java
Normal file
46
src/main/java/com/yxt/portal/biz/dicttype/DictTypeFeign.java
Normal file
@@ -0,0 +1,46 @@
|
||||
package com.yxt.portal.biz.dicttype;
|
||||
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.validation.Valid;
|
||||
|
||||
/**
|
||||
* @author dimengzhe
|
||||
* @date 2021/6/23 15:21
|
||||
* @description 数据字典类型对外接口
|
||||
*/
|
||||
@FeignClient(
|
||||
contextId = "yxt-anrui-portal-DictType",
|
||||
name = "yxt-anrui-portal",
|
||||
path = "v1/dicttypes",
|
||||
fallback = DictTypeFeignFallback.class)
|
||||
public interface DictTypeFeign {
|
||||
|
||||
@PostMapping(value = "/save")
|
||||
@ResponseBody
|
||||
@ApiOperation(value = "数据字典类型保存")
|
||||
ResultBean save(@Valid @RequestBody DictTypeDto dictTypeDto);
|
||||
|
||||
@PostMapping("/pageList")
|
||||
@ResponseBody
|
||||
@ApiOperation(value = "数据字典类型分页列表")
|
||||
ResultBean<PagerVo<DictTypeVo>> pageList(@RequestBody PagerQuery<DictTypeQuery> pagerQuery);
|
||||
|
||||
@PostMapping("/update/{sid}")
|
||||
@ResponseBody
|
||||
@ApiOperation(value = "数据字典类型更新")
|
||||
ResultBean update(@Valid DictTypeDto dictTypeDto, @ApiParam(value = "数据字典类型sid", required = true) @PathVariable("sid") String sid);
|
||||
|
||||
@DeleteMapping("/delete/{sid}")
|
||||
@ResponseBody
|
||||
@ApiOperation(value = "数据字典类型删除")
|
||||
ResultBean delete(@ApiParam(value = "sid", required = true) @PathVariable("sid") String sid);
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package com.yxt.portal.biz.dicttype;
|
||||
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
|
||||
/**
|
||||
* @author dimengzhe
|
||||
* @date 2021/7/5 22:32
|
||||
* @description
|
||||
*/
|
||||
|
||||
public class DictTypeFeignFallback implements DictTypeFeign{
|
||||
|
||||
@Override
|
||||
public ResultBean save(DictTypeDto dictTypeDto) {
|
||||
return ResultBean.fireFail().setMsg("网站维护,请稍后再试");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<PagerVo<DictTypeVo>> pageList(PagerQuery<DictTypeQuery> pagerQuery) {
|
||||
return new ResultBean<PagerVo<DictTypeVo>>().fail().setMsg("网站维护,请稍后再试");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean update(DictTypeDto dictTypeDto, String sid) {
|
||||
return ResultBean.fireFail().setMsg("网站维护,请稍后再试");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean delete(String sid) {
|
||||
return ResultBean.fireFail().setMsg("网站维护,请稍后再试");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package com.yxt.portal.biz.dicttype;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* @author dimengzhe
|
||||
* @date 2021/6/23 14:56
|
||||
* @description
|
||||
*/
|
||||
@Mapper
|
||||
public interface DictTypeMapper extends BaseMapper<DictType> {
|
||||
|
||||
/**
|
||||
* 查询该类型代码存在的数量
|
||||
*
|
||||
* @param dictTypeCode 类型代码
|
||||
* @return
|
||||
*/
|
||||
int selectSize(String dictTypeCode);
|
||||
|
||||
IPage<DictTypeVo> pageList(IPage<?> page, @Param(Constants.WRAPPER) Wrapper<DictTypeVo> qw);
|
||||
|
||||
}
|
||||
17
src/main/java/com/yxt/portal/biz/dicttype/DictTypeMapper.xml
Normal file
17
src/main/java/com/yxt/portal/biz/dicttype/DictTypeMapper.xml
Normal file
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.yxt.portal.biz.dicttype.DictTypeMapper">
|
||||
|
||||
<select id="selectSize" resultType="java.lang.Integer">
|
||||
SELECT COUNT(*)
|
||||
FROM dict_type
|
||||
WHERE dictTypeCode = #{dictTypeCode}
|
||||
</select>
|
||||
|
||||
<select id="pageList" resultType="com.yxt.portal.biz.dicttype.DictTypeVo">
|
||||
SELECT dt.dictTypeCode, dt.dictTypeName, dt.sid, dt.remarks
|
||||
FROM dict_type dt
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
24
src/main/java/com/yxt/portal/biz/dicttype/DictTypeQuery.java
Normal file
24
src/main/java/com/yxt/portal/biz/dicttype/DictTypeQuery.java
Normal file
@@ -0,0 +1,24 @@
|
||||
package com.yxt.portal.biz.dicttype;
|
||||
|
||||
import com.yxt.common.core.query.Query;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author dimengzhe
|
||||
* @date 2021/6/28 9:17
|
||||
* @description
|
||||
*/
|
||||
@Data
|
||||
public class DictTypeQuery implements Query {
|
||||
private static final long serialVersionUID = -1033205660448956012L;
|
||||
|
||||
@ApiModelProperty(value = "数据字典code", required = false)
|
||||
private String dictTypeCode;
|
||||
|
||||
@ApiModelProperty(value = "数据分类名称", required = false)
|
||||
private String dictTypeName;
|
||||
|
||||
@ApiModelProperty(value = "说明", required = false)
|
||||
private String remarks;
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
package com.yxt.portal.biz.dicttype;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.service.MybatisBaseService;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.base.utils.StringUtils;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @author dimengzhe
|
||||
* @date 2021/6/23 14:55
|
||||
* @description 数据字典类型实现类
|
||||
*/
|
||||
@Service
|
||||
public class DictTypeService extends MybatisBaseService<DictTypeMapper, DictType> {
|
||||
|
||||
/**
|
||||
* 根据此类型代码存在的数量
|
||||
*
|
||||
* @param dictTypeCode 类型代码
|
||||
* @return 存在此类型代码的数量
|
||||
*/
|
||||
|
||||
public int selectSize(String dictTypeCode) {
|
||||
return baseMapper.selectSize(dictTypeCode);
|
||||
}
|
||||
|
||||
public IPage<DictTypeVo> pageList(PagerQuery<DictTypeQuery> pagerQuery) {
|
||||
IPage<DictTypeQuery> page = PagerUtil.queryToPage(pagerQuery);
|
||||
DictTypeQuery params = pagerQuery.getParams();
|
||||
QueryWrapper<DictTypeVo> qw = new QueryWrapper<>();
|
||||
if (params != null) {
|
||||
String dictTypeCode = params.getDictTypeCode();
|
||||
if (StringUtils.isNotBlank(dictTypeCode)) {
|
||||
qw.like("dt.dictTypeCode", dictTypeCode);
|
||||
}
|
||||
String dictTypeName = params.getDictTypeName();
|
||||
if (StringUtils.isNotBlank(dictTypeName)) {
|
||||
qw.like("dt.dictTypeName", dictTypeName);
|
||||
}
|
||||
if (StringUtils.isNotBlank(params.getRemarks())) {
|
||||
qw.like("dt.remarks", params.getRemarks());
|
||||
}
|
||||
}
|
||||
qw.orderByDesc("dt.createTime");
|
||||
return baseMapper.pageList(page, qw);
|
||||
}
|
||||
}
|
||||
32
src/main/java/com/yxt/portal/biz/dicttype/DictTypeVo.java
Normal file
32
src/main/java/com/yxt/portal/biz/dicttype/DictTypeVo.java
Normal file
@@ -0,0 +1,32 @@
|
||||
package com.yxt.portal.biz.dicttype;
|
||||
|
||||
import com.yxt.common.core.vo.Vo;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author dimengzhe
|
||||
* @date 2021/6/23 15:18
|
||||
* @description 数据字典类型返回数据
|
||||
*/
|
||||
@Data
|
||||
public class DictTypeVo implements Vo {
|
||||
private static final long serialVersionUID = 9052935182700117654L;
|
||||
|
||||
@ApiModelProperty(value = "数据类型sid")
|
||||
private String sid;
|
||||
|
||||
@ApiModelProperty(value = "类型代码")
|
||||
private String dictTypeCode;
|
||||
|
||||
@ApiModelProperty(value = "类型名称")
|
||||
private String dictTypeName;
|
||||
|
||||
@ApiModelProperty(value = "说明")
|
||||
private String remarks;
|
||||
|
||||
@ApiModelProperty(value = "分组名称")
|
||||
private String groupName;
|
||||
|
||||
|
||||
}
|
||||
4
src/main/java/com/yxt/portal/biz/package-info.java
Normal file
4
src/main/java/com/yxt/portal/biz/package-info.java
Normal file
@@ -0,0 +1,4 @@
|
||||
/**
|
||||
* 宇信通 仓库管理 项目后台逻辑和接口
|
||||
*/
|
||||
package com.yxt.portal.biz;
|
||||
28
src/main/java/com/yxt/portal/biz/sms/SmsDto.java
Normal file
28
src/main/java/com/yxt/portal/biz/sms/SmsDto.java
Normal file
@@ -0,0 +1,28 @@
|
||||
package com.yxt.portal.biz.sms;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysFunctionDto.java <br/>
|
||||
* Class: com.yxt.anrui.portal.api.sysfunction.SysFunctionDto <br/>
|
||||
* Description: 短信 数据传输对象. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:28 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@ApiModel(value = "短信 数据传输对象", description = "短信 数据传输对象")
|
||||
@Data
|
||||
public class SmsDto {
|
||||
|
||||
@ApiModelProperty("手机号码")
|
||||
private String mobile;
|
||||
|
||||
@ApiModelProperty("消息")
|
||||
private String msg;
|
||||
}
|
||||
47
src/main/java/com/yxt/portal/biz/sms/SmsFeign.java
Normal file
47
src/main/java/com/yxt/portal/biz/sms/SmsFeign.java
Normal file
@@ -0,0 +1,47 @@
|
||||
package com.yxt.portal.biz.sms;
|
||||
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
|
||||
/**
|
||||
* @author dimengzhe
|
||||
* @date 2020/9/11 16:52
|
||||
* @description
|
||||
*/
|
||||
@Api(tags = "短信验证码")
|
||||
@FeignClient(
|
||||
contextId = "anrui-portal-SmsApi",
|
||||
name = "anrui-portal",
|
||||
path = "apiadmin/sms",
|
||||
fallback = SmsFeignFallback.class)
|
||||
public interface SmsFeign {
|
||||
static String msgSign="【安瑞集团】";
|
||||
// private static String msgtitle="河北省计量业务应用平台提醒:";
|
||||
static String MSG_NEWPWD="用户,您好!您的新密码为:";
|
||||
static String MSG_VERIFY = "用户,您好!您注册的单位已审核通过,管理员的密码为:";
|
||||
static String MSG_VERIFY_NO = "用户,您好!您注册的单位未审核通过,未通过原因:";
|
||||
static String MSG_VERIFY_ONE = "用户,您好!您所填写的基本信息未通过。请及时登录系统修改。";
|
||||
|
||||
static String MSG_USER_VERIFY = "用户,您好!您注册的个人信息已审核通过";
|
||||
static String MSG_USER_VERIFY_NO = "用户,您好!您注册的个人信息未审核通过,未通过原因:";
|
||||
static String MSG_ORG_STAFF = "尊敬的用户,您好!您绑定的单位已审核通过,可登陆系统进行查看";
|
||||
static String MSG_USING = "尊敬的用户,您好!有待确认的单位信息需确认,请及时确认信息";
|
||||
|
||||
static String MSG_OA_FILE_SEND = "用户,您好!协同办公中您收到一份文件,请查阅:";
|
||||
/**
|
||||
* 发送短信验证码
|
||||
*
|
||||
* @param dto 服务器响应
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
@GetMapping("/sendWaitWorkMsg")
|
||||
@ResponseBody
|
||||
@ApiOperation(value = "发送短信验证码")
|
||||
public ResultBean SendWaitWorkMsg(@RequestBody SmsDto dto) ;
|
||||
}
|
||||
11
src/main/java/com/yxt/portal/biz/sms/SmsFeignFallback.java
Normal file
11
src/main/java/com/yxt/portal/biz/sms/SmsFeignFallback.java
Normal file
@@ -0,0 +1,11 @@
|
||||
package com.yxt.portal.biz.sms;
|
||||
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import org.springframework.stereotype.Component;
|
||||
@Component
|
||||
public class SmsFeignFallback implements SmsFeign{
|
||||
@Override
|
||||
public ResultBean SendWaitWorkMsg(SmsDto dto) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.yxt.portal.biz.sysfunction;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 查询按钮的权限的表单参数
|
||||
*/
|
||||
@ApiModel(value = "查询按钮的权限的表单参数", description = "查询按钮的权限的表单参数")
|
||||
@Data
|
||||
public class ButtonPermissionQuery {
|
||||
@ApiModelProperty("userSid")
|
||||
private String userSid;
|
||||
@ApiModelProperty("url")
|
||||
private String url;
|
||||
@ApiModelProperty("type")
|
||||
private String type;
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package com.yxt.portal.biz.sysfunction;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@ApiModel(value = "返回查询的按钮权限集合", description = "返回查询的按钮权限集合")
|
||||
@Data
|
||||
public class ButtonPermissionVo {
|
||||
@ApiModelProperty("buttonId")
|
||||
private String buttonId;
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
package com.yxt.portal.biz.sysfunction;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.yxt.common.core.domain.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysFunction.java <br/>
|
||||
* Class: com.yxt.anrui.portal.api.sysfunction.SysFunction <br/>
|
||||
* Description: 功能. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:28 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@ApiModel(value = "功能", description = "功能")
|
||||
@TableName("sys_function")
|
||||
@Data
|
||||
public class SysFunction extends BaseEntity {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
@ApiModelProperty("功能名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty("层级")
|
||||
private Integer level;
|
||||
|
||||
@ApiModelProperty("父级sid")
|
||||
private String parentSid;
|
||||
|
||||
@ApiModelProperty("接口地址")
|
||||
private String actionUrl;
|
||||
|
||||
@ApiModelProperty("模块名称")
|
||||
private String controllerName;
|
||||
|
||||
@ApiModelProperty("移动端按钮id")
|
||||
private String funId;
|
||||
|
||||
@ApiModelProperty("前端控制按钮的id")
|
||||
@JsonProperty("cId")
|
||||
private String cId;
|
||||
|
||||
@ApiModelProperty("是否手机端权限0否,1是")
|
||||
private String phoneFunction;
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
package com.yxt.portal.biz.sysfunction;
|
||||
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.yxt.common.core.dto.Dto;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysFunctionDto.java <br/>
|
||||
* Class: com.yxt.anrui.portal.api.sysfunction.SysFunctionDto <br/>
|
||||
* Description: 功能 数据传输对象. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:28 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@ApiModel(value = "功能 数据传输对象", description = "功能 数据传输对象")
|
||||
@Data
|
||||
public class SysFunctionDto implements Dto {
|
||||
|
||||
|
||||
@ApiModelProperty("功能名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty("层级")
|
||||
private Integer level;
|
||||
|
||||
@ApiModelProperty("父级sid")
|
||||
private String parentSid;
|
||||
|
||||
@ApiModelProperty("接口地址")
|
||||
private String actionUrl;
|
||||
|
||||
@ApiModelProperty("模块名称")
|
||||
private String controllerName;
|
||||
@ApiModelProperty("模块sid")
|
||||
private String sourceSid;
|
||||
|
||||
@ApiModelProperty("移动端按钮id")
|
||||
private String funId;
|
||||
@ApiModelProperty("前端控制按钮的id")
|
||||
@JsonProperty("cId")
|
||||
private String cId;
|
||||
@ApiModelProperty("是否手机端权限0否,1是")
|
||||
private String phoneFunction;
|
||||
@ApiModelProperty("备注")
|
||||
private String remarks ;
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
package com.yxt.portal.biz.sysfunction;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysFunctionMapper.java <br/>
|
||||
* Class: com.yxt.anrui.portal.biz.sysfunction.SysFunctionMapper <br/>
|
||||
* Description: 功能. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:28 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface SysFunctionMapper extends BaseMapper<SysFunction> {
|
||||
|
||||
//@Update("update sys_function set name=#{msg} where id=#{id}")
|
||||
//IPage<SysFunctionVo> voPage(IPage<SysFunction> page, @Param(Constants.WRAPPER) QueryWrapper<SysFunction> qw);
|
||||
|
||||
IPage<SysFunctionVo> selectPageVo(IPage<SysFunction> page, @Param(Constants.WRAPPER) Wrapper<SysFunction> qw);
|
||||
|
||||
List<SysFunctionVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<SysFunction> qw);
|
||||
|
||||
@Select("select * from sys_function")
|
||||
List<SysFunctionVo> selectListVo();
|
||||
|
||||
List<SysFunctionVo> listAllParentByRoleSid(String roleSid, String sid);
|
||||
|
||||
List<SysFunctionTreeVo> getChildrensForFunctionTree(@Param(Constants.WRAPPER) QueryWrapper<SysFunctionTreeVo> qw);
|
||||
|
||||
List<SysFunctionTreeVo> selectChildernList(String sid);
|
||||
|
||||
int updateBySourceSid(@Param("isEnable") Integer isEnable, @Param("list") List<String> list);
|
||||
|
||||
/**
|
||||
* 该资源下的功能是否可用 状态为1的功能
|
||||
*
|
||||
* @param isEnable 是否可用,1可用,0不可用
|
||||
* @param sourceSid 资源sid
|
||||
* @return
|
||||
*/
|
||||
int selectBySourceSid(@Param("isEnable") int isEnable, @Param("sourceSid") String sourceSid);
|
||||
|
||||
List<ButtonPermissionVo> getButtonPermissions(@Param("query") ButtonPermissionQuery query);
|
||||
|
||||
List<Map<String, Object>> getSourceAuthorization(@Param("roleSid") String roleSid);
|
||||
|
||||
@Select("SELECT sm.name,sm.sid,sm.pageUrl FROM sys_menu sm LEFT JOIN sys_source_menu ssm ON sm.sid=ssm.menuSid where ssm.sourceSid=#{sourceSid}")
|
||||
List<Map<String, Object>> getMenuAuthorization(@Param("sourceSid") String sourceSid);
|
||||
|
||||
@Select("SELECT sf.name,sf.sid FROM sys_function sf WHERE sf.actionUrl= #{pageUrl}")
|
||||
List<Map<String, Object>> getFunctionAuthorization(@Param("pageUrl") String pageUrl);
|
||||
|
||||
@Select("SELECT sf.name,sf.sid,IF(IFNULL(srf.id,0)<=0,1,0) checked FROM sys_function sf " +
|
||||
" LEFT JOIN sys_role_function srf ON srf.functionSid=sf.sid " +
|
||||
" WHERE sf.actionUrl= #{pageUrl} AND srf.roleSid = #{roleSid} ")
|
||||
List<Map<String, Object>> getFunctionByRoleSid(@Param("pageUrl") String pageUrl, @Param("roleSid") String roleSid);
|
||||
|
||||
List<Map<String, Object>> getSourceAuthorizationApp(@Param("roleSid") String roleSid);
|
||||
}
|
||||
@@ -0,0 +1,103 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.yxt.portal.biz.sysfunction.SysFunctionMapper">
|
||||
<!-- <where> ${ew.sqlSegment} </where>-->
|
||||
<!-- ${ew.customSqlSegment} -->
|
||||
<select id="selectPageVo" resultType="com.yxt.portal.biz.sysfunction.SysFunctionVo">
|
||||
SELECT *
|
||||
FROM sys_function
|
||||
<where>
|
||||
${ew.sqlSegment}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectListAllVo" resultType="com.yxt.portal.biz.sysfunction.SysFunctionVo">
|
||||
SELECT func.*, source.sourceName as sourceName
|
||||
FROM sys_function func
|
||||
left join sys_source_function sourceF on sourceF.functionSid = func.sid
|
||||
left join sys_source source on source.sid = sourceF.sourceSid
|
||||
<where>
|
||||
${ew.sqlSegment}
|
||||
</where>
|
||||
</select>
|
||||
<select id="listAllParentByRoleSid" resultType="com.yxt.portal.biz.sysfunction.SysFunctionVo">
|
||||
SELECT DISTINCT func.*, ISNULL(roleFunction.sid) AS checked
|
||||
FROM sys_function func
|
||||
left join sys_role_function roleFunction
|
||||
on func.sid = roleFunction.functionSid and roleFunction.roleSid = #{param1}
|
||||
where func.parentSid = #{param2}
|
||||
</select>
|
||||
<select id="getChildrensForFunctionTree" resultType="com.yxt.portal.biz.sysfunction.SysFunctionTreeVo">
|
||||
SELECT func.*, source.sourceName, sourceFunction.functionRootSid as functionRootSid
|
||||
FROM sys_function func
|
||||
left join sys_source_function sourceFunction on sourceFunction.functionSid = func.sid
|
||||
left join sys_source source on source.sid = sourceFunction.sourceSid
|
||||
<where>
|
||||
${ew.sqlSegment}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectChildernList" resultType="com.yxt.portal.biz.sysfunction.SysFunctionTreeVo">
|
||||
SELECT func.*, source.sourceName, sourceFunction.functionRootSid as functionRootSid
|
||||
FROM sys_function func
|
||||
left join sys_source_function sourceFunction on sourceFunction.functionSid = func.sid
|
||||
left join sys_source source on source.sid = sourceFunction.sourceSid
|
||||
where func.parentSid = #{sid}
|
||||
</select>
|
||||
|
||||
<update id="updateBySourceSid">
|
||||
UPDATE sys_function
|
||||
SET isEnable = #{isEnable} WHERE sid IN
|
||||
<foreach collection="list" index="index" item="item" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
<select id="selectBySourceSid" resultType="int">
|
||||
select count(*)
|
||||
from sys_function sf
|
||||
left join sys_source_function ssf on sf.sid = ssf.functionSid
|
||||
where sf.isEnable = #{isEnable}
|
||||
and ssf.sourceSid = #{sourceSid}
|
||||
</select>
|
||||
<select id="getButtonPermissions" resultType="com.yxt.portal.biz.sysfunction.ButtonPermissionVo">
|
||||
SELECT sf.cId AS buttonId
|
||||
FROM sys_function sf
|
||||
WHERE actionUrl = #{query.url}
|
||||
AND phoneFunction = #{query.type}
|
||||
AND sid NOT IN
|
||||
(SELECT IFNULL(srf.functionSid, "") functionSid
|
||||
FROM sys_user_role sur
|
||||
LEFT JOIN sys_role_function srf
|
||||
ON sur.roleSid = srf.rolesid
|
||||
WHERE sur.userSid = #{query.userSid})
|
||||
</select>
|
||||
|
||||
<select id="getSourceAuthorization" resultType="java.util.Map">
|
||||
SELECT DISTINCT ss.sourceName,
|
||||
ss.sid
|
||||
FROM sys_source ss
|
||||
LEFT JOIN sys_source_role ssr
|
||||
ON ss.sid = ssr.sorceSid
|
||||
LEFT JOIN sys_source_function ssf
|
||||
ON ssr.`sorceSid` = ssf.`sourceSid`
|
||||
LEFT JOIN sys_function sf
|
||||
ON ssf.`functionSid` = sf.sid
|
||||
WHERE ssr.rolesid = #{roleSid}
|
||||
AND sf.phoneFunction = '0'
|
||||
</select>
|
||||
|
||||
<select id="getSourceAuthorizationApp" resultType="java.util.Map">
|
||||
SELECT DISTINCT ss.sourceName,
|
||||
ss.sid
|
||||
FROM sys_source ss
|
||||
LEFT JOIN sys_source_role ssr
|
||||
ON ss.sid = ssr.sorceSid
|
||||
LEFT JOIN sys_source_function ssf
|
||||
ON ssr.`sorceSid` = ssf.`sourceSid`
|
||||
LEFT JOIN sys_function sf
|
||||
ON ssf.`functionSid` = sf.sid
|
||||
WHERE ssr.rolesid = #{roleSid}
|
||||
AND sf.phoneFunction = '1'
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,53 @@
|
||||
package com.yxt.portal.biz.sysfunction;
|
||||
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.yxt.common.core.query.Query;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysFunctionQuery.java <br/>
|
||||
* Class: com.yxt.anrui.portal.api.sysfunction.SysFunctionQuery <br/>
|
||||
* Description: 功能 查询条件. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:28 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@ApiModel(value = "功能 查询条件", description = "功能 查询条件")
|
||||
@Data
|
||||
public class SysFunctionQuery implements Query {
|
||||
|
||||
|
||||
@ApiModelProperty("功能名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty("层级")
|
||||
private Integer level;
|
||||
|
||||
@ApiModelProperty("父级sid")
|
||||
private String parentSid;
|
||||
@ApiModelProperty("角色sid")
|
||||
private String roleSid;
|
||||
|
||||
@ApiModelProperty("接口地址")
|
||||
private String actionUrl;
|
||||
|
||||
@ApiModelProperty("模块名称")
|
||||
private String controllerName;
|
||||
|
||||
@ApiModelProperty("移动端按钮id")
|
||||
private String funId;
|
||||
@ApiModelProperty("前端控制按钮的id")
|
||||
@JsonProperty("cId")
|
||||
private String cId;
|
||||
|
||||
@ApiModelProperty("是否手机端权限0否,1是")
|
||||
private String phoneFunction;
|
||||
}
|
||||
@@ -0,0 +1,344 @@
|
||||
package com.yxt.portal.biz.sysfunction;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.portal.biz.syssource.SysSourceService;
|
||||
import com.yxt.common.base.service.MybatisBaseService;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysFunctionService.java <br/>
|
||||
* Class: com.yxt.user.biz.sysfunction.SysFunctionService <br/>
|
||||
* Description: 功能 业务逻辑. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:28 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Service
|
||||
public class SysFunctionService extends MybatisBaseService<SysFunctionMapper, SysFunction> {
|
||||
@Autowired
|
||||
private SysSourceService sysSourceService;
|
||||
// @Autowired
|
||||
// private SysSourceFunctionService sysSourceFunctionService;
|
||||
|
||||
public PagerVo<SysFunction> listPage(PagerQuery<SysFunctionQuery> pq) {
|
||||
SysFunctionQuery query = pq.getParams();
|
||||
QueryWrapper<SysFunction> qw = createQueryWrapper(query);
|
||||
IPage<SysFunction> page = PagerUtil.queryToPage(pq);
|
||||
IPage<SysFunction> pagging = baseMapper.selectPage(page, qw);
|
||||
PagerVo<SysFunction> p = PagerUtil.pageToVo(pagging, null);
|
||||
return p;
|
||||
}
|
||||
|
||||
public List<SysFunction> listAll(SysFunctionQuery query) {
|
||||
QueryWrapper<SysFunction> qw = createQueryWrapper(query);
|
||||
return baseMapper.selectList(qw);
|
||||
}
|
||||
|
||||
private QueryWrapper<SysFunction> createQueryWrapper(SysFunctionQuery query) {
|
||||
// todo: 这里根据具体业务调整查询条件
|
||||
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
|
||||
QueryWrapper<SysFunction> qw = new QueryWrapper<>();
|
||||
|
||||
|
||||
if (StringUtils.isNotBlank(query.getName())) {
|
||||
qw.eq("name", query.getName());
|
||||
}
|
||||
|
||||
if (query.getLevel() != null) {
|
||||
qw.eq("level", query.getLevel());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getParentSid())) {
|
||||
qw.eq("parentSid", query.getParentSid());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getActionUrl())) {
|
||||
qw.eq("actionUrl", query.getActionUrl());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getControllerName())) {
|
||||
qw.eq("controllerName", query.getControllerName());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getFunId())) {
|
||||
qw.eq("funId", query.getFunId());
|
||||
}
|
||||
|
||||
if (query.getPhoneFunction() != null) {
|
||||
qw.eq("phoneFunction", query.getPhoneFunction());
|
||||
}
|
||||
return qw;
|
||||
}
|
||||
|
||||
public PagerVo<SysFunctionVo> listPageVo(PagerQuery<SysFunctionQuery> pq) {
|
||||
SysFunctionQuery query = pq.getParams();
|
||||
QueryWrapper<SysFunction> qw = createQueryWrapper(query);
|
||||
IPage<SysFunction> page = PagerUtil.queryToPage(pq);
|
||||
IPage<SysFunctionVo> pagging = baseMapper.selectPageVo(page, qw);
|
||||
PagerVo<SysFunctionVo> p = PagerUtil.pageToVo(pagging, null);
|
||||
return p;
|
||||
}
|
||||
|
||||
public List<SysFunctionVo> listAllVo(SysFunctionQuery query) {
|
||||
QueryWrapper<SysFunction> qw = new QueryWrapper<>();
|
||||
qw.eq("func.parentSid", "0");
|
||||
List<SysFunctionVo> sysFunctionVos = baseMapper.selectListAllVo(qw);
|
||||
for (SysFunctionVo s : sysFunctionVos) {
|
||||
getChildrens(s);
|
||||
}
|
||||
return sysFunctionVos;
|
||||
}
|
||||
|
||||
private void getChildrens(SysFunctionVo s) {
|
||||
String sid = s.getSid();
|
||||
QueryWrapper<SysFunction> qw = new QueryWrapper<>();
|
||||
if (StringUtils.isNotBlank(sid)) {
|
||||
qw.eq("func.parentSid", sid);
|
||||
}
|
||||
List<SysFunctionVo> sysFunctionVos = baseMapper.selectListAllVo(qw);
|
||||
if (!sysFunctionVos.isEmpty()) {
|
||||
for (SysFunctionVo sfv : sysFunctionVos) {
|
||||
getChildrens(sfv);
|
||||
}
|
||||
}
|
||||
s.setChildren(sysFunctionVos);
|
||||
}
|
||||
|
||||
public List<SysFunctionVo> listVo() {
|
||||
return baseMapper.selectListVo();
|
||||
}
|
||||
|
||||
public void saveOrUpdateDto(SysFunctionDto dto) {
|
||||
SysFunction entity = new SysFunction();
|
||||
dto.fillEntity(entity);
|
||||
// SysSourceFunction sysSourceFunction = new SysSourceFunction();
|
||||
// sysSourceFunction.setFunctionSid(entity.getSid());
|
||||
// sysSourceFunction.setSourceSid(dto.getSourceSid());
|
||||
// setRootSid(entity, sysSourceFunction);
|
||||
// sysSourceFunctionService.save(sysSourceFunction);
|
||||
this.saveOrUpdate(entity);
|
||||
}
|
||||
|
||||
// private void setRootSid(SysFunction entity, SysSourceFunction sysSourceFunction) {
|
||||
// String pSid = entity.getParentSid();
|
||||
// if ("0".equals(pSid)) {
|
||||
// sysSourceFunction.setFunctionRootSid(entity.getSid());
|
||||
// } else {
|
||||
// SysFunction sysFunction = this.fetchBySid(pSid);
|
||||
// String pSid1 = sysFunction.getParentSid();
|
||||
// if ("0".equals(pSid1)) {
|
||||
// sysSourceFunction.setFunctionRootSid(sysFunction.getSid());
|
||||
// }
|
||||
// setRootSid(sysFunction, sysSourceFunction);
|
||||
// }
|
||||
// }
|
||||
|
||||
public SysFunctionVo fetchByIdVo(String id) {
|
||||
SysFunction entity = this.fetchById(id);
|
||||
SysFunctionVo vo = new SysFunctionVo();
|
||||
BeanUtil.copyProperties(entity, vo);
|
||||
return vo;
|
||||
}
|
||||
|
||||
public List<SysFunctionVo> listAllByRoleSid(SysFunctionQuery query) {
|
||||
List<SysFunctionVo> sysFunctionVos = baseMapper.listAllParentByRoleSid(query.getRoleSid(), "0");
|
||||
for (SysFunctionVo s : sysFunctionVos) {
|
||||
getChildrensByRoleSid(s, query.getRoleSid());
|
||||
}
|
||||
return sysFunctionVos;
|
||||
}
|
||||
|
||||
private void getChildrensByRoleSid(SysFunctionVo s, String roleSid) {
|
||||
List<SysFunctionVo> sysFunctionVos = baseMapper.listAllParentByRoleSid(roleSid, s.getSid());
|
||||
if (!sysFunctionVos.isEmpty()) {
|
||||
for (SysFunctionVo sfv : sysFunctionVos) {
|
||||
getChildrensByRoleSid(sfv, roleSid);
|
||||
}
|
||||
}
|
||||
s.setChildren(sysFunctionVos);
|
||||
}
|
||||
|
||||
public List<SysFunctionTreeVo> listAllVoForSource(SysFunctionQuery query) {
|
||||
String name = query.getName();
|
||||
List<SysFunctionTreeVo> sysSourceVos = sysSourceService.listFunctionTreeVo(name);
|
||||
for (SysFunctionTreeVo s : sysSourceVos) {
|
||||
// List<SysFunctionTreeVo> sysFunctionVoList = sysSourceFunctionService.fetchRootFunctionBySourceSid(s.getSourceSid());
|
||||
// for (SysFunctionTreeVo sysFunctionTreeVo : sysFunctionVoList) {
|
||||
// if (StringUtils.isNotBlank(sysFunctionTreeVo.getRemarks())){
|
||||
// sysFunctionTreeVo.setName(sysFunctionTreeVo.getName() + "(" + sysFunctionTreeVo.getRemarks() + ")");
|
||||
// }
|
||||
// }
|
||||
// s.setChildren(sysFunctionVoList);
|
||||
s.setIsSource("1");
|
||||
//判断该资源下的功能是否有可用的状态
|
||||
int isEnable = 1;
|
||||
int count = baseMapper.selectBySourceSid(isEnable, s.getSourceSid());
|
||||
if (count == 0) {
|
||||
s.setIsEnable("0");
|
||||
} else {
|
||||
s.setIsEnable("1");
|
||||
}
|
||||
// if (!sysFunctionVoList.isEmpty()) {
|
||||
//// sysFunctionVoList = getChildrensForFunctionTree(sysFunctionVoList);
|
||||
// getChildList(sysFunctionVoList);
|
||||
// }
|
||||
}
|
||||
return sysSourceVos;
|
||||
}
|
||||
|
||||
public void getChildList(List<SysFunctionTreeVo> list) {
|
||||
list.forEach(str -> {
|
||||
String sid = str.getSid();
|
||||
List<SysFunctionTreeVo> listChildren = baseMapper.selectChildernList(sid);
|
||||
str.setChildren(listChildren);
|
||||
getChildList(listChildren);
|
||||
});
|
||||
}
|
||||
|
||||
private List<SysFunctionTreeVo> getChildrensForFunctionTree(List<SysFunctionTreeVo> sysFunctionVoList) {
|
||||
List<SysFunctionTreeVo> list = new ArrayList<>();
|
||||
for (SysFunctionTreeVo s : sysFunctionVoList) {
|
||||
SysFunction sysFunction = fetchBySid(s.getFunctionRootSid());
|
||||
SysFunctionTreeVo sysFunctionTreeVo = new SysFunctionTreeVo();
|
||||
BeanUtil.copyProperties(sysFunction, sysFunctionTreeVo);
|
||||
/*sysFunctionTreeVo.setParentName("顶级功能");*/
|
||||
list.add(sysFunctionTreeVo);
|
||||
}
|
||||
for (SysFunctionTreeVo s : list) {
|
||||
getChildrensForFunctionTree(s, s.getSid());
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
private void getChildrensForFunctionTree(SysFunctionTreeVo s, String sid) {
|
||||
QueryWrapper<SysFunctionTreeVo> qw = new QueryWrapper<>();
|
||||
if (StringUtils.isNotBlank(sid)) {
|
||||
qw.eq("func.parentSid", sid);
|
||||
}
|
||||
List<SysFunctionTreeVo> sysMenuVos = baseMapper.getChildrensForFunctionTree(qw);
|
||||
if (!sysMenuVos.isEmpty()) {
|
||||
for (SysFunctionTreeVo smv : sysMenuVos) {
|
||||
/*SysFunction sysFunction = fetchBySid(sid);
|
||||
smv.setParentName(sysFunction.getName());*/
|
||||
getChildrensForFunctionTree(smv, smv.getSid());
|
||||
}
|
||||
}
|
||||
s.setChildren(sysMenuVos);
|
||||
}
|
||||
|
||||
public int updateBySourceSid(Integer isEnable, List<String> sids) {
|
||||
return baseMapper.updateBySourceSid(isEnable, sids);
|
||||
}
|
||||
|
||||
public List<ButtonPermissionVo> getButtonPermissions(ButtonPermissionQuery query) {
|
||||
List<ButtonPermissionVo> buttonPermissions = baseMapper.getButtonPermissions(query);
|
||||
return buttonPermissions;
|
||||
}
|
||||
|
||||
public List<Map<String, Object>> getFunctionAuthorization(String roleSid) {
|
||||
List<Map<String, Object>> list = new ArrayList<>();
|
||||
List<Map<String, Object>> lsources = baseMapper.getSourceAuthorization(roleSid);
|
||||
lsources.forEach(f -> {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("name", f.get("sourceName").toString());
|
||||
map.put("sid", f.get("sid").toString());
|
||||
map.put("checked", "1");
|
||||
list.add(map);
|
||||
});
|
||||
|
||||
list.forEach(f -> {
|
||||
List<Map<String, Object>> list2 = new ArrayList<>();
|
||||
String sid = f.get("sid").toString();
|
||||
List<Map<String, Object>> lmenus = baseMapper.getMenuAuthorization(sid);
|
||||
lmenus.forEach(ff -> {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
if (ff.get("pageUrl") != null && com.yxt.common.base.utils.StringUtils.isNotBlank(ff.get("pageUrl").toString())) {
|
||||
String pageUrl = ff.get("pageUrl").toString();
|
||||
List<Map<String, Object>> lfuncs = baseMapper.getFunctionAuthorization(pageUrl);
|
||||
List<Map<String, Object>> functionByRoleSid = baseMapper.getFunctionByRoleSid(pageUrl, roleSid);
|
||||
if (lfuncs.size() > 0){
|
||||
map.put("name", ff.get("name"));
|
||||
String sids = ff.get("sid").toString();
|
||||
map.put("sid", sids);
|
||||
map.put("checked", "1");
|
||||
map.put("children", new ArrayList<>());
|
||||
for (Map<String, Object> lfunc : lfuncs) {
|
||||
for (Map<String, Object> funByRole : functionByRoleSid) {
|
||||
if (lfunc.get("sid").equals(funByRole.get("sid"))) {
|
||||
lfunc.put("checked", "0");
|
||||
}
|
||||
}
|
||||
lfunc.put("children", new ArrayList<>());
|
||||
}
|
||||
map.put("children", lfuncs);
|
||||
list2.add(map);
|
||||
}
|
||||
}
|
||||
});
|
||||
f.put("children", list2);
|
||||
});
|
||||
return list;
|
||||
}
|
||||
|
||||
public List<Map<String, Object>> getFunctionAuthorizationApp(String roleSid) {
|
||||
List<Map<String, Object>> list = new ArrayList<>();
|
||||
List<Map<String, Object>> lsources = baseMapper.getSourceAuthorizationApp(roleSid);
|
||||
lsources.forEach(f -> {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("name", f.get("sourceName").toString());
|
||||
map.put("sid", f.get("sid").toString());
|
||||
map.put("checked", "1");
|
||||
list.add(map);
|
||||
});
|
||||
|
||||
list.forEach(f -> {
|
||||
List<Map<String, Object>> list2 = new ArrayList<>();
|
||||
String sid = f.get("sid").toString();
|
||||
List<Map<String, Object>> lmenus = baseMapper.getMenuAuthorization(sid);
|
||||
lmenus.forEach(ff -> {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
if (ff.get("pageUrl") != null && com.yxt.common.base.utils.StringUtils.isNotBlank(ff.get("pageUrl").toString())) {
|
||||
String pageUrl = ff.get("pageUrl").toString();
|
||||
List<Map<String, Object>> lfuncs = baseMapper.getFunctionAuthorization(pageUrl);
|
||||
List<Map<String, Object>> functionByRoleSid = baseMapper.getFunctionByRoleSid(pageUrl, roleSid);
|
||||
if (lfuncs.size() > 0){
|
||||
map.put("name", ff.get("name"));
|
||||
String sids = ff.get("sid").toString();
|
||||
map.put("sid", sids);
|
||||
map.put("checked", "1");
|
||||
map.put("children", new ArrayList<>());
|
||||
for (Map<String, Object> lfunc : lfuncs) {
|
||||
for (Map<String, Object> funByRole : functionByRoleSid) {
|
||||
if (lfunc.get("sid").equals(funByRole.get("sid"))) {
|
||||
lfunc.put("checked", "0");
|
||||
}
|
||||
}
|
||||
lfunc.put("children", new ArrayList<>());
|
||||
}
|
||||
map.put("children", lfuncs);
|
||||
list2.add(map);
|
||||
}
|
||||
}
|
||||
});
|
||||
f.put("children", list2);
|
||||
});
|
||||
return list;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
package com.yxt.portal.biz.sysfunction;
|
||||
|
||||
|
||||
import com.yxt.common.core.vo.Vo;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysFunctionTreeVo.java <br/>
|
||||
* Description: 功能表 视图数据对象. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:28 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@ApiModel(value = "功能表 视图数据对象", description = "功能表 视图数据对象")
|
||||
@Data
|
||||
public class SysFunctionTreeVo implements Vo {
|
||||
@ApiModelProperty("功能名称")
|
||||
private String name;
|
||||
@ApiModelProperty("资源sid")
|
||||
private String sourceSid;
|
||||
@ApiModelProperty("上级sid")
|
||||
private String parentSid;
|
||||
@ApiModelProperty("sid")
|
||||
private String sid;
|
||||
@ApiModelProperty("资源名称")
|
||||
private String sourceName;
|
||||
@ApiModelProperty("url地址")
|
||||
private String actionUrl;
|
||||
@ApiModelProperty("功能根路径sid")
|
||||
private String functionRootSid;
|
||||
@ApiModelProperty("子功能")
|
||||
private List<SysFunctionTreeVo> children;
|
||||
@ApiModelProperty("是否可用")
|
||||
private String isEnable;
|
||||
@ApiModelProperty("功能列表用,是否是资源层级1是,0不是")
|
||||
private String isSource = "0";
|
||||
@ApiModelProperty("父级名称")
|
||||
private String parentName;
|
||||
@ApiModelProperty("说明")
|
||||
private String remarks;
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
package com.yxt.portal.biz.sysfunction;
|
||||
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.yxt.common.core.vo.Vo;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysFunctionVo.java <br/>
|
||||
* Class: com.yxt.anrui.portal.api.sysfunction.SysFunctionVo <br/>
|
||||
* Description: 功能 视图数据对象. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:28 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@ApiModel(value = "功能 视图数据对象", description = "功能 视图数据对象")
|
||||
@Data
|
||||
public class SysFunctionVo implements Vo {
|
||||
@ApiModelProperty("功能名称")
|
||||
private String name;
|
||||
@ApiModelProperty("父级sid")
|
||||
private String parentSid;
|
||||
@ApiModelProperty("父级名称")
|
||||
private String parentName;
|
||||
@ApiModelProperty("接口地址")
|
||||
private String actionUrl;
|
||||
@ApiModelProperty("模块名称")
|
||||
private String controllerName;
|
||||
@ApiModelProperty("是否手机端权限0否,1是")
|
||||
private String phoneFunction;
|
||||
@ApiModelProperty("sid")
|
||||
private String sid;
|
||||
@ApiModelProperty("子集数据")
|
||||
private List<SysFunctionVo> children;
|
||||
@ApiModelProperty("是否选中 1未选中,0选中")
|
||||
private String checked;
|
||||
@ApiModelProperty("资源名称")
|
||||
private String sourceName;
|
||||
@ApiModelProperty("资源SId")
|
||||
private String sourceSid;
|
||||
@ApiModelProperty("是否可用")
|
||||
private Integer isEnable;
|
||||
@ApiModelProperty("移动端按钮id")
|
||||
private String funId;
|
||||
@ApiModelProperty("前端控制按钮的id")
|
||||
@JsonProperty("cId")
|
||||
private String cId;
|
||||
@ApiModelProperty("说明")
|
||||
private String remarks;
|
||||
}
|
||||
64
src/main/java/com/yxt/portal/biz/sysmenu/SysMenu.java
Normal file
64
src/main/java/com/yxt/portal/biz/sysmenu/SysMenu.java
Normal file
@@ -0,0 +1,64 @@
|
||||
package com.yxt.portal.biz.sysmenu;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.yxt.common.core.domain.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysMenu.java <br/>
|
||||
* Class: com.yxt.anrui.portal.api.sysmenu.SysMenu <br/>
|
||||
* Description: 菜单表. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:28 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@ApiModel(value = "菜单表", description = "菜单表")
|
||||
@TableName("sys_menu")
|
||||
@Data
|
||||
public class SysMenu extends BaseEntity {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
@ApiModelProperty("菜单名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty("菜单路由路径(VUE)")
|
||||
private String menuUrl;
|
||||
|
||||
@ApiModelProperty("菜单对应的前端页面路径")
|
||||
private String pageUrl;
|
||||
|
||||
@ApiModelProperty("菜单图标地址")
|
||||
private String iconUrl;
|
||||
|
||||
@ApiModelProperty("资源sid")
|
||||
private String sourceSid;
|
||||
|
||||
@ApiModelProperty("是否显示,默认为1显示,0为不显示")
|
||||
private String isShow;
|
||||
|
||||
@ApiModelProperty("排序号")
|
||||
private Integer sortNo;
|
||||
|
||||
@ApiModelProperty("上级sid")
|
||||
private String pSid;
|
||||
|
||||
@ApiModelProperty("前端页面路径重定向")
|
||||
private Integer pageUrlRedirect;
|
||||
|
||||
@ApiModelProperty("前端页面名称(vue组件名)")
|
||||
private String pageName;
|
||||
|
||||
@ApiModelProperty("前端页面别名")
|
||||
private String pageAliasName;
|
||||
|
||||
@ApiModelProperty("菜单类型(0左侧当行菜单,1页面中功能)")
|
||||
private String menuType;
|
||||
}
|
||||
72
src/main/java/com/yxt/portal/biz/sysmenu/SysMenuDto.java
Normal file
72
src/main/java/com/yxt/portal/biz/sysmenu/SysMenuDto.java
Normal file
@@ -0,0 +1,72 @@
|
||||
package com.yxt.portal.biz.sysmenu;
|
||||
|
||||
|
||||
import com.yxt.common.core.dto.Dto;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysMenuDto.java <br/>
|
||||
* Class: com.yxt.anrui.portal.api.sysmenu.SysMenuDto <br/>
|
||||
* Description: 菜单表 数据传输对象. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:28 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@ApiModel(value = "菜单表 数据传输对象", description = "菜单表 数据传输对象")
|
||||
@Data
|
||||
public class SysMenuDto implements Dto {
|
||||
|
||||
|
||||
private static final long serialVersionUID = -8143707488992909267L;
|
||||
@ApiModelProperty(value = "菜单名称", required = true)
|
||||
@NotBlank(message = "菜单名称不能为空")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty("菜单路由路径(VUE)")
|
||||
private String menuUrl;
|
||||
|
||||
@ApiModelProperty("菜单对应的前端页面路径")
|
||||
private String pageUrl;
|
||||
|
||||
@ApiModelProperty("菜单图标地址")
|
||||
private String iconUrl;
|
||||
|
||||
@ApiModelProperty(value = "资源sid", required = true)
|
||||
@NotBlank(message = "资源不能为空")
|
||||
private String sourceSid;
|
||||
|
||||
@ApiModelProperty(value = "是否显示,默认为1显示,0为不显示", required = true)
|
||||
@NotBlank(message = "是否显示不能为空")
|
||||
private String isShow;
|
||||
|
||||
@ApiModelProperty("排序号")
|
||||
private Integer sortNo;
|
||||
|
||||
@ApiModelProperty(value = "上级sid", example = "0", required = true)
|
||||
@NotBlank(message = "上级菜单不能为空")
|
||||
private String pSid;
|
||||
|
||||
@ApiModelProperty(value = "前端页面路径重定向", required = false)
|
||||
private Integer pageUrlRedirect;
|
||||
|
||||
@ApiModelProperty("前端页面名称(vue组件名)")
|
||||
private String pageName;
|
||||
|
||||
@ApiModelProperty(value = "前端页面别名", required = false)
|
||||
private String pageAliasName;
|
||||
|
||||
@ApiModelProperty("菜单类型(0左侧当行菜单,1页面中功能)")
|
||||
private String menuType;
|
||||
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String remarks;
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.yxt.portal.biz.sysmenu;
|
||||
|
||||
|
||||
import com.yxt.common.core.query.Query;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysMenuQuery.java <br/>
|
||||
* Class: com.yxt.anrui.portal.api.sysmenu.SysMenuQuery <br/>
|
||||
* Description: 菜单表 查询条件. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:28 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@ApiModel(value = "菜单表 查询条件 功能菜单设置查询用", description = "菜单表 查询条件 功能菜单设置查询用")
|
||||
@Data
|
||||
public class SysMenuFunctionQuery implements Query {
|
||||
|
||||
|
||||
@ApiModelProperty("资源sid")
|
||||
private String sourceSid;
|
||||
|
||||
}
|
||||
82
src/main/java/com/yxt/portal/biz/sysmenu/SysMenuMapper.java
Normal file
82
src/main/java/com/yxt/portal/biz/sysmenu/SysMenuMapper.java
Normal file
@@ -0,0 +1,82 @@
|
||||
package com.yxt.portal.biz.sysmenu;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysMenuMapper.java <br/>
|
||||
* Class: com.yxt.anrui.portal.biz.sysmenu.SysMenuMapper <br/>
|
||||
* Description: 菜单表. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:28 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface SysMenuMapper extends BaseMapper<SysMenu> {
|
||||
|
||||
//@Update("update sys_menu set name=#{msg} where id=#{id}")
|
||||
//IPage<SysMenuVo> voPage(IPage<SysMenu> page, @Param(Constants.WRAPPER) QueryWrapper<SysMenu> qw);
|
||||
|
||||
IPage<SysMenuVo> selectPageVo(IPage<SysMenu> page, @Param(Constants.WRAPPER) Wrapper<SysMenu> qw);
|
||||
|
||||
List<SysMenuVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<SysMenu> qw);
|
||||
|
||||
@Select("select * from sys_menu")
|
||||
List<SysMenuVo> selectListVo();
|
||||
|
||||
List<SysMenuVo> listAllParentByRoleSid(String roleSid, String sid, @Param("sourceSid") String sourceSid);
|
||||
|
||||
@Select("SELECT menu.*,sourceMenu.`sourceSid` FROM sys_menu menu " +
|
||||
"LEFT JOIN sys_source_menu sourceMenu ON menu.sid=sourceMenu.menuSid where menu.sid=#{sid}")
|
||||
SysMenu fetchBySid(@Param("sid") String sid);
|
||||
|
||||
List<SysMenuTreeVo> getChildrensForMenuTree(@Param(Constants.WRAPPER) QueryWrapper<SysMenuTreeVo> qw);
|
||||
|
||||
/**
|
||||
* 将该资源下的所有菜单设置是否可用
|
||||
*
|
||||
* @param sid 资源sid
|
||||
* @param isEnable 是否可用:1可用,0不可用
|
||||
* @return
|
||||
*/
|
||||
int updateBySourceSid(@Param("sid") String sid, @Param("isEnable") Integer isEnable);
|
||||
|
||||
/**
|
||||
* 根据上级sid查询菜单的子集菜单
|
||||
*
|
||||
* @param sid 菜单sid
|
||||
* @return
|
||||
*/
|
||||
List<SysMenuTreeVo> selectChildernList(String sid);
|
||||
|
||||
/**
|
||||
* 查询该资源下是否有可用的菜单
|
||||
*
|
||||
* @param isEnable
|
||||
* @return
|
||||
*/
|
||||
int selectBySourceSid(@Param("isEnable") int isEnable, @Param("sourceSid") String sourceSid);
|
||||
|
||||
List<SysMenu> selectByMenuUrl(String menuUrl);
|
||||
|
||||
/**
|
||||
* 查询该资源下一级菜单列表
|
||||
*
|
||||
* @param sourceSid 资源sid
|
||||
* @return
|
||||
*/
|
||||
List<SysMenuTreeVo> fetchRootMenuBySourceSid(@Param("sourceSid") String sourceSid);
|
||||
}
|
||||
88
src/main/java/com/yxt/portal/biz/sysmenu/SysMenuMapper.xml
Normal file
88
src/main/java/com/yxt/portal/biz/sysmenu/SysMenuMapper.xml
Normal file
@@ -0,0 +1,88 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.yxt.portal.biz.sysmenu.SysMenuMapper">
|
||||
<!-- <where> ${ew.sqlSegment} </where>-->
|
||||
<!-- ${ew.customSqlSegment} -->
|
||||
<select id="selectPageVo" resultType="com.yxt.portal.biz.sysmenu.SysMenuVo">
|
||||
SELECT *
|
||||
FROM sys_menu
|
||||
<where>
|
||||
${ew.sqlSegment}
|
||||
</where>
|
||||
</select>
|
||||
<select id="selectListAllVo" resultType="com.yxt.portal.biz.sysmenu.SysMenuVo">
|
||||
SELECT menu.*, source.sourceName, pmenu.name as pName
|
||||
FROM sys_menu menu
|
||||
left join sys_menu pmenu on pmenu.sid = menu.psid
|
||||
left join sys_source_menu sourceMenu on sourceMenu.menuSid = menu.sid
|
||||
left join sys_source source on source.sid = sourceMenu.sourceSid
|
||||
<where>
|
||||
${ew.sqlSegment}
|
||||
</where>
|
||||
</select>
|
||||
<select id="listAllParentByRoleSid" resultType="com.yxt.portal.biz.sysmenu.SysMenuVo">
|
||||
SELECT menu.*, ISNULL(menuRole.sid) as checked
|
||||
FROM sys_menu menu
|
||||
left join sys_menu_role menuRole on menu.sid = menuRole.menuSid AND menuRole.roleSid = #{param1}
|
||||
where menu.pSid = #{param2}
|
||||
<if test="sourceSid != null">
|
||||
and menu.sourceSid = #{sourceSid}
|
||||
</if>
|
||||
</select>
|
||||
<select id="getChildrensForMenuTree" resultType="com.yxt.portal.biz.sysmenu.SysMenuTreeVo">
|
||||
SELECT menu.*, source.sourceName, sourceMenu.menuRootSid as menuRootSid
|
||||
FROM sys_menu menu
|
||||
left join sys_source_menu sourceMenu on sourceMenu.menuSid = menu.sid
|
||||
left join sys_source source on source.sid = sourceMenu.sourceSid
|
||||
<where>
|
||||
${ew.sqlSegment}
|
||||
</where>
|
||||
</select>
|
||||
<!--将该资源下的所有菜单设置为是否可用-->
|
||||
<update id="updateBySourceSid">
|
||||
update sys_menu
|
||||
set isEnable = #{isEnable}
|
||||
where sourceSid = #{sid}
|
||||
</update>
|
||||
|
||||
<select id="selectChildernList" resultType="com.yxt.portal.biz.sysmenu.SysMenuTreeVo">
|
||||
SELECT menu.*, source.sourceName, menu.pSid as menuRootSid
|
||||
FROM sys_menu menu
|
||||
left join sys_source source on source.sid = menu.sourceSid
|
||||
where menu.pSid = #{sid}
|
||||
ORDER BY menu.sortNo ASC
|
||||
</select>
|
||||
|
||||
<select id="selectBySourceSid" resultType="int">
|
||||
select count(*)
|
||||
from sys_menu
|
||||
where isEnable = #{isEnable}
|
||||
and sourceSid = #{sourceSid}
|
||||
</select>
|
||||
|
||||
<select id="selectByMenuUrl" resultType="com.yxt.portal.biz.sysmenu.SysMenu">
|
||||
select * from sys_menu where menuUrl = #{menuUrl}
|
||||
</select>
|
||||
<!--将该资源下的所有一级菜单列表-->
|
||||
<select id="fetchRootMenuBySourceSid" resultType="com.yxt.portal.biz.sysmenu.SysMenuTreeVo">
|
||||
SELECT menu.NAME AS NAME,
|
||||
menu.sid AS sid,
|
||||
menu.sid AS sid,
|
||||
source.sid AS sourceSid,
|
||||
menu.sortNo AS sortNo,
|
||||
menu.pSid AS pSid,
|
||||
source.sourceName AS sourceName,
|
||||
menu.sid AS menuRootSid,
|
||||
menu.menuUrl AS menuUrl,
|
||||
menu.iconUrl AS iconUrl,
|
||||
menu.pageName AS pageName,
|
||||
menu.pageUrlRedirect AS pageUrlRedirect,
|
||||
menu.pageUrl AS pageUrl,
|
||||
menu.remarks,
|
||||
menu.isEnable
|
||||
FROM sys_menu menu
|
||||
LEFT JOIN sys_source source ON menu.sourceSid = source.sid
|
||||
WHERE source.sid = #{sourceSid} AND menu.psid='0' and menu.isDelete!=1
|
||||
ORDER BY menu.sortNo ASC
|
||||
</select>
|
||||
</mapper>
|
||||
66
src/main/java/com/yxt/portal/biz/sysmenu/SysMenuQuery.java
Normal file
66
src/main/java/com/yxt/portal/biz/sysmenu/SysMenuQuery.java
Normal file
@@ -0,0 +1,66 @@
|
||||
package com.yxt.portal.biz.sysmenu;
|
||||
|
||||
|
||||
import com.yxt.common.core.query.Query;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysMenuQuery.java <br/>
|
||||
* Class: com.yxt.anrui.portal.api.sysmenu.SysMenuQuery <br/>
|
||||
* Description: 菜单表 查询条件. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:28 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@ApiModel(value = "菜单表 查询条件", description = "菜单表 查询条件")
|
||||
@Data
|
||||
public class SysMenuQuery implements Query {
|
||||
|
||||
|
||||
@ApiModelProperty("菜单名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty("菜单路由路径(VUE)")
|
||||
private String menuUrl;
|
||||
|
||||
@ApiModelProperty("菜单对应的前端页面路径")
|
||||
private String pageUrl;
|
||||
|
||||
@ApiModelProperty("菜单图标地址")
|
||||
private String iconUrl;
|
||||
|
||||
@ApiModelProperty("资源sid")
|
||||
private String sourceSid;
|
||||
@ApiModelProperty("用户sid")
|
||||
private String userSid;
|
||||
@ApiModelProperty("角色sid")
|
||||
private String roleSid;
|
||||
|
||||
@ApiModelProperty("是否显示,默认为1显示,0为不显示")
|
||||
private String isShow;
|
||||
|
||||
@ApiModelProperty("排序号")
|
||||
private Integer sortNo;
|
||||
|
||||
@ApiModelProperty("上级sid")
|
||||
private String pSid;
|
||||
|
||||
@ApiModelProperty("前端页面路径重定向")
|
||||
private Integer pageUrlRedirect;
|
||||
|
||||
@ApiModelProperty("前端页面名称(vue组件名)")
|
||||
private String pageName;
|
||||
|
||||
@ApiModelProperty("前端页面别名")
|
||||
private String pageAliasName;
|
||||
|
||||
@ApiModelProperty("菜单类型(0左侧当行菜单,1页面中功能)")
|
||||
private String menuType;
|
||||
}
|
||||
424
src/main/java/com/yxt/portal/biz/sysmenu/SysMenuService.java
Normal file
424
src/main/java/com/yxt/portal/biz/sysmenu/SysMenuService.java
Normal file
@@ -0,0 +1,424 @@
|
||||
package com.yxt.portal.biz.sysmenu;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.portal.biz.sysmenurole.SysMenuRoleVo;
|
||||
import com.yxt.portal.biz.syssource.SysSourceService;
|
||||
import com.yxt.common.base.service.MybatisBaseService;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysMenuService.java <br/>
|
||||
* Class: com.yxt.user.biz.sysmenu.SysMenuService <br/>
|
||||
* Description: 菜单表 业务逻辑. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:28 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Service
|
||||
public class SysMenuService extends MybatisBaseService<SysMenuMapper, SysMenu> {
|
||||
// @Autowired
|
||||
// private SysSourceMenuService sysSourceMenuService;
|
||||
@Autowired
|
||||
private SysMenuService sysMenuService;
|
||||
@Autowired
|
||||
private SysSourceService sysSourceService;
|
||||
|
||||
public PagerVo<SysMenu> listPage(PagerQuery<SysMenuQuery> pq) {
|
||||
SysMenuQuery query = pq.getParams();
|
||||
QueryWrapper<SysMenu> qw = createQueryWrapper(query);
|
||||
IPage<SysMenu> page = PagerUtil.queryToPage(pq);
|
||||
IPage<SysMenu> pagging = baseMapper.selectPage(page, qw);
|
||||
PagerVo<SysMenu> p = PagerUtil.pageToVo(pagging, null);
|
||||
return p;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SysMenu fetchBySid(String sid) {
|
||||
return baseMapper.fetchBySid(sid);
|
||||
}
|
||||
|
||||
public List<SysMenu> listAll(SysMenuQuery query) {
|
||||
QueryWrapper<SysMenu> qw = createQueryWrapper(query);
|
||||
return baseMapper.selectList(qw);
|
||||
}
|
||||
|
||||
private QueryWrapper<SysMenu> createQueryWrapper(SysMenuQuery query) {
|
||||
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
|
||||
QueryWrapper<SysMenu> qw = new QueryWrapper<>();
|
||||
if (StringUtils.isNotBlank(query.getName())) {
|
||||
qw.eq("name", query.getName());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getMenuUrl())) {
|
||||
qw.eq("menuUrl", query.getMenuUrl());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getPageUrl())) {
|
||||
qw.eq("pageUrl", query.getPageUrl());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getIconUrl())) {
|
||||
qw.eq("iconUrl", query.getIconUrl());
|
||||
}
|
||||
if (query.getSourceSid() != null) {
|
||||
qw.eq("sourceSid", query.getSourceSid());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getIsShow())) {
|
||||
qw.eq("isShow", query.getIsShow());
|
||||
}
|
||||
|
||||
if (query.getSortNo() != null) {
|
||||
qw.eq("sortNo", query.getSortNo());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getPSid())) {
|
||||
qw.eq("pSid", query.getPSid());
|
||||
}
|
||||
|
||||
if (query.getPageUrlRedirect() != null) {
|
||||
qw.eq("pageUrlRedirect", query.getPageUrlRedirect());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getPageName())) {
|
||||
qw.eq("pageName", query.getPageName());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getPageAliasName())) {
|
||||
qw.eq("pageAliasName", query.getPageAliasName());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getMenuType())) {
|
||||
qw.eq("menuType", query.getMenuType());
|
||||
}
|
||||
return qw;
|
||||
}
|
||||
|
||||
public PagerVo<SysMenuVo> listPageVo(PagerQuery<SysMenuQuery> pq) {
|
||||
SysMenuQuery query = pq.getParams();
|
||||
QueryWrapper<SysMenu> qw = createQueryWrapper(query);
|
||||
IPage<SysMenu> page = PagerUtil.queryToPage(pq);
|
||||
IPage<SysMenuVo> pagging = baseMapper.selectPageVo(page, qw);
|
||||
PagerVo<SysMenuVo> p = PagerUtil.pageToVo(pagging, null);
|
||||
return p;
|
||||
}
|
||||
|
||||
/* public List<SysMenuVo> listAllVo(SysMenuQuery query) {
|
||||
QueryWrapper<SysMenu> qw = new QueryWrapper<>();
|
||||
qw.eq("menu.pSid", "0");
|
||||
List<SysMenuVo> sysMenuVos = baseMapper.selectListAllVo(qw);
|
||||
for(SysMenuVo s:sysMenuVos){
|
||||
getChildrens(s);
|
||||
}
|
||||
return sysMenuVos;
|
||||
}*/
|
||||
public List<SysMenuTreeVo> listAllVoForSource(SysMenuQuery query) {
|
||||
//查询所有的资源列表
|
||||
List<SysMenuTreeVo> sysSourceVos = sysSourceService.listMenuTreeVo();
|
||||
for (SysMenuTreeVo s : sysSourceVos) {
|
||||
//根据资源sid查询该资源下的所有一级菜单
|
||||
//List<SysMenuTreeVo> sysMenuVoList = sysSourceMenuService.fetchRootMenuBySourceSid(s.getSourceSid());
|
||||
List<SysMenuTreeVo> sysMenuVoList = sysMenuService.fetchRootMenuBySourceSid(s.getSourceSid());
|
||||
s.setChildren(sysMenuVoList);
|
||||
s.setIsSource("1");
|
||||
//判断该资源下的菜单是否有可用的状态
|
||||
int isEnable = 1;
|
||||
int count = baseMapper.selectBySourceSid(isEnable, s.getSourceSid());
|
||||
if (count == 0) {
|
||||
s.setIsEnable("0");
|
||||
} else {
|
||||
s.setIsEnable("1");
|
||||
}
|
||||
if (!sysMenuVoList.isEmpty()) {
|
||||
// sysMenuVoList = getChildrensForMenuTree(sysMenuVoList);
|
||||
getChildList(sysMenuVoList);
|
||||
}
|
||||
}
|
||||
return sysSourceVos;
|
||||
}
|
||||
|
||||
public void getChildList(List<SysMenuTreeVo> list) {
|
||||
list.forEach(str -> {
|
||||
String sid = str.getSid();
|
||||
List<SysMenuTreeVo> listChildren = baseMapper.selectChildernList(sid);
|
||||
str.setChildren(listChildren);
|
||||
getChildList(listChildren);
|
||||
});
|
||||
}
|
||||
|
||||
/*暂时废弃*/
|
||||
/*private List<SysMenuTreeVo> getChildrensForMenuTree(List<SysMenuTreeVo> sysMenuVoList) {
|
||||
List<SysMenuTreeVo> list = new ArrayList<>();
|
||||
for (SysMenuTreeVo s : sysMenuVoList) {
|
||||
SysMenu sysMenu = sysMenuService.fetchBySid(s.getMenuRootSid());
|
||||
SysMenuTreeVo sysMenuTreeVo = new SysMenuTreeVo();
|
||||
BeanUtil.copyProperties(sysMenu, sysMenuTreeVo);
|
||||
list.add(sysMenuTreeVo);
|
||||
}
|
||||
for (SysMenuTreeVo s : list) {
|
||||
getChildrensForMenuTree(s, s.getSid());
|
||||
}
|
||||
return list;
|
||||
}
|
||||
private void getChildrensForMenuTree(SysMenuTreeVo s,String sid){
|
||||
QueryWrapper<SysMenuTreeVo> qw = new QueryWrapper<>();
|
||||
if (StringUtils.isNotBlank(sid)) {
|
||||
qw.eq("menu.pSid", sid);
|
||||
}
|
||||
List<SysMenuTreeVo> sysMenuVos = baseMapper.getChildrensForMenuTree(qw);
|
||||
if(!sysMenuVos.isEmpty()){
|
||||
for(SysMenuTreeVo smv:sysMenuVos){
|
||||
getChildrensForMenuTree(smv,smv.getSid());
|
||||
}
|
||||
}
|
||||
s.setChildren(sysMenuVos);
|
||||
}
|
||||
private void getChildrens(SysMenuVo s){
|
||||
String sid = s.getSid();
|
||||
QueryWrapper<SysMenu> qw = new QueryWrapper<>();
|
||||
if (StringUtils.isNotBlank(sid)) {
|
||||
qw.eq("menu.pSid", sid);
|
||||
}
|
||||
List<SysMenuVo> sysMenuVos = baseMapper.selectListAllVo(qw);
|
||||
if(!sysMenuVos.isEmpty()){
|
||||
for(SysMenuVo smv:sysMenuVos){
|
||||
getChildrens(smv);
|
||||
}
|
||||
}
|
||||
s.setChildren(sysMenuVos);
|
||||
}*/
|
||||
public List<SysMenuVo> listVo() {
|
||||
return baseMapper.selectListVo();
|
||||
}
|
||||
|
||||
/* public void saveOrUpdateDto(SysMenuDto dto) {
|
||||
SysMenu entity = new SysMenu();
|
||||
dto.fillEntity(entity);
|
||||
SysSourceMenu sysSourceMenu = new SysSourceMenu();
|
||||
sysSourceMenu.setMenuSid(entity.getSid());
|
||||
sysSourceMenu.setSourceSid(dto.getSourceSid());
|
||||
setRootSid(entity, sysSourceMenu);
|
||||
sysSourceMenuService.save(sysSourceMenu);
|
||||
this.saveOrUpdate(entity);
|
||||
}*/
|
||||
|
||||
// private void setRootSid(SysMenu entity, SysSourceMenu sysSourceMenu) {
|
||||
// String pSid = entity.getPSid();
|
||||
// if ("0".equals(pSid)) {
|
||||
// sysSourceMenu.setMenuRootSid(entity.getSid());
|
||||
// } else {
|
||||
// SysMenu sysMenu = sysMenuService.fetchBySid(pSid);
|
||||
// String pSid1 = sysMenu.getPSid();
|
||||
// if ("0".equals(pSid1)) {
|
||||
// sysSourceMenu.setMenuRootSid(sysMenu.getSid());
|
||||
// }
|
||||
// setRootSid(sysMenu, sysSourceMenu);
|
||||
// }
|
||||
// }
|
||||
|
||||
public SysMenuVo fetchByIdVo(String id) {
|
||||
SysMenu entity = this.fetchById(id);
|
||||
SysMenuVo vo = new SysMenuVo();
|
||||
BeanUtil.copyProperties(entity, vo);
|
||||
return vo;
|
||||
}
|
||||
|
||||
public List<SysMenuVo> listAllByRoleSid(SysMenuQuery query) {
|
||||
|
||||
List<SysMenuVo> sysMenuVos = baseMapper.listAllParentByRoleSid(query.getRoleSid(), "0", query.getSourceSid());
|
||||
for (SysMenuVo s : sysMenuVos) {
|
||||
getChildrensByRoleSid(s, query.getRoleSid(), query.getSourceSid());
|
||||
}
|
||||
return sysMenuVos;
|
||||
}
|
||||
|
||||
private void getChildrensByRoleSid(SysMenuVo s, String roleSid, String sourceSid) {
|
||||
String sid = s.getSid();
|
||||
List<SysMenuVo> sysMenuVos = baseMapper.listAllParentByRoleSid(roleSid, sid, sourceSid);
|
||||
if (!sysMenuVos.isEmpty()) {
|
||||
for (SysMenuVo smv : sysMenuVos) {
|
||||
getChildrensByRoleSid(smv, roleSid, sourceSid);
|
||||
}
|
||||
}
|
||||
s.setChildren(sysMenuVos);
|
||||
}
|
||||
|
||||
/*public List<SysMenuTreeVo> listAllVoBySourceSId(SysMenuQuery query) {
|
||||
SysSource sysSource = sysSourceService.fetchBySid(query.getSourceSid());
|
||||
List<SysMenuTreeVo> sysSourceVos = new ArrayList<>();//sysSourceService.listAllVoBySourceSId(query.getSourceSid());
|
||||
SysMenuTreeVo smtv=new SysMenuTreeVo();
|
||||
smtv.setName(sysSource.getSourceName());
|
||||
smtv.setSid(sysSource.getSid());
|
||||
smtv.setSourceSid(sysSource.getSid());
|
||||
sysSourceVos.add(smtv);
|
||||
for(SysMenuTreeVo s:sysSourceVos){
|
||||
List<SysMenuTreeVo> sysMenuVoList=sysSourceMenuService.fetchRootMenuBySourceSid(s.getSourceSid());
|
||||
if(!sysMenuVoList.isEmpty()){
|
||||
sysMenuVoList = getChildrensForMenuTree(sysMenuVoList);
|
||||
}
|
||||
s.setChildren(sysMenuVoList);
|
||||
}
|
||||
return sysSourceVos;
|
||||
}*/
|
||||
|
||||
/**
|
||||
* 资源菜单树形列表
|
||||
*
|
||||
* @return 资源菜单树形列表(第一级一级菜单 第二级二级菜单)
|
||||
*/
|
||||
public List<Map<String, Object>> getSourceMenuTree(List<SysMenuRoleVo> list_menu, Map<String, Object> map_selectMenus) {
|
||||
|
||||
//获取当前资源的菜单列表
|
||||
List<Map<String, Object>> list_menus_map = new ArrayList<Map<String, Object>>();
|
||||
|
||||
|
||||
//获取资源第一级菜单列表
|
||||
List<SysMenuRoleVo> list_firstLevel_menu = list_menu.stream().filter(s -> s.getPSid().equals("0")).collect(Collectors.toList());
|
||||
|
||||
//遍历资源的第一级菜单
|
||||
for (int i = 0; i < list_firstLevel_menu.size(); i++) {
|
||||
Map<String, Object> map_firstLevel_menu = getMenuTreeFromStream(list_firstLevel_menu.get(i).getSid(), list_menu, map_selectMenus);
|
||||
//把该菜单挂在当前菜单列表中
|
||||
if (null != map_firstLevel_menu)
|
||||
list_menus_map.add(map_firstLevel_menu);
|
||||
}
|
||||
return list_menus_map;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 递归把list转换成菜单树形列表
|
||||
*
|
||||
* @param psid
|
||||
* @param list_menu
|
||||
* @return
|
||||
*/
|
||||
private Map<String, Object> getMenuTreeFromStream(String psid, List<SysMenuRoleVo> list_menu, Map<String, Object> map_selectMenus) {
|
||||
//获取当前菜单
|
||||
List<SysMenuRoleVo> list_current_menu = list_menu.stream().filter(s -> s.getSid().equals(psid)).collect(Collectors.toList());
|
||||
if (null == list_current_menu || 0 == list_current_menu.size())
|
||||
return null;
|
||||
|
||||
Map<String, Object> map_menu = getMenuMap(list_current_menu.get(0), map_selectMenus);
|
||||
|
||||
//2.获取菜单的子菜单列表
|
||||
//存储最终子菜单列表结果
|
||||
List<Map<String, Object>> list_child = new ArrayList<Map<String, Object>>();
|
||||
|
||||
//获取子菜单列表
|
||||
List<SysMenuRoleVo> list_child_menu = list_menu.stream().filter(s -> s.getPSid().equals(psid)).collect(Collectors.toList());
|
||||
for (int i = 0; i < list_child_menu.size(); i++) {
|
||||
//获取该菜单子菜单列表
|
||||
Map<String, Object> map_child_menu = getMenuTreeFromStream(list_child_menu.get(i).getSid(), list_menu, map_selectMenus);
|
||||
//把该菜单挂在当前菜单列表中
|
||||
if (null != map_child_menu)
|
||||
list_child.add(map_child_menu);
|
||||
}
|
||||
//把该菜单列表放到父菜单的childMenus中
|
||||
map_menu.put("children", list_child);
|
||||
|
||||
return map_menu;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 构造菜单的结果map
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
private Map<String, Object> getMenuMap(SysMenuRoleVo menuVo, Map<String, Object> map_selectMenus) {
|
||||
Map<String, Object> map_menu = new HashMap<String, Object>();
|
||||
|
||||
if (null != map_selectMenus) {
|
||||
//角色授权时,菜单列表
|
||||
map_menu.put("sid", menuVo.getSid());
|
||||
map_menu.put("menuName", menuVo.getMenuName() + (StringUtils.isNotBlank(menuVo.getRemarks()) ? "(" + menuVo.getRemarks() + ")" : ""));
|
||||
map_menu.put("menuUrl", menuVo.getMenuUrl());
|
||||
map_menu.put("pageUrl", menuVo.getPageUrl());
|
||||
map_menu.put("iconUrl", menuVo.getIconUrl());
|
||||
map_menu.put("isShow", menuVo.getIsShow());
|
||||
if (menuVo.getAlwaysShow() == 0) {
|
||||
map_menu.put("alwaysShow", false);
|
||||
} else if (menuVo.getAlwaysShow() == 1) {
|
||||
map_menu.put("alwaysShow", true);
|
||||
}
|
||||
|
||||
//如果角色已有的菜单,则设置选中,并移除map中的项;否则设置不选中
|
||||
if (map_selectMenus.containsKey(menuVo.getSid())) {
|
||||
map_menu.put("isCheck", 1);
|
||||
map_selectMenus.remove(menuVo.getSid());
|
||||
} else {
|
||||
map_menu.put("isCheck", 0);
|
||||
}
|
||||
} else {
|
||||
//左侧菜单列表
|
||||
Map<String, Object> map_meta = new HashMap<String, Object>();
|
||||
map_meta.put("title", menuVo.getMenuName());
|
||||
map_meta.put("icon", menuVo.getIconUrl());
|
||||
map_menu.put("meta", map_meta);
|
||||
|
||||
map_menu.put("redirect", menuVo.getPageUrlRedirect());
|
||||
//路径
|
||||
map_menu.put("path", menuVo.getPageUrl() != null && !menuVo.getPageUrl().equals("") ? menuVo.getPageUrl() : "/" + menuVo.getPageName());
|
||||
map_menu.put("name", menuVo.getPageAliasName() != null && !menuVo.getPageAliasName().equals("") ? menuVo.getPageAliasName() : menuVo.getPageUrl());
|
||||
//组件名
|
||||
map_menu.put("component", menuVo.getPageName());
|
||||
if (menuVo.getAlwaysShow() == 0) {
|
||||
map_menu.put("alwaysShow", false);
|
||||
} else if (menuVo.getAlwaysShow() == 1) {
|
||||
map_menu.put("alwaysShow", true);
|
||||
}
|
||||
}
|
||||
return map_menu;
|
||||
}
|
||||
|
||||
/**
|
||||
* 将该资源下的所有菜单设置为是否可用
|
||||
*
|
||||
* @param sid 资源sid
|
||||
* @param isEnable 是否可用:1可用,0不可用
|
||||
* @return
|
||||
*/
|
||||
public int updateBySourceSid(String sid, Integer isEnable) {
|
||||
return baseMapper.updateBySourceSid(sid, isEnable);
|
||||
}
|
||||
|
||||
public void saveMenu(SysMenuDto dto) {
|
||||
SysMenu entity = new SysMenu();
|
||||
dto.fillEntity(entity);
|
||||
// SysSourceMenu sysSourceMenu = new SysSourceMenu();
|
||||
// sysSourceMenu.setMenuSid(entity.getSid());
|
||||
// sysSourceMenu.setSourceSid(dto.getSourceSid());
|
||||
// setRootSid(entity, sysSourceMenu);
|
||||
// sysSourceMenuService.save(sysSourceMenu);
|
||||
save(entity);
|
||||
}
|
||||
|
||||
public List<SysMenu> selectByMenuUrl(String menuUrl) {
|
||||
return baseMapper.selectByMenuUrl(menuUrl);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据资源sid查询该资源下的一级菜单列表(yxt_mtl 2024-01-31)
|
||||
*
|
||||
* @param sid 资源sid
|
||||
* @return
|
||||
*/
|
||||
public List<SysMenuTreeVo> fetchRootMenuBySourceSid(String sid) {
|
||||
return baseMapper.fetchRootMenuBySourceSid(sid);
|
||||
}
|
||||
}
|
||||
59
src/main/java/com/yxt/portal/biz/sysmenu/SysMenuTreeVo.java
Normal file
59
src/main/java/com/yxt/portal/biz/sysmenu/SysMenuTreeVo.java
Normal file
@@ -0,0 +1,59 @@
|
||||
package com.yxt.portal.biz.sysmenu;
|
||||
|
||||
|
||||
import com.yxt.common.core.vo.Vo;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysMenuVo.java <br/>
|
||||
* Class: com.yxt.anrui.portal.api.sysmenu.SysMenuVo <br/>
|
||||
* Description: 菜单表 视图数据对象. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:28 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@ApiModel(value = "菜单表 视图数据对象", description = "菜单表 视图数据对象")
|
||||
@Data
|
||||
public class SysMenuTreeVo implements Vo {
|
||||
@ApiModelProperty("菜单名称")
|
||||
private String name;
|
||||
@ApiModelProperty("资源sid")
|
||||
private String sourceSid;
|
||||
@ApiModelProperty("排序号")
|
||||
private Integer sortNo;
|
||||
@ApiModelProperty("上级sid")
|
||||
private String pSid;
|
||||
@ApiModelProperty("上级菜单名称")
|
||||
private String pName;
|
||||
@ApiModelProperty("sid")
|
||||
private String sid;
|
||||
@ApiModelProperty("资源名称")
|
||||
private String sourceName;
|
||||
@ApiModelProperty("菜单根路径sid")
|
||||
private String menuRootSid;
|
||||
@ApiModelProperty("pageUrl")
|
||||
private String pageUrl;
|
||||
@ApiModelProperty("menuUrl")
|
||||
private String menuUrl;
|
||||
@ApiModelProperty("menuUrl")
|
||||
private String pageName;
|
||||
@ApiModelProperty("iconUrl")
|
||||
private String iconUrl;
|
||||
@ApiModelProperty("菜单列表用,是否是资源层级1是,0不是")
|
||||
private String isSource = "0";
|
||||
@ApiModelProperty("是否可用")
|
||||
private String isEnable;
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String remarks;
|
||||
@ApiModelProperty("子菜单")
|
||||
private List<SysMenuTreeVo> children;
|
||||
}
|
||||
74
src/main/java/com/yxt/portal/biz/sysmenu/SysMenuVo.java
Normal file
74
src/main/java/com/yxt/portal/biz/sysmenu/SysMenuVo.java
Normal file
@@ -0,0 +1,74 @@
|
||||
package com.yxt.portal.biz.sysmenu;
|
||||
|
||||
|
||||
import com.yxt.common.core.vo.Vo;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysMenuVo.java <br/>
|
||||
* Class: com.yxt.anrui.portal.api.sysmenu.SysMenuVo <br/>
|
||||
* Description: 菜单表 视图数据对象. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:28 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@ApiModel(value = "菜单表 视图数据对象", description = "菜单表 视图数据对象")
|
||||
@Data
|
||||
public class SysMenuVo implements Vo {
|
||||
|
||||
|
||||
@ApiModelProperty("菜单名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty("菜单路由路径(VUE)")
|
||||
private String menuUrl;
|
||||
|
||||
@ApiModelProperty("菜单对应的前端页面路径")
|
||||
private String pageUrl;
|
||||
|
||||
@ApiModelProperty("菜单图标地址")
|
||||
private String iconUrl;
|
||||
|
||||
@ApiModelProperty("资源sid")
|
||||
private String sourceSid;
|
||||
|
||||
@ApiModelProperty("是否显示,默认为1显示,0为不显示")
|
||||
private String isShow;
|
||||
|
||||
@ApiModelProperty("排序号")
|
||||
private Integer sortNo;
|
||||
|
||||
@ApiModelProperty("上级sid")
|
||||
private String pSid;
|
||||
@ApiModelProperty("上级名称")
|
||||
private String pName;
|
||||
@ApiModelProperty("sid")
|
||||
private String sid;
|
||||
|
||||
@ApiModelProperty("前端页面路径重定向")
|
||||
private Integer pageUrlRedirect;
|
||||
|
||||
@ApiModelProperty("前端页面名称(vue组件名)")
|
||||
private String pageName;
|
||||
|
||||
@ApiModelProperty("前端页面别名")
|
||||
private String pageAliasName;
|
||||
|
||||
@ApiModelProperty("菜单类型(0左侧当行菜单,1页面中功能)")
|
||||
private String menuType;
|
||||
@ApiModelProperty("子菜单")
|
||||
private List<SysMenuVo> children;
|
||||
@ApiModelProperty("是否选中,1:未选中,0:选中")
|
||||
private String checked;
|
||||
@ApiModelProperty("资源名称")
|
||||
private String sourceName;
|
||||
}
|
||||
19
src/main/java/com/yxt/portal/biz/sysmenurole/MenuRoleVo.java
Normal file
19
src/main/java/com/yxt/portal/biz/sysmenurole/MenuRoleVo.java
Normal file
@@ -0,0 +1,19 @@
|
||||
package com.yxt.portal.biz.sysmenurole;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @description: 菜单和角色临时存储
|
||||
* @author: dimengzhe
|
||||
* @date: 2023/6/1
|
||||
**/
|
||||
@Data
|
||||
public class MenuRoleVo {
|
||||
|
||||
|
||||
@ApiModelProperty("数据权限ID(1集团、2事业部、3分公司、4部门、5个人)")
|
||||
private String dataRuleId;
|
||||
@ApiModelProperty("菜单sid")
|
||||
private String menuSid;
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package com.yxt.portal.biz.sysmenurole;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.yxt.common.core.domain.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysMenuRole.java <br/>
|
||||
* Class: com.yxt.anrui.portal.api.sysmenurole.SysMenuRole <br/>
|
||||
* Description: 菜单与角色关联表. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:28 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@ApiModel(value = "菜单与角色关联表", description = "菜单与角色关联表")
|
||||
@TableName("sys_menu_role")
|
||||
@Data
|
||||
public class SysMenuRole extends BaseEntity {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
@ApiModelProperty("菜单sid")
|
||||
private String menuSid;
|
||||
|
||||
@ApiModelProperty("角色sid")
|
||||
private String roleSid;
|
||||
|
||||
@ApiModelProperty("数据权限ID(1集团、2事业部、3分公司、4部门、5个人)")
|
||||
private String dataRuleId;
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.yxt.portal.biz.sysmenurole;
|
||||
|
||||
|
||||
import com.yxt.common.core.dto.Dto;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysMenuRoleDto.java <br/>
|
||||
* Class: com.yxt.anrui.portal.api.sysmenurole.SysMenuRoleDto <br/>
|
||||
* Description: 菜单与角色关联表 数据传输对象. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:28 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@ApiModel(value = "菜单与角色关联表 数据传输对象", description = "菜单与角色关联表 数据传输对象")
|
||||
@Data
|
||||
public class SysMenuRoleDataDto implements Dto {
|
||||
|
||||
@ApiModelProperty("菜单与角色关联表sid")
|
||||
private String sid;
|
||||
@ApiModelProperty("数据权限ID(1集团、2事业部、3分公司、4部门、5个人)")
|
||||
private String dataRuleId;
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.yxt.portal.biz.sysmenurole;
|
||||
|
||||
|
||||
import com.yxt.common.core.query.Query;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysMenuRoleQuery.java <br/>
|
||||
* Class: com.yxt.anrui.portal.api.sysmenurole.SysMenuRoleQuery <br/>
|
||||
* Description: 菜单与角色关联表 查询条件. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:28 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@ApiModel(value = "菜单与角色关联表 查询条件", description = "菜单与角色关联表 查询条件")
|
||||
@Data
|
||||
public class SysMenuRoleDataQuery implements Query {
|
||||
|
||||
@ApiModelProperty("角色sid")
|
||||
private String roleSid;
|
||||
@ApiModelProperty("菜单名称")
|
||||
private String menuName;
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
package com.yxt.portal.biz.sysmenurole;
|
||||
|
||||
|
||||
import com.yxt.common.core.vo.Vo;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysMenuRoleVo.java <br/>
|
||||
* Class: com.yxt.anrui.portal.api.sysmenurole.SysMenuRoleVo <br/>
|
||||
* Description: 菜单与角色关联表 视图数据对象. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:28 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@ApiModel(value = "菜单与角色关联表 视图数据对象", description = "菜单与角色关联表 视图数据对象")
|
||||
@Data
|
||||
public class SysMenuRoleDataVo implements Vo {
|
||||
|
||||
@ApiModelProperty("菜单与角色关联表sid")
|
||||
private String sid;
|
||||
@ApiModelProperty("菜单名称")
|
||||
private String name;
|
||||
@ApiModelProperty("数据权限ID(1集团、2事业部、3分公司、4部门、5个人)")
|
||||
private String dataRuleId;
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
package com.yxt.portal.biz.sysmenurole;
|
||||
|
||||
|
||||
import com.yxt.common.core.dto.Dto;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysMenuRoleDto.java <br/>
|
||||
* Class: com.yxt.anrui.portal.api.sysmenurole.SysMenuRoleDto <br/>
|
||||
* Description: 菜单与角色关联表 数据传输对象. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:28 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@ApiModel(value = "菜单与角色关联表 数据传输对象", description = "菜单与角色关联表 数据传输对象")
|
||||
@Data
|
||||
public class SysMenuRoleDto implements Dto {
|
||||
|
||||
|
||||
@ApiModelProperty("菜单sid")
|
||||
private String menuSid;
|
||||
@ApiModelProperty("角色sid")
|
||||
private String roleSid;
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
package com.yxt.portal.biz.sysmenurole;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.yxt.portal.biz.sysmenurole.MenuRoleVo;
|
||||
import com.yxt.portal.biz.sysmenurole.SysMenuRole;
|
||||
import com.yxt.portal.biz.sysmenurole.SysMenuRoleDataVo;
|
||||
import com.yxt.portal.biz.sysmenurole.SysMenuRoleVo;
|
||||
import org.apache.ibatis.annotations.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysMenuRoleMapper.java <br/>
|
||||
* Class: com.yxt.anrui.portal.biz.sysmenurole.SysMenuRoleMapper <br/>
|
||||
* Description: 菜单与角色关联表. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:28 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface SysMenuRoleMapper extends BaseMapper<SysMenuRole> {
|
||||
|
||||
//@Update("update sys_menu_role set name=#{msg} where id=#{id}")
|
||||
//IPage<SysMenuRoleVo> voPage(IPage<SysMenuRole> page, @Param(Constants.WRAPPER) QueryWrapper<SysMenuRole> qw);
|
||||
|
||||
IPage<SysMenuRoleVo> selectPageVo(IPage<SysMenuRole> page, @Param(Constants.WRAPPER) Wrapper<SysMenuRole> qw);
|
||||
|
||||
List<SysMenuRoleVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<SysMenuRole> qw);
|
||||
|
||||
@Select("select * from sys_menu_role")
|
||||
List<SysMenuRoleVo> selectListVo();
|
||||
|
||||
@Delete("delete from sys_menu_role where roleSid=#{roleSid}")
|
||||
void delByRoleSid(@Param("roleSid") String roleSid);
|
||||
|
||||
List<SysMenuRoleVo> list(@Param(Constants.WRAPPER) QueryWrapper<SysMenuRoleVo> qw);
|
||||
|
||||
List<MenuRoleVo> selectByRoleSid(String roleSid);
|
||||
|
||||
List<SysMenuRoleDataVo> selMenuByRole(@Param(Constants.WRAPPER) QueryWrapper qw);
|
||||
|
||||
List<SysMenuRoleDataVo> selMenuByRoleApp(@Param(Constants.WRAPPER) QueryWrapper qw);
|
||||
|
||||
@Update("update sys_menu_role set dataRuleId = #{dataRuleId} where sid = #{sid}")
|
||||
void updateDataByRoleMenu(@Param("sid") String sid,@Param("dataRuleId") String dataRuleId);
|
||||
|
||||
@Update("update sys_mobile_menu_role set dataRuleId = #{dataRuleId} where sid = #{sid}")
|
||||
void updateDataByRoleMenuApp(@Param("sid") String sid,@Param("dataRuleId") String dataRuleId);
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.yxt.portal.biz.sysmenurole.SysMenuRoleMapper">
|
||||
<!-- <where> ${ew.sqlSegment} </where>-->
|
||||
<!-- ${ew.customSqlSegment} -->
|
||||
<select id="selectPageVo" resultType="com.yxt.portal.biz.sysmenurole.SysMenuRoleVo">
|
||||
SELECT * FROM sys_menu_role
|
||||
<where>
|
||||
${ew.sqlSegment}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectListAllVo" resultType="com.yxt.portal.biz.sysmenurole.SysMenuRoleVo">
|
||||
SELECT * FROM sys_menu_role
|
||||
<where>
|
||||
${ew.sqlSegment}
|
||||
</where>
|
||||
</select>
|
||||
<select id="list" parameterType="com.yxt.portal.biz.sysmenurole.SysMenuRoleQuery"
|
||||
resultType="com.yxt.portal.biz.sysmenurole.SysMenuRoleVo">
|
||||
SELECT distinct rm.menuSid as sid,
|
||||
m.name as menuName,
|
||||
m.menuUrl,
|
||||
m.pageUrl,
|
||||
m.pageName,
|
||||
m.pageUrlRedirect,
|
||||
m.pageAliasName,
|
||||
m.iconUrl,
|
||||
m.sourceSid,
|
||||
m.isShow,
|
||||
m.pSid,
|
||||
m.sortNo,
|
||||
m.remarks,
|
||||
1 as alwaysShow
|
||||
FROM sys_menu_role rm
|
||||
LEFT JOIN sys_menu m ON rm.menuSid = m.sid
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
<select id="selectByRoleSid" resultType="com.yxt.portal.biz.sysmenurole.MenuRoleVo">
|
||||
select menuSid, dataRuleId
|
||||
from sys_menu_role
|
||||
where roleSid = #{roleSid}
|
||||
</select>
|
||||
|
||||
<select id="selMenuByRole" resultType="com.yxt.portal.biz.sysmenurole.SysMenuRoleDataVo">
|
||||
SELECT
|
||||
smr.sid,
|
||||
sm.`name`,
|
||||
smr.`dataRuleId`
|
||||
FROM
|
||||
sys_menu sm
|
||||
LEFT JOIN sys_menu_role smr
|
||||
ON smr.`menuSid` = sm.`sid`
|
||||
<where>
|
||||
${ew.sqlSegment}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selMenuByRoleApp" resultType="com.yxt.portal.biz.sysmenurole.SysMenuRoleDataVo">
|
||||
SELECT
|
||||
smmr.sid,
|
||||
smm.`name`,
|
||||
smmr.`dataRuleId`
|
||||
FROM
|
||||
sys_mobile_menu smm
|
||||
LEFT JOIN sys_mobile_menu_role smmr
|
||||
ON smmr.`menuSid` = smm.`sid`
|
||||
<where>
|
||||
${ew.sqlSegment}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.yxt.portal.biz.sysmenurole;
|
||||
|
||||
|
||||
import com.yxt.common.core.query.Query;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysMenuRoleQuery.java <br/>
|
||||
* Class: com.yxt.anrui.portal.api.sysmenurole.SysMenuRoleQuery <br/>
|
||||
* Description: 菜单与角色关联表 查询条件. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:28 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@ApiModel(value = "菜单与角色关联表 查询条件", description = "菜单与角色关联表 查询条件")
|
||||
@Data
|
||||
public class SysMenuRoleQuery implements Query {
|
||||
|
||||
|
||||
@ApiModelProperty("菜单sid")
|
||||
private String menuSid;
|
||||
|
||||
@ApiModelProperty("角色sid")
|
||||
private String roleSid;
|
||||
@ApiModelProperty("多个角色sid计集合")
|
||||
private List<String> roleSids;
|
||||
@ApiModelProperty("资源sid")
|
||||
private String sourceSid;
|
||||
@ApiModelProperty("是否是系统管理员")
|
||||
private String isAdmin;
|
||||
}
|
||||
@@ -0,0 +1,213 @@
|
||||
package com.yxt.portal.biz.sysmenurole;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.portal.biz.sysmenurole.*;
|
||||
import com.yxt.portal.biz.sysmenu.SysMenuService;
|
||||
import com.yxt.common.base.service.MybatisBaseService;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysMenuRoleService.java <br/>
|
||||
* Class: com.yxt.anrui.portal.biz.sysmenurole.SysMenuRoleService <br/>
|
||||
* Description: 菜单与角色关联表 业务逻辑. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:28 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Service
|
||||
public class SysMenuRoleService extends MybatisBaseService<SysMenuRoleMapper, SysMenuRole> {
|
||||
@Autowired
|
||||
private SysMenuService sysMenuService;
|
||||
|
||||
public PagerVo<SysMenuRole> listPage(PagerQuery<SysMenuRoleQuery> pq) {
|
||||
SysMenuRoleQuery query = pq.getParams();
|
||||
QueryWrapper<SysMenuRole> qw = createQueryWrapper(query);
|
||||
IPage<SysMenuRole> page = PagerUtil.queryToPage(pq);
|
||||
IPage<SysMenuRole> pagging = baseMapper.selectPage(page, qw);
|
||||
PagerVo<SysMenuRole> p = PagerUtil.pageToVo(pagging, null);
|
||||
return p;
|
||||
}
|
||||
|
||||
public List<SysMenuRole> listAll(SysMenuRoleQuery query) {
|
||||
QueryWrapper<SysMenuRole> qw = createQueryWrapper(query);
|
||||
return baseMapper.selectList(qw);
|
||||
}
|
||||
|
||||
private QueryWrapper<SysMenuRole> createQueryWrapper(SysMenuRoleQuery query) {
|
||||
// todo: 这里根据具体业务调整查询条件
|
||||
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
|
||||
QueryWrapper<SysMenuRole> qw = new QueryWrapper<>();
|
||||
|
||||
|
||||
if (StringUtils.isNotBlank(query.getMenuSid())) {
|
||||
qw.eq("menuSid", query.getMenuSid());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getRoleSid())) {
|
||||
qw.eq("roleSid", query.getRoleSid());
|
||||
}
|
||||
return qw;
|
||||
}
|
||||
|
||||
public PagerVo<SysMenuRoleVo> listPageVo(PagerQuery<SysMenuRoleQuery> pq) {
|
||||
SysMenuRoleQuery query = pq.getParams();
|
||||
QueryWrapper<SysMenuRole> qw = createQueryWrapper(query);
|
||||
IPage<SysMenuRole> page = PagerUtil.queryToPage(pq);
|
||||
IPage<SysMenuRoleVo> pagging = baseMapper.selectPageVo(page, qw);
|
||||
PagerVo<SysMenuRoleVo> p = PagerUtil.pageToVo(pagging, null);
|
||||
return p;
|
||||
}
|
||||
|
||||
public List<SysMenuRoleVo> listAllVo(SysMenuRoleQuery query) {
|
||||
QueryWrapper<SysMenuRole> qw = createQueryWrapper(query);
|
||||
return baseMapper.selectListAllVo(qw);
|
||||
}
|
||||
|
||||
public List<SysMenuRoleVo> listVo() {
|
||||
return baseMapper.selectListVo();
|
||||
}
|
||||
|
||||
public void saveOrUpdateDto(SysMenuRoleDto dto) {
|
||||
SysMenuRole entity = new SysMenuRole();
|
||||
dto.fillEntity(entity);
|
||||
this.saveOrUpdate(entity);
|
||||
}
|
||||
|
||||
public SysMenuRoleVo fetchByIdVo(String id) {
|
||||
SysMenuRole entity = this.fetchById(id);
|
||||
SysMenuRoleVo vo = new SysMenuRoleVo();
|
||||
BeanUtil.copyProperties(entity, vo);
|
||||
return vo;
|
||||
}
|
||||
|
||||
public void delByRoleSid(String roleSid) {
|
||||
baseMapper.delByRoleSid(roleSid);
|
||||
}
|
||||
|
||||
// 不分页列表
|
||||
public List<SysMenuRoleVo> list(SysMenuRoleQuery query) {
|
||||
// mybits所用的查询条件封装类
|
||||
QueryWrapper<SysMenuRoleVo> qw = buildQueryWrapper(query);
|
||||
return baseMapper.list(qw);
|
||||
}
|
||||
|
||||
/**
|
||||
* 解析和组装查询条件,封装在qw中
|
||||
*
|
||||
* @param query
|
||||
* @return
|
||||
*/
|
||||
private QueryWrapper<SysMenuRoleVo> buildQueryWrapper(SysMenuRoleQuery query) {
|
||||
QueryWrapper<SysMenuRoleVo> qw = new QueryWrapper<>();
|
||||
if (query != null) {
|
||||
if (StringUtils.isNotBlank(query.getSourceSid())) {
|
||||
qw.eq("m.sourceSid", query.getSourceSid());
|
||||
}
|
||||
/*if (org.apache.commons.lang3.StringUtils.isNotBlank(query.getRoleSid())) {
|
||||
qw.in("rm.roleSid", query.getRoleSid());
|
||||
}*/
|
||||
if (StringUtils.isNotBlank(query.getIsAdmin())) {
|
||||
if (!query.getIsAdmin().equals("1")){
|
||||
qw.eq("m.isEnable", 1);
|
||||
}
|
||||
}
|
||||
|
||||
if (query.getRoleSids() != null && query.getRoleSids().size() > 0) {
|
||||
qw.in("rm.roleSid", query.getRoleSids());
|
||||
}
|
||||
qw.eq("m.isShow", 1);
|
||||
qw.orderByAsc("m.sortNo");
|
||||
}
|
||||
|
||||
return qw;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 资源菜单树形列表
|
||||
*
|
||||
* @param query:roleSids,sourceSid
|
||||
* @return 资源菜单树形列表(第一级一级菜单 第二级二级菜单)
|
||||
*/
|
||||
public List<Map<String, Object>> getSourceMenuTreeOfRoles(SysMenuRoleQuery query, Map<String, Object> map_rolemenus) {
|
||||
|
||||
//获取当前资源的菜单列表
|
||||
List<Map<String, Object>> list_menus_map = new ArrayList<Map<String, Object>>();
|
||||
if (null == query)
|
||||
return list_menus_map;
|
||||
|
||||
//角色s的某个资源的所有菜单列表
|
||||
List<SysMenuRoleVo> list_menu = list(query);
|
||||
list_menus_map = sysMenuService.getSourceMenuTree(list_menu, map_rolemenus);
|
||||
|
||||
return list_menus_map;
|
||||
|
||||
}
|
||||
|
||||
public List<MenuRoleVo> selectByRoleSid(String roleSid) {
|
||||
return baseMapper.selectByRoleSid(roleSid);
|
||||
}
|
||||
|
||||
public ResultBean<List<SysMenuRoleDataVo>> selMenuByRole(SysMenuRoleDataQuery query) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
QueryWrapper qw = new QueryWrapper<>();
|
||||
qw.eq("smr.roleSid",query.getRoleSid());
|
||||
if (StringUtils.isNotBlank(query.getMenuName())){
|
||||
qw.like("sm.name",query.getMenuName());
|
||||
}
|
||||
List<SysMenuRoleDataVo> sysMenuRoleDataVos = baseMapper.selMenuByRole(qw);
|
||||
return rb.success().setData(sysMenuRoleDataVos);
|
||||
}
|
||||
|
||||
public ResultBean<List<SysMenuRoleDataVo>> selMenuByRoleApp(SysMenuRoleDataQuery query) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
QueryWrapper qw = new QueryWrapper<>();
|
||||
qw.eq("smmr.roleSid",query.getRoleSid());
|
||||
if (StringUtils.isNotBlank(query.getMenuName())){
|
||||
qw.like("smm.name",query.getMenuName());
|
||||
}
|
||||
List<SysMenuRoleDataVo> sysMenuRoleDataVos = baseMapper.selMenuByRoleApp(qw);
|
||||
return rb.success().setData(sysMenuRoleDataVos);
|
||||
}
|
||||
|
||||
public ResultBean updateDataByRoleMenu(List<SysMenuRoleDataDto> dtos) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
for (SysMenuRoleDataDto dto : dtos) {
|
||||
if (StringUtils.isNotBlank(dto.getDataRuleId())){
|
||||
baseMapper.updateDataByRoleMenu(dto.getSid(),dto.getDataRuleId());
|
||||
}
|
||||
}
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
public ResultBean updateDataByRoleMenuApp(List<SysMenuRoleDataDto> dtos) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
for (SysMenuRoleDataDto dto : dtos) {
|
||||
if (StringUtils.isNotBlank(dto.getDataRuleId())){
|
||||
baseMapper.updateDataByRoleMenuApp(dto.getSid(),dto.getDataRuleId());
|
||||
}
|
||||
}
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
///----获平台角色s的某个资源的菜单树形列表(内存操作) 开始----
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
package com.yxt.portal.biz.sysmenurole;
|
||||
|
||||
|
||||
import com.yxt.common.core.vo.Vo;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysMenuRoleVo.java <br/>
|
||||
* Class: com.yxt.anrui.portal.api.sysmenurole.SysMenuRoleVo <br/>
|
||||
* Description: 菜单与角色关联表 视图数据对象. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:28 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@ApiModel(value = "菜单与角色关联表 视图数据对象", description = "菜单与角色关联表 视图数据对象")
|
||||
@Data
|
||||
public class SysMenuRoleVo implements Vo {
|
||||
|
||||
|
||||
@ApiModelProperty("菜单sid")
|
||||
private String menuSid;
|
||||
|
||||
@ApiModelProperty("角色sid")
|
||||
private String roleSid;
|
||||
@ApiModelProperty("菜单父级sid")
|
||||
private String pSid;
|
||||
@ApiModelProperty("menusid")
|
||||
private String sid;
|
||||
@ApiModelProperty("menuUrl")
|
||||
private String menuUrl;
|
||||
@ApiModelProperty("menuName")
|
||||
private String menuName;
|
||||
@ApiModelProperty("pageUrl")
|
||||
private String pageUrl;
|
||||
@ApiModelProperty("iconUrl")
|
||||
private String iconUrl;
|
||||
@ApiModelProperty("isShow")
|
||||
private String isShow;
|
||||
@ApiModelProperty("alwaysShow")
|
||||
private Integer alwaysShow;
|
||||
@ApiModelProperty("pageUrlRedirect")
|
||||
private String pageUrlRedirect;
|
||||
@ApiModelProperty("pageAliasName")
|
||||
private String pageAliasName;
|
||||
@ApiModelProperty("pageName")
|
||||
private String pageName;
|
||||
@ApiModelProperty("remarks")
|
||||
private String remarks;
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.yxt.portal.biz.sysorganization;
|
||||
|
||||
import com.yxt.common.core.vo.Vo;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @Description
|
||||
* @Author liuguohui
|
||||
* @Date 2021/9/24
|
||||
*/
|
||||
@ApiModel(value = "App通讯录组织架构")
|
||||
@Data
|
||||
public class AppContactSysOrganizationVo implements Vo {
|
||||
|
||||
@ApiModelProperty("部门/组织sid")
|
||||
private String sid;
|
||||
|
||||
@ApiModelProperty("部门/组织名称|员工姓名")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty("员工数量")
|
||||
private int staffNum;
|
||||
|
||||
@ApiModelProperty("跳转类型:1、部门2、员工列表")
|
||||
private Integer type;
|
||||
|
||||
@ApiModelProperty("员工电话")
|
||||
private String mobile;
|
||||
|
||||
@ApiModelProperty("员工头像")
|
||||
private String headImage;
|
||||
|
||||
@ApiModelProperty("员工所在部门名称(路径)")
|
||||
private String orgNamePath;
|
||||
|
||||
@ApiModelProperty("员工职位")
|
||||
private String position;
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.yxt.portal.biz.sysorganization;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author dimengzhe
|
||||
* @date 2020/11/3 16:19
|
||||
* @description
|
||||
*/
|
||||
@Data
|
||||
public class QrCodeVo {
|
||||
@ApiModelProperty("部门名称")
|
||||
private String departmentName;
|
||||
@ApiModelProperty("单位名称")
|
||||
private String organizationName;
|
||||
@ApiModelProperty("部门地址")
|
||||
private String address;
|
||||
@ApiModelProperty("二维码图片地址")
|
||||
private String qrFilePath;
|
||||
@ApiModelProperty(value = "部门sid")
|
||||
private String sid;
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package com.yxt.portal.biz.sysorganization;
|
||||
|
||||
import com.yxt.common.core.vo.Vo;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author dimengzhe
|
||||
* @Date 2022/2/14 11:45
|
||||
* @Description 员工所在部门下拉列表
|
||||
*/
|
||||
@Data
|
||||
public class SysOrgListVo implements Vo {
|
||||
private static final long serialVersionUID = -3558876605554852892L;
|
||||
|
||||
@ApiModelProperty(value = "组织名称")
|
||||
private String name;
|
||||
@ApiModelProperty(value = "部门编码")
|
||||
private String orgCode;
|
||||
@ApiModelProperty(value = "sid")
|
||||
private String sid;
|
||||
@ApiModelProperty(value = "上级sid")
|
||||
private String psid;
|
||||
@ApiModelProperty(value = "orgSidPath")
|
||||
private String orgSidPath;
|
||||
private List<SysOrgVo> children;
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.yxt.portal.biz.sysorganization;
|
||||
|
||||
import com.yxt.common.core.vo.Vo;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @Author dimengzhe
|
||||
* @Date 2022/9/26 11:48
|
||||
* @Description
|
||||
*/
|
||||
@Data
|
||||
public class SysOrgStaffVo implements Vo {
|
||||
private static final long serialVersionUID = -4311553944345419092L;
|
||||
|
||||
private String staffName;
|
||||
private String staffSid;
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
package com.yxt.portal.biz.sysorganization;
|
||||
|
||||
import com.yxt.common.core.vo.Vo;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author dimengzhe
|
||||
* @date 2021/10/12 20:55
|
||||
* @description
|
||||
*/
|
||||
@Data
|
||||
public class SysOrgVo implements Vo {
|
||||
private static final long serialVersionUID = 2983637708030419942L;
|
||||
@ApiModelProperty(value = "组织名称")
|
||||
private String name;
|
||||
@ApiModelProperty(value = "sid")
|
||||
private String sid;
|
||||
@ApiModelProperty(value = "psid")
|
||||
private String psid;
|
||||
@ApiModelProperty(value = "id")
|
||||
private String id;
|
||||
@ApiModelProperty(value = "orgSidPath")
|
||||
private String orgSidPath;
|
||||
@ApiModelProperty(value = "部门编码")
|
||||
private String orgCode;
|
||||
|
||||
private List<SysOrgVo> children;
|
||||
}
|
||||
@@ -0,0 +1,87 @@
|
||||
package com.yxt.portal.biz.sysorganization;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.yxt.common.core.domain.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysOrganization.java <br/>
|
||||
* Class: SysOrganization <br/>
|
||||
* Description: 组织机构表. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:28 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@ApiModel(value = "组织机构表", description = "组织机构表")
|
||||
@TableName("sys_organization")
|
||||
@Data
|
||||
public class SysOrganization extends BaseEntity {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
@ApiModelProperty("部门/组织名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty("父(部门/组织) sid")
|
||||
private String psid;
|
||||
|
||||
@ApiModelProperty("联系电话")
|
||||
private String linkPhone;
|
||||
@ApiModelProperty("联系人")
|
||||
private String linkPerson;
|
||||
|
||||
@ApiModelProperty("部门sid全路径")
|
||||
private String orgSidPath;
|
||||
|
||||
@ApiModelProperty("排序")
|
||||
private Integer sort;
|
||||
|
||||
@ApiModelProperty("地址")
|
||||
private String addrs;
|
||||
|
||||
@ApiModelProperty("地理位置经纬度")
|
||||
private String jwd;
|
||||
|
||||
@ApiModelProperty("二维码")
|
||||
private String qrText;
|
||||
|
||||
@ApiModelProperty("限制本部门成员查看通讯录:限制开启后,本部门成员只能看到限定范围内的通讯录不能看到所有通讯录,仅可见自己")
|
||||
private Integer limitOrgMember;
|
||||
|
||||
@ApiModelProperty("部门编码")
|
||||
private String orgCode;
|
||||
|
||||
// @ApiModelProperty("部门简称(地区简称+门店名称首字母(遇到首字母重复时用2个字母))")
|
||||
// private String orgShortName;
|
||||
|
||||
@ApiModelProperty("销售区域划分(本店终端销售:0,门店对应业务区域划分销售:1至9,具体编号划分各门店报备确定)")
|
||||
private String regionDivision;
|
||||
|
||||
@ApiModelProperty("是否是部门(0否,1是)")
|
||||
private Integer isDept;
|
||||
|
||||
@ApiModelProperty("组织简称")
|
||||
private String orgAbbre;
|
||||
|
||||
@ApiModelProperty("组织属性key")
|
||||
private String orgAttributeKey;
|
||||
|
||||
@ApiModelProperty("组织属性value")
|
||||
private String orgAttributeValue;
|
||||
|
||||
@ApiModelProperty("管理层级key")
|
||||
private String orgLevelKey;
|
||||
|
||||
@ApiModelProperty("管理层级value")
|
||||
private String orgLevelValue;
|
||||
|
||||
@ApiModelProperty("其他编码")
|
||||
private String otherCode;
|
||||
}
|
||||
@@ -0,0 +1,91 @@
|
||||
package com.yxt.portal.biz.sysorganization;
|
||||
|
||||
|
||||
import com.yxt.common.core.dto.Dto;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysOrganizationDto.java <br/>
|
||||
* Class: SysOrganizationDto <br/>
|
||||
* Description: 组织机构表 数据传输对象. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:28 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@ApiModel(value = "组织机构表 数据传输对象", description = "组织机构表 数据传输对象")
|
||||
@Data
|
||||
public class SysOrganizationDto implements Dto {
|
||||
|
||||
|
||||
@ApiModelProperty("部门/组织名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty("父(部门/组织) sid")
|
||||
private String psid;
|
||||
|
||||
@ApiModelProperty("联系电话")
|
||||
private String linkPhone;
|
||||
@ApiModelProperty("联系人")
|
||||
private String linkPerson;
|
||||
|
||||
@ApiModelProperty("部门sid全路径")
|
||||
private String orgSidPath;
|
||||
|
||||
@ApiModelProperty("排序")
|
||||
private Integer sort;
|
||||
|
||||
@ApiModelProperty("地址")
|
||||
private String addrs;
|
||||
|
||||
@ApiModelProperty("地理位置经纬度")
|
||||
private String jwd;
|
||||
|
||||
@ApiModelProperty("二维码")
|
||||
private String qrText;
|
||||
|
||||
@ApiModelProperty("限制本部门成员查看通讯录:限制开启后,本部门成员只能看到限定范围内的通讯录不能看到所有通讯录,仅可见自己")
|
||||
private Integer limitOrgMember;
|
||||
|
||||
@ApiModelProperty("部门编码")
|
||||
private String orgCode;
|
||||
|
||||
@ApiModelProperty("部门简称(地区简称+门店名称首字母(遇到首字母重复时用2个字母))")
|
||||
private String orgShortName;
|
||||
|
||||
@ApiModelProperty("销售区域划分(本店终端销售:0,门店对应业务区域划分销售:1至9,具体编号划分各门店报备确定)")
|
||||
private String regionDivision;
|
||||
|
||||
@ApiModelProperty("主管人员sid")
|
||||
private String zgStaffSid;
|
||||
|
||||
@ApiModelProperty("分管人员sid")
|
||||
private String fgStaffSid;
|
||||
|
||||
@ApiModelProperty("组织简称")
|
||||
private String orgAbbre;
|
||||
|
||||
@ApiModelProperty("是否是部门(0否,1是)")
|
||||
private Integer isDept;
|
||||
|
||||
@ApiModelProperty("组织属性key")
|
||||
private String orgAttributeKey;
|
||||
|
||||
@ApiModelProperty("组织属性value")
|
||||
private String orgAttributeValue;
|
||||
|
||||
@ApiModelProperty("管理层级key")
|
||||
private String orgLevelKey;
|
||||
|
||||
@ApiModelProperty("管理层级value")
|
||||
private String orgLevelValue;
|
||||
|
||||
@ApiModelProperty("其他编码")
|
||||
private String otherCode;
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.yxt.portal.biz.sysorganization;
|
||||
|
||||
import com.yxt.common.core.query.Query;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @Author dimengzhe
|
||||
* @Date 2022/9/26 11:49
|
||||
* @Description
|
||||
*/
|
||||
@Data
|
||||
public class SysOrganizationListQuery implements Query {
|
||||
private static final long serialVersionUID = 8657016527420117948L;
|
||||
|
||||
private String userSid;
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.yxt.portal.biz.sysorganization;
|
||||
|
||||
import com.yxt.common.core.vo.Vo;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author dimengzhe
|
||||
* @Date 2022/9/26 11:42
|
||||
* @Description
|
||||
*/
|
||||
@Data
|
||||
public class SysOrganizationListVo implements Vo {
|
||||
private static final long serialVersionUID = -3709239161608411765L;
|
||||
|
||||
private String orgDeptSid;
|
||||
private String orgDeptName;
|
||||
|
||||
private List<SysOrgStaffVo> staffinfoVoList;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.yxt.portal.biz.sysorganization;
|
||||
|
||||
import com.yxt.common.core.vo.Vo;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @Author dimengzhe
|
||||
* @Date 2022/9/30 11:28
|
||||
* @Description
|
||||
*/
|
||||
@Data
|
||||
public class SysOrganizationListsVo implements Vo {
|
||||
private static final long serialVersionUID = -7021974833444298712L;
|
||||
|
||||
private String orgDeptSid;
|
||||
private String orgDeptName;
|
||||
}
|
||||
@@ -0,0 +1,122 @@
|
||||
package com.yxt.portal.biz.sysorganization;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.yxt.portal.biz.sysstafforg.SysStaffOrgVo;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysOrganizationMapper.java <br/>
|
||||
* Class: SysOrganizationMapper <br/>
|
||||
* Description: 组织机构表. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:28 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface SysOrganizationMapper extends BaseMapper<SysOrganization> {
|
||||
|
||||
//@Update("update sys_organization set name=#{msg} where id=#{id}")
|
||||
//IPage<SysOrganizationVo> voPage(IPage<SysOrganization> page, @Param(Constants.WRAPPER) QueryWrapper<SysOrganization> qw);
|
||||
|
||||
IPage<SysOrganizationVo> selectPageVo(IPage<SysOrganization> page, @Param(Constants.WRAPPER) Wrapper<SysOrganization> qw);
|
||||
|
||||
List<SysOrganizationVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<SysOrganization> qw);
|
||||
|
||||
List<SysOrganizationVo> selectFirstOrgList();
|
||||
|
||||
List<SysOrganizationVo> selectChildrenListByPsid(@Param("psid") String psid);
|
||||
|
||||
@Select("SELECT * FROM sys_organization")
|
||||
List<SysOrganizationVo> selectListVo();
|
||||
|
||||
@Select("SELECT name FROM sys_organization WHERE sid=#{sid}")
|
||||
String selectOrgnameBySid(@Param("sid") String sid);
|
||||
|
||||
String selectOrgSidPath(@Param("sid") String sid);
|
||||
|
||||
List<AppContactSysOrganizationVo> selectAppOrganization();
|
||||
|
||||
List<AppContactSysOrganizationVo> selectAppOrganizationByPsid(@Param("psid") String psid);
|
||||
|
||||
List<SysOrgVo> treeList(String psid);
|
||||
|
||||
SysOrganization selectOrgCode();
|
||||
|
||||
List<SysOrgVo> getListOrg();
|
||||
|
||||
SysOrganization selectOrgCodeByPsid();
|
||||
|
||||
/**
|
||||
* 根据上级sid查询组织的部门
|
||||
*
|
||||
* @param psid 上级sid
|
||||
* @return
|
||||
*/
|
||||
List<SysOrgListVo> selectTreeList(String psid);
|
||||
|
||||
/**
|
||||
* 根据部门编码查询部门信息
|
||||
*
|
||||
* @param substring 部门编码
|
||||
* @return
|
||||
*/
|
||||
SysOrganization selectByOrgCode(String substring);
|
||||
|
||||
List<SysOrganizationVo> selectChildernList(String sid);
|
||||
|
||||
/**
|
||||
* 根据业务员sid获取到分公司
|
||||
*
|
||||
* @param staffSid 业务员sid
|
||||
* @return
|
||||
*/
|
||||
SysStaffOrgVo getUseOrgByUserSid(@Param("staffSid") String staffSid);
|
||||
|
||||
/**
|
||||
* 根据sid判断是否是分公司并获取公司名称
|
||||
*
|
||||
* @param sid
|
||||
* @return
|
||||
*/
|
||||
SysOrganizationVo getUseOrgBySid(@Param("sid")String sid);
|
||||
|
||||
int updateQrCodePath(@Param("sid") String sid, @Param("path") String path);
|
||||
|
||||
QrCodeVo getQrCodeVo(@Param("sid") String sid);
|
||||
|
||||
@Select("select * from sys_organization WHERE staffSid=#{sid}")
|
||||
SysOrganizationVo getUseOrgByStaffSid(String sid);
|
||||
|
||||
List<Map<String, String>> selectUseOrgSidBySid(String psid);
|
||||
|
||||
SysOrgVo getListOrgByBrand(String sid);
|
||||
|
||||
List<SysOrganizationListVo> selectOrgList(String orgSid);
|
||||
List<SysOrganizationListsVo> selectOrgLists(String orgSid);
|
||||
|
||||
List<SysOrgStaffVo> selectByOrgDeptSid(String orgDeptSid);
|
||||
|
||||
SysOrganizationVo selectByPSid(@Param("sid") String sid, @Param("name") String name);
|
||||
|
||||
List<SysOrganizationVo> selectOrgSidList();
|
||||
|
||||
@Select("select * from sys_organization where orgSidPath = #{orgSidPath}")
|
||||
SysOrganizationVo selectByOrgSidPath(String orgSidPath);
|
||||
|
||||
List<SysOrgVo> getListDeptByOrgSid(String orgSid);
|
||||
|
||||
List<SysOrganizationVo> selectOrgByPSid(String psid);
|
||||
}
|
||||
@@ -0,0 +1,220 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.yxt.portal.biz.sysorganization.SysOrganizationMapper">
|
||||
<!-- <where> ${ew.sqlSegment} </where>-->
|
||||
<!-- ${ew.customSqlSegment} -->
|
||||
<select id="selectPageVo" resultType="com.yxt.portal.biz.sysorganization.SysOrganizationVo">
|
||||
SELECT so.*,
|
||||
(SELECT GROUP_CONCAT(ss.name)
|
||||
FROM `sys_staff_org` sso
|
||||
LEFT JOIN `sys_staffinfo` ss ON sso.`staffSid` = ss.`sid`
|
||||
WHERE so.`sid` = sso.`orgSid`
|
||||
AND sso.manageType = '1') zgNames,
|
||||
(SELECT GROUP_CONCAT(ss.sid)
|
||||
FROM `sys_staff_org` sso
|
||||
LEFT JOIN `sys_staffinfo` ss ON sso.`staffSid` = ss.`sid`
|
||||
WHERE so.`sid` = sso.`orgSid`
|
||||
AND sso.manageType = '1') zgSids,
|
||||
(SELECT GROUP_CONCAT(ss.name)
|
||||
FROM `sys_staff_org` sso
|
||||
LEFT JOIN `sys_staffinfo` ss ON sso.`staffSid` = ss.`sid`
|
||||
WHERE so.`sid` = sso.`orgSid`
|
||||
AND sso.manageType = '2') fgNames,
|
||||
(SELECT GROUP_CONCAT(ss.sid)
|
||||
FROM `sys_staff_org` sso
|
||||
LEFT JOIN `sys_staffinfo` ss ON sso.`staffSid` = ss.`sid`
|
||||
WHERE so.`sid` = sso.`orgSid`
|
||||
AND sso.manageType = '2') fgSids
|
||||
FROM sys_organization so
|
||||
<where>
|
||||
${ew.sqlSegment}
|
||||
</where>
|
||||
GROUP BY so.`name`
|
||||
ORDER BY so.sort
|
||||
</select>
|
||||
|
||||
<select id="selectListAllVo" resultType="com.yxt.portal.biz.sysorganization.SysOrganizationVo">
|
||||
SELECT *
|
||||
FROM sys_organization
|
||||
<where>
|
||||
${ew.sqlSegment}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectFirstOrgList" resultType="com.yxt.portal.biz.sysorganization.SysOrganizationVo">
|
||||
SELECT sid, name, psid, orgCode
|
||||
FROM sys_organization
|
||||
WHERE psid = '0'
|
||||
</select>
|
||||
|
||||
<select id="selectChildrenListByPsid" resultType="com.yxt.portal.biz.sysorganization.SysOrganizationVo">
|
||||
SELECT sid, name, psid, orgCode
|
||||
FROM sys_organization
|
||||
WHERE psid = #{psid}
|
||||
ORDER BY sort ASC
|
||||
</select>
|
||||
|
||||
<select id="selectOrgSidPath" resultType="java.lang.String">
|
||||
SELECT orgSidPath
|
||||
FROM sys_organization WHERE 1 = 1
|
||||
<choose>
|
||||
<when test="sid != null and sid != ''">
|
||||
AND sid = #{sid,jdbcType=VARCHAR}
|
||||
</when>
|
||||
<otherwise>
|
||||
AND psid = '0'
|
||||
</otherwise>
|
||||
</choose>
|
||||
</select>
|
||||
|
||||
<select id="selectAppOrganization"
|
||||
resultType="com.yxt.portal.biz.sysorganization.AppContactSysOrganizationVo">
|
||||
SELECT sid,
|
||||
name,
|
||||
(SELECT count(1) FROM sys_staff_org WHERE orgSid = org.sid) staffNum,
|
||||
IF((SELECT count(1) FROM sys_organization WHERE psid = org.sid) = 0, '2', '1') type
|
||||
FROM sys_organization org
|
||||
WHERE org.psid = (SELECT sid FROM sys_organization WHERE psid = '0')
|
||||
</select>
|
||||
|
||||
<select id="selectAppOrganizationByPsid"
|
||||
resultType="com.yxt.portal.biz.sysorganization.AppContactSysOrganizationVo">
|
||||
SELECT org.sid,
|
||||
org.name,
|
||||
(SELECT count(1) FROM sys_staff_org WHERE orgSid = org.sid) staffNum,
|
||||
IF((SELECT count(1) FROM sys_organization WHERE psid = org.sid) = 0, '2', '1') type
|
||||
FROM sys_organization org
|
||||
WHERE org.psid = #{psid}
|
||||
</select>
|
||||
|
||||
<select id="treeList" resultType="com.yxt.portal.biz.sysorganization.SysOrgVo">
|
||||
SELECT so.name, so.psid, so.id, so.sid, so.orgSidPath, so.orgCode
|
||||
FROM sys_organization so
|
||||
WHERE psid = #{psid}
|
||||
</select>
|
||||
|
||||
<select id="selectOrgCode" resultType="com.yxt.portal.biz.sysorganization.SysOrganization">
|
||||
SELECT *
|
||||
FROM sys_organization
|
||||
WHERE psid = '0'
|
||||
</select>
|
||||
|
||||
<select id="getListOrg" resultType="com.yxt.portal.biz.sysorganization.SysOrgVo">
|
||||
SELECT so.name, so.psid, so.id, so.sid, so.orgSidPath
|
||||
FROM sys_organization so
|
||||
WHERE isDept = 0
|
||||
ORDER BY psid
|
||||
</select>
|
||||
|
||||
<select id="selectOrgCodeByPsid" resultType="com.yxt.portal.biz.sysorganization.SysOrganization">
|
||||
SELECT *
|
||||
FROM sys_organization
|
||||
LIMIT 0,1
|
||||
</select>
|
||||
|
||||
<select id="selectTreeList" resultType="com.yxt.portal.biz.sysorganization.SysOrgListVo">
|
||||
SELECT so.name, so.psid, so.sid, so.orgSidPath, so.orgCode
|
||||
FROM sys_organization so
|
||||
WHERE psid = #{psid}
|
||||
</select>
|
||||
<!--根据部门编码查询部门信息-->
|
||||
<select id="selectByOrgCode" resultType="com.yxt.portal.biz.sysorganization.SysOrganization">
|
||||
select *
|
||||
from sys_organization
|
||||
where orgCode = #{substring}
|
||||
</select>
|
||||
|
||||
<select id="selectChildernList" resultType="com.yxt.portal.biz.sysorganization.SysOrganizationVo">
|
||||
SELECT so.name, so.psid, so.sid, so.orgSidPath, so.orgCode
|
||||
FROM sys_organization so
|
||||
WHERE psid = #{psid}
|
||||
ORDER BY so.sort ASC
|
||||
</select>
|
||||
|
||||
<select id="getUseOrgByUserSid" resultType="com.yxt.portal.biz.sysstafforg.SysStaffOrgVo">
|
||||
select orgSidPath
|
||||
from sys_staff_org
|
||||
where staffSid = #{staffSid}
|
||||
</select>
|
||||
|
||||
<select id="getUseOrgBySid" resultType="com.yxt.portal.biz.sysorganization.SysOrganizationVo">
|
||||
SELECT so.name, so.psid, so.sid, so.orgSidPath, so.orgCode
|
||||
FROM sys_organization so
|
||||
WHERE sid = #{sid}
|
||||
And isDept = 0
|
||||
</select>
|
||||
|
||||
<update id="updateQrCodePath">
|
||||
UPDATE sys_organization
|
||||
SET qrText = #{path}
|
||||
WHERE sid = #{sid}
|
||||
</update>
|
||||
|
||||
<select id="getQrCodeVo" resultType="com.yxt.portal.biz.sysorganization.QrCodeVo">
|
||||
SELECT so.name departmentName, so.qrText qrFilePath, so.addrs address, so.sid
|
||||
FROM sys_organization so
|
||||
WHERE so.sid = #{sid}
|
||||
ORDER BY so.sort ASC
|
||||
</select>
|
||||
|
||||
<select id="selectUseOrgSidBySid" resultType="java.util.Map">
|
||||
SELECT sid,
|
||||
name
|
||||
FROM sys_organization
|
||||
WHERE psid = #{psid}
|
||||
AND isDelete = 0
|
||||
AND isDept = 0
|
||||
</select>
|
||||
|
||||
<select id="getListOrgByBrand" resultType="com.yxt.portal.biz.sysorganization.SysOrgVo">
|
||||
SELECT so.name, so.psid, so.id, so.sid, so.orgSidPath
|
||||
FROM sys_organization so
|
||||
WHERE isDept = 0
|
||||
AND so.sid = #{sid}
|
||||
ORDER BY psid
|
||||
</select>
|
||||
|
||||
<select id="selectOrgList" resultType="com.yxt.portal.biz.sysorganization.SysOrganizationListVo">
|
||||
select so.name orgDeptName, so.sid orgDeptSid
|
||||
from sys_organization so
|
||||
where so.psid = #{orgSid}
|
||||
and orgAttributeKey = 'DP03_SYS'
|
||||
</select>
|
||||
|
||||
<select id="selectOrgLists" resultType="com.yxt.portal.biz.sysorganization.SysOrganizationListsVo">
|
||||
select so.name orgDeptName, so.sid orgDeptSid
|
||||
from sys_organization so
|
||||
where so.psid = #{orgSid}
|
||||
</select>
|
||||
|
||||
<select id="selectByOrgDeptSid" resultType="com.yxt.portal.biz.sysorganization.SysOrgStaffVo">
|
||||
select distinct si.name staffName, si.sid staffSid
|
||||
from sys_staff_org so
|
||||
left join sys_staffinfo si on so.staffSid = si.sid
|
||||
where so.orgSid = #{orgDeptSid}
|
||||
</select>
|
||||
|
||||
<select id="selectByPSid" resultType="com.yxt.portal.biz.sysorganization.SysOrganizationVo">
|
||||
select *
|
||||
from sys_organization
|
||||
where psid = #{sid}
|
||||
and name = #{name}
|
||||
</select>
|
||||
|
||||
<select id="selectOrgSidList" resultType="com.yxt.portal.biz.sysorganization.SysOrganizationVo">
|
||||
select sid,name,orgCode from sys_organization so where so.isDept = 0
|
||||
</select>
|
||||
|
||||
<select id="getListDeptByOrgSid" resultType="com.yxt.portal.biz.sysorganization.SysOrgVo">
|
||||
SELECT so.name, so.psid, so.id, so.sid, so.orgSidPath
|
||||
FROM sys_organization so
|
||||
WHERE isDept = 1
|
||||
AND so.psid = #{orgSid}
|
||||
</select>
|
||||
|
||||
<select id="selectOrgByPSid" resultType="com.yxt.portal.biz.sysorganization.SysOrganizationVo">
|
||||
SELECT so.name, so.psid, so.id, so.sid, so.orgSidPath
|
||||
FROM sys_organization so
|
||||
WHERE isDept = 0 AND so.psid = #{psid}
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,58 @@
|
||||
package com.yxt.portal.biz.sysorganization;
|
||||
|
||||
|
||||
import com.yxt.common.core.query.Query;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysOrganizationQuery.java <br/>
|
||||
* Class: SysOrganizationQuery <br/>
|
||||
* Description: 组织机构表 查询条件. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:28 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@ApiModel(value = "组织机构表 查询条件", description = "组织机构表 查询条件")
|
||||
@Data
|
||||
public class SysOrganizationQuery implements Query {
|
||||
|
||||
|
||||
@ApiModelProperty("部门/组织名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty("父(部门/组织) sid")
|
||||
private String psid;
|
||||
|
||||
@ApiModelProperty("联系电话")
|
||||
private String linkPhone;
|
||||
@ApiModelProperty("联系人")
|
||||
private String linkPerson;
|
||||
|
||||
@ApiModelProperty("部门sid全路径")
|
||||
private String orgSidPath;
|
||||
|
||||
@ApiModelProperty("排序")
|
||||
private Integer sort;
|
||||
|
||||
@ApiModelProperty("地址")
|
||||
private String addrs;
|
||||
|
||||
@ApiModelProperty("地理位置经纬度")
|
||||
private String jwd;
|
||||
|
||||
@ApiModelProperty("二维码")
|
||||
private String qrText;
|
||||
|
||||
@ApiModelProperty("限制本部门成员查看通讯录:限制开启后,本部门成员只能看到限定范围内的通讯录不能看到所有通讯录,仅可见自己")
|
||||
private Integer limitOrgMember;
|
||||
|
||||
@ApiModelProperty("部门编码")
|
||||
private String orgCode;
|
||||
}
|
||||
@@ -0,0 +1,521 @@
|
||||
package com.yxt.portal.biz.sysorganization;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.config.RedisUtil;
|
||||
import com.yxt.common.base.config.component.FileUploadComponent;
|
||||
import com.yxt.common.base.service.MybatisBaseService;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.portal.biz.sysstaffinfo.SysStaffinfo;
|
||||
import com.yxt.portal.biz.sysstaffinfo.SysStaffinfoService;
|
||||
import com.yxt.portal.biz.sysstafforg.SysStaffOrg;
|
||||
import com.yxt.portal.biz.sysstafforg.SysStaffOrgService;
|
||||
import com.yxt.portal.biz.sysstafforg.SysStaffOrgVo;
|
||||
import com.yxt.portal.biz.sysuser.SysUserService;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
import static java.util.stream.Collectors.toList;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysOrganizationService.java <br/>
|
||||
* Class: SysOrganizationService <br/>
|
||||
* Description: 组织机构表 业务逻辑. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:28 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Service
|
||||
public class SysOrganizationService extends MybatisBaseService<SysOrganizationMapper, SysOrganization> {
|
||||
@Autowired
|
||||
private SysStaffOrgService sysStaffOrgService;
|
||||
@Autowired
|
||||
private SysUserService sysUserService;
|
||||
@Autowired
|
||||
private FileUploadComponent fileUploadComponent;
|
||||
@Autowired
|
||||
private SysStaffinfoService sysStaffInfoService;
|
||||
@Autowired
|
||||
private RedisUtil redisUtil;
|
||||
|
||||
public ResultBean saveOrg(SysOrganizationDto dto){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
SysOrganization entity = new SysOrganization();
|
||||
dto.fillEntity(entity);
|
||||
String psid = dto.getPsid();
|
||||
if (psid.equals("0")){
|
||||
entity.setOrgSidPath(entity.getSid());
|
||||
entity.setSort(1);
|
||||
}else {
|
||||
SysOrganization sysOrganization = fetchBySid(psid);
|
||||
entity.setOrgSidPath(sysOrganization.getOrgSidPath()+"/"+entity.getSid());
|
||||
String[] split = sysOrganization.getOrgSidPath().split("/");
|
||||
entity.setSort(split.length+1);
|
||||
}
|
||||
this.saveOrUpdate(entity);
|
||||
return rb.success().setMsg("添加成功");
|
||||
}
|
||||
|
||||
public PagerVo<SysOrganization> listPage(PagerQuery<SysOrganizationQuery> pq) {
|
||||
SysOrganizationQuery query = pq.getParams();
|
||||
QueryWrapper<SysOrganization> qw = createQueryWrapper(query);
|
||||
IPage<SysOrganization> page = PagerUtil.queryToPage(pq);
|
||||
IPage<SysOrganization> pagging = baseMapper.selectPage(page, qw);
|
||||
PagerVo<SysOrganization> p = PagerUtil.pageToVo(pagging, null);
|
||||
return p;
|
||||
}
|
||||
|
||||
public List<SysOrganization> listAll(SysOrganizationQuery query) {
|
||||
QueryWrapper<SysOrganization> qw = createQueryWrapper(query);
|
||||
return baseMapper.selectList(qw);
|
||||
}
|
||||
|
||||
private QueryWrapper<SysOrganization> createQueryWrapper(SysOrganizationQuery query) {
|
||||
// todo: 这里根据具体业务调整查询条件
|
||||
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
|
||||
QueryWrapper<SysOrganization> qw = new QueryWrapper<>();
|
||||
|
||||
|
||||
if (StringUtils.isNotBlank(query.getName())) {
|
||||
qw.eq("name", query.getName());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getPsid())) {
|
||||
qw.eq("psid", query.getPsid());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getLinkPhone())) {
|
||||
qw.eq("linkPhone", query.getLinkPhone());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getOrgSidPath())) {
|
||||
qw.eq("orgSidPath", query.getOrgSidPath());
|
||||
}
|
||||
|
||||
if (query.getSort() != null) {
|
||||
qw.eq("sort", query.getSort());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getAddrs())) {
|
||||
qw.eq("addrs", query.getAddrs());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getJwd())) {
|
||||
qw.eq("jwd", query.getJwd());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getQrText())) {
|
||||
qw.eq("qrText", query.getQrText());
|
||||
}
|
||||
|
||||
if (query.getLimitOrgMember() != null) {
|
||||
qw.eq("limitOrgMember", query.getLimitOrgMember());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getOrgCode())) {
|
||||
qw.eq("orgCode", query.getOrgCode());
|
||||
}
|
||||
return qw;
|
||||
}
|
||||
|
||||
public PagerVo<SysOrganizationVo> listPageVo(PagerQuery<SysOrganizationQuery> pq) {
|
||||
SysOrganizationQuery query = pq.getParams();
|
||||
QueryWrapper<SysOrganization> qw = createQueryWrapper(query);
|
||||
IPage<SysOrganization> page = PagerUtil.queryToPage(pq);
|
||||
IPage<SysOrganizationVo> pagging = baseMapper.selectPageVo(page, qw);
|
||||
PagerVo<SysOrganizationVo> p = PagerUtil.pageToVo(pagging, null);
|
||||
return p;
|
||||
}
|
||||
|
||||
public List<SysOrganizationVo> listAllVo(SysOrganizationQuery query) {
|
||||
QueryWrapper<SysOrganization> qw = createQueryWrapper(query);
|
||||
return baseMapper.selectListAllVo(qw);
|
||||
}
|
||||
|
||||
public List<SysOrganizationVo> listVo() {
|
||||
List<SysOrganizationVo> sysOrganizations = baseMapper.selectFirstOrgList();
|
||||
getChildList(sysOrganizations);
|
||||
return sysOrganizations;
|
||||
}
|
||||
|
||||
|
||||
public void getChildList(List<SysOrganizationVo> list) {
|
||||
list.forEach(str -> {
|
||||
String sid = str.getSid();
|
||||
List<SysOrganizationVo> listChildren = baseMapper.selectChildernList(sid);
|
||||
str.setChildren(listChildren);
|
||||
getChildList(listChildren);
|
||||
});
|
||||
}
|
||||
|
||||
public List<SysOrganizationVo> selectFirstOrgList() {
|
||||
return baseMapper.selectFirstOrgList();
|
||||
}
|
||||
|
||||
public List<SysOrganizationVo> selectChildrenListBySid(String sid) {
|
||||
return baseMapper.selectChildrenListByPsid(sid);
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public ResultBean addSysStaffOrg(String sids, String manageType, SysOrganization entity) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
String[] sidArr = sids.split(",");
|
||||
String name = "";
|
||||
for (String sid : sidArr) {
|
||||
//查询组织关系中是否已经包含分管的人员
|
||||
if ("1".equals(manageType)) {
|
||||
//查询是否有员工信息,如果有的话,删除关联关系
|
||||
sysStaffOrgService.deleteByStaffSidAndType(entity.getOrgSidPath(), sid, "3");
|
||||
} else {
|
||||
int count = sysStaffOrgService.selectByStaffAndOrg(entity.getOrgSidPath(), sid, "3");
|
||||
SysStaffinfo sysStaffinfo = sysStaffInfoService.fetchBySid(sid);
|
||||
if (count > 0) {
|
||||
return rb.setMsg(sysStaffinfo.getName() + "已在本部门,不能设置分管");
|
||||
}
|
||||
|
||||
}
|
||||
//查询该人员的组织机构list
|
||||
List<SysStaffOrgVo> sysStaffOrgVos = sysStaffOrgService.selectByStaffS(sid);
|
||||
List<String> orgList = new ArrayList<>();
|
||||
if (sysStaffOrgVos.size() > 0) {
|
||||
for (SysStaffOrgVo vv : sysStaffOrgVos) {
|
||||
String orgSid = sysStaffOrgService.getOrgByOrgSid(vv.getOrgSid());
|
||||
SysOrganization sysOrganization = fetchBySid(orgSid);
|
||||
if (sysOrganization != null) {
|
||||
orgList.add(orgSid);
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
//添加员工与组织的关联关系
|
||||
SysStaffOrg sysStaffOrg = new SysStaffOrg();
|
||||
sysStaffOrg.setManageType(manageType);
|
||||
sysStaffOrg.setOrgSid(entity.getSid());
|
||||
sysStaffOrg.setOrgName(entity.getName());
|
||||
sysStaffOrg.setStaffSid(sid);
|
||||
String orgSidPath = entity.getOrgSidPath();
|
||||
// if (StringUtils.isNotBlank(orgSidPath)) {
|
||||
// sysStaffOrg.setOrgSidPath(orgSidPath);
|
||||
// } else {
|
||||
// sysStaffOrg.setOrgSidPath(entity.getSid());
|
||||
// }
|
||||
String psid = entity.getPsid();
|
||||
if (StringUtils.isNotBlank(psid)) {
|
||||
SysOrganization sysOrganization = this.fetchBySid(psid);
|
||||
// if (sysOrganization != null) {
|
||||
// sysStaffOrg.setOrgNamePath(sysOrganization.getName() + "/" + entity.getName());
|
||||
// } else {
|
||||
// sysStaffOrg.setOrgNamePath(entity.getName());
|
||||
// }
|
||||
}
|
||||
sysStaffOrgService.save(sysStaffOrg);
|
||||
//==========================添加清空变化的用户的token
|
||||
List<SysStaffOrgVo> sysStaffOrgVos1 = sysStaffOrgService.selectByStaffS(sid);
|
||||
List<String> orgList1 = new ArrayList<>();
|
||||
if (sysStaffOrgVos1.size() > 0) {
|
||||
for (SysStaffOrgVo vv : sysStaffOrgVos1) {
|
||||
String orgSid = sysStaffOrgService.getOrgByOrgSid(vv.getOrgSid());
|
||||
SysOrganization sysOrganization = fetchBySid(orgSid);
|
||||
if (sysOrganization != null) {
|
||||
orgList1.add(orgSid);
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
List<String> reduce1 = orgList1.stream().filter(item -> !orgList.contains(item)).collect(toList());
|
||||
if (reduce1.size() > 0) {
|
||||
//根据staffSid查询token
|
||||
String token = sysUserService.selectByStaffsid(sid).getToken();
|
||||
if (StringUtils.isNotBlank(token)) {
|
||||
//清空该token
|
||||
redisUtil.remove(token);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
return rb.success();
|
||||
}
|
||||
|
||||
public void saveOrUpdateDto(SysOrganizationDto dto) {
|
||||
SysOrganization entity = new SysOrganization();
|
||||
dto.fillEntity(entity);
|
||||
//主管人员sid
|
||||
String zgStaffSid = dto.getZgStaffSid();
|
||||
//分管人员sid
|
||||
String fgStaffSid = dto.getFgStaffSid();
|
||||
String psid = dto.getPsid();
|
||||
SysOrganization sysOrganization = this.fetchBySid(psid);
|
||||
|
||||
if (StringUtils.isNotBlank(zgStaffSid)) {
|
||||
this.addSysStaffOrg(zgStaffSid, "1", entity);
|
||||
}
|
||||
if (StringUtils.isNotBlank(fgStaffSid)) {
|
||||
this.addSysStaffOrg(fgStaffSid, "2", entity);
|
||||
}
|
||||
entity.setOrgSidPath(sysOrganization.getOrgSidPath() + "/" + entity.getSid());
|
||||
this.saveOrUpdate(entity);
|
||||
}
|
||||
|
||||
public SysOrganizationVo fetchByIdVo(String id) {
|
||||
SysOrganization entity = this.fetchById(id);
|
||||
SysOrganizationVo vo = new SysOrganizationVo();
|
||||
BeanUtil.copyProperties(entity, vo);
|
||||
return vo;
|
||||
}
|
||||
|
||||
public String selectOrgnameBySid(String sid) {
|
||||
return baseMapper.selectOrgnameBySid(sid);
|
||||
}
|
||||
|
||||
public List<Map<String, Object>> selectOrgNameList(String sid) {
|
||||
String orgSidPath = baseMapper.selectOrgSidPath(sid);
|
||||
String[] orgSidPathArr = orgSidPath.split("/");
|
||||
List<Map<String, Object>> nameList = new ArrayList<>();
|
||||
for (int i = 0; i < orgSidPathArr.length; i++) {
|
||||
Map<String, Object> m = new HashMap<>();
|
||||
m.put("sid", orgSidPathArr[i]);
|
||||
m.put("name", selectOrgnameBySid(orgSidPathArr[i]));
|
||||
nameList.add(m);
|
||||
}
|
||||
return nameList;
|
||||
}
|
||||
|
||||
public List<AppContactSysOrganizationVo> selectAppOrganization() {
|
||||
List<AppContactSysOrganizationVo> list = baseMapper.selectAppOrganization();
|
||||
list.stream().forEach(vo -> {
|
||||
if (StringUtils.isNotBlank(vo.getHeadImage())) {
|
||||
vo.setHeadImage(fileUploadComponent.getUrlPrefix() + vo.getHeadImage());
|
||||
}
|
||||
});
|
||||
return list;
|
||||
}
|
||||
|
||||
public List<AppContactSysOrganizationVo> selectAppOrganizationSub(String psid) {
|
||||
List<AppContactSysOrganizationVo> list = baseMapper.selectAppOrganizationByPsid(psid);
|
||||
list.stream().forEach(vo -> {
|
||||
if (StringUtils.isNotBlank(vo.getHeadImage())) {
|
||||
vo.setHeadImage(fileUploadComponent.getUrlPrefix() + vo.getHeadImage());
|
||||
}
|
||||
});
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param
|
||||
* @description: 获取组织架构即使用组织下拉框
|
||||
* @return:
|
||||
* @Author: dimengzhe
|
||||
* @Date: 2021/10/12 21:47
|
||||
*/
|
||||
public List<SysOrgVo> treeList() {
|
||||
String psid = "0";
|
||||
List<SysOrgVo> list = baseMapper.treeList(psid);
|
||||
getChildOrgList(list);
|
||||
return list;
|
||||
}
|
||||
|
||||
public void getChildOrgList(List<SysOrgVo> list) {
|
||||
list.forEach(menuTree -> {
|
||||
String sid = menuTree.getSid();
|
||||
List<SysOrgVo> listChildren = baseMapper.treeList(sid);
|
||||
menuTree.setChildren(listChildren);
|
||||
if (Arrays.asList(menuTree.getOrgSidPath().split("/")).size() <= 2) {
|
||||
getChildOrgList(listChildren);
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* @param
|
||||
* @description: 查询部门编码
|
||||
* @return:
|
||||
* @Author: dimengzhe
|
||||
* @Date: 2021/10/18 15:49
|
||||
*/
|
||||
public SysOrganization selectOrgCode() {
|
||||
return baseMapper.selectOrgCode();
|
||||
}
|
||||
|
||||
public List<SysOrgVo> getListOrg() {
|
||||
List<SysOrgVo> list = baseMapper.getListOrg();
|
||||
return list;
|
||||
}
|
||||
|
||||
public SysOrganization selectOrgCodeByPsid() {
|
||||
return baseMapper.selectOrgCodeByPsid();
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询所有部门列表
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public List<SysOrgListVo> selectTreeList() {
|
||||
String psid = "0";
|
||||
List<SysOrgListVo> list = baseMapper.selectTreeList(psid);
|
||||
getChildOrgListOne(list);
|
||||
return list;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询组织子集
|
||||
*
|
||||
* @param list
|
||||
*/
|
||||
public void getChildOrgListOne(List<SysOrgListVo> list) {
|
||||
list.forEach(menuTree -> {
|
||||
String sid = menuTree.getSid();
|
||||
List<SysOrgVo> listChildren = baseMapper.treeList(sid);
|
||||
menuTree.setChildren(listChildren);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据部门编码查询部门信息
|
||||
*
|
||||
* @param substring 部门编码
|
||||
* @return
|
||||
*/
|
||||
public SysOrganization selectByOrgCode(String substring) {
|
||||
return baseMapper.selectByOrgCode(substring);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据业务员sid获取到分公司
|
||||
*
|
||||
* @param userSid 业务员sid
|
||||
* @return
|
||||
*/
|
||||
public SysOrganizationVo getUseOrgByUserSid(String userSid) {
|
||||
// String staffSid = sysUserService.getUserOrgInfoByUserSid(userSid).getStaffSid();
|
||||
// SysStaffOrgVo sysOrgVo = baseMapper.getUseOrgByUserSid(staffSid);
|
||||
// String orgSidPath = sysOrgVo.getOrgSidPath();
|
||||
// SysOrganizationVo vo = getUseOrgBySid(orgSidPath);
|
||||
return new SysOrganizationVo();
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据sid判断是否是分公司并获取公司名称
|
||||
*
|
||||
* @param orgSidPath
|
||||
* @return
|
||||
*/
|
||||
public SysOrganizationVo getUseOrgBySid(String orgSidPath) {
|
||||
String[] split = orgSidPath.split("/");
|
||||
for (int i = 0; i < split.length; i++) {
|
||||
SysOrganizationVo sysOrganizationVo = baseMapper.getUseOrgBySid(split[i]);
|
||||
if (sysOrganizationVo != null) {
|
||||
return sysOrganizationVo;
|
||||
}
|
||||
}
|
||||
SysOrganization sysOrganization = fetchBySid(split[0]);// 总公司为所在公司
|
||||
SysOrganizationVo sysOrganizationVo = new SysOrganizationVo();
|
||||
BeanUtil.copyProperties(sysOrganization, sysOrganizationVo);
|
||||
return sysOrganizationVo;
|
||||
}
|
||||
|
||||
public int updateQrCodePath(String sid, String path) {
|
||||
return baseMapper.updateQrCodePath(sid, path);
|
||||
}
|
||||
|
||||
public QrCodeVo getQrCodeVo(String sid) {
|
||||
return baseMapper.getQrCodeVo(sid);
|
||||
}
|
||||
|
||||
public List<Map<String, String>> selectUseOrgSidBySid(String sid) {
|
||||
SysOrganization sysOrganization = fetchBySid(sid);
|
||||
String psid = sysOrganization.getPsid();
|
||||
return baseMapper.selectUseOrgSidBySid(psid);
|
||||
}
|
||||
|
||||
public String getOrgSid(String sid) {
|
||||
SysOrganization sysOrganization = fetchBySid(sid);
|
||||
String orgSid = "";
|
||||
if ("0".equals(sysOrganization.getPsid())) {//总公司
|
||||
orgSid = sysOrganization.getSid();
|
||||
return orgSid;
|
||||
}
|
||||
if (sysOrganization.getIsDept() == 0) {//是独立法人的
|
||||
return sysOrganization.getSid();
|
||||
}
|
||||
sid = sysOrganization.getPsid();
|
||||
return getOrgSid(sid);
|
||||
}
|
||||
|
||||
public ResultBean<List<SysOrganizationListVo>> selectOrgList(SysOrganizationListQuery query) {
|
||||
ResultBean<List<SysOrganizationListVo>> rb = ResultBean.fireFail();
|
||||
//根据用户sid查询分公司sid
|
||||
String orgDeptSid = sysStaffOrgService.selectByUserSid(query.getUserSid());
|
||||
String orgSid = getOrgSid(orgDeptSid);
|
||||
//根据分公司名称查询销售部门的部门
|
||||
List<SysOrganizationListVo> sysOrganizationListVos = baseMapper.selectOrgList(orgSid);
|
||||
sysOrganizationListVos.removeAll(Collections.singleton(null));
|
||||
if (!sysOrganizationListVos.isEmpty()) {
|
||||
for (SysOrganizationListVo vo : sysOrganizationListVos) {
|
||||
orgDeptSid = vo.getOrgDeptSid();
|
||||
List<SysOrgStaffVo> sysOrgStaffVoList = baseMapper.selectByOrgDeptSid(orgDeptSid);
|
||||
vo.setStaffinfoVoList(sysOrgStaffVoList);
|
||||
}
|
||||
}
|
||||
return rb.success().setData(sysOrganizationListVos);
|
||||
}
|
||||
|
||||
public ResultBean<List<SysOrganizationListsVo>> selectOrgLists(SysOrganizationListQuery query) {
|
||||
ResultBean<List<SysOrganizationListsVo>> rb = ResultBean.fireFail();
|
||||
//根据用户sid查询分公司sid
|
||||
String orgDeptSid = sysStaffOrgService.selectByUserSid(query.getUserSid());
|
||||
String orgSid = getOrgSid(orgDeptSid);
|
||||
//根据分公司名称查询销售部门的部门
|
||||
List<SysOrganizationListsVo> sysOrganizationListVos = baseMapper.selectOrgLists(orgSid);
|
||||
sysOrganizationListVos.removeAll(Collections.singleton(null));
|
||||
return rb.success().setData(sysOrganizationListVos);
|
||||
|
||||
}
|
||||
|
||||
public ResultBean<SysOrganizationVo> selectByPSid(String sid, String name) {
|
||||
ResultBean<SysOrganizationVo> rb = ResultBean.fireFail();
|
||||
SysOrganizationVo vo = baseMapper.selectByPSid(sid, name);
|
||||
return rb.success().setData(vo);
|
||||
}
|
||||
|
||||
public List<SysOrganizationVo> selectOrgSidList() {
|
||||
return baseMapper.selectOrgSidList();
|
||||
}
|
||||
|
||||
public ResultBean<SysOrganizationVo> selectByOrgSidPath(String orgSidPath) {
|
||||
ResultBean<SysOrganizationVo> rb = ResultBean.fireFail();
|
||||
SysOrganizationVo sysOrganizationVo = baseMapper.selectByOrgSidPath(orgSidPath);
|
||||
return rb.success().setData(sysOrganizationVo);
|
||||
}
|
||||
|
||||
public ResultBean<List<SysOrgVo>> getListDeptByOrgSid(String orgSid) {
|
||||
ResultBean<List<SysOrgVo>> rb = ResultBean.fireFail();
|
||||
List<SysOrgVo> sysOrgVos = baseMapper.getListDeptByOrgSid(orgSid);
|
||||
return rb.success().setData(sysOrgVos);
|
||||
}
|
||||
|
||||
public ResultBean<List<SysOrganizationVo>> selectOrgByPSid(String psid) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<SysOrganizationVo> sysOrganizationVos = baseMapper.selectOrgByPSid(psid);
|
||||
return rb.success().setData(sysOrganizationVos);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,86 @@
|
||||
package com.yxt.portal.biz.sysorganization;
|
||||
|
||||
|
||||
import com.yxt.common.core.vo.Vo;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysOrganizationVo.java <br/>
|
||||
* Class: SysOrganizationVo <br/>
|
||||
* Description: 组织机构表 视图数据对象. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:28 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@ApiModel(value = "组织机构表 视图数据对象", description = "组织机构表 视图数据对象")
|
||||
@Data
|
||||
public class SysOrganizationVo implements Vo {
|
||||
@ApiModelProperty("部门/组织名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty("父(部门/组织) sid")
|
||||
private String psid;
|
||||
|
||||
@ApiModelProperty("联系电话")
|
||||
private String linkPhone;
|
||||
|
||||
@ApiModelProperty("联系人")
|
||||
private String linkPerson;
|
||||
|
||||
@ApiModelProperty("部门sid全路径")
|
||||
private String orgSidPath;
|
||||
|
||||
@ApiModelProperty("排序")
|
||||
private Integer sort;
|
||||
|
||||
@ApiModelProperty("地址")
|
||||
private String addrs;
|
||||
|
||||
@ApiModelProperty("地理位置经纬度")
|
||||
private String jwd;
|
||||
|
||||
@ApiModelProperty("二维码")
|
||||
private String qrText;
|
||||
|
||||
@ApiModelProperty("限制本部门成员查看通讯录:限制开启后,本部门成员只能看到限定范围内的通讯录不能看到所有通讯录,仅可见自己")
|
||||
private Integer limitOrgMember;
|
||||
|
||||
@ApiModelProperty("部门编码")
|
||||
private String orgCode;
|
||||
@ApiModelProperty("sid")
|
||||
private String sid;
|
||||
@ApiModelProperty("子集")
|
||||
private List<SysOrganizationVo> children = new ArrayList<>();
|
||||
@ApiModelProperty("主管人员名称")
|
||||
private String zgNames;
|
||||
@ApiModelProperty("分管人员名称")
|
||||
private String fgNames;
|
||||
@ApiModelProperty("主管人员sid")
|
||||
private String zgStaffSid;
|
||||
@ApiModelProperty("分管人员sid")
|
||||
private String fgStaffSid;
|
||||
@ApiModelProperty("组织简称")
|
||||
private String orgAbbre;
|
||||
@ApiModelProperty("是否是部门(0否,1是)")
|
||||
private Integer isDept;
|
||||
@ApiModelProperty("组织属性key")
|
||||
private String orgAttributeKey;
|
||||
@ApiModelProperty("组织属性value")
|
||||
private String orgAttributeValue;
|
||||
@ApiModelProperty("管理层级key")
|
||||
private String orgLevelKey;
|
||||
@ApiModelProperty("管理层级value")
|
||||
private String orgLevelValue;
|
||||
@ApiModelProperty("其他编码")
|
||||
private String otherCode;
|
||||
}
|
||||
46
src/main/java/com/yxt/portal/biz/syspost/SysPost.java
Normal file
46
src/main/java/com/yxt/portal/biz/syspost/SysPost.java
Normal file
@@ -0,0 +1,46 @@
|
||||
package com.yxt.portal.biz.syspost;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.yxt.common.core.domain.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysPost.java <br/>
|
||||
* Class: com.yxt.anrui.portal.api.syspost.SysPost <br/>
|
||||
* Description: 岗位. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:28 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@ApiModel(value = "岗位", description = "岗位")
|
||||
@TableName("sys_post")
|
||||
@Data
|
||||
public class SysPost extends BaseEntity {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
@ApiModelProperty("岗位名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty("职级key")
|
||||
private String postLevelKey;
|
||||
|
||||
@ApiModelProperty("职级")
|
||||
private String postLevel;
|
||||
|
||||
@ApiModelProperty("岗位编码")
|
||||
private String postCode;
|
||||
|
||||
// @ApiModelProperty("所属部门sid")
|
||||
// private String orgSid;
|
||||
|
||||
@ApiModelProperty(value = "父级sid")
|
||||
private String parentSid;
|
||||
}
|
||||
44
src/main/java/com/yxt/portal/biz/syspost/SysPostDto.java
Normal file
44
src/main/java/com/yxt/portal/biz/syspost/SysPostDto.java
Normal file
@@ -0,0 +1,44 @@
|
||||
package com.yxt.portal.biz.syspost;
|
||||
|
||||
|
||||
import com.yxt.common.core.dto.Dto;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysPostDto.java <br/>
|
||||
* Class: com.yxt.anrui.portal.api.syspost.SysPostDto <br/>
|
||||
* Description: 岗位 数据传输对象. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:28 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@ApiModel(value = "岗位 数据传输对象", description = "岗位 数据传输对象")
|
||||
@Data
|
||||
public class SysPostDto implements Dto {
|
||||
|
||||
private static final long serialVersionUID = 863876947510030464L;
|
||||
@ApiModelProperty("岗位名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty("职级key")
|
||||
private String postLevelKey;
|
||||
|
||||
@ApiModelProperty("职级")
|
||||
private String postLevel;
|
||||
|
||||
@ApiModelProperty("岗位编码")
|
||||
private String postCode;
|
||||
|
||||
// @ApiModelProperty("所属部门sid")
|
||||
// private String orgSid;
|
||||
|
||||
@ApiModelProperty(value = "父级sid", example = "0")
|
||||
private String parentSid;
|
||||
}
|
||||
22
src/main/java/com/yxt/portal/biz/syspost/SysPostListVo.java
Normal file
22
src/main/java/com/yxt/portal/biz/syspost/SysPostListVo.java
Normal file
@@ -0,0 +1,22 @@
|
||||
package com.yxt.portal.biz.syspost;
|
||||
|
||||
import com.yxt.common.core.vo.Vo;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @Author dimengzhe
|
||||
* @Date 2022/2/14 13:49
|
||||
* @Description 部门下的岗位信息
|
||||
*/
|
||||
@Data
|
||||
public class SysPostListVo implements Vo {
|
||||
private static final long serialVersionUID = -8060032905868283959L;
|
||||
|
||||
@ApiModelProperty("岗位名称")
|
||||
private String name;
|
||||
@ApiModelProperty("岗位编码")
|
||||
private String postCode;
|
||||
@ApiModelProperty("岗位sid")
|
||||
private String sid;
|
||||
}
|
||||
65
src/main/java/com/yxt/portal/biz/syspost/SysPostMapper.java
Normal file
65
src/main/java/com/yxt/portal/biz/syspost/SysPostMapper.java
Normal file
@@ -0,0 +1,65 @@
|
||||
package com.yxt.portal.biz.syspost;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysPostMapper.java <br/>
|
||||
* Class: com.yxt.anrui.portal.biz.syspost.SysPostMapper <br/>
|
||||
* Description: 岗位. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:28 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface SysPostMapper extends BaseMapper<SysPost> {
|
||||
|
||||
//@Update("update sys_post set name=#{msg} where id=#{id}")
|
||||
//IPage<SysPostVo> voPage(IPage<SysPost> page, @Param(Constants.WRAPPER) QueryWrapper<SysPost> qw);
|
||||
|
||||
IPage<SysPostVo> selectPageVo(IPage<SysPost> page, @Param(Constants.WRAPPER) Wrapper<SysPost> qw);
|
||||
|
||||
List<SysPostVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<SysPost> qw);
|
||||
|
||||
@Select("select * from sys_post")
|
||||
List<SysPostVo> selectListVo();
|
||||
|
||||
@Select("select * from sys_post where sid=#{sid} ")
|
||||
SysPost fetchBySid(@Param("sid") String sid);
|
||||
|
||||
@Select("select * from sys_post where orgSid=#{orgSid} ")
|
||||
List<SysPostVo> fetchByOrgSid(@Param("orgSid") String orgSid);
|
||||
|
||||
@Select("select postCode,`name` from sys_post")
|
||||
List<SysPostVo> fetchByOrgSidPostCode();
|
||||
|
||||
/**
|
||||
* 查询所有岗位列表
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
List<SysPostListVo> selectListOne();
|
||||
|
||||
/**
|
||||
* 根据岗位编码查询岗位信息
|
||||
*
|
||||
* @param substring 岗位编码
|
||||
* @return
|
||||
*/
|
||||
SysPost selectByPostCode(String substring);
|
||||
|
||||
@Select("select * from sys_post where staffSid = #{sid}")
|
||||
SysPost getPostByStaffSid(String sid);
|
||||
}
|
||||
44
src/main/java/com/yxt/portal/biz/syspost/SysPostMapper.xml
Normal file
44
src/main/java/com/yxt/portal/biz/syspost/SysPostMapper.xml
Normal file
@@ -0,0 +1,44 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.yxt.portal.biz.syspost.SysPostMapper">
|
||||
<!-- <where> ${ew.sqlSegment} </where>-->
|
||||
<!-- ${ew.customSqlSegment} -->
|
||||
<select id="selectPageVo" resultType="com.yxt.portal.biz.syspost.SysPostVo">
|
||||
SELECT post.sid sid,
|
||||
post.name name,
|
||||
post.orgSid,
|
||||
post.postCode,
|
||||
post.postLevelKey,
|
||||
post.postLevel,
|
||||
post.orgSid,
|
||||
IF(org.psid = '0', org.name,
|
||||
CONCAT((select name from sys_organization where sid = org.psid), "/", org.name)) orgName,
|
||||
post.parentSid,
|
||||
sp.name parentName
|
||||
FROM sys_post post
|
||||
left join sys_organization org on org.sid = post.orgSid
|
||||
left join sys_post sp on post.parentSid = sp.sid
|
||||
<where>
|
||||
${ew.sqlSegment}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectListAllVo" resultType="com.yxt.portal.biz.syspost.SysPostVo">
|
||||
SELECT *
|
||||
FROM sys_post
|
||||
<where>
|
||||
${ew.sqlSegment}
|
||||
</where>
|
||||
</select>
|
||||
<!--根据部门sid查询该部门下的所有岗位列表-->
|
||||
<select id="selectListOne" resultType="com.yxt.portal.biz.syspost.SysPostListVo">
|
||||
select name, postCode, sid
|
||||
from sys_post
|
||||
</select>
|
||||
<!--根据岗位编码查询岗位信息-->
|
||||
<select id="selectByPostCode" resultType="com.yxt.portal.biz.syspost.SysPost">
|
||||
select *
|
||||
from sys_post
|
||||
where postCode = #{substring}
|
||||
</select>
|
||||
</mapper>
|
||||
41
src/main/java/com/yxt/portal/biz/syspost/SysPostQuery.java
Normal file
41
src/main/java/com/yxt/portal/biz/syspost/SysPostQuery.java
Normal file
@@ -0,0 +1,41 @@
|
||||
package com.yxt.portal.biz.syspost;
|
||||
|
||||
|
||||
import com.yxt.common.core.query.Query;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysPostQuery.java <br/>
|
||||
* Class: com.yxt.anrui.portal.api.syspost.SysPostQuery <br/>
|
||||
* Description: 岗位 查询条件. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:28 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@ApiModel(value = "岗位 查询条件", description = "岗位 查询条件")
|
||||
@Data
|
||||
public class SysPostQuery implements Query {
|
||||
|
||||
|
||||
@ApiModelProperty("岗位名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty("职级key")
|
||||
private String postLevelKey;
|
||||
|
||||
@ApiModelProperty("职级")
|
||||
private String postLevel;
|
||||
|
||||
@ApiModelProperty("岗位编码")
|
||||
private String postCode;
|
||||
|
||||
@ApiModelProperty("所属部门sid")
|
||||
private String orgSid;
|
||||
}
|
||||
143
src/main/java/com/yxt/portal/biz/syspost/SysPostService.java
Normal file
143
src/main/java/com/yxt/portal/biz/syspost/SysPostService.java
Normal file
@@ -0,0 +1,143 @@
|
||||
package com.yxt.portal.biz.syspost;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.portal.biz.sysorganization.SysOrganization;
|
||||
import com.yxt.portal.biz.sysorganization.SysOrganizationService;
|
||||
import com.yxt.common.base.service.MybatisBaseService;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysPostService.java <br/>
|
||||
* Class: com.yxt.user.biz.syspost.SysPostService <br/>
|
||||
* Description: 岗位 业务逻辑. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:28 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Service
|
||||
public class SysPostService extends MybatisBaseService<SysPostMapper, SysPost> {
|
||||
|
||||
@Autowired
|
||||
private SysOrganizationService sysOrganizationService;
|
||||
|
||||
public PagerVo<SysPost> listPage(PagerQuery<SysPostQuery> pq) {
|
||||
SysPostQuery query = pq.getParams();
|
||||
QueryWrapper<SysPost> qw = createQueryWrapper(query);
|
||||
IPage<SysPost> page = PagerUtil.queryToPage(pq);
|
||||
IPage<SysPost> pagging = baseMapper.selectPage(page, qw);
|
||||
PagerVo<SysPost> p = PagerUtil.pageToVo(pagging, null);
|
||||
return p;
|
||||
}
|
||||
|
||||
public List<SysPost> listAll(SysPostQuery query) {
|
||||
QueryWrapper<SysPost> qw = createQueryWrapper(query);
|
||||
return baseMapper.selectList(qw);
|
||||
}
|
||||
|
||||
private QueryWrapper<SysPost> createQueryWrapper(SysPostQuery query) {
|
||||
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
|
||||
QueryWrapper<SysPost> qw = new QueryWrapper<>();
|
||||
|
||||
|
||||
if (StringUtils.isNotBlank(query.getName())) {
|
||||
qw.like("post.name", query.getName());
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(query.getOrgSid())) {
|
||||
qw.eq("post.orgSid", query.getOrgSid());
|
||||
}
|
||||
return qw;
|
||||
}
|
||||
|
||||
public PagerVo<SysPostVo> listPageVo(PagerQuery<SysPostQuery> pq) {
|
||||
SysPostQuery query = pq.getParams();
|
||||
QueryWrapper<SysPost> qw = createQueryWrapper(query);
|
||||
IPage<SysPost> page = PagerUtil.queryToPage(pq);
|
||||
IPage<SysPostVo> pagging = baseMapper.selectPageVo(page, qw);
|
||||
PagerVo<SysPostVo> p = PagerUtil.pageToVo(pagging, null);
|
||||
return p;
|
||||
}
|
||||
|
||||
public List<SysPostVo> listAllVo(SysPostQuery query) {
|
||||
QueryWrapper<SysPost> qw = createQueryWrapper(query);
|
||||
return baseMapper.selectListAllVo(qw);
|
||||
}
|
||||
|
||||
public List<SysPostVo> listVo() {
|
||||
return baseMapper.selectListVo();
|
||||
}
|
||||
|
||||
public void saveOrUpdateDto(SysPostDto dto) {
|
||||
SysPost entity = new SysPost();
|
||||
dto.fillEntity(entity);
|
||||
this.saveOrUpdate(entity);
|
||||
}
|
||||
|
||||
public SysPostVo fetchByIdVo(String id) {
|
||||
SysPost entity = this.fetchById(id);
|
||||
SysPostVo vo = new SysPostVo();
|
||||
BeanUtil.copyProperties(entity, vo);
|
||||
return vo;
|
||||
}
|
||||
|
||||
public SysPostVo fetchBySidVo(String sid) {
|
||||
SysPost entity = baseMapper.fetchBySid(sid);
|
||||
SysPostVo vo = new SysPostVo();
|
||||
BeanUtil.copyProperties(entity, vo);
|
||||
return vo;
|
||||
}
|
||||
|
||||
public List<SysPostVo> fetchByOrgSid(String orgSid) {
|
||||
return baseMapper.fetchByOrgSid(orgSid);
|
||||
}
|
||||
|
||||
public String fetchByOrgSidPostCode() {
|
||||
List<SysPostVo> sysPostVoList = baseMapper.fetchByOrgSidPostCode();
|
||||
String pCode = "";
|
||||
for (SysPostVo sysPostVo : sysPostVoList) {
|
||||
SysOrganization sysOrganizations = sysOrganizationService.selectOrgCodeByPsid();
|
||||
String orgCode = sysOrganizations.getOrgCode();
|
||||
String postCode = sysPostVo.getPostCode();
|
||||
pCode = orgCode + postCode;
|
||||
}
|
||||
return pCode;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询所有岗位列表
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public List<SysPostListVo> selectList() {
|
||||
List<SysPostListVo> list = baseMapper.selectListOne();
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据岗位编码查询岗位信息
|
||||
*
|
||||
* @param substring 岗位编码
|
||||
* @return
|
||||
*/
|
||||
public SysPost selectByPostCode(String substring) {
|
||||
return baseMapper.selectByPostCode(substring);
|
||||
}
|
||||
|
||||
public SysPost getPostByStaffSid(String sid) {
|
||||
return baseMapper.getPostByStaffSid(sid);
|
||||
}
|
||||
}
|
||||
52
src/main/java/com/yxt/portal/biz/syspost/SysPostVo.java
Normal file
52
src/main/java/com/yxt/portal/biz/syspost/SysPostVo.java
Normal file
@@ -0,0 +1,52 @@
|
||||
package com.yxt.portal.biz.syspost;
|
||||
|
||||
|
||||
import com.yxt.common.core.vo.Vo;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysPostVo.java <br/>
|
||||
* Class: com.yxt.anrui.portal.api.syspost.SysPostVo <br/>
|
||||
* Description: 岗位 视图数据对象. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:28 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@ApiModel(value = "岗位 视图数据对象", description = "岗位 视图数据对象")
|
||||
@Data
|
||||
public class SysPostVo implements Vo {
|
||||
|
||||
|
||||
@ApiModelProperty("岗位名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty("职级key")
|
||||
private String postLevelKey;
|
||||
|
||||
@ApiModelProperty("职级")
|
||||
private String postLevel;
|
||||
|
||||
@ApiModelProperty("岗位编码")
|
||||
private String postCode;
|
||||
|
||||
@ApiModelProperty("所属部门sid")
|
||||
private String orgSid;
|
||||
|
||||
@ApiModelProperty("所属部门名称")
|
||||
private String orgName;
|
||||
|
||||
@ApiModelProperty("岗位sid")
|
||||
private String sid;
|
||||
|
||||
@ApiModelProperty(value = "上级岗位名称")
|
||||
private String parentName;
|
||||
@ApiModelProperty(value = "上级岗位sid")
|
||||
private String parentSid;
|
||||
}
|
||||
48
src/main/java/com/yxt/portal/biz/sysrole/SysRole.java
Normal file
48
src/main/java/com/yxt/portal/biz/sysrole/SysRole.java
Normal file
@@ -0,0 +1,48 @@
|
||||
package com.yxt.portal.biz.sysrole;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.yxt.common.core.domain.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysRole.java <br/>
|
||||
* Class: com.yxt.anrui.portal.api.sysrole.SysRole <br/>
|
||||
* Description: 角色. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:29 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@ApiModel(value = "角色", description = "角色")
|
||||
@TableName("sys_role")
|
||||
@Data
|
||||
public class SysRole extends BaseEntity {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
@ApiModelProperty("角色名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty("排序")
|
||||
private Integer sort;
|
||||
|
||||
@ApiModelProperty("编码")
|
||||
private String code;
|
||||
|
||||
@ApiModelProperty("1、系统管理员、2、普通角色")
|
||||
private Integer type;
|
||||
|
||||
@ApiModelProperty("岗位sid")
|
||||
private String postSid;
|
||||
|
||||
@ApiModelProperty(value = "角色组织层级key")
|
||||
private String roleType;
|
||||
@ApiModelProperty(value = "角色组织层级value")
|
||||
private String roleTypeValue;
|
||||
}
|
||||
51
src/main/java/com/yxt/portal/biz/sysrole/SysRoleDto.java
Normal file
51
src/main/java/com/yxt/portal/biz/sysrole/SysRoleDto.java
Normal file
@@ -0,0 +1,51 @@
|
||||
package com.yxt.portal.biz.sysrole;
|
||||
|
||||
|
||||
import com.yxt.common.core.dto.Dto;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysRoleDto.java <br/>
|
||||
* Class: com.yxt.anrui.portal.api.sysrole.SysRoleDto <br/>
|
||||
* Description: 角色 数据传输对象. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:29 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@ApiModel(value = "角色 数据传输对象", description = "角色 数据传输对象")
|
||||
@Data
|
||||
public class SysRoleDto implements Dto {
|
||||
|
||||
|
||||
@ApiModelProperty("角色名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty("排序")
|
||||
private Integer sort;
|
||||
|
||||
@ApiModelProperty("编码")
|
||||
private String code;
|
||||
@ApiModelProperty("备注")
|
||||
private String remarks;
|
||||
|
||||
@ApiModelProperty("1、系统管理员、2、普通角色")
|
||||
private Integer type;
|
||||
|
||||
@ApiModelProperty("岗位sid")
|
||||
private String postSid;
|
||||
|
||||
@ApiModelProperty("岗位名称")
|
||||
private String postName;
|
||||
|
||||
@ApiModelProperty(value = "角色组织层级key")
|
||||
private String roleType;
|
||||
@ApiModelProperty(value = "角色组织层级value")
|
||||
private String roleTypeValue;
|
||||
}
|
||||
69
src/main/java/com/yxt/portal/biz/sysrole/SysRoleMapper.java
Normal file
69
src/main/java/com/yxt/portal/biz/sysrole/SysRoleMapper.java
Normal file
@@ -0,0 +1,69 @@
|
||||
package com.yxt.portal.biz.sysrole;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.yxt.portal.biz.sysuser.SysMenuRoleVoList;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysRoleMapper.java <br/>
|
||||
* Class: com.yxt.anrui.portal.biz.sysrole.SysRoleMapper <br/>
|
||||
* Description: 角色. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:29 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface SysRoleMapper extends BaseMapper<SysRole> {
|
||||
|
||||
//@Update("update sys_role set name=#{msg} where id=#{id}")
|
||||
//IPage<SysRoleVo> voPage(IPage<SysRole> page, @Param(Constants.WRAPPER) QueryWrapper<SysRole> qw);
|
||||
|
||||
IPage<SysRoleVo> selectPageVo(IPage<SysRole> page, @Param(Constants.WRAPPER) Wrapper<SysRole> qw);
|
||||
|
||||
List<SysRoleVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<SysRole> qw);
|
||||
|
||||
@Select("select * from sys_role")
|
||||
List<SysRoleVo> selectListVo();
|
||||
|
||||
List<SysRoleVo> fetchByUserSid(String userSid);
|
||||
|
||||
List<SysRoleVo> listAllByUserSid(String userSid);
|
||||
|
||||
SysRole fetchByName(String name);
|
||||
|
||||
int deleteBatchSids(List<String> list);
|
||||
|
||||
int deleteBySid(String valueOf);
|
||||
|
||||
SysRoleVo fetchBySid(String sid);
|
||||
|
||||
int updateIsEnable(@Param("sid") String sid, @Param("isEnable") String isEnable);
|
||||
|
||||
String getLevelType(String roleSid);
|
||||
|
||||
String selectRoleSid(String userRoleSid);
|
||||
|
||||
String selectByUserSid(String sid);
|
||||
|
||||
List<String> selectByUser(String userSid);
|
||||
|
||||
List<SysMenuRoleVoList> selectRoleList(String menuSid);
|
||||
|
||||
List<SysMenuRoleVoList> selectMobileRoleList(String menuSid);
|
||||
|
||||
List<String> selectByRole(@Param("list") List<String> roleSidList, @Param("menuSid") String menuSid,@Param("userSid") String userSid);
|
||||
|
||||
List<String> selectByMobileRole(@Param("list") List<String> roleSidList, @Param("menuSid") String menuSid,@Param("userSid") String userSid);
|
||||
}
|
||||
134
src/main/java/com/yxt/portal/biz/sysrole/SysRoleMapper.xml
Normal file
134
src/main/java/com/yxt/portal/biz/sysrole/SysRoleMapper.xml
Normal file
@@ -0,0 +1,134 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.yxt.portal.biz.sysrole.SysRoleMapper">
|
||||
<!-- <where> ${ew.sqlSegment} </where>-->
|
||||
<!-- ${ew.customSqlSegment} -->
|
||||
<select id="selectPageVo" resultType="com.yxt.portal.biz.sysrole.SysRoleVo">
|
||||
SELECT sr.*, sp.sid as postSid, sp.name as postName
|
||||
FROM sys_role sr
|
||||
LEFT JOIN sys_post sp ON sr.postSid = sp.sid
|
||||
<where>
|
||||
${ew.sqlSegment}
|
||||
</where>
|
||||
ORDER BY sr.sort
|
||||
</select>
|
||||
|
||||
<select id="selectListAllVo" resultType="com.yxt.portal.biz.sysrole.SysRoleVo">
|
||||
SELECT *
|
||||
FROM sys_role
|
||||
<where>
|
||||
${ew.sqlSegment}
|
||||
</where>
|
||||
</select>
|
||||
<select id="listAllByUserSid" resultType="com.yxt.portal.biz.sysrole.SysRoleVo">
|
||||
SELECT role.name, role.sid, ISNULL(userRole.sid) AS checked
|
||||
FROM sys_role role
|
||||
LEFT JOIN sys_user_role userRole ON role.sid = userRole.`roleSid`
|
||||
AND userRole.userSid = #{param1}
|
||||
</select>
|
||||
|
||||
<select id="fetchByUserSid" resultType="com.yxt.portal.biz.sysrole.SysRoleVo">
|
||||
SELECT role.name, role.remarks, role.sid
|
||||
FROM sys_role role
|
||||
left join sys_user_role userrole on userrole.roleSid = role.sid
|
||||
where userrole.userSid = #{param1}
|
||||
</select>
|
||||
<select id="fetchByName" resultType="com.yxt.portal.biz.sysrole.SysRole">
|
||||
SELECT *
|
||||
FROM sys_role role
|
||||
where role.name = #{param1}
|
||||
</select>
|
||||
<select id="fetchBySid" resultType="com.yxt.portal.biz.sysrole.SysRoleVo">
|
||||
SELECT role.*, post.sid as postSid, post.name as postName
|
||||
FROM sys_role role
|
||||
LEFT JOIN sys_post post ON role.postSid = post.sid
|
||||
WHERE role.sid = #{param1}
|
||||
</select>
|
||||
<delete id="deleteBatchSids" parameterType="String">
|
||||
DELETE
|
||||
FROM sys_role WHERE sid IN
|
||||
<foreach collection="list" item="sid" open="(" separator="," close=")">
|
||||
#{sid}
|
||||
</foreach>
|
||||
</delete>
|
||||
<delete id="deleteBySid">
|
||||
DELETE
|
||||
FROM sys_role
|
||||
WHERE sid = #{sid}
|
||||
</delete>
|
||||
|
||||
<update id="updateIsEnable">
|
||||
UPDATE sys_role
|
||||
SET isEnable = #{isEnable}
|
||||
WHERE sid = #{sid}
|
||||
</update>
|
||||
|
||||
<select id="getLevelType" resultType="java.lang.String">
|
||||
select roleType
|
||||
from sys_role
|
||||
where sid = #{roleSid}
|
||||
</select>
|
||||
|
||||
<select id="selectRoleSid" resultType="java.lang.String">
|
||||
SELECT ssr.sid
|
||||
FROM sys_role sr
|
||||
LEFT JOIN sys_post sp ON sp.sid = sr.postSid
|
||||
left join sys_post ssp on sp.parentSid = ssp.sid
|
||||
left join sys_role ssr on ssp.sid = ssr.postSid
|
||||
where sr.sid = #{sid}
|
||||
</select>
|
||||
|
||||
<select id="selectByUserSid" resultType="java.lang.String">
|
||||
select GROUP_CONCAT(sr.name SEPARATOR '|') as roleName
|
||||
from sys_user_role sur
|
||||
left join sys_role sr on sur.roleSid = sr.sid
|
||||
where sur.userSid = #{sid}
|
||||
</select>
|
||||
|
||||
<select id="selectByUser" resultType="java.lang.String">
|
||||
select roleSid
|
||||
from sys_user_role
|
||||
where userSid = #{userSid}
|
||||
</select>
|
||||
|
||||
<select id="selectRoleList" resultType="com.yxt.portal.biz.sysuser.SysMenuRoleVoList">
|
||||
select sr.sid roleSid, sr.name roleName, sr.roleType, sr.roleTypeValue,smr.dataRuleId
|
||||
from sys_role sr
|
||||
left join sys_menu_role smr on sr.sid = smr.roleSid
|
||||
where smr.menuSid = #{menuSid}
|
||||
</select>
|
||||
|
||||
<select id="selectMobileRoleList" resultType="com.yxt.portal.biz.sysuser.SysMenuRoleVoList">
|
||||
select sr.sid roleSid, sr.name roleName, sr.roleType, sr.roleTypeValue
|
||||
from sys_role sr
|
||||
left join sys_mobile_menu_role smr on sr.sid = smr.roleSid
|
||||
where smr.menuSid = #{menuSid}
|
||||
</select>
|
||||
|
||||
<select id="selectByRole" resultType="java.lang.String">
|
||||
select smr.dataRuleId from sys_menu_role smr
|
||||
left join sys_menu sm on sm.sid = smr.menuSid
|
||||
left join sys_role sr on sr.sid = smr.roleSid
|
||||
left join sys_user_role sur on sur.roleSid = smr.roleSid
|
||||
where smr.menuSid = #{menuSid} and sur.userSid = #{userSid} and sr.sid in
|
||||
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
and length(smr.dataRuleId)>0
|
||||
order by dataRuleId asc
|
||||
</select>
|
||||
|
||||
<select id="selectByMobileRole" resultType="java.lang.String">
|
||||
select smr.dataRuleId from sys_mobile_menu_role smr
|
||||
left join sys_mobile_menu sm on sm.sid = smr.menuSid
|
||||
left join sys_role sr on sr.sid = smr.roleSid
|
||||
left join sys_user_role sur on sur.roleSid = smr.roleSid
|
||||
where smr.menuSid = #{menuSid} and sur.userSid = #{userSid}
|
||||
and sr.sid in
|
||||
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
and length(smr.dataRuleId)>0
|
||||
order by dataRuleId asc
|
||||
</select>
|
||||
</mapper>
|
||||
38
src/main/java/com/yxt/portal/biz/sysrole/SysRoleQuery.java
Normal file
38
src/main/java/com/yxt/portal/biz/sysrole/SysRoleQuery.java
Normal file
@@ -0,0 +1,38 @@
|
||||
package com.yxt.portal.biz.sysrole;
|
||||
|
||||
|
||||
import com.yxt.common.core.query.Query;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* Project: anrui_portal(门户建设) <br/>
|
||||
* File: SysRoleQuery.java <br/>
|
||||
* Class: com.yxt.anrui.portal.api.sysrole.SysRoleQuery <br/>
|
||||
* Description: 角色 查询条件. <br/>
|
||||
* Copyright: Copyright (c) 2011 <br/>
|
||||
* Company: https://gitee.com/liuzp315 <br/>
|
||||
* Makedate: 2021-08-03 00:24:29 <br/>
|
||||
*
|
||||
* @author liupopo
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@ApiModel(value = "角色 查询条件", description = "角色 查询条件")
|
||||
@Data
|
||||
public class SysRoleQuery implements Query {
|
||||
|
||||
|
||||
@ApiModelProperty("角色名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty("排序")
|
||||
private Integer sort;
|
||||
|
||||
@ApiModelProperty("编码")
|
||||
private String code;
|
||||
|
||||
@ApiModelProperty("1、系统管理员、2、普通角色")
|
||||
private Integer type;
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user