zhangjinli 3 years ago
parent 59e17ab5c2
commit c134fefdf8

@ -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<RankListDTO> queryWrapper = new QueryWrapper<>();
queryWrapper.groupBy("u.id");
queryWrapper.orderByDesc("value");
List<RankListVo> rankUserList = qywxDepartmentUserLinkMapper.getUserRankList(queryWrapper);
if (rankUserList != null && rankUserList.size()>0){
for (RankListVo rankListVo : rankUserList) {
//查询是否有上一月记录,如果有就减去上一月传播值,没有则直接添加
QueryWrapper<Rank> 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<RankListDTO> queryWrapper3 = new QueryWrapper<>();
queryWrapper3.groupBy("qd.departmentId");
queryWrapper3.orderByDesc("value");
List<RankListVo> rankDepartmentList = qywxDepartmentUserLinkMapper.getDepartmentRankList(queryWrapper3);
if (rankDepartmentList != null && rankDepartmentList.size()>0){
for (RankListVo rankListVo : rankDepartmentList) {
//查询是否有上一月记录,如果有就减去上一月传播值,没有则直接添加
QueryWrapper<Rank> 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<RankListDTO> queryWrapper = new QueryWrapper<>();
// queryWrapper.groupBy("u.id");
// queryWrapper.orderByDesc("value");
// List<RankListVo> rankUserList = qywxDepartmentUserLinkMapper.getUserRankList(queryWrapper);
// if (rankUserList != null && rankUserList.size()>0){
// for (RankListVo rankListVo : rankUserList) {
// //查询是否有上一月记录,如果有就减去上一月传播值,没有则直接添加
// QueryWrapper<Rank> 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<RankListDTO> queryWrapper3 = new QueryWrapper<>();
// queryWrapper3.groupBy("qd.departmentId");
// queryWrapper3.orderByDesc("value");
// List<RankListVo> rankDepartmentList = qywxDepartmentUserLinkMapper.getDepartmentRankList(queryWrapper3);
// if (rankDepartmentList != null && rankDepartmentList.size()>0){
// for (RankListVo rankListVo : rankDepartmentList) {
// //查询是否有上一月记录,如果有就减去上一月传播值,没有则直接添加
// QueryWrapper<Rank> 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);
// }
// }
// }
}

@ -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.*;
/**
* <p>
@ -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<RankListDTO> 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<RankListVo> rankUserList = qywxDepartmentUserLinkMapper.getUserRankList(queryWrapper);
// rankMapper.addGroup(rankUserList);
ArrayList<Rank> 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);
}

@ -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"));
}
}

@ -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<FileUploadParamVo> referenceUrlList = task.getReferenceUrlList();
if (referenceUrlList != null && referenceUrlList.size() > 0) {

@ -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;
/**
* <p>
*
@ -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<QywxDepartmentGroup> 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<Integer> 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<QywxDepartmentGroupLink> qw = new QueryWrapper<>();
qw.eq("groupId",param.getId());
qw.in("departmentId",param.getDepartmentIdList());
qywxDepartmentGroupLinkService.remove(qw);
return Result.success("删除完成");
}
}

@ -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;
/**
* <p>
*
*
* </p>
*
* @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<VideoEffectSetting> up = new UpdateWrapper<>();
up.eq("paramName", param.getParamName()).set("effectTimes", param.getEffectTimes());
return MybatisPlusUtil.sqlResult(videoEffectSettingService.update(up), "修改");
}
}

@ -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, "账号不可用");
}

@ -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;
/**
* <p>
* Mapper
* </p>
*
* @author zh
* @since 2022-06-24
*/
public interface QywxDepartmentGroupLinkMapper extends BaseMapper<QywxDepartmentGroupLink> {
@Insert("<script> " +
"insert into qywxDepartmentGroupLink (groupId,departmentId,creatAt) values\n"+
" <foreach collection= 'departmentIdList' item= 'item' separator=','>\n" +
"(#{groupId},#{item},#{creatAt})\n"+
"</foreach> \n"+
"</script>")
void groupAddDepartment(Integer groupId, List<Integer> departmentIdList, LocalDateTime creatAt);
List<Map> 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" +
"<foreach collection='groupIdList' index='index' item='item' open='(' separator=',' close=')'>" +
"#{item}" +
"</foreach>" +
"GROUP BY departmentId")
List<Integer> departmentIdList(List<Integer> groupIdList);
}

@ -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;
/**
* <p>
* Mapper
* </p>
*
* @author zh
* @since 2022-06-24
*/
public interface QywxDepartmentGroupMapper extends BaseMapper<QywxDepartmentGroup> {
}

@ -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;
/**
* <p>
*
* </p>
*
* @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;
}

@ -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;
/**
* <p>
*
* </p>
*
* @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;
}

@ -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;
}

@ -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;

@ -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;
/**
* <p>
*
* </p>
*
* @author zh
* @since 2022-06-24
*/
public interface IQywxDepartmentGroupLinkService extends IService<QywxDepartmentGroupLink> {
void groupAddDepartment(Integer groupId, List<Integer> departmentIdList, LocalDateTime creatAt);
List<Map> departmentList(Integer groupId);
List<Integer> departmentIdList(List<Integer> groupIdList);
}

@ -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;
/**
* <p>
*
* </p>
*
* @author zh
* @since 2022-06-24
*/
public interface IQywxDepartmentGroupService extends IService<QywxDepartmentGroup> {
}

@ -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;
/**
* <p>
*
* </p>
*
* @author zh
* @since 2022-06-24
*/
@Service
public class QywxDepartmentGroupLinkServiceImpl extends ServiceImpl<QywxDepartmentGroupLinkMapper, QywxDepartmentGroupLink> implements IQywxDepartmentGroupLinkService {
@Autowired
private QywxDepartmentGroupLinkMapper qywxDepartmentGroupLinkMapper;
public void groupAddDepartment(Integer groupId, List<Integer> departmentIdList, LocalDateTime creatAt) {
qywxDepartmentGroupLinkMapper.groupAddDepartment(groupId, departmentIdList, creatAt);
}
public List<Map> departmentList(Integer groupId){
return qywxDepartmentGroupLinkMapper.departmentList(groupId);
}
public List<Integer> departmentIdList(List<Integer> groupIdList){
return qywxDepartmentGroupLinkMapper.departmentIdList(groupIdList);
}
}

@ -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;
/**
* <p>
*
* </p>
*
* @author zh
* @since 2022-06-24
*/
@Service
public class QywxDepartmentGroupServiceImpl extends ServiceImpl<QywxDepartmentGroupMapper, QywxDepartmentGroup> implements IQywxDepartmentGroupService {
}

@ -0,0 +1,27 @@
<?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.zh.project0512.mapper.QywxDepartmentGroupLinkMapper">
<resultMap id="departmentListMap" type="java.util.Map" autoMapping="false">
<id property="departmentId" column="departmentId"/>
<result column="departmentName" property="departmentName"/>
<result column="creatAt" property="creatAt"/>
<collection property="userList" ofType="java.util.Map" javaType="java.util.List" autoMapping="false">
<id column="userId" property="userId"/>
<result column="userName" property="userName"/>
</collection>
</resultMap>
<select id="departmentList" resultMap="departmentListMap">
SELECT t1.*,t2.name,t3.name as departmentName
,t4.id as userId,t4.name as userName
from qywxDepartmentGroupLink as t1
LEFT JOIN qywxDepartmentGroup as t2 on t1.groupId = t2.id
INNER JOIN qywxDepartment as t3 on t3.departmentId = t1.departmentId
LEFT JOIN user as t4 on t4.main_department = t1.departmentId
where t2.id = #{groupId}
GROUP BY groupId, departmentId
,userName
ORDER BY creatAt DESC
</select>
</mapper>
Loading…
Cancel
Save