Commit 49306b4e77099de5b89fb9407c91ca835ebdfef4

Authored by 徐近程
1 parent e0af38fb

音频数据认领功能

src/main/java/com/cnlive/shenhe/api/AudioControllerApi.java
... ... @@ -68,6 +68,7 @@ public class AudioControllerApi {
68 68 return new ResponseBean(ErrorEnum.SUCCESS);
69 69 }
70 70 shyAudio.setCreateTime(new Date());
  71 + shyAudio.setState(0);
71 72 audioService.importAudioMsg(shyAudio);
72 73 } catch (Exception e) {
73 74 e.printStackTrace();
... ...
src/main/java/com/cnlive/shenhe/controller/AudioController.java
1 1 package com.cnlive.shenhe.controller;
2 2  
  3 +import com.cnlive.shenhe.bean.ErrorEnum;
  4 +import com.cnlive.shenhe.bean.ResponseBean;
3 5 import com.cnlive.shenhe.bean.SessionUser;
4 6 import com.cnlive.shenhe.entity.ShyAudio;
5 7 import com.cnlive.shenhe.entity.ShySites;
6 8 import com.cnlive.shenhe.entity.ShyUsers;
  9 +import com.cnlive.shenhe.entity.ShyVideos;
7 10 import com.cnlive.shenhe.serviceImpl.AudioServiceImpl;
8 11 import com.cnlive.shenhe.serviceImpl.SitesServiceImpl;
9 12 import com.cnlive.shenhe.serviceImpl.UsersServiceImpl;
... ... @@ -16,7 +19,9 @@ import org.springframework.beans.factory.annotation.Autowired;
16 19 import org.springframework.stereotype.Controller;
17 20 import org.springframework.ui.Model;
18 21 import org.springframework.web.bind.annotation.GetMapping;
  22 +import org.springframework.web.bind.annotation.PostMapping;
19 23 import org.springframework.web.bind.annotation.RequestMapping;
  24 +import org.springframework.web.bind.annotation.ResponseBody;
20 25  
21 26 import javax.servlet.http.HttpSession;
22 27 import java.util.List;
... ... @@ -127,4 +132,29 @@ public class AudioController extends BaseController {
127 132 return "page/audio.html";
128 133 }
129 134  
  135 +
  136 + @PostMapping("/receive")
  137 + @ResponseBody
  138 + public ResponseBean receive(String ids, Integer num, HttpSession session) {
  139 + SessionUser sessionUser = (SessionUser) session.getAttribute(SessionUser.getSessionKey());
  140 + String userId = sessionUser.getUserId();
  141 + Integer spid = sessionUser.getSpid();
  142 + //领取时要检查领取的数据是否可以领
  143 + if (CommonUtils.isNotEmpty(ids)) {
  144 + String[] cids = ids.split(",");
  145 + for (String cid : cids) {
  146 + ShyAudio shyAudio = audioService.selectByPrimaryKey(Integer.parseInt(cid));
  147 + if (CommonUtils.isNotNull(shyAudio)) {
  148 + if (shyAudio.getState() != CommonConst.AUDIT_INTT || shyAudio.getReceive()==CommonConst.RECEIVE_AFTER) {
  149 + return new ResponseBean(ErrorEnum.ERROR.getErrorCode(), "您领取的内容中有已被领取或者已经被审核,请检查并重试");
  150 + }
  151 + } else {
  152 + return new ResponseBean(ErrorEnum.ERROR.getErrorCode(), "您领取的内容不存在,请检查并重试");
  153 +
  154 + }
  155 + }
  156 + }
  157 + Integer n = audioService.receive(ids, num, userId, spid);
  158 + return new ResponseBean(ErrorEnum.SUCCESS.getErrorCode(), "认领到" + n + "条内容");
  159 + }
130 160 }
... ...
src/main/java/com/cnlive/shenhe/serviceImpl/AudioServiceImpl.java
1 1 package com.cnlive.shenhe.serviceImpl;
2 2  
3 3 import com.cnlive.shenhe.entity.ShyAudio;
  4 +import com.cnlive.shenhe.entity.ShyVideos;
4 5 import com.cnlive.shenhe.mapper.ShyAudioMapper;
5 6 import com.cnlive.shenhe.utils.CommonConst;
6 7 import com.cnlive.shenhe.utils.CommonUtils;
7 8 import com.github.pagehelper.PageHelper;
8 9 import com.github.pagehelper.PageInfo;
  10 +import org.apache.ibatis.session.RowBounds;
9 11 import org.springframework.beans.factory.annotation.Autowired;
10 12 import org.springframework.stereotype.Service;
11 13 import tk.mybatis.mapper.entity.Example;
... ... @@ -33,6 +35,43 @@ public class AudioServiceImpl {
33 35 return shyAudioMapper.updateByPrimaryKeySelective(ShyAudio);
34 36 }
35 37  
  38 + public ShyAudio selectByPrimaryKey(Integer id) {
  39 + ShyAudio shyAudio = shyAudioMapper.selectByPrimaryKey(id);
  40 + return shyAudio;
  41 + }
  42 +
  43 + public Integer receive(String ids, Integer num, String userId, Integer spid) {
  44 + Integer n = 0;
  45 + if (CommonUtils.isNotEmpty(ids)) {
  46 + String[] cids = ids.split(",");
  47 + for (String cid : cids) {
  48 + ShyAudio shyAudio = shyAudioMapper.selectByPrimaryKey(Integer.parseInt(cid));
  49 + if (CommonUtils.isNotNull(shyAudio) && shyAudio.getState() == CommonConst.AUDIT_INTT && shyAudio.getReceive()==CommonConst.RECEIVE_BEFORE) {
  50 + shyAudio.setReceive_user_id(userId);
  51 + shyAudio.setReceive(CommonConst.RECEIVE_AFTER);
  52 + shyAudioMapper.updateByPrimaryKeySelective(shyAudio);
  53 + n++;
  54 + }
  55 + }
  56 + } else if (CommonUtils.isNotNull(num) && num > 0) {
  57 + Example example = new Example(ShyAudio.class);
  58 + example.setOrderByClause("createTime desc");
  59 + example.and().andEqualTo("state", CommonConst.AUDIT_INTT);
  60 + example.and().andEqualTo("receive", CommonConst.RECEIVE_BEFORE);
  61 + if (CommonUtils.isNotNull(spid) && spid != 0) example.and().andEqualTo("spid", spid);
  62 + List<ShyAudio> shyCommentsList = shyAudioMapper.selectByExampleAndRowBounds(example, new RowBounds(0, num));
  63 + if (!shyCommentsList.isEmpty()) {
  64 + for (ShyAudio shyComments : shyCommentsList) {
  65 + shyComments.setReceive_user_id(userId);
  66 + shyComments.setReceive(CommonConst.RECEIVE_AFTER);
  67 + shyAudioMapper.updateByPrimaryKeySelective(shyComments);
  68 + n++;
  69 + }
  70 + }
  71 + }
  72 + return n;
  73 + }
  74 +
36 75 //分页查询音频数据
37 76 public PageInfo<ShyAudio> getListContent(String video_title, String start_date, String end_date, Integer state, Integer receive, Integer page, Integer pageSize, String video_priority, String orderByClause, Integer spid, String userId, String sp_Id) {
38 77 Example example = new Example(ShyAudio.class);
... ...
src/main/resources/templates/page/audio.html
... ... @@ -258,13 +258,13 @@
258 258 <button class="btn btn-info btn-sm" th:style="${state1 eq '0' && receive1 eq 'false'} ? 'display: none ' : ' '">查看</button>
259 259 </a>
260 260 <span th:if="${audio.state==0 and audio.receive==0}"> &nbsp;</span>
261   - <a th:href="@{'javascript:applyReceive('+${video.id}+')'}"
  261 + <a th:href="@{'javascript:applyReceive('+${audio.id}+')'}"
262 262 th:if="${audio.state==0 and audio.receive==0}">
263 263 <button class="btn btn-primary btn-sm">认领</button>
264 264 </a>
265   - <span th:if="${audio.state==0 and audio.receive==1 and session.sessionUser.userId==video.receive_user_id}"> &nbsp;</span>
266   - <a th:href="@{'javascript:applyRetReceive('+${video.id}+')'}"
267   - th:if="${audio.state==0 and audio.receive==1 and session.sessionUser.userId==video.receive_user_id}">
  265 + <span th:if="${audio.state==0 and audio.receive==1 and session.sessionUser.userId==audio.receive_user_id}"> &nbsp;</span>
  266 + <a th:href="@{'javascript:applyRetReceive('+${audio.id}+')'}"
  267 + th:if="${audio.state==0 and audio.receive==1 and session.sessionUser.userId==audio.receive_user_id}">
268 268 <button class="btn btn-warning btn-sm">退领</button>
269 269 </a>
270 270 </td>
... ...