zhangjinli 3 years ago
parent 1d9b285dcd
commit 965a5fd9d5

@ -1,16 +1,19 @@
package com.zh.project0512.controller.wxApp; package com.zh.project0512.controller.wxApp;
import com.zh.project0512.annotation.tokenValid;
import com.zh.project0512.model.dto.RankListDTO; import com.zh.project0512.model.dto.RankListDTO;
import com.zh.project0512.model.vo.RankListVo; import com.zh.project0512.model.vo.RankListVo;
import com.zh.project0512.service.IRankService; 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 com.zh.project0512.utils.result.ResultPageInfo;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.factory.annotation.Autowired;
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.*;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -20,12 +23,15 @@ import javax.annotation.Resource;
@Tag(name = "排行榜") @Tag(name = "排行榜")
@RestController @RestController
@RequestMapping("/wxApp/rank") @RequestMapping("/wxApp/rank")
public class RankController { public class RankUController {
@Resource @Resource
IRankService rankService; IRankService rankService;
@Autowired
private IVideoService videoService;
/** /**
* *
*
* @param rankListDTO DTO * @param rankListDTO DTO
* @return * @return
*/ */
@ -35,5 +41,10 @@ public class RankController {
return ResultPageInfo.success(rankService.rankList(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; package com.zh.project0512.mapper;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zh.project0512.model.User; import com.zh.project0512.model.User;
@ -35,4 +36,13 @@ public interface VideoMapper extends BaseMapper<Video> {
"${ew.customSqlSegment} " + "${ew.customSqlSegment} " +
"ORDER BY updateAt DESC,creatAt DESC") "ORDER BY updateAt DESC,creatAt DESC")
IPage<Map> pageList(IPage iPage, @Param("ew") Wrapper<Video> queryWrapper); 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; package com.zh.project0512.service;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zh.project0512.model.User; import com.zh.project0512.model.User;
@ -23,4 +24,5 @@ import java.util.Map;
public interface IVideoService extends IService<Video> { public interface IVideoService extends IService<Video> {
void updStatusWhenTaskEnd(String now); void updStatusWhenTaskEnd(String now);
IPage<Map> pageList(IPage iPage, @Param("ew") Wrapper<Video> queryWrapper); 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 javax.annotation.Resource;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Calendar; import java.util.Calendar;
import java.util.Date; import java.util.Date;
@ -28,25 +30,22 @@ public class RankServiceImpl implements IRankService {
@Override @Override
public PageInfo<RankListVo> rankList(RankListDTO rankListDTO) { public PageInfo<RankListVo> rankList(RankListDTO rankListDTO) {
ArrayList<RankListVo> rankListVoList = new ArrayList<>(); ArrayList<RankListVo> rankListVoList = new ArrayList<>();
Calendar cal = Calendar.getInstance(); // Calendar cal = Calendar.getInstance();
cal.setTime(new Date()); // cal.setTime(new Date());
cal.add(Calendar.MONTH,-1); // cal.add(Calendar.MONTH,-1);
cal.set(Calendar.DAY_OF_MONTH,1); // cal.set(Calendar.DAY_OF_MONTH,1);
cal.set(Calendar.HOUR_OF_DAY, 0); // cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0); // cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0); // cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND,0); // cal.set(Calendar.MILLISECOND,0);
Date time = cal.getTime(); // Date time = cal.getTime();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd 00:00:00"); // SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd 00:00:00");
try { LocalDateTime now = LocalDateTime.now();
time = simpleDateFormat.parse(simpleDateFormat.format(time)); String format = now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
} catch (ParseException e) {
e.printStackTrace();
}
QueryWrapper<Rank> queryWrapper = new QueryWrapper<>(); QueryWrapper<Rank> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("type", rankListDTO.getType()); queryWrapper.eq("type", rankListDTO.getType());
queryWrapper.eq("dateStart",time); queryWrapper.eq("date_format(dateStart, '%Y-%m-%d')", format);
Page<Rank> page = new Page<>(rankListDTO.getPageNum(), rankListDTO.getPageSize()); Page<Rank> page = new Page<>(rankListDTO.getPageNum(), rankListDTO.getPageSize());
IPage<Rank> rankIPage = rankMapper.selectPage(page, queryWrapper); IPage<Rank> rankIPage = rankMapper.selectPage(page, queryWrapper);
List<Rank> records = rankIPage.getRecords(); List<Rank> records = rankIPage.getRecords();

@ -1,5 +1,6 @@
package com.zh.project0512.serviceImpl; package com.zh.project0512.serviceImpl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zh.project0512.model.User; 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){ public IPage<Map> pageList(IPage iPage, @Param("ew") Wrapper<Video> queryWrapper){
return videoMapper.pageList(iPage, queryWrapper); return videoMapper.pageList(iPage, queryWrapper);
} }
public JSONObject record(String openid){
return videoMapper.record(openid);
}
} }

Loading…
Cancel
Save