zhangjinli 3 years ago
parent 1d9b285dcd
commit 965a5fd9d5

@ -1,16 +1,19 @@
package com.zh.project0512.controller.wxApp;
import com.zh.project0512.annotation.tokenValid;
import com.zh.project0512.model.dto.RankListDTO;
import com.zh.project0512.model.vo.RankListVo;
import com.zh.project0512.service.IRankService;
import com.zh.project0512.service.IVideoService;
import com.zh.project0512.utils.JwtUtil;
import com.zh.project0512.utils.result.Result;
import com.zh.project0512.utils.result.ResultPageInfo;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
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 org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@ -20,20 +23,28 @@ import javax.annotation.Resource;
@Tag(name = "排行榜")
@RestController
@RequestMapping("/wxApp/rank")
public class RankController {
public class RankUController {
@Resource
IRankService rankService;
@Autowired
private IVideoService videoService;
/**
*
*
* @param rankListDTO DTO
* @return
*/
@Operation(summary = "排行列表")
@PostMapping("/list")
public ResultPageInfo<RankListVo> rankList(@Validated @RequestBody RankListDTO rankListDTO){
return ResultPageInfo.success(rankService.rankList(rankListDTO),"请求成功");
public ResultPageInfo<RankListVo> rankList(@Validated @RequestBody RankListDTO rankListDTO) {
return ResultPageInfo.success(rankService.rankList(rankListDTO), "请求成功");
}
@Operation(summary = "个人总记录")
@PostMapping("/myEffect")
@tokenValid
public Result myEffect(@RequestHeader String token) {
return Result.success(videoService.record(new JwtUtil().parseOpenid(token)), "请求成功");
}
}

@ -1,5 +1,6 @@
package com.zh.project0512.mapper;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zh.project0512.model.User;
@ -35,4 +36,13 @@ public interface VideoMapper extends BaseMapper<Video> {
"${ew.customSqlSegment} " +
"ORDER BY updateAt DESC,creatAt DESC")
IPage<Map> pageList(IPage iPage, @Param("ew") Wrapper<Video> queryWrapper);
@Select("SELECT sum(t1.playNum) as playNumSum,\n" +
"sum(t1.commendNum) as commendNum ,\n" +
"sum(t1.collectionNum) as collectionNum ,\n" +
"sum(t1.commentNum) as commentNum ,\n" +
"sum(t1.reSendNum) as reSendNum ,\n" +
"sum(t1.recommendNum) as recommendNum \n" +
" from video as t1" +
" inner join user on user.openid = #{openid} and user.id = t1.userId\n")
JSONObject record(String openid);
}

@ -1,5 +1,6 @@
package com.zh.project0512.service;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zh.project0512.model.User;
@ -23,4 +24,5 @@ import java.util.Map;
public interface IVideoService extends IService<Video> {
void updStatusWhenTaskEnd(String now);
IPage<Map> pageList(IPage iPage, @Param("ew") Wrapper<Video> queryWrapper);
JSONObject record(String openid);
}

@ -15,6 +15,8 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
@ -28,32 +30,29 @@ public class RankServiceImpl implements IRankService {
@Override
public PageInfo<RankListVo> rankList(RankListDTO rankListDTO) {
ArrayList<RankListVo> rankListVoList = new ArrayList<>();
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);
cal.set(Calendar.MILLISECOND,0);
Date time = cal.getTime();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd 00:00:00");
try {
time = simpleDateFormat.parse(simpleDateFormat.format(time));
} catch (ParseException e) {
e.printStackTrace();
}
// 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);
// cal.set(Calendar.MILLISECOND,0);
// Date time = cal.getTime();
// SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd 00:00:00");
LocalDateTime now = LocalDateTime.now();
String format = now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
QueryWrapper<Rank> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("type",rankListDTO.getType());
queryWrapper.eq("dateStart",time);
queryWrapper.eq("type", rankListDTO.getType());
queryWrapper.eq("date_format(dateStart, '%Y-%m-%d')", format);
Page<Rank> page = new Page<>(rankListDTO.getPageNum(), rankListDTO.getPageSize());
IPage<Rank> rankIPage = rankMapper.selectPage(page, queryWrapper);
List<Rank> records = rankIPage.getRecords();
if (records != null && records.size()>0){
if (records != null && records.size() > 0) {
for (Rank record : records) {
RankListVo rankListVo = new RankListVo();
PropertyUtils.copyProperties(record,rankListVo);
PropertyUtils.copyProperties(record, rankListVo);
rankListVoList.add(rankListVo);
}
}

@ -1,5 +1,6 @@
package com.zh.project0512.serviceImpl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zh.project0512.model.User;
@ -34,4 +35,7 @@ public class VideoServiceImpl extends ServiceImpl<VideoMapper, Video> implements
public IPage<Map> pageList(IPage iPage, @Param("ew") Wrapper<Video> queryWrapper){
return videoMapper.pageList(iPage, queryWrapper);
}
public JSONObject record(String openid){
return videoMapper.record(openid);
}
}

Loading…
Cancel
Save