package com.gkhy.safePlatform.account.controller; import com.alibaba.fastjson.JSONObject; import com.gkhy.safePlatform.account.model.annotation.CommonLogEnable; import com.gkhy.safePlatform.account.model.dto.req.GroupStrategyAddReqDTO; import com.gkhy.safePlatform.account.model.dto.req.GroupStrategyModReqDTO; import com.gkhy.safePlatform.account.model.dto.resp.GroupStrategyInfoRespDTO; import com.gkhy.safePlatform.account.model.dto.resp.GroupStrategyRespDTO; import com.gkhy.safePlatform.account.model.dto.resp.GroupStrategyTimeTableRespDTO; import com.gkhy.safePlatform.account.model.query.GroupScheduleQuery; import com.gkhy.safePlatform.account.model.query.GroupStrategyPageQuery; import com.gkhy.safePlatform.account.model.query.GroupStrategyQuery; import com.gkhy.safePlatform.account.model.query.GroupStrategyScheduleQuery; import com.gkhy.safePlatform.account.service.GroupStrategyService; import com.gkhy.safePlatform.account.service.GroupStrategyTimeTableService; import com.gkhy.safePlatform.account.service.baseService.GroupStrategyTimeTableInfoService; import com.gkhy.safePlatform.commons.co.ContextCacheUser; import com.gkhy.safePlatform.commons.enums.Module; import com.gkhy.safePlatform.commons.enums.ResultCodes; import com.gkhy.safePlatform.commons.query.PageQuery; import com.gkhy.safePlatform.commons.utils.PageUtils; import com.gkhy.safePlatform.commons.vo.ResultVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.Authentication; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import java.util.List; /** * @Description: 班组策略 * @date 2022/7/20 19:54 */ @RestController @RequestMapping("/schedule/groupStrategy") public class GroupStrategyController { @Autowired private GroupStrategyService groupStrategyService; @Autowired private GroupStrategyTimeTableService groupStrategyTimeTableService; @RequestMapping(value = "/page/list",method = RequestMethod.POST) public ResultVO> getGroupStrategyPage(Authentication authentication, @RequestBody PageQuery pageQuery) { PageUtils.checkCheck(pageQuery); ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal(); return groupStrategyService.listGroupStrategyByPage(currentUser,pageQuery); } @RequestMapping(value = "/list",method = RequestMethod.POST) public ResultVO> getGroupStrategyList(Authentication authentication, @RequestBody GroupStrategyQuery query) { ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal(); List groupStrategyInfoRespDTOS = groupStrategyService.listGroupStrategy(currentUser, query); return new ResultVO<>(ResultCodes.OK,groupStrategyInfoRespDTOS); } @RequestMapping(value = "/add", method = RequestMethod.POST) @CommonLogEnable(module = Module.ACCOUNT,content = "新增组策略") public ResultVO addGroupStrategy(Authentication authentication, @RequestBody GroupStrategyAddReqDTO groupStrategyAddReqDTO) { ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal(); groupStrategyService.addGroupStrategy(currentUser, groupStrategyAddReqDTO); return new ResultVO<>(ResultCodes.OK); } @RequestMapping(value = "/mod", method = RequestMethod.POST) @CommonLogEnable(module = Module.ACCOUNT,content = "修改组策略") public ResultVO modGroupStrategy(Authentication authentication,@RequestBody GroupStrategyModReqDTO groupStrategyModReqDTO) { ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal(); groupStrategyService.modGroupStrategy(currentUser, groupStrategyModReqDTO); return new ResultVO<>(ResultCodes.OK); } @RequestMapping(value = "/del", method = RequestMethod.POST) @CommonLogEnable(module = Module.ACCOUNT,content = "删除组策略") public ResultVO delGroupStrategy(Authentication authentication, @RequestBody JSONObject json) { ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal(); Long groupStrategyId = json.getLong("groupStrategyId"); groupStrategyService.delGroupStrategy(currentUser, groupStrategyId); return new ResultVO<>(ResultCodes.OK); } @RequestMapping(value = "/schedule", method = RequestMethod.POST) public ResultVO getGroupStrategySchedule(Authentication authentication,@RequestBody GroupStrategyScheduleQuery groupStrategyScheduleQuery) { ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal(); GroupStrategyTimeTableRespDTO groupStrategySchedule = groupStrategyTimeTableService .getGroupStrategySchedule(currentUser, groupStrategyScheduleQuery); return new ResultVO<>(ResultCodes.OK,groupStrategySchedule); } @RequestMapping(value = "/make", method = RequestMethod.POST) public ResultVO getGroupStrategySchedule(Authentication authentication,@RequestBody JSONObject json) { ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal(); Long groupStrategyId = json.getLong("groupStrategyId"); groupStrategyTimeTableService .makeGroupStrategyTimeTable(currentUser, groupStrategyId); return new ResultVO<>(ResultCodes.OK); } }