From b1ca3cb52e6083d8bb9d7167123c9f74d1552293 Mon Sep 17 00:00:00 2001 From: zhangjinli Date: Mon, 4 Jul 2022 16:02:24 +0800 Subject: [PATCH] zh --- .../manage/StatisticsController.java | 11 +++- .../controller/manage/TaskController.java | 3 ++ .../manage/TopicActivityController.java | 54 ++++++++++++++++--- .../controller/wxApp/RankUController.java | 9 +++- .../wxApp/TopicActivityUController.java | 1 + .../mapper/TopicActivityMapper.java | 16 +++++- .../mapper/UserEffectRecordsMapper.java | 5 +- .../zh/project0512/model/TopicActivity.java | 7 ++- .../service/ITopicActivityService.java | 3 +- .../serviceImpl/TopicActivityServiceImpl.java | 10 +++- 10 files changed, 103 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/zh/project0512/controller/manage/StatisticsController.java b/src/main/java/com/zh/project0512/controller/manage/StatisticsController.java index 36e4348..60013f2 100644 --- a/src/main/java/com/zh/project0512/controller/manage/StatisticsController.java +++ b/src/main/java/com/zh/project0512/controller/manage/StatisticsController.java @@ -2,6 +2,8 @@ package com.zh.project0512.controller.manage; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.fasterxml.jackson.annotation.JsonFormat; import com.zh.project0512.annotation.AdminTokenValid; import com.zh.project0512.mapper.AdminMapper; @@ -10,6 +12,7 @@ import com.zh.project0512.model.UserEffectRecords; import com.zh.project0512.model.Video; import com.zh.project0512.model.dto.RankListDTO; import com.zh.project0512.service.IRankService; +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; @@ -142,12 +145,16 @@ public class StatisticsController { private Integer dateCondition; @Schema(title = "1经销商2员工", description = "默认1") private Integer type; + private Integer pageNum; + private Integer pageSize; } @Operation(summary = "排行列表") @PostMapping("/data3") @AdminTokenValid public Result data3(@Validated @RequestBody RankParam param) { + + Page pg = MybatisPlusUtil.SetNumPage(param.getPageNum(), param.getPageSize()); QueryWrapper qw = new QueryWrapper<>(); DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd"); LocalDateTime now = LocalDateTime.of(LocalDateTime.now().toLocalDate(), LocalTime.MIN); @@ -170,6 +177,6 @@ public class StatisticsController { } } qw.between("t1.createAt", before, now.plusDays(1)); - return Result.success((param.getType() != null && param.getType() == 1) ? userEffectRecordsMapper.rankByDepartment(qw) : userEffectRecordsMapper.rankByUser(qw), "请求成功"); - } + IPage page =(param.getType() != null && param.getType() == 1) ? userEffectRecordsMapper.rankByDepartment(pg,qw) : userEffectRecordsMapper.rankByUser(pg,qw); + return Result.success(page, "请求成功"); } } 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 d7352a9..c726a0d 100644 --- a/src/main/java/com/zh/project0512/controller/manage/TaskController.java +++ b/src/main/java/com/zh/project0512/controller/manage/TaskController.java @@ -312,6 +312,9 @@ public class TaskController { @PostMapping("/upd") @AdminTokenValid public Result upd(@Validated(TaskValidGroup2.class) @RequestBody Task task) { + if (LocalDateTime.now().isAfter(task.getStart())) { + task.setStatus(1); + } task.setUpdateAt(LocalDateTime.now()); return MybatisPlusUtil.sqlResult(taskService.updateById(task), "修改"); } diff --git a/src/main/java/com/zh/project0512/controller/manage/TopicActivityController.java b/src/main/java/com/zh/project0512/controller/manage/TopicActivityController.java index 7aa57e9..e2768d1 100644 --- a/src/main/java/com/zh/project0512/controller/manage/TopicActivityController.java +++ b/src/main/java/com/zh/project0512/controller/manage/TopicActivityController.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.zh.project0512.annotation.AdminCheckAuthorityAnnotation; import com.zh.project0512.annotation.AdminTokenValid; +import com.zh.project0512.model.Brand; import com.zh.project0512.model.TopicActivity; import com.zh.project0512.service.ITopicActivityService; import com.zh.project0512.utils.MybatisPlusUtil; @@ -15,7 +16,9 @@ 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 net.sf.jsqlparser.statement.select.Top; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -65,14 +68,24 @@ public class TopicActivityController { @Operation(summary = "新增动态") @PostMapping("/add") + @Transactional @AdminTokenValid @AdminCheckAuthorityAnnotation(jurisdictionId = "4") public Result add(@Validated @RequestBody AddTopicParam param) { - TopicActivity topicActivity = new TopicActivity().setTitle(param.getTitle()).setSubtitle(param.getSubtitle()) - .setType(param.getType()).setContent(param.getContent()).setDuration(param.getDuration()).setCover(param.getCover()).setCreatAt(LocalDateTime.now()); + TopicActivity topicActivity = new TopicActivity() + .setTitle(param.getTitle()) + .setSubtitle(param.getSubtitle()) + .setType(param.getType()) + .setContent(param.getContent()) + .setDuration(param.getDuration()) + .setCover(param.getCover()) + .setSortWeight(1) + .setCreatAt(LocalDateTime.now()) + .setUpdateAt(LocalDateTime.now()); if (param.getShowAtIndex() != null && param.getShowAtIndex() == 1) { topicActivity.setShowAtIndex(1); } + topicActivityService.updSortWeightPlus(); topicActivityService.save(topicActivity); return Result.success("添加完成"); } @@ -120,11 +133,11 @@ public class TopicActivityController { UpdateWrapper qw = new UpdateWrapper<>(); qw.eq("id", param.getId()) .set(param.getTitle() != null, "title", param.getTitle()) - .set(param.getSubtitle() != null, "title", param.getSubtitle()) - .set(param.getType() != null, "title", param.getType()) - .set(param.getCover() != null, "title", param.getCover()) - .set(param.getDuration() != null, "title", param.getDuration()) - .set(param.getContent() != null, "title", param.getContent()) + .set(param.getSubtitle() != null, "subtitle", param.getSubtitle()) + .set(param.getType() != null, "type", param.getType()) + .set(param.getCover() != null, "cover", param.getCover()) + .set(param.getDuration() != null, "duration", param.getDuration()) + .set(param.getContent() != null, "content", param.getContent()) .set("updateAt", LocalDateTime.now()); return MybatisPlusUtil.sqlResult(topicActivityService.update(qw), "修改"); } @@ -145,6 +158,7 @@ public class TopicActivityController { public Result list(@Validated @RequestBody ListTopicParam param) { QueryWrapper qw = new QueryWrapper<>(); qw.like(param.getKeyword() != null, "title", param.getKeyword()); + qw.orderByAsc("sortWeight"); qw.orderByDesc("updateAt", "creatAt"); if (param.getShowAtIndex() != null && param.getShowAtIndex() == true) { qw.eq("showAtIndex", 1); @@ -191,4 +205,30 @@ public class TopicActivityController { return MybatisPlusUtil.sqlResult(topicActivityService.update(updateWrapper), "编辑"); } + @Data + static class UpdTAParam { + @NotNull(message = "id不能为空") + @Min(value = 1, message = "id最小值为1") + @Schema(title = "动态id") + private Integer id; + @NotNull(message = "排序权重不能为空") + @Min(value = 1, message = "排序权重最小值为1") + @Schema(title = "排序权重:数字越小排序靠前") + private Integer sortWeight; + } + + @Operation(summary = "修改品牌排序") + @PostMapping("/updSort") + @AdminTokenValid + public Result updSort(@Validated @RequestBody UpdTAParam param) { + TopicActivity topicActivity = topicActivityService.getById(param.getId()); + int origin = topicActivity.getSortWeight(); + int current = param.getSortWeight(); + if(origin==current){ + return Result.fail(HttpStatusEnum.CUSTOM_EXCEPTION,"权重无变化"); + } + topicActivityService.updSort(origin,current,origin>current); + return Result.success("修改完成"); + } + } diff --git a/src/main/java/com/zh/project0512/controller/wxApp/RankUController.java b/src/main/java/com/zh/project0512/controller/wxApp/RankUController.java index 06b1e48..b5907b4 100644 --- a/src/main/java/com/zh/project0512/controller/wxApp/RankUController.java +++ b/src/main/java/com/zh/project0512/controller/wxApp/RankUController.java @@ -1,6 +1,8 @@ package com.zh.project0512.controller.wxApp; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zh.project0512.annotation.AdminTokenValid; import com.zh.project0512.annotation.TokenValid; import com.zh.project0512.controller.manage.StatisticsController; @@ -10,6 +12,7 @@ import com.zh.project0512.model.dto.RankListDTO; import com.zh.project0512.service.IRankService; import com.zh.project0512.service.IVideoService; import com.zh.project0512.utils.JwtUtil; +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; @@ -55,12 +58,15 @@ public class RankUController { private Integer dateCondition; @Schema(title = "1经销商2员工", description = "默认1") private Integer type; + private Integer pageNum; + private Integer pageSize; } @Operation(summary = "排行列表") @PostMapping("/list") @AdminTokenValid public Result list(@Validated @RequestBody RankParam param) { + Page pg = MybatisPlusUtil.SetNumPage(param.getPageNum(), param.getPageSize()); QueryWrapper qw = new QueryWrapper<>(); DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd"); LocalDateTime now = LocalDateTime.of(LocalDateTime.now().toLocalDate(), LocalTime.MIN); @@ -83,7 +89,8 @@ public class RankUController { } } qw.between("t1.createAt", before, now.plusDays(1)); - return Result.success((param.getType() != null && param.getType() == 1) ? userEffectRecordsMapper.rankByDepartment(qw) : userEffectRecordsMapper.rankByUser(qw), "请求成功"); + IPage page =(param.getType() != null && param.getType() == 1) ? userEffectRecordsMapper.rankByDepartment(pg,qw) : userEffectRecordsMapper.rankByUser(pg,qw); + return Result.success(page.getRecords(), "请求成功"); } @Operation(summary = "个人总记录") diff --git a/src/main/java/com/zh/project0512/controller/wxApp/TopicActivityUController.java b/src/main/java/com/zh/project0512/controller/wxApp/TopicActivityUController.java index 4a1ac6d..01404ae 100644 --- a/src/main/java/com/zh/project0512/controller/wxApp/TopicActivityUController.java +++ b/src/main/java/com/zh/project0512/controller/wxApp/TopicActivityUController.java @@ -43,6 +43,7 @@ public class TopicActivityUController { @PostMapping("/list") public Result list(@RequestBody(required = false) JSONObject obj) { QueryWrapper qw = new QueryWrapper<>(); + qw.orderByAsc("sortWeight"); qw.orderByDesc("updateAt","creatAt"); if(obj.getBoolean("showAtIndex") !=null && obj.getBoolean("showAtIndex") == true){ qw.eq("showAtIndex",1); diff --git a/src/main/java/com/zh/project0512/mapper/TopicActivityMapper.java b/src/main/java/com/zh/project0512/mapper/TopicActivityMapper.java index 9066218..4af3e51 100644 --- a/src/main/java/com/zh/project0512/mapper/TopicActivityMapper.java +++ b/src/main/java/com/zh/project0512/mapper/TopicActivityMapper.java @@ -1,7 +1,9 @@ package com.zh.project0512.mapper; +import com.zh.project0512.model.Brand; import com.zh.project0512.model.TopicActivity; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Update; /** *

@@ -12,5 +14,17 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; * @since 2022-05-26 */ public interface TopicActivityMapper extends BaseMapper { - + @Update("update topicActivity set sortWeight = sortWeight + 1 where sortWeight <> 0;") + void updSortWeightPlus(); + @Update("") + void updSort(int origin, int current, boolean originHigherCurrent); } diff --git a/src/main/java/com/zh/project0512/mapper/UserEffectRecordsMapper.java b/src/main/java/com/zh/project0512/mapper/UserEffectRecordsMapper.java index 07d3551..c8de243 100644 --- a/src/main/java/com/zh/project0512/mapper/UserEffectRecordsMapper.java +++ b/src/main/java/com/zh/project0512/mapper/UserEffectRecordsMapper.java @@ -1,6 +1,7 @@ package com.zh.project0512.mapper; import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.zh.project0512.model.User; import com.zh.project0512.model.UserEffectRecords; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -29,11 +30,11 @@ public interface UserEffectRecordsMapper extends BaseMapper { "${ew.customSqlSegment} " + "GROUP BY departmentId\n" + "ORDER BY effectValue DESC") - List rankByDepartment(@Param("ew") Wrapper queryWrapper); + IPage rankByDepartment(IPage page, @Param("ew") Wrapper queryWrapper); @Select("SELECT t1.userId,t2.name as title,t2.departmentId,t2.departmentName as subtitle,IFNULL(sum(t1.effectResultTran),0) as effectValue from userEffectRecords as t1\n" + "INNER JOIN (SELECT t1.id,t1.name,t2.departmentId,t2.name as departmentName FROM user as t1 left join qywxDepartment as t2 on t1.main_department = t2.departmentId) as t2 on t1.userId = t2.id\n" + "${ew.customSqlSegment} " + "GROUP BY userId\n" + "ORDER BY effectValue DESC") - List rankByUser(@Param("ew") Wrapper queryWrapper); + IPage rankByUser(IPage page,@Param("ew") Wrapper queryWrapper); } diff --git a/src/main/java/com/zh/project0512/model/TopicActivity.java b/src/main/java/com/zh/project0512/model/TopicActivity.java index 6832c5d..2ddda99 100644 --- a/src/main/java/com/zh/project0512/model/TopicActivity.java +++ b/src/main/java/com/zh/project0512/model/TopicActivity.java @@ -84,5 +84,10 @@ public class TopicActivity extends Model { @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime updateAt; - + /** + * 排序权重:数字越小排序靠前 + */ + @Schema(title = "排序权重:数字越小排序靠前") + @TableField("sortWeight") + private Integer sortWeight; } diff --git a/src/main/java/com/zh/project0512/service/ITopicActivityService.java b/src/main/java/com/zh/project0512/service/ITopicActivityService.java index 52ee8c8..7e766dd 100644 --- a/src/main/java/com/zh/project0512/service/ITopicActivityService.java +++ b/src/main/java/com/zh/project0512/service/ITopicActivityService.java @@ -12,5 +12,6 @@ import com.baomidou.mybatisplus.extension.service.IService; * @since 2022-05-26 */ public interface ITopicActivityService extends IService { - + void updSortWeightPlus(); + void updSort(int origin, int current, boolean originHigherCurrent); } diff --git a/src/main/java/com/zh/project0512/serviceImpl/TopicActivityServiceImpl.java b/src/main/java/com/zh/project0512/serviceImpl/TopicActivityServiceImpl.java index acd91f5..5c9fb1d 100644 --- a/src/main/java/com/zh/project0512/serviceImpl/TopicActivityServiceImpl.java +++ b/src/main/java/com/zh/project0512/serviceImpl/TopicActivityServiceImpl.java @@ -4,6 +4,7 @@ import com.zh.project0512.model.TopicActivity; import com.zh.project0512.mapper.TopicActivityMapper; import com.zh.project0512.service.ITopicActivityService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; /** @@ -16,5 +17,12 @@ import org.springframework.stereotype.Service; */ @Service public class TopicActivityServiceImpl extends ServiceImpl implements ITopicActivityService { - + @Autowired + private TopicActivityMapper topicActivityMapper; + public void updSortWeightPlus(){ + topicActivityMapper.updSortWeightPlus(); + } + public void updSort(int origin, int current, boolean originHigherCurrent) { + topicActivityMapper.updSort(origin, current, originHigherCurrent); + } }