zhangjinli 3 years ago
parent 543088d258
commit b1ca3cb52e

@ -2,6 +2,8 @@ package com.zh.project0512.controller.manage;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.fasterxml.jackson.annotation.JsonFormat;
import com.zh.project0512.annotation.AdminTokenValid; import com.zh.project0512.annotation.AdminTokenValid;
import com.zh.project0512.mapper.AdminMapper; 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.Video;
import com.zh.project0512.model.dto.RankListDTO; import com.zh.project0512.model.dto.RankListDTO;
import com.zh.project0512.service.IRankService; import com.zh.project0512.service.IRankService;
import com.zh.project0512.utils.MybatisPlusUtil;
import com.zh.project0512.utils.result.Result; import com.zh.project0512.utils.result.Result;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
@ -142,12 +145,16 @@ public class StatisticsController {
private Integer dateCondition; private Integer dateCondition;
@Schema(title = "1经销商2员工", description = "默认1") @Schema(title = "1经销商2员工", description = "默认1")
private Integer type; private Integer type;
private Integer pageNum;
private Integer pageSize;
} }
@Operation(summary = "排行列表") @Operation(summary = "排行列表")
@PostMapping("/data3") @PostMapping("/data3")
@AdminTokenValid @AdminTokenValid
public Result data3(@Validated @RequestBody RankParam param) { public Result data3(@Validated @RequestBody RankParam param) {
Page pg = MybatisPlusUtil.SetNumPage(param.getPageNum(), param.getPageSize());
QueryWrapper<UserEffectRecords> qw = new QueryWrapper<>(); QueryWrapper<UserEffectRecords> qw = new QueryWrapper<>();
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd"); DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDateTime now = LocalDateTime.of(LocalDateTime.now().toLocalDate(), LocalTime.MIN); LocalDateTime now = LocalDateTime.of(LocalDateTime.now().toLocalDate(), LocalTime.MIN);
@ -170,6 +177,6 @@ public class StatisticsController {
} }
} }
qw.between("t1.createAt", before, now.plusDays(1)); 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, "请求成功"); }
} }

@ -312,6 +312,9 @@ public class TaskController {
@PostMapping("/upd") @PostMapping("/upd")
@AdminTokenValid @AdminTokenValid
public Result upd(@Validated(TaskValidGroup2.class) @RequestBody Task task) { public Result upd(@Validated(TaskValidGroup2.class) @RequestBody Task task) {
if (LocalDateTime.now().isAfter(task.getStart())) {
task.setStatus(1);
}
task.setUpdateAt(LocalDateTime.now()); task.setUpdateAt(LocalDateTime.now());
return MybatisPlusUtil.sqlResult(taskService.updateById(task), "修改"); return MybatisPlusUtil.sqlResult(taskService.updateById(task), "修改");
} }

@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.zh.project0512.annotation.AdminCheckAuthorityAnnotation; import com.zh.project0512.annotation.AdminCheckAuthorityAnnotation;
import com.zh.project0512.annotation.AdminTokenValid; import com.zh.project0512.annotation.AdminTokenValid;
import com.zh.project0512.model.Brand;
import com.zh.project0512.model.TopicActivity; import com.zh.project0512.model.TopicActivity;
import com.zh.project0512.service.ITopicActivityService; import com.zh.project0512.service.ITopicActivityService;
import com.zh.project0512.utils.MybatisPlusUtil; 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.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data; import lombok.Data;
import net.sf.jsqlparser.statement.select.Top;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
@ -65,14 +68,24 @@ public class TopicActivityController {
@Operation(summary = "新增动态") @Operation(summary = "新增动态")
@PostMapping("/add") @PostMapping("/add")
@Transactional
@AdminTokenValid @AdminTokenValid
@AdminCheckAuthorityAnnotation(jurisdictionId = "4") @AdminCheckAuthorityAnnotation(jurisdictionId = "4")
public Result add(@Validated @RequestBody AddTopicParam param) { public Result add(@Validated @RequestBody AddTopicParam param) {
TopicActivity topicActivity = new TopicActivity().setTitle(param.getTitle()).setSubtitle(param.getSubtitle()) TopicActivity topicActivity = new TopicActivity()
.setType(param.getType()).setContent(param.getContent()).setDuration(param.getDuration()).setCover(param.getCover()).setCreatAt(LocalDateTime.now()); .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) { if (param.getShowAtIndex() != null && param.getShowAtIndex() == 1) {
topicActivity.setShowAtIndex(1); topicActivity.setShowAtIndex(1);
} }
topicActivityService.updSortWeightPlus();
topicActivityService.save(topicActivity); topicActivityService.save(topicActivity);
return Result.success("添加完成"); return Result.success("添加完成");
} }
@ -120,11 +133,11 @@ public class TopicActivityController {
UpdateWrapper<TopicActivity> qw = new UpdateWrapper<>(); UpdateWrapper<TopicActivity> qw = new UpdateWrapper<>();
qw.eq("id", param.getId()) qw.eq("id", param.getId())
.set(param.getTitle() != null, "title", param.getTitle()) .set(param.getTitle() != null, "title", param.getTitle())
.set(param.getSubtitle() != null, "title", param.getSubtitle()) .set(param.getSubtitle() != null, "subtitle", param.getSubtitle())
.set(param.getType() != null, "title", param.getType()) .set(param.getType() != null, "type", param.getType())
.set(param.getCover() != null, "title", param.getCover()) .set(param.getCover() != null, "cover", param.getCover())
.set(param.getDuration() != null, "title", param.getDuration()) .set(param.getDuration() != null, "duration", param.getDuration())
.set(param.getContent() != null, "title", param.getContent()) .set(param.getContent() != null, "content", param.getContent())
.set("updateAt", LocalDateTime.now()); .set("updateAt", LocalDateTime.now());
return MybatisPlusUtil.sqlResult(topicActivityService.update(qw), "修改"); return MybatisPlusUtil.sqlResult(topicActivityService.update(qw), "修改");
} }
@ -145,6 +158,7 @@ public class TopicActivityController {
public Result list(@Validated @RequestBody ListTopicParam param) { public Result list(@Validated @RequestBody ListTopicParam param) {
QueryWrapper<TopicActivity> qw = new QueryWrapper<>(); QueryWrapper<TopicActivity> qw = new QueryWrapper<>();
qw.like(param.getKeyword() != null, "title", param.getKeyword()); qw.like(param.getKeyword() != null, "title", param.getKeyword());
qw.orderByAsc("sortWeight");
qw.orderByDesc("updateAt", "creatAt"); qw.orderByDesc("updateAt", "creatAt");
if (param.getShowAtIndex() != null && param.getShowAtIndex() == true) { if (param.getShowAtIndex() != null && param.getShowAtIndex() == true) {
qw.eq("showAtIndex", 1); qw.eq("showAtIndex", 1);
@ -191,4 +205,30 @@ public class TopicActivityController {
return MybatisPlusUtil.sqlResult(topicActivityService.update(updateWrapper), "编辑"); 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("修改完成");
}
} }

@ -1,6 +1,8 @@
package com.zh.project0512.controller.wxApp; package com.zh.project0512.controller.wxApp;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.AdminTokenValid;
import com.zh.project0512.annotation.TokenValid; import com.zh.project0512.annotation.TokenValid;
import com.zh.project0512.controller.manage.StatisticsController; 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.IRankService;
import com.zh.project0512.service.IVideoService; import com.zh.project0512.service.IVideoService;
import com.zh.project0512.utils.JwtUtil; import com.zh.project0512.utils.JwtUtil;
import com.zh.project0512.utils.MybatisPlusUtil;
import com.zh.project0512.utils.result.Result; import com.zh.project0512.utils.result.Result;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
@ -55,12 +58,15 @@ public class RankUController {
private Integer dateCondition; private Integer dateCondition;
@Schema(title = "1经销商2员工", description = "默认1") @Schema(title = "1经销商2员工", description = "默认1")
private Integer type; private Integer type;
private Integer pageNum;
private Integer pageSize;
} }
@Operation(summary = "排行列表") @Operation(summary = "排行列表")
@PostMapping("/list") @PostMapping("/list")
@AdminTokenValid @AdminTokenValid
public Result list(@Validated @RequestBody RankParam param) { public Result list(@Validated @RequestBody RankParam param) {
Page pg = MybatisPlusUtil.SetNumPage(param.getPageNum(), param.getPageSize());
QueryWrapper<UserEffectRecords> qw = new QueryWrapper<>(); QueryWrapper<UserEffectRecords> qw = new QueryWrapper<>();
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd"); DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDateTime now = LocalDateTime.of(LocalDateTime.now().toLocalDate(), LocalTime.MIN); LocalDateTime now = LocalDateTime.of(LocalDateTime.now().toLocalDate(), LocalTime.MIN);
@ -83,7 +89,8 @@ public class RankUController {
} }
} }
qw.between("t1.createAt", before, now.plusDays(1)); 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 = "个人总记录") @Operation(summary = "个人总记录")

@ -43,6 +43,7 @@ public class TopicActivityUController {
@PostMapping("/list") @PostMapping("/list")
public Result list(@RequestBody(required = false) JSONObject obj) { public Result list(@RequestBody(required = false) JSONObject obj) {
QueryWrapper<TopicActivity> qw = new QueryWrapper<>(); QueryWrapper<TopicActivity> qw = new QueryWrapper<>();
qw.orderByAsc("sortWeight");
qw.orderByDesc("updateAt","creatAt"); qw.orderByDesc("updateAt","creatAt");
if(obj.getBoolean("showAtIndex") !=null && obj.getBoolean("showAtIndex") == true){ if(obj.getBoolean("showAtIndex") !=null && obj.getBoolean("showAtIndex") == true){
qw.eq("showAtIndex",1); qw.eq("showAtIndex",1);

@ -1,7 +1,9 @@
package com.zh.project0512.mapper; package com.zh.project0512.mapper;
import com.zh.project0512.model.Brand;
import com.zh.project0512.model.TopicActivity; import com.zh.project0512.model.TopicActivity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Update;
/** /**
* <p> * <p>
@ -12,5 +14,17 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* @since 2022-05-26 * @since 2022-05-26
*/ */
public interface TopicActivityMapper extends BaseMapper<TopicActivity> { public interface TopicActivityMapper extends BaseMapper<TopicActivity> {
@Update("update topicActivity set sortWeight = sortWeight + 1 where sortWeight <> 0;")
void updSortWeightPlus();
@Update("<script>" +
"update topicActivity set sortWeight = -1 where sortWeight = #{origin};\n" +
"<if test='originHigherCurrent'> " +
"update topicActivity set sortWeight = sortWeight + 1 where sortWeight &lt;&gt; 0 and sortWeight &gt;= #{current} and sortWeight &lt; #{origin};"+
"</if>" +
"<if test='!originHigherCurrent'> " +
"update topicActivity set sortWeight = sortWeight - 1 where sortWeight &lt;&gt; 0 and sortWeight &gt; #{origin} and sortWeight &lt;= #{current};\n" +
"</if>" +
"update topicActivity set sortWeight = #{current} where sortWeight = -1;" +
"</script>")
void updSort(int origin, int current, boolean originHigherCurrent);
} }

@ -1,6 +1,7 @@
package com.zh.project0512.mapper; package com.zh.project0512.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper; 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.User;
import com.zh.project0512.model.UserEffectRecords; import com.zh.project0512.model.UserEffectRecords;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@ -29,11 +30,11 @@ public interface UserEffectRecordsMapper extends BaseMapper<UserEffectRecords> {
"${ew.customSqlSegment} " + "${ew.customSqlSegment} " +
"GROUP BY departmentId\n" + "GROUP BY departmentId\n" +
"ORDER BY effectValue DESC") "ORDER BY effectValue DESC")
List<Map> rankByDepartment(@Param("ew") Wrapper<UserEffectRecords> queryWrapper); IPage<Map> rankByDepartment(IPage page, @Param("ew") Wrapper<UserEffectRecords> 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" + @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" + "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} " + "${ew.customSqlSegment} " +
"GROUP BY userId\n" + "GROUP BY userId\n" +
"ORDER BY effectValue DESC") "ORDER BY effectValue DESC")
List<Map> rankByUser(@Param("ew") Wrapper<UserEffectRecords> queryWrapper); IPage<Map> rankByUser(IPage page,@Param("ew") Wrapper<UserEffectRecords> queryWrapper);
} }

@ -84,5 +84,10 @@ public class TopicActivity extends Model {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime updateAt; private LocalDateTime updateAt;
/**
* :
*/
@Schema(title = "排序权重:数字越小排序靠前")
@TableField("sortWeight")
private Integer sortWeight;
} }

@ -12,5 +12,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
* @since 2022-05-26 * @since 2022-05-26
*/ */
public interface ITopicActivityService extends IService<TopicActivity> { public interface ITopicActivityService extends IService<TopicActivity> {
void updSortWeightPlus();
void updSort(int origin, int current, boolean originHigherCurrent);
} }

@ -4,6 +4,7 @@ import com.zh.project0512.model.TopicActivity;
import com.zh.project0512.mapper.TopicActivityMapper; import com.zh.project0512.mapper.TopicActivityMapper;
import com.zh.project0512.service.ITopicActivityService; import com.zh.project0512.service.ITopicActivityService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
/** /**
@ -16,5 +17,12 @@ import org.springframework.stereotype.Service;
*/ */
@Service @Service
public class TopicActivityServiceImpl extends ServiceImpl<TopicActivityMapper, TopicActivity> implements ITopicActivityService { public class TopicActivityServiceImpl extends ServiceImpl<TopicActivityMapper, TopicActivity> 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);
}
} }

Loading…
Cancel
Save