From bfc0837ca511ad65d96899f3a690356a92b1b2d8 Mon Sep 17 00:00:00 2001 From: zhangjinli Date: Tue, 28 Jun 2022 16:13:02 +0800 Subject: [PATCH] zh --- .../controller/manage/TaskController.java | 66 +++++++++++---- .../manage/UserAccountController.java | 82 +++++++++++++++---- .../controller/manage/UserController.java | 40 +++++++++ .../project0512/mapper/RewardRuleMapper.java | 2 +- .../com/zh/project0512/mapper/TaskMapper.java | 1 + .../zh/project0512/mapper/VideoMapper.java | 17 +++- .../java/com/zh/project0512/model/Video.java | 14 ++++ .../zh/project0512/service/ITaskService.java | 1 + .../serviceImpl/TaskServiceImpl.java | 1 + .../com/zh/project0512/utils/ExcelUtil.java | 41 ++++------ 10 files changed, 210 insertions(+), 55 deletions(-) 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 0eb40d7..748f5bf 100644 --- a/src/main/java/com/zh/project0512/controller/manage/TaskController.java +++ b/src/main/java/com/zh/project0512/controller/manage/TaskController.java @@ -23,6 +23,7 @@ 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.apache.poi.ss.formula.functions.T; import org.apache.poi.ss.usermodel.Workbook; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; @@ -344,10 +345,10 @@ public class TaskController { private Integer status; @Schema(title = "月份区间") private Integer month; - @Schema(title = "开始时间(yyyy-MM-dd HH:mm:ss)",description = "如果传入month以月份区间为条件") + @Schema(title = "开始时间(yyyy-MM-dd HH:mm:ss)", description = "如果传入month以月份区间为条件") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime beginTime; - @Schema(title = "结束时间(yyyy-MM-dd HH:mm:ss)",description = "如果传入month以月份区间为条件") + @Schema(title = "结束时间(yyyy-MM-dd HH:mm:ss)", description = "如果传入month以月份区间为条件") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime endTime; @Schema(title = "tagId数组") @@ -368,9 +369,9 @@ public class TaskController { } if (null != param.getMonth()) { qw.between("t1.creatAt", LocalDateTime.now().minusMonths(param.getMonth()), LocalDateTime.now()); - }else{ - qw.ge(param.getBeginTime()!=null,"t1.creatAt",param.getBeginTime()); - qw.le(param.getEndTime()!=null,"t1.creatAt",param.getEndTime()); + } else { + qw.ge(param.getBeginTime() != null, "t1.creatAt", param.getBeginTime()); + qw.le(param.getEndTime() != null, "t1.creatAt", param.getEndTime()); } if (null != param.getKeyword()) { qw.like("t1.title", param.getKeyword()); @@ -447,20 +448,23 @@ public class TaskController { return Result.success(taskEffect); } - @Operation(summary = "导出excel",description = "任务成员传播效果") + @Operation(summary = "导出excel", description = "任务成员传播效果") @GetMapping("/excel") -// @AdminTokenValid - public void excel(HttpServletResponse response,@RequestParam int taskId) throws IOException { - //这是表头 - String[] arr = {"名称","年龄"}; - - QueryWrapper qw = new QueryWrapper<>(); - qw.eq("t2.id", taskId).groupBy("t1.userId"); + @AdminTokenValid + public void excel(HttpServletResponse response, @Validated @RequestBody DetTaskParam param) throws IOException { + //这是表头及格式 + String[][] array ={ + {"任务名称", "员工姓名","部门","播放数","点赞数","收藏数","评论数","转发数","推荐数","传播值"}, + {"taskTitle", "userName","departmentName","playNumSum","commendNumSum","collectionNumSum","commentNumSum","reSendNumSum","recommendNumSum","effectResultSum"}, + {"String", "String","String","int","int","int","int","int","int","int"} + }; + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("t2.id", param.getId()).groupBy("t1.userId"); List l = taskService.taskEffectData(qw); - Workbook wb = ExcelUtil.writeToExcelByList(arr, l); + Workbook wb = ExcelUtil.writeToExcelByList(array, l); OutputStream output = response.getOutputStream(); - String fileName = "接入详情.xlsx"; + String fileName = "任务传播数据.xlsx"; try { fileName = URLEncoder.encode(fileName, "UTF-8"); } catch (UnsupportedEncodingException e) { @@ -506,4 +510,36 @@ public class TaskController { } return Result.success(iPage); } + + @Operation(summary = "导出用户线索excel", description = "用户线索") + @GetMapping("/cnExcel") +// @AdminTokenValid + public void cnExcel(HttpServletResponse response,@RequestBody CNListParam param) throws IOException { + //这是表头及格式 + String[][] array ={ + {"姓名", "手机号","地区","关注车型","备注","关联任务","提交人","部门"}, + {"customerName", "tel","area","brandList","remarks","taskTitle","provideName","departmentName"}, + {"String", "String","String","String","String","String","String","String","String","String"} + }; + QueryWrapper qw = new QueryWrapper<>(); + qw.like(param.getName() != null, "t1.customerName", param.getName()); + qw.like(param.getTel() != null, "t1.tel", param.getTel()); + qw.like(param.getBrand() != null, "t1.brandList", param.getBrand()); + qw.like(param.getProviderName() != null, "t2.name", param.getProviderName()); + qw.eq(param.getDepartmentId() != null, "t4.departmentId", param.getDepartmentId()); + IPage iPage = customerActionNoteService.pageList(MybatisPlusUtil.SetNumPage(1,10000), null, qw); + List records = iPage.getRecords(); + Workbook wb = ExcelUtil.writeToExcelByList(array, records); + OutputStream output = response.getOutputStream(); + String fileName = "用户线索.xlsx"; + try { + fileName = URLEncoder.encode(fileName, "UTF-8"); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + response.setHeader("Content-disposition", "attachment;filename=" + fileName + ";" + "filename*=utf-8''" + fileName); + wb.write(output); + output.close(); + } + } diff --git a/src/main/java/com/zh/project0512/controller/manage/UserAccountController.java b/src/main/java/com/zh/project0512/controller/manage/UserAccountController.java index 14bb6b2..f4fcecc 100644 --- a/src/main/java/com/zh/project0512/controller/manage/UserAccountController.java +++ b/src/main/java/com/zh/project0512/controller/manage/UserAccountController.java @@ -3,11 +3,15 @@ package com.zh.project0512.controller.manage; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.zh.project0512.annotation.AdminCheckAuthorityAnnotation; import com.zh.project0512.annotation.AdminTokenValid; +import com.zh.project0512.model.User; import com.zh.project0512.model.UserAccount; import com.zh.project0512.service.IUserAccountService; import com.zh.project0512.service.IUserService; +import com.zh.project0512.utils.CustomUtil; +import com.zh.project0512.utils.ExcelUtil; import com.zh.project0512.utils.MybatisPlusUtil; import com.zh.project0512.utils.result.HttpStatusEnum; import com.zh.project0512.utils.result.Result; @@ -15,14 +19,23 @@ 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.apache.poi.ss.usermodel.Workbook; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; import javax.validation.constraints.Max; import javax.validation.constraints.Min; import javax.validation.constraints.NotNull; +import java.io.IOException; +import java.io.OutputStream; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; import java.time.LocalDateTime; +import java.util.List; +import java.util.Map; /** *

@@ -36,7 +49,8 @@ import java.time.LocalDateTime; @RestController @RequestMapping("/manage/userAccount") public class UserAccountController { - + @Value("${web.cdn}") + private String cdn; @Autowired private IUserAccountService userAccountService; @@ -49,7 +63,7 @@ public class UserAccountController { private int pageSize; @Schema(title = "用户名") private String name; - @Schema(title = "账号状态",description = "0审核中;1审核通过;2审核拒绝") + @Schema(title = "账号状态", description = "0审核中;1审核通过;2审核拒绝") private Integer status; @Schema(title = "部门id") private Integer departmentId; @@ -60,11 +74,51 @@ public class UserAccountController { @AdminTokenValid public Result list(@Validated @RequestBody ListUAParam param) { QueryWrapper qw = new QueryWrapper<>(); - qw.eq(param.getStatus() != null,"t1.status", param.getStatus()); - qw.eq(param.getName() != null,"t2.name", param.getName()); - qw.eq(param.getDepartmentId() != null,"t3.departmentId", param.getDepartmentId()); - qw.orderByDesc("updateAt","creatAt"); - return Result.success(userAccountService.listAll(MybatisPlusUtil.SetNumPage(param.getPageNum(), param.getPageSize()),qw)); + qw.eq(param.getStatus() != null, "t1.status", param.getStatus()); + qw.eq(param.getName() != null, "t2.name", param.getName()); + qw.eq(param.getDepartmentId() != null, "t3.departmentId", param.getDepartmentId()); + qw.orderByDesc("updateAt", "creatAt"); + return Result.success(userAccountService.listAll(MybatisPlusUtil.SetNumPage(param.getPageNum(), param.getPageSize()), qw)); + } + + @Operation(summary = "导出excel", description = "关联账号列表导出") + @GetMapping("/excel") + @AdminTokenValid + public void excel(HttpServletResponse response, @Validated @RequestBody ListUAParam param) throws IOException { + //这是表头及格式 + String[][] array = { + {"申请人", "部门", "第三方平台", "昵称", "手机号", "截图"}, + {"userName", "departmentName", "platform", "name", "tel", "validImg"}, + {"String", "String", "String", "String", "String", "String"} + }; + QueryWrapper qw = new QueryWrapper<>(); + qw.eq(param.getStatus() != null, "t1.status", param.getStatus()); + qw.eq(param.getName() != null, "t2.name", param.getName()); + qw.eq(param.getDepartmentId() != null, "t3.departmentId", param.getDepartmentId()); + qw.orderByDesc("updateAt", "creatAt"); + IPage iPage = userAccountService.listAll(MybatisPlusUtil.SetNumPage(1, 10000), qw); + List records = iPage.getRecords(); + for (Map m : records) { + if (m.get("validImg") != null) { + m.replace("validImg", cdn + m.get("validImg")); + } + //平台:1抖音;2快手;3朋友圈;4视频号 + Integer platform = (Integer) m.get("platform"); + if (platform != null) { + m.replace("platform",platform ==1?"抖音":(platform ==2?"快手":(platform ==3?"朋友圈":platform ==4?"朋友圈":null)) ); + } + } + Workbook wb = ExcelUtil.writeToExcelByList(array, iPage.getRecords()); + OutputStream output = response.getOutputStream(); + String fileName = "用户账号导出.xlsx"; + try { + fileName = URLEncoder.encode(fileName, "UTF-8"); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + response.setHeader("Content-disposition", "attachment;filename=" + fileName + ";" + "filename*=utf-8''" + fileName); + wb.write(output); + output.close(); } @Data @@ -76,7 +130,7 @@ public class UserAccountController { @NotNull(message = "状态不能为空") @Min(value = 1, message = "1审核通过;2审核拒绝") @Max(value = 3, message = "1审核通过;2审核拒绝") - @Schema(title = "状态",description = "1审核通过;2审核拒绝") + @Schema(title = "状态", description = "1审核通过;2审核拒绝") private Integer status; @Schema(title = "拒绝原因") private String reason; @@ -88,15 +142,15 @@ public class UserAccountController { @AdminCheckAuthorityAnnotation(jurisdictionId = "14") public Result valid(@Validated @RequestBody PassUAParam param) { UserAccount ua = userAccountService.getById(param.getId()); - if(ua ==null){ - return Result.fail(HttpStatusEnum.CUSTOM_EXCEPTION,"未找到指定账号"); + if (ua == null) { + return Result.fail(HttpStatusEnum.CUSTOM_EXCEPTION, "未找到指定账号"); } - if(ua.getStatus() != 0){ - return Result.fail(HttpStatusEnum.CUSTOM_EXCEPTION,"账号状态不在审核中"); + if (ua.getStatus() != 0) { + return Result.fail(HttpStatusEnum.CUSTOM_EXCEPTION, "账号状态不在审核中"); } UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", param.getId()).set("status",param.getStatus()).set("updateAt",LocalDateTime.now()); - updateWrapper.set("reason",param.getStatus()==2?param.getReason():""); + updateWrapper.eq("id", param.getId()).set("status", param.getStatus()).set("updateAt", LocalDateTime.now()); + updateWrapper.set("reason", param.getStatus() == 2 ? param.getReason() : ""); userAccountService.update(updateWrapper); return Result.success("修改完成"); } 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 6000980..c60ea94 100644 --- a/src/main/java/com/zh/project0512/controller/manage/UserController.java +++ b/src/main/java/com/zh/project0512/controller/manage/UserController.java @@ -4,14 +4,17 @@ 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.baomidou.mybatisplus.core.metadata.IPage; import com.zh.project0512.annotation.AdminTokenValid; import com.zh.project0512.model.QywxDepartmentGroup; import com.zh.project0512.model.QywxDepartmentGroupLink; +import com.zh.project0512.model.Task; 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.ExcelUtil; import com.zh.project0512.utils.HttpUtil; import com.zh.project0512.utils.MybatisPlusUtil; import com.zh.project0512.utils.result.Result; @@ -19,14 +22,21 @@ 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.apache.poi.ss.usermodel.Workbook; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; import javax.validation.constraints.Min; import javax.validation.constraints.NotNull; +import java.io.IOException; +import java.io.OutputStream; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; import java.time.LocalDateTime; import java.util.List; +import java.util.Map; /** *

@@ -79,6 +89,36 @@ public class UserController { return Result.success(userService.pageList(MybatisPlusUtil.SetNumPage(param.getPageNum(),param.getPageSize()),qw)); } + @Operation(summary = "导出excel", description = "成员导出") + @GetMapping("/excel") + @AdminTokenValid + public void excel(HttpServletResponse response, @Validated @RequestBody UParam param) throws IOException { + //这是表头及格式 + String[][] array ={ + {"员工","部门","上级部门","手机号","创建时间","上次登录"}, + {"name", "main_departmentName","sub_departmentName","tel","creatAt","lastLoginAt"}, + {"String", "String","String","String","LocalDateTime","LocalDateTime"} + }; + QueryWrapper qw = new QueryWrapper<>(); + qw + .and(param.getDepartment() !=null,q -> q.like( "t2.name",param.getDepartment()) + .or(o -> o.like( "t3.name",param.getDepartment()))) + .like(param.getName() !=null, "t1.name",param.getName()); + IPage iPage = userService.pageList(MybatisPlusUtil.SetNumPage(1, 10000), qw); + + Workbook wb = ExcelUtil.writeToExcelByList(array, iPage.getRecords()); + OutputStream output = response.getOutputStream(); + String fileName = "成员导出.xlsx"; + try { + fileName = URLEncoder.encode(fileName, "UTF-8"); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + response.setHeader("Content-disposition", "attachment;filename=" + fileName + ";" + "filename*=utf-8''" + fileName); + wb.write(output); + output.close(); + } + @Operation(summary = "部门列表") @PostMapping("/department") @AdminTokenValid diff --git a/src/main/java/com/zh/project0512/mapper/RewardRuleMapper.java b/src/main/java/com/zh/project0512/mapper/RewardRuleMapper.java index 065f4c4..30d5940 100644 --- a/src/main/java/com/zh/project0512/mapper/RewardRuleMapper.java +++ b/src/main/java/com/zh/project0512/mapper/RewardRuleMapper.java @@ -24,6 +24,6 @@ public interface RewardRuleMapper extends BaseMapper { " \n"+ "") void addGroup(int id,RewardRule[] arr); - @Select("select t.limitNum,t.reward from rewardRule as t where templateId = #{id}") + @Select("select t.limitNum,t.reward from rewardRule as t where templateId = #{id} ORDER BY limitNum ") List listByTemplateId(int id); } diff --git a/src/main/java/com/zh/project0512/mapper/TaskMapper.java b/src/main/java/com/zh/project0512/mapper/TaskMapper.java index add8232..eda9e1f 100644 --- a/src/main/java/com/zh/project0512/mapper/TaskMapper.java +++ b/src/main/java/com/zh/project0512/mapper/TaskMapper.java @@ -7,6 +7,7 @@ import com.zh.project0512.model.Reference; import com.zh.project0512.model.Task; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.*; +import org.apache.poi.ss.formula.functions.T; import java.util.List; import java.util.Map; diff --git a/src/main/java/com/zh/project0512/mapper/VideoMapper.java b/src/main/java/com/zh/project0512/mapper/VideoMapper.java index 6cac4ff..6b9e465 100644 --- a/src/main/java/com/zh/project0512/mapper/VideoMapper.java +++ b/src/main/java/com/zh/project0512/mapper/VideoMapper.java @@ -18,7 +18,7 @@ import java.util.Map; /** *

- * Mapper 接口 + * Mapper 接口 *

* * @author zh @@ -29,8 +29,10 @@ public interface VideoMapper extends BaseMapper