From c134fefdf83fcefa3d27741a5415d8197c1ba97c Mon Sep 17 00:00:00 2001 From: zhangjinli Date: Mon, 27 Jun 2022 14:20:15 +0800 Subject: [PATCH] zh --- .../controller/ScheduleController.java | 132 +++++++++--------- .../controller/UtilsController.java | 23 +-- .../controller/manage/QYWXController.java | 16 +-- .../controller/manage/TaskController.java | 8 ++ .../controller/manage/UserController.java | 127 +++++++++++++++++ .../manage/VideoEffectSettingController.java | 38 ++++- .../controller/wxApp/VideoUController.java | 2 +- .../mapper/QywxDepartmentGroupLinkMapper.java | 39 ++++++ .../mapper/QywxDepartmentGroupMapper.java | 23 +++ .../model/QywxDepartmentGroup.java | 44 ++++++ .../model/QywxDepartmentGroupLink.java | 48 +++++++ .../java/com/zh/project0512/model/Rank.java | 16 ++- .../java/com/zh/project0512/model/Task.java | 4 + .../IQywxDepartmentGroupLinkService.java | 22 +++ .../service/IQywxDepartmentGroupService.java | 19 +++ .../QywxDepartmentGroupLinkServiceImpl.java | 37 +++++ .../QywxDepartmentGroupServiceImpl.java | 24 ++++ .../mapper/QywxDepartmentGroupLinkMapper.xml | 27 ++++ 18 files changed, 553 insertions(+), 96 deletions(-) create mode 100644 src/main/java/com/zh/project0512/mapper/QywxDepartmentGroupLinkMapper.java create mode 100644 src/main/java/com/zh/project0512/mapper/QywxDepartmentGroupMapper.java create mode 100644 src/main/java/com/zh/project0512/model/QywxDepartmentGroup.java create mode 100644 src/main/java/com/zh/project0512/model/QywxDepartmentGroupLink.java create mode 100644 src/main/java/com/zh/project0512/service/IQywxDepartmentGroupLinkService.java create mode 100644 src/main/java/com/zh/project0512/service/IQywxDepartmentGroupService.java create mode 100644 src/main/java/com/zh/project0512/serviceImpl/QywxDepartmentGroupLinkServiceImpl.java create mode 100644 src/main/java/com/zh/project0512/serviceImpl/QywxDepartmentGroupServiceImpl.java create mode 100644 src/main/resources/mapper/QywxDepartmentGroupLinkMapper.xml diff --git a/src/main/java/com/zh/project0512/controller/ScheduleController.java b/src/main/java/com/zh/project0512/controller/ScheduleController.java index 6d4b039..231f4db 100644 --- a/src/main/java/com/zh/project0512/controller/ScheduleController.java +++ b/src/main/java/com/zh/project0512/controller/ScheduleController.java @@ -61,70 +61,70 @@ public class ScheduleController { } // @Scheduled(cron = "0 0/1 * * * ? ") - @Scheduled(cron = "0 0 0 1 1/1 ?") - public void taskRank() { - //获取开始时间和结束时间 - Calendar cal = Calendar.getInstance(); - cal.setTime(new Date()); - cal.add(Calendar.MONTH,-1); - cal.set(Calendar.DAY_OF_MONTH,1); - cal.set(Calendar.HOUR_OF_DAY, 0); - cal.set(Calendar.MINUTE, 0); - cal.set(Calendar.SECOND, 0); - Date timeStart = cal.getTime(); - cal.set(Calendar.DAY_OF_MONTH,cal.getActualMaximum(Calendar.DAY_OF_MONTH)); - Date timeEnd = cal.getTime(); - //获取员工排名进排名数据库 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.groupBy("u.id"); - queryWrapper.orderByDesc("value"); - List rankUserList = qywxDepartmentUserLinkMapper.getUserRankList(queryWrapper); - if (rankUserList != null && rankUserList.size()>0){ - for (RankListVo rankListVo : rankUserList) { - //查询是否有上一月记录,如果有就减去上一月传播值,没有则直接添加 - QueryWrapper queryWrapper2 = new QueryWrapper<>(); - queryWrapper2.eq("linkId",rankListVo.getLinkId()); - queryWrapper2.eq("type",2);//2.员工 - queryWrapper2.orderByDesc("dateStart"); - queryWrapper2.last("limit 1"); - Rank rank = rankMapper.selectOne(queryWrapper2); - if (rank != null){ - rankListVo.setValue(rankListVo.getValue() - rank.getValue()); - } - Rank rank2 = new Rank(); - PropertyUtils.copyProperties(rankListVo,rank2); - rank2.setType(2);//2.员工 - rank2.setDateStart(timeStart); - rank2.setDateEnd(timeEnd); - rank2.setCreateDate(new Date()); - rankMapper.insert(rank2); - } - } - //计算经销商排名进排名数据库 - QueryWrapper queryWrapper3 = new QueryWrapper<>(); - queryWrapper3.groupBy("qd.departmentId"); - queryWrapper3.orderByDesc("value"); - List rankDepartmentList = qywxDepartmentUserLinkMapper.getDepartmentRankList(queryWrapper3); - if (rankDepartmentList != null && rankDepartmentList.size()>0){ - for (RankListVo rankListVo : rankDepartmentList) { - //查询是否有上一月记录,如果有就减去上一月传播值,没有则直接添加 - QueryWrapper queryWrapper2 = new QueryWrapper<>(); - queryWrapper2.eq("linkId",rankListVo.getLinkId()); - queryWrapper2.eq("type",1);//1.经销商 - queryWrapper2.orderByDesc("dateStart"); - queryWrapper2.last("limit 1"); - Rank rank = rankMapper.selectOne(queryWrapper2); - if (rank != null){ - rankListVo.setValue(rankListVo.getValue() - rank.getValue()); - } - Rank rank2 = new Rank(); - PropertyUtils.copyProperties(rankListVo,rank2); - rank2.setType(1);//1.经销商 - rank2.setDateStart(timeStart); - rank2.setDateEnd(timeEnd); - rank2.setCreateDate(new Date()); - rankMapper.insert(rank2); - } - } - } +// @Scheduled(cron = "0 0 0 1 1/1 ?") +// public void taskRank() { +// //获取开始时间和结束时间 +// Calendar cal = Calendar.getInstance(); +// cal.setTime(new Date()); +// cal.add(Calendar.MONTH,-1); +// cal.set(Calendar.DAY_OF_MONTH,1); +// cal.set(Calendar.HOUR_OF_DAY, 0); +// cal.set(Calendar.MINUTE, 0); +// cal.set(Calendar.SECOND, 0); +// Date timeStart = cal.getTime(); +// cal.set(Calendar.DAY_OF_MONTH,cal.getActualMaximum(Calendar.DAY_OF_MONTH)); +// Date timeEnd = cal.getTime(); +// //获取员工排名进排名数据库 +// QueryWrapper queryWrapper = new QueryWrapper<>(); +// queryWrapper.groupBy("u.id"); +// queryWrapper.orderByDesc("value"); +// List rankUserList = qywxDepartmentUserLinkMapper.getUserRankList(queryWrapper); +// if (rankUserList != null && rankUserList.size()>0){ +// for (RankListVo rankListVo : rankUserList) { +// //查询是否有上一月记录,如果有就减去上一月传播值,没有则直接添加 +// QueryWrapper queryWrapper2 = new QueryWrapper<>(); +// queryWrapper2.eq("linkId",rankListVo.getLinkId()); +// queryWrapper2.eq("type",2);//2.员工 +// queryWrapper2.orderByDesc("dateStart"); +// queryWrapper2.last("limit 1"); +// Rank rank = rankMapper.selectOne(queryWrapper2); +// if (rank != null){ +// rankListVo.setValue(rankListVo.getValue() - rank.getValue()); +// } +// Rank rank2 = new Rank(); +// PropertyUtils.copyProperties(rankListVo,rank2); +// rank2.setType(2);//2.员工 +// rank2.setDateStart(timeStart); +// rank2.setDateEnd(timeEnd); +// rank2.setCreateDate(new Date()); +// rankMapper.insert(rank2); +// } +// } +// //计算经销商排名进排名数据库 +// QueryWrapper queryWrapper3 = new QueryWrapper<>(); +// queryWrapper3.groupBy("qd.departmentId"); +// queryWrapper3.orderByDesc("value"); +// List rankDepartmentList = qywxDepartmentUserLinkMapper.getDepartmentRankList(queryWrapper3); +// if (rankDepartmentList != null && rankDepartmentList.size()>0){ +// for (RankListVo rankListVo : rankDepartmentList) { +// //查询是否有上一月记录,如果有就减去上一月传播值,没有则直接添加 +// QueryWrapper queryWrapper2 = new QueryWrapper<>(); +// queryWrapper2.eq("linkId",rankListVo.getLinkId()); +// queryWrapper2.eq("type",1);//1.经销商 +// queryWrapper2.orderByDesc("dateStart"); +// queryWrapper2.last("limit 1"); +// Rank rank = rankMapper.selectOne(queryWrapper2); +// if (rank != null){ +// rankListVo.setValue(rankListVo.getValue() - rank.getValue()); +// } +// Rank rank2 = new Rank(); +// PropertyUtils.copyProperties(rankListVo,rank2); +// rank2.setType(1);//1.经销商 +// rank2.setDateStart(timeStart); +// rank2.setDateEnd(timeEnd); +// rank2.setCreateDate(new Date()); +// rankMapper.insert(rank2); +// } +// } +// } } diff --git a/src/main/java/com/zh/project0512/controller/UtilsController.java b/src/main/java/com/zh/project0512/controller/UtilsController.java index ac97f15..815c478 100644 --- a/src/main/java/com/zh/project0512/controller/UtilsController.java +++ b/src/main/java/com/zh/project0512/controller/UtilsController.java @@ -8,6 +8,8 @@ import com.github.pagehelper.PageInfo; //import com.zh.project0512.service.IUserService; import com.zh.project0512.mapper.QywxDepartmentUserLinkMapper; import com.zh.project0512.mapper.RankMapper; +import com.zh.project0512.model.Rank; +import com.zh.project0512.model.TaskTeachRefe; import com.zh.project0512.model.dto.RankListDTO; import com.zh.project0512.model.vo.RankListVo; import com.zh.project0512.service.ITaskService; @@ -37,8 +39,7 @@ import java.text.SimpleDateFormat; import java.time.LocalDateTime; import java.time.ZoneOffset; import java.time.format.DateTimeFormatter; -import java.util.List; -import java.util.UUID; +import java.util.*; /** *

@@ -91,10 +92,10 @@ public class UtilsController { JSONObject res = new JSONObject(); int fileTypeNum = FileTypeUtil.getcontentTypeNum((fileName.substring(fileName.lastIndexOf(".")))); res.put("fileName", fileName); - res.put("duration",new MultimediaObject(dest).getInfo().getDuration()); + res.put("duration", new MultimediaObject(dest).getInfo().getDuration()); res.put("fileType", FileTypeUtil.getcontentType((fileName.substring(fileName.lastIndexOf("."))))); - res.put("fileTypeNum",fileTypeNum); - if(fileTypeNum == 1){ + res.put("fileTypeNum", fileTypeNum); + if (fileTypeNum == 1) { res.put("fileUrl", "/upload/" + newFileName); } return Result.success(res, "上传完成"); @@ -161,14 +162,20 @@ public class UtilsController { @PostMapping("/test") @ResponseBody - public Result test(){ + public Result test() { //获取员工排名进排名数据库 QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("date_format(v.creatAt, '%Y-%m')",LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM"))); + queryWrapper.eq("date_format(v.creatAt, '%Y-%m')", LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM"))); queryWrapper.groupBy("u.id"); queryWrapper.orderByDesc("value"); List rankUserList = qywxDepartmentUserLinkMapper.getUserRankList(queryWrapper); -// rankMapper.addGroup(rankUserList); + ArrayList list = new ArrayList<>(); + if (rankUserList != null && rankUserList.size() > 0) { + for (RankListVo e : rankUserList) { + new Rank().setTitle(e.getTitle()).setSubtitle(e.getSubtitle()).setLinkId(e.getLinkId()).setValue(e.getValue()).setCreateDate(LocalDateTime.now()); +// list.add(); + } + } return Result.success(rankUserList); } diff --git a/src/main/java/com/zh/project0512/controller/manage/QYWXController.java b/src/main/java/com/zh/project0512/controller/manage/QYWXController.java index e899930..975b118 100644 --- a/src/main/java/com/zh/project0512/controller/manage/QYWXController.java +++ b/src/main/java/com/zh/project0512/controller/manage/QYWXController.java @@ -17,20 +17,6 @@ import java.util.List; @RestController @RequestMapping("/manage/qywx") public class QYWXController { - @Autowired - private HttpUtil httpUtil; - @Autowired - private IQywxDepartmentService qywxDepartmentService; - @Operation(summary = "刷新企业部门信息") - @PostMapping("/departmentRefresh") - @AdminTokenValid - public Result departmentRefresh() { - String access_token = httpUtil.qywxGetToken(); - JSONObject res = httpUtil.qywxDepartmentList(access_token); - List department = res.getJSONArray("department"); - qywxDepartmentService.remove(new QueryWrapper<>()); - qywxDepartmentService.updateAll(department); - return Result.success(res.getJSONArray("department")); - } + } diff --git a/src/main/java/com/zh/project0512/controller/manage/TaskController.java b/src/main/java/com/zh/project0512/controller/manage/TaskController.java index 302d6d1..73186c7 100644 --- a/src/main/java/com/zh/project0512/controller/manage/TaskController.java +++ b/src/main/java/com/zh/project0512/controller/manage/TaskController.java @@ -74,11 +74,14 @@ public class TaskController { private ITaskDepartmentService taskDepartmentService; @Autowired private IVideoService videoService; + @Autowired + private IQywxDepartmentGroupLinkService qywxDepartmentGroupLinkService; @Operation(summary = "新增") @PostMapping("/add") @AdminTokenValid @AdminCheckAuthorityAnnotation(jurisdictionId = "2") + @Transactional public Result add(@Validated(TaskValidGroup1.class) @RequestBody Task task) { if (LocalDateTime.now().isAfter(task.getStart())) { task.setStatus(1); @@ -102,6 +105,11 @@ public class TaskController { if (departmentList != null && departmentList.size() > 0) { taskDepartmentService.addGroup(departmentList, id); } + List departmentGroupList = task.getDepartmentGroupList(); + if (departmentGroupList != null && departmentGroupList.size() > 0) { + List departmentIdList = qywxDepartmentGroupLinkService.departmentIdList(departmentGroupList); + taskDepartmentService.addGroup(departmentIdList, id); + } // 上传任务时同时上传素材 List referenceUrlList = task.getReferenceUrlList(); if (referenceUrlList != null && referenceUrlList.size() > 0) { diff --git a/src/main/java/com/zh/project0512/controller/manage/UserController.java b/src/main/java/com/zh/project0512/controller/manage/UserController.java index 0287334..fd98c22 100644 --- a/src/main/java/com/zh/project0512/controller/manage/UserController.java +++ b/src/main/java/com/zh/project0512/controller/manage/UserController.java @@ -3,10 +3,16 @@ package com.zh.project0512.controller.manage; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.zh.project0512.annotation.AdminTokenValid; +import com.zh.project0512.model.QywxDepartmentGroup; +import com.zh.project0512.model.QywxDepartmentGroupLink; import com.zh.project0512.model.User; +import com.zh.project0512.service.IQywxDepartmentGroupLinkService; +import com.zh.project0512.service.IQywxDepartmentGroupService; import com.zh.project0512.service.IQywxDepartmentService; import com.zh.project0512.service.IUserService; +import com.zh.project0512.utils.HttpUtil; import com.zh.project0512.utils.MybatisPlusUtil; import com.zh.project0512.utils.result.Result; import io.swagger.v3.oas.annotations.Operation; @@ -17,6 +23,11 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import javax.validation.constraints.Min; +import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; +import java.util.List; + /** *

* 前端控制器 @@ -30,12 +41,22 @@ import org.springframework.web.bind.annotation.*; @RequestMapping("/manage/user") public class UserController { + + @Autowired + private HttpUtil httpUtil; + @Autowired private IUserService userService; @Autowired private IQywxDepartmentService qywxDepartmentService; + @Autowired + private IQywxDepartmentGroupService qywxDepartmentGroupService; + + @Autowired + private IQywxDepartmentGroupLinkService qywxDepartmentGroupLinkService; + @Data static class UParam { private Integer pageNum; @@ -65,4 +86,110 @@ public class UserController { return Result.success(qywxDepartmentService.list(MybatisPlusUtil.SetPage(obj))); } + @Operation(summary = "刷新企业部门信息",description = "当企业微信架构改动更新时,需手动触发同步信息") + @PostMapping("/departmentRefresh") + @AdminTokenValid + public Result departmentRefresh() { + String access_token = httpUtil.qywxGetToken(); + JSONObject res = httpUtil.qywxDepartmentList(access_token); + List department = res.getJSONArray("department"); + qywxDepartmentService.remove(new QueryWrapper<>()); + qywxDepartmentService.updateAll(department); + return Result.success(res.getJSONArray("department")); + } + + @Data + static class AddDGParam { + @NotNull(message = "name不能为空") + @Schema(title = "部门级别名称") + private String name; + } + + @Operation(summary = "新增部门级别") + @PostMapping("/addDepartmentGroup") + @AdminTokenValid + public Result addDepartmentGroup(@Validated @RequestBody AddDGParam param) { + return Result.success(qywxDepartmentGroupService.save(new QywxDepartmentGroup().setName(param.getName()).setCreatAt(LocalDateTime.now()))); + } + + + @Operation(summary = "部门级别列表") + @PostMapping("/departmentGroup") + @AdminTokenValid + public Result departmentGroup(@RequestBody JSONObject obj) { + return Result.success(qywxDepartmentGroupService.page(MybatisPlusUtil.SetPage(obj))); + } + + @Data + static class DelDGParam { + @NotNull(message = "id不能为空") + @Min(value = 1, message = "id最小值为1") + @Schema(title = "部门级别id") + private Integer id; + } + + @Operation(summary = "部门级别删除") + @PostMapping("/delDepartmentGroup") + @AdminTokenValid + public Result delDepartmentGroup(@Validated @RequestBody DelDGParam param) { + return MybatisPlusUtil.sqlResult(qywxDepartmentGroupService.removeById(param.getId()),"删除"); + } + + @Data + static class UpdDGParam { + @NotNull(message = "id不能为空") + @Min(value = 1, message = "id最小值为1") + @Schema(title = "部门级别id") + private Integer id; + @NotNull(message = "name不能为空") + @Schema(title = "部门级别名称") + private String name; + } + + @Operation(summary = "部门级别重命名") + @PostMapping("/renameDepartmentGroup") + @AdminTokenValid + public Result departmentGroup(@Validated @RequestBody UpdDGParam param) { + UpdateWrapper up = new UpdateWrapper<>(); + up.eq("id",param.getId()).set("name",param.getName()).set("updateAt",LocalDateTime.now()); + return MybatisPlusUtil.sqlResult(qywxDepartmentGroupService.update(up),"修改"); + } + + @Data + static class dgAddParam { + @NotNull(message = "id不能为空") + @Min(value = 1, message = "id最小值为1") + @Schema(title = "部门级别id") + private Integer id; + @NotNull(message = "部门id列表不能为空") + @Schema(title = "部门id列表",description = "格式为[1,...,2]") + private List departmentIdList; + } + + @Operation(summary = "部门级别添加部门",description = "批量添加部门id") + @PostMapping("/departmentGroupAdd") + @AdminTokenValid + public Result departmentGroupAdd(@Validated @RequestBody dgAddParam param) { + qywxDepartmentGroupLinkService.groupAddDepartment(param.getId(),param.getDepartmentIdList(),LocalDateTime.now()); + return Result.success("添加完成"); + } + + @Operation(summary = "部门级别详情") + @PostMapping("/departmentGroupDet") + @AdminTokenValid + public Result departmentGroupDet(@Validated @RequestBody dgAddParam param) { + return Result.success(qywxDepartmentGroupLinkService.departmentList(param.getId())); + } + + @Operation(summary = "部门级别删除部门",description = "批量删除部门id") + @PostMapping("/departmentGroupDel") + @AdminTokenValid + public Result departmentGroupDel(@Validated @RequestBody dgAddParam param) { + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("groupId",param.getId()); + qw.in("departmentId",param.getDepartmentIdList()); + qywxDepartmentGroupLinkService.remove(qw); + return Result.success("删除完成"); + } + } diff --git a/src/main/java/com/zh/project0512/controller/manage/VideoEffectSettingController.java b/src/main/java/com/zh/project0512/controller/manage/VideoEffectSettingController.java index 968e884..94eafb3 100644 --- a/src/main/java/com/zh/project0512/controller/manage/VideoEffectSettingController.java +++ b/src/main/java/com/zh/project0512/controller/manage/VideoEffectSettingController.java @@ -1,20 +1,30 @@ package com.zh.project0512.controller.manage; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.zh.project0512.annotation.AdminTokenValid; +import com.zh.project0512.model.VideoEffectSetting; import com.zh.project0512.service.IVideoEffectSettingService; +import com.zh.project0512.utils.MybatisPlusUtil; import com.zh.project0512.utils.result.Result; import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.Data; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.validation.constraints.Min; +import javax.validation.constraints.NotNull; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zh @@ -22,14 +32,36 @@ import org.springframework.web.bind.annotation.RestController; */ @Tag(name = "视频传播系数管理") @RestController -@RequestMapping("/videoEffectSetting") +@RequestMapping("/manage/videoEffectSetting") public class VideoEffectSettingController { -@Autowired + @Autowired private IVideoEffectSettingService videoEffectSettingService; + @Operation(summary = "列表") @PostMapping("/list") @AdminTokenValid public Result list() { return Result.success(videoEffectSettingService.list()); } + + @Data + static class UpdVESParam { + @NotNull(message = "参数名不能为空") + @Schema(title = "参数名") + private String paramName; + @NotNull(message = "传播系数不能为空") + @Min(value = 1, message = "系数最小值为1") + @Schema(title = "传播系数") + private Integer effectTimes; + } + + @Operation(summary = "设置系数", description = "整数") + @PostMapping("/upd") + @AdminTokenValid + public Result upd(@Validated @RequestBody UpdVESParam param) { + UpdateWrapper up = new UpdateWrapper<>(); + up.eq("paramName", param.getParamName()).set("effectTimes", param.getEffectTimes()); + return MybatisPlusUtil.sqlResult(videoEffectSettingService.update(up), "修改"); + } + } diff --git a/src/main/java/com/zh/project0512/controller/wxApp/VideoUController.java b/src/main/java/com/zh/project0512/controller/wxApp/VideoUController.java index 7355633..a0271ef 100644 --- a/src/main/java/com/zh/project0512/controller/wxApp/VideoUController.java +++ b/src/main/java/com/zh/project0512/controller/wxApp/VideoUController.java @@ -74,7 +74,7 @@ public class VideoUController { } Integer userAccountStatus = userAccountService.userAccountStatus(useId, param.getType()); if(userAccountStatus ==null){ - return Result.fail(HttpStatusEnum.CUSTOM_EXCEPTION, "未找到平台下的用户账号"); + return Result.fail(HttpStatusEnum.CUSTOM_EXCEPTION, "请先申请关联账号"); }else if(userAccountStatus != 1){ return Result.fail(HttpStatusEnum.CUSTOM_EXCEPTION, "账号不可用"); } diff --git a/src/main/java/com/zh/project0512/mapper/QywxDepartmentGroupLinkMapper.java b/src/main/java/com/zh/project0512/mapper/QywxDepartmentGroupLinkMapper.java new file mode 100644 index 0000000..f8f36fa --- /dev/null +++ b/src/main/java/com/zh/project0512/mapper/QywxDepartmentGroupLinkMapper.java @@ -0,0 +1,39 @@ +package com.zh.project0512.mapper; + +import com.zh.project0512.model.QywxDepartmentGroupLink; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Insert; +import org.apache.ibatis.annotations.Select; + +import java.time.LocalDateTime; +import java.util.List; +import java.util.Map; + +/** + *

+ * Mapper 接口 + *

+ * + * @author zh + * @since 2022-06-24 + */ +public interface QywxDepartmentGroupLinkMapper extends BaseMapper { + @Insert("") + void groupAddDepartment(Integer groupId, List departmentIdList, LocalDateTime creatAt); + List departmentList(Integer groupId); + @Select("SELECT t1.departmentId\n" + + "from qywxDepartmentGroupLink as t1\n" + + "LEFT JOIN qywxDepartmentGroup as t2 on t1.groupId = t2.id\n" + + "INNER JOIN qywxDepartment as t3 on t3.departmentId = t1.departmentId \n" + + "where t2.id in \n" + + "" + + "#{item}" + + "" + + "GROUP BY departmentId") + List departmentIdList(List groupIdList); +} diff --git a/src/main/java/com/zh/project0512/mapper/QywxDepartmentGroupMapper.java b/src/main/java/com/zh/project0512/mapper/QywxDepartmentGroupMapper.java new file mode 100644 index 0000000..111bcbf --- /dev/null +++ b/src/main/java/com/zh/project0512/mapper/QywxDepartmentGroupMapper.java @@ -0,0 +1,23 @@ +package com.zh.project0512.mapper; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.zh.project0512.model.QywxDepartmentGroup; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Insert; +import org.apache.ibatis.annotations.Select; + +import java.time.LocalDateTime; +import java.util.List; +import java.util.Map; + +/** + *

+ * Mapper 接口 + *

+ * + * @author zh + * @since 2022-06-24 + */ +public interface QywxDepartmentGroupMapper extends BaseMapper { + +} diff --git a/src/main/java/com/zh/project0512/model/QywxDepartmentGroup.java b/src/main/java/com/zh/project0512/model/QywxDepartmentGroup.java new file mode 100644 index 0000000..c5d2ec8 --- /dev/null +++ b/src/main/java/com/zh/project0512/model/QywxDepartmentGroup.java @@ -0,0 +1,44 @@ +package com.zh.project0512.model; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import com.baomidou.mybatisplus.annotation.TableId; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.TableField; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *

+ * + *

+ * + * @author zh + * @since 2022-06-24 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@TableName("qywxDepartmentGroup") +public class QywxDepartmentGroup extends Model { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + /** + * 部门级别名称 + */ + private String name; + + @TableField("creatAt") + private LocalDateTime creatAt; + + @TableField("updateAt") + private LocalDateTime updateAt; + + +} diff --git a/src/main/java/com/zh/project0512/model/QywxDepartmentGroupLink.java b/src/main/java/com/zh/project0512/model/QywxDepartmentGroupLink.java new file mode 100644 index 0000000..dcf6f08 --- /dev/null +++ b/src/main/java/com/zh/project0512/model/QywxDepartmentGroupLink.java @@ -0,0 +1,48 @@ +package com.zh.project0512.model; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import com.baomidou.mybatisplus.annotation.TableId; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.TableField; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *

+ * + *

+ * + * @author zh + * @since 2022-06-24 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@TableName("qywxDepartmentGroupLink") +public class QywxDepartmentGroupLink extends Model { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + /** + * 部门分组id + */ + @TableField("groupId") + private Integer groupId; + + /** + * 部门id + */ + @TableField("departmentId") + private Integer departmentId; + + @TableField("creatAt") + private LocalDateTime creatAt; + + +} diff --git a/src/main/java/com/zh/project0512/model/Rank.java b/src/main/java/com/zh/project0512/model/Rank.java index d05d366..d78bf38 100644 --- a/src/main/java/com/zh/project0512/model/Rank.java +++ b/src/main/java/com/zh/project0512/model/Rank.java @@ -3,13 +3,20 @@ package com.zh.project0512.model; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.AllArgsConstructor; import lombok.Data; +import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; import java.io.Serializable; +import java.time.LocalDateTime; import java.util.Date; +@Accessors(chain = true) +@TableName("taskReference") @Data @NoArgsConstructor @AllArgsConstructor @@ -46,15 +53,18 @@ public class Rank implements Serializable { * 开始时间 */ @TableField("dateStart") - private Date dateStart; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime dateStart; /** * 结束时间 */ @TableField("dateEnd") - private Date dateEnd; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime dateEnd; /** * 创建时间 */ @TableField("createDate") - private Date createDate; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createDate; } diff --git a/src/main/java/com/zh/project0512/model/Task.java b/src/main/java/com/zh/project0512/model/Task.java index 0c694c8..7d64804 100644 --- a/src/main/java/com/zh/project0512/model/Task.java +++ b/src/main/java/com/zh/project0512/model/Task.java @@ -133,6 +133,10 @@ public class Task extends Model { @TableField(exist = false) private List departmentList; + @Schema(title="接受任务部门分组列表") + @TableField(exist = false) + private List departmentGroupList; + @Schema(title = "是否被用户接受") @TableField(exist = false) private Integer isReceived; diff --git a/src/main/java/com/zh/project0512/service/IQywxDepartmentGroupLinkService.java b/src/main/java/com/zh/project0512/service/IQywxDepartmentGroupLinkService.java new file mode 100644 index 0000000..5b06f99 --- /dev/null +++ b/src/main/java/com/zh/project0512/service/IQywxDepartmentGroupLinkService.java @@ -0,0 +1,22 @@ +package com.zh.project0512.service; + +import com.zh.project0512.model.QywxDepartmentGroupLink; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.time.LocalDateTime; +import java.util.List; +import java.util.Map; + +/** + *

+ * 服务类 + *

+ * + * @author zh + * @since 2022-06-24 + */ +public interface IQywxDepartmentGroupLinkService extends IService { + void groupAddDepartment(Integer groupId, List departmentIdList, LocalDateTime creatAt); + List departmentList(Integer groupId); + List departmentIdList(List groupIdList); +} diff --git a/src/main/java/com/zh/project0512/service/IQywxDepartmentGroupService.java b/src/main/java/com/zh/project0512/service/IQywxDepartmentGroupService.java new file mode 100644 index 0000000..0ba91c9 --- /dev/null +++ b/src/main/java/com/zh/project0512/service/IQywxDepartmentGroupService.java @@ -0,0 +1,19 @@ +package com.zh.project0512.service; + +import com.zh.project0512.model.QywxDepartmentGroup; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.time.LocalDateTime; +import java.util.List; + +/** + *

+ * 服务类 + *

+ * + * @author zh + * @since 2022-06-24 + */ +public interface IQywxDepartmentGroupService extends IService { + +} diff --git a/src/main/java/com/zh/project0512/serviceImpl/QywxDepartmentGroupLinkServiceImpl.java b/src/main/java/com/zh/project0512/serviceImpl/QywxDepartmentGroupLinkServiceImpl.java new file mode 100644 index 0000000..3d45ed4 --- /dev/null +++ b/src/main/java/com/zh/project0512/serviceImpl/QywxDepartmentGroupLinkServiceImpl.java @@ -0,0 +1,37 @@ +package com.zh.project0512.serviceImpl; + +import com.zh.project0512.mapper.QywxDepartmentGroupMapper; +import com.zh.project0512.model.QywxDepartmentGroupLink; +import com.zh.project0512.mapper.QywxDepartmentGroupLinkMapper; +import com.zh.project0512.service.IQywxDepartmentGroupLinkService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.time.LocalDateTime; +import java.util.List; +import java.util.Map; + +/** + *

+ * 服务实现类 + *

+ * + * @author zh + * @since 2022-06-24 + */ +@Service +public class QywxDepartmentGroupLinkServiceImpl extends ServiceImpl implements IQywxDepartmentGroupLinkService { + @Autowired + private QywxDepartmentGroupLinkMapper qywxDepartmentGroupLinkMapper; + + public void groupAddDepartment(Integer groupId, List departmentIdList, LocalDateTime creatAt) { + qywxDepartmentGroupLinkMapper.groupAddDepartment(groupId, departmentIdList, creatAt); + } + public List departmentList(Integer groupId){ + return qywxDepartmentGroupLinkMapper.departmentList(groupId); + } + public List departmentIdList(List groupIdList){ + return qywxDepartmentGroupLinkMapper.departmentIdList(groupIdList); + } +} diff --git a/src/main/java/com/zh/project0512/serviceImpl/QywxDepartmentGroupServiceImpl.java b/src/main/java/com/zh/project0512/serviceImpl/QywxDepartmentGroupServiceImpl.java new file mode 100644 index 0000000..0a62568 --- /dev/null +++ b/src/main/java/com/zh/project0512/serviceImpl/QywxDepartmentGroupServiceImpl.java @@ -0,0 +1,24 @@ +package com.zh.project0512.serviceImpl; + +import com.zh.project0512.model.QywxDepartmentGroup; +import com.zh.project0512.mapper.QywxDepartmentGroupMapper; +import com.zh.project0512.service.IQywxDepartmentGroupService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.time.LocalDateTime; +import java.util.List; + +/** + *

+ * 服务实现类 + *

+ * + * @author zh + * @since 2022-06-24 + */ +@Service +public class QywxDepartmentGroupServiceImpl extends ServiceImpl implements IQywxDepartmentGroupService { + +} diff --git a/src/main/resources/mapper/QywxDepartmentGroupLinkMapper.xml b/src/main/resources/mapper/QywxDepartmentGroupLinkMapper.xml new file mode 100644 index 0000000..0588722 --- /dev/null +++ b/src/main/resources/mapper/QywxDepartmentGroupLinkMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + +