| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- package com.ydtech.modules.admin.controller;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.ydtech.core.page.HttpResult;
- import com.ydtech.core.page.PageResult;
- import com.ydtech.modules.admin.constants.UserConstants;
- import com.ydtech.modules.admin.model.SysDept;
- import com.ydtech.modules.admin.model.po.*;
- import com.ydtech.modules.admin.model.vo.*;
- import com.ydtech.modules.admin.service.*;
- import com.ydtech.modules.base.controller.BaseController;
- import com.ydtech.modules.protocol.utils.AssertionUtils;
- import com.ydtech.utils.JudgeUtils;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import org.springframework.beans.BeanUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.*;
- import javax.validation.Valid;
- import java.time.LocalDateTime;
- import java.util.List;
- @Api(tags = "渠道分组管理")
- @RestController
- @RequestMapping("/sysChannelGrade")
- public class SysChannelGradeController extends BaseController {
- @Autowired
- private SysChannelGradeService sysChannelGradeService;
- @Autowired
- private SysDeptService sysDeptService;
- @Autowired
- private SysChannelGroupInfoService sysChannelGroupInfoService;
- @PostMapping(value = "/queryList")
- @ApiOperation(value = "渠道分组列表")
- public HttpResult<Object> queryList(){
- return HttpResult.ok(sysChannelGradeService.queryList());
- }
- @PostMapping(value = "/queryRelation")
- @ApiOperation(value = "获取关联机构列表")
- public HttpResult<Object> queryRelation(@RequestBody SysChannelVo sysChannelVo){
- return HttpResult.ok(sysChannelGradeService.queryRelation(sysChannelVo));
- }
- @PostMapping("/queryPage")
- @ApiOperation(value = "渠道分组分页列表")
- public HttpResult<PageResult<SysChannelGrade>> queryPage(@RequestBody @Valid SysChannelGradePageVo sysChannelGradePageVo) {
- Page page = buildPageRequest(sysChannelGradePageVo.getPageDto());
- Page<SysChannelGrade> pageResultHttpResult = sysChannelGradeService.queryPage(page,sysChannelGradePageVo);
- return HttpResult.ok(buildPageResponse(pageResultHttpResult));
- }
- @PostMapping("/grade")
- @ApiOperation("添加渠道分组")
- public HttpResult save(@RequestBody @Valid AddSysChannelGradeVo addSysChannelGradeVo) {
- // 获取当前登录信息
- String userName = getUserName();
- SysChannelGrade sysChannelGrade = new SysChannelGrade();
- BeanUtils.copyProperties(addSysChannelGradeVo, sysChannelGrade);
- sysChannelGrade.setCreateTime(LocalDateTime.now());
- sysChannelGrade.setCreateBy(userName);
- if (UserConstants.NOT_UNIQUE.equals(sysChannelGradeService.checkNameUnique(sysChannelGrade))) {
- return HttpResult.error("新增渠道分组'" + sysChannelGrade.getName() + "'失败,渠道分组名称已存在");
- }
- boolean save = sysChannelGradeService.save(sysChannelGrade);
- return JudgeUtils.add(save);
- }
- @PutMapping("/grade/{id}")
- @ApiOperation("修改渠道分组")
- public HttpResult modify(@PathVariable Long id, @RequestBody AddSysChannelGradeVo addSysChannelGradeVo) {
- // 获取当前登录信息
- String userName = getUserName();
- SysChannelGrade sysChannelGrade = new SysChannelGrade();
- BeanUtils.copyProperties(addSysChannelGradeVo, sysChannelGrade);
- sysChannelGrade.setId(id);
- sysChannelGrade.setUpdateTime(LocalDateTime.now());
- sysChannelGrade.setUpdateBy(userName);
- if (UserConstants.NOT_UNIQUE.equals(sysChannelGradeService.checkNameUnique(sysChannelGrade))) {
- return HttpResult.error("修改渠道分组'" + sysChannelGrade.getName() + "'失败,渠道分组名称已存在");
- }
- // 判断是否有费用设置
- LambdaQueryWrapper<SysChannelGroupInfo> infoWapper = new LambdaQueryWrapper<>();
- infoWapper.eq(SysChannelGroupInfo::getGradeId, id);
- List<SysChannelGroupInfo> infos = sysChannelGroupInfoService.list(infoWapper);
- for (SysChannelGroupInfo info : infos) {
- info.setGradeName(addSysChannelGradeVo.getName());
- info.setUpdateBy(userName);
- info.setUpdateTime(LocalDateTime.now());
- }
- sysChannelGroupInfoService.saveOrUpdateBatch(infos);
- boolean modify = sysChannelGradeService.saveOrUpdate(sysChannelGrade);
- return JudgeUtils.modify(modify);
- }
- @DeleteMapping("/grade/{id}")
- @ApiOperation("删除渠道分组")
- public HttpResult delete(@PathVariable Long id) {
- sysChannelGradeService.delete(id);
- return HttpResult.ok("删除成功");
- }
- @PostMapping("/grade/authorized")
- @ApiOperation("渠道分组授权机构")
- public HttpResult authorized(@RequestBody @Valid AuthSysChannelGradeVo authSysChannelGradeVo) {
- // 查询该机构是否有授权
- List<String> areaIdList = authSysChannelGradeVo.getAreaIdList();
- LambdaQueryWrapper<SysChannelGrade> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.in(SysChannelGrade::getId, areaIdList);
- long count = sysChannelGradeService.count(queryWrapper);
- AssertionUtils.isFail(count > 0,"已授权的机构不能重复授权");
- LambdaQueryWrapper<SysDept> areaWrapper = new LambdaQueryWrapper<>();
- areaWrapper.in(SysDept::getId, areaIdList);
- List<SysDept> areas = sysDeptService.list(areaWrapper);
- AssertionUtils.isFail(areas.size() <= 0, "勾选机构不存在");
- sysChannelGradeService.authArea(authSysChannelGradeVo);
- return HttpResult.ok("授权成功");
- }
- }
|