Browse Source

游戏库添加本地用户时间

master
zhangye 6 years ago
parent
commit
076a41e18c
  1. 10
      game/src/main/java/com/ccsens/game/api/ScreenController.java
  2. 22
      game/src/main/java/com/ccsens/game/bean/po/GameMemberJoin.java
  3. 120
      game/src/main/java/com/ccsens/game/bean/po/GameMemberJoinExample.java
  4. 2
      game/src/main/java/com/ccsens/game/bean/vo/ScreenVo.java
  5. 8
      game/src/main/java/com/ccsens/game/persist/dao/GameMemberJoinDao.java
  6. 2
      game/src/main/java/com/ccsens/game/service/IScreenService.java
  7. 50
      game/src/main/java/com/ccsens/game/service/ScreenService.java
  8. 43
      game/src/main/resources/mapper_raw/GameMemberJoinMapper.xml
  9. 6
      game/src/main/resources/mbg.xml
  10. 2
      mt/src/main/java/com/ccsens/mt/api/ScoreController.java
  11. 29
      mt/src/main/java/com/ccsens/mt/service/ScoreService.java
  12. 20
      mt/src/main/resources/mapper_dao/ScoreDao.xml
  13. 2
      tall/src/main/java/com/ccsens/tall/persist/dao/TaskDetailDao.java
  14. 26
      tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java
  15. 4
      tall/src/main/resources/mapper_dao/TaskDetailDao.xml
  16. 3
      util/src/main/java/com/ccsens/util/CodeEnum.java

10
game/src/main/java/com/ccsens/game/api/ScreenController.java

@ -31,24 +31,24 @@ public class ScreenController {
@ApiParam @Validated @RequestBody ScreenDto.MemberGame memberGame) throws Exception {
log.info("获取大屏路径:{}",memberGame);
ScreenVo.UrlVo urlVo = screenService.getScreenUrl(memberGame);
return JsonResponse.newInstance().ok();
return JsonResponse.newInstance().ok(urlVo);
}
@ApiOperation(value = "获取游戏基本信息", notes = "")
@ApiImplicitParams({
})
@RequestMapping(value = "", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
@RequestMapping(value = "information", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<ScreenVo.GameInfoVo> getGameInfo(HttpServletRequest request,
@ApiParam @Validated @RequestBody ScreenDto.MemberRecord memberRecord) throws Exception {
log.info("获取游戏基本信息:{}",memberRecord);
ScreenVo.GameInfoVo gameInfoVo = screenService.getGameInformation(memberRecord);
return JsonResponse.newInstance().ok();
}
@ApiOperation(value = "获取游戏的状态", notes = "")
@ApiImplicitParams({
})
@RequestMapping(value = "", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
@RequestMapping(value = "gameStatus", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse getGameStatus(HttpServletRequest request,
@ApiParam @Validated @RequestBody ScreenDto.MemberRecord memberRecord) throws Exception {
log.info("获取游戏的状态:{}",memberRecord);
@ -59,7 +59,7 @@ public class ScreenController {
@ApiOperation(value = "开始游戏", notes = "")
@ApiImplicitParams({
})
@RequestMapping(value = "", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
@RequestMapping(value = "start", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse startGame(HttpServletRequest request,
@ApiParam @Validated @RequestBody ScreenDto.MemberRecordAndTime memberRecordAndTime) throws Exception {
log.info("开始游戏:{}",memberRecordAndTime);

22
game/src/main/java/com/ccsens/game/bean/po/GameMemberJoin.java

@ -14,6 +14,10 @@ public class GameMemberJoin implements Serializable {
private String score;
private Long localStartTime;
private Long localEndTime;
private Date createdAt;
private Date updatedAt;
@ -62,6 +66,22 @@ public class GameMemberJoin implements Serializable {
this.score = score == null ? null : score.trim();
}
public Long getLocalStartTime() {
return localStartTime;
}
public void setLocalStartTime(Long localStartTime) {
this.localStartTime = localStartTime;
}
public Long getLocalEndTime() {
return localEndTime;
}
public void setLocalEndTime(Long localEndTime) {
this.localEndTime = localEndTime;
}
public Date getCreatedAt() {
return createdAt;
}
@ -97,6 +117,8 @@ public class GameMemberJoin implements Serializable {
sb.append(", recordId=").append(recordId);
sb.append(", times=").append(times);
sb.append(", score=").append(score);
sb.append(", localStartTime=").append(localStartTime);
sb.append(", localEndTime=").append(localEndTime);
sb.append(", createdAt=").append(createdAt);
sb.append(", updatedAt=").append(updatedAt);
sb.append(", recStatus=").append(recStatus);

120
game/src/main/java/com/ccsens/game/bean/po/GameMemberJoinExample.java

@ -425,6 +425,126 @@ public class GameMemberJoinExample {
return (Criteria) this;
}
public Criteria andLocalStartTimeIsNull() {
addCriterion("local_start_time is null");
return (Criteria) this;
}
public Criteria andLocalStartTimeIsNotNull() {
addCriterion("local_start_time is not null");
return (Criteria) this;
}
public Criteria andLocalStartTimeEqualTo(Long value) {
addCriterion("local_start_time =", value, "localStartTime");
return (Criteria) this;
}
public Criteria andLocalStartTimeNotEqualTo(Long value) {
addCriterion("local_start_time <>", value, "localStartTime");
return (Criteria) this;
}
public Criteria andLocalStartTimeGreaterThan(Long value) {
addCriterion("local_start_time >", value, "localStartTime");
return (Criteria) this;
}
public Criteria andLocalStartTimeGreaterThanOrEqualTo(Long value) {
addCriterion("local_start_time >=", value, "localStartTime");
return (Criteria) this;
}
public Criteria andLocalStartTimeLessThan(Long value) {
addCriterion("local_start_time <", value, "localStartTime");
return (Criteria) this;
}
public Criteria andLocalStartTimeLessThanOrEqualTo(Long value) {
addCriterion("local_start_time <=", value, "localStartTime");
return (Criteria) this;
}
public Criteria andLocalStartTimeIn(List<Long> values) {
addCriterion("local_start_time in", values, "localStartTime");
return (Criteria) this;
}
public Criteria andLocalStartTimeNotIn(List<Long> values) {
addCriterion("local_start_time not in", values, "localStartTime");
return (Criteria) this;
}
public Criteria andLocalStartTimeBetween(Long value1, Long value2) {
addCriterion("local_start_time between", value1, value2, "localStartTime");
return (Criteria) this;
}
public Criteria andLocalStartTimeNotBetween(Long value1, Long value2) {
addCriterion("local_start_time not between", value1, value2, "localStartTime");
return (Criteria) this;
}
public Criteria andLocalEndTimeIsNull() {
addCriterion("local_end_time is null");
return (Criteria) this;
}
public Criteria andLocalEndTimeIsNotNull() {
addCriterion("local_end_time is not null");
return (Criteria) this;
}
public Criteria andLocalEndTimeEqualTo(Long value) {
addCriterion("local_end_time =", value, "localEndTime");
return (Criteria) this;
}
public Criteria andLocalEndTimeNotEqualTo(Long value) {
addCriterion("local_end_time <>", value, "localEndTime");
return (Criteria) this;
}
public Criteria andLocalEndTimeGreaterThan(Long value) {
addCriterion("local_end_time >", value, "localEndTime");
return (Criteria) this;
}
public Criteria andLocalEndTimeGreaterThanOrEqualTo(Long value) {
addCriterion("local_end_time >=", value, "localEndTime");
return (Criteria) this;
}
public Criteria andLocalEndTimeLessThan(Long value) {
addCriterion("local_end_time <", value, "localEndTime");
return (Criteria) this;
}
public Criteria andLocalEndTimeLessThanOrEqualTo(Long value) {
addCriterion("local_end_time <=", value, "localEndTime");
return (Criteria) this;
}
public Criteria andLocalEndTimeIn(List<Long> values) {
addCriterion("local_end_time in", values, "localEndTime");
return (Criteria) this;
}
public Criteria andLocalEndTimeNotIn(List<Long> values) {
addCriterion("local_end_time not in", values, "localEndTime");
return (Criteria) this;
}
public Criteria andLocalEndTimeBetween(Long value1, Long value2) {
addCriterion("local_end_time between", value1, value2, "localEndTime");
return (Criteria) this;
}
public Criteria andLocalEndTimeNotBetween(Long value1, Long value2) {
addCriterion("local_end_time not between", value1, value2, "localEndTime");
return (Criteria) this;
}
public Criteria andCreatedAtIsNull() {
addCriterion("created_at is null");
return (Criteria) this;

2
game/src/main/java/com/ccsens/game/bean/vo/ScreenVo.java

@ -22,7 +22,7 @@ public class ScreenVo {
public static class GameInfoVo{
@ApiModelProperty("二维码路径")
private String QRCodeUrl;
@ApiModelProperty("游戏状态")
@ApiModelProperty("游戏状态 0未开始 1准备中 2进行中 3已结束")
private Byte gameStatus;
@ApiModelProperty("可玩总次数")
private int totalCount;

8
game/src/main/java/com/ccsens/game/persist/dao/GameMemberJoinDao.java

@ -0,0 +1,8 @@
package com.ccsens.game.persist.dao;
import com.ccsens.game.persist.mapper.GameMemberJoinMapper;
import org.springframework.stereotype.Repository;
@Repository
public interface GameMemberJoinDao extends GameMemberJoinMapper{
}

2
game/src/main/java/com/ccsens/game/service/IScreenService.java

@ -5,4 +5,6 @@ import com.ccsens.game.bean.vo.ScreenVo;
public interface IScreenService {
ScreenVo.UrlVo getScreenUrl(ScreenDto.MemberGame memberGame);
ScreenVo.GameInfoVo getGameInformation(ScreenDto.MemberRecord memberRecord);
}

50
game/src/main/java/com/ccsens/game/service/ScreenService.java

@ -36,8 +36,15 @@ public class ScreenService implements IScreenService{
@Autowired
private GameActivityRuleDao activityRuleDao;
@Autowired
private GameMemberJoinDao gameMemberJoinDao;
@Autowired
private Snowflake snowflake;
/**
* 传入用户信息返回游戏大屏路径
* @param memberGame
* @return
*/
@Override
public ScreenVo.UrlVo getScreenUrl(ScreenDto.MemberGame memberGame) {
//1、查询此用户,若没有则保存用户信息
@ -107,4 +114,47 @@ public class ScreenService implements IScreenService{
urlVo.setRuleList(ruleList);
return urlVo;
}
/**
* 获取游戏基本信息
* @param memberRecord
* @return
*/
@Override
public ScreenVo.GameInfoVo getGameInformation(ScreenDto.MemberRecord memberRecord) {
GameRecord gameRecord = gameRecordDao.selectByPrimaryKey(memberRecord.getMemberRecord());
if(ObjectUtil.isNull(gameRecord)){
throw new BaseException(CodeEnum.NOT_GAME_RECORD);
}
GameTypeMember gameTypeMember = typeMemberDao.selectByPrimaryKey(gameRecord.getTypeMemberId());
ScreenVo.GameInfoVo gameInfoVo = new ScreenVo.GameInfoVo();
gameInfoVo.setQRCodeUrl(gameRecord.getQrCodeUrl());
gameInfoVo.setTotalCount(gameTypeMember.getTotalCount());
gameInfoVo.setUsedCount(gameTypeMember.getUsedCount());
gameInfoVo.setGameStatus(gameRecord.getGameStatus());
GameMemberJoinExample gameMemberJoinExample = new GameMemberJoinExample();
gameMemberJoinExample.createCriteria().andRecordIdEqualTo(memberRecord.getMemberRecord());
List<GameMemberJoin> memberJoinList = gameMemberJoinDao.selectByExample(gameMemberJoinExample);
if(CollectionUtil.isNotEmpty(memberJoinList)){
gameInfoVo.setTotalMembers(memberJoinList.size());
}else {
gameInfoVo.setTotalMembers(0);
}
switch (gameInfoVo.getGameStatus()){
case 0:
break;
case 1:
break;
case 2:
break;
case 3:
break;
default:
break;
}
return null;
}
}

43
game/src/main/resources/mapper_raw/GameMemberJoinMapper.xml

@ -7,6 +7,8 @@
<result column="record_id" jdbcType="BIGINT" property="recordId" />
<result column="times" jdbcType="VARCHAR" property="times" />
<result column="score" jdbcType="VARCHAR" property="score" />
<result column="local_start_time" jdbcType="BIGINT" property="localStartTime" />
<result column="local_end_time" jdbcType="BIGINT" property="localEndTime" />
<result column="created_at" jdbcType="TIMESTAMP" property="createdAt" />
<result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt" />
<result column="rec_status" jdbcType="TINYINT" property="recStatus" />
@ -70,7 +72,8 @@
</where>
</sql>
<sql id="Base_Column_List">
id, member_id, record_id, times, score, created_at, updated_at, rec_status
id, member_id, record_id, times, score, local_start_time, local_end_time, created_at,
updated_at, rec_status
</sql>
<select id="selectByExample" parameterType="com.ccsens.game.bean.po.GameMemberJoinExample" resultMap="BaseResultMap">
select
@ -104,11 +107,13 @@
</delete>
<insert id="insert" parameterType="com.ccsens.game.bean.po.GameMemberJoin">
insert into t_game_member_join (id, member_id, record_id,
times, score, created_at,
updated_at, rec_status)
times, score, local_start_time,
local_end_time, created_at, updated_at,
rec_status)
values (#{id,jdbcType=BIGINT}, #{memberId,jdbcType=BIGINT}, #{recordId,jdbcType=BIGINT},
#{times,jdbcType=VARCHAR}, #{score,jdbcType=VARCHAR}, #{createdAt,jdbcType=TIMESTAMP},
#{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT})
#{times,jdbcType=VARCHAR}, #{score,jdbcType=VARCHAR}, #{localStartTime,jdbcType=BIGINT},
#{localEndTime,jdbcType=BIGINT}, #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP},
#{recStatus,jdbcType=TINYINT})
</insert>
<insert id="insertSelective" parameterType="com.ccsens.game.bean.po.GameMemberJoin">
insert into t_game_member_join
@ -128,6 +133,12 @@
<if test="score != null">
score,
</if>
<if test="localStartTime != null">
local_start_time,
</if>
<if test="localEndTime != null">
local_end_time,
</if>
<if test="createdAt != null">
created_at,
</if>
@ -154,6 +165,12 @@
<if test="score != null">
#{score,jdbcType=VARCHAR},
</if>
<if test="localStartTime != null">
#{localStartTime,jdbcType=BIGINT},
</if>
<if test="localEndTime != null">
#{localEndTime,jdbcType=BIGINT},
</if>
<if test="createdAt != null">
#{createdAt,jdbcType=TIMESTAMP},
</if>
@ -189,6 +206,12 @@
<if test="record.score != null">
score = #{record.score,jdbcType=VARCHAR},
</if>
<if test="record.localStartTime != null">
local_start_time = #{record.localStartTime,jdbcType=BIGINT},
</if>
<if test="record.localEndTime != null">
local_end_time = #{record.localEndTime,jdbcType=BIGINT},
</if>
<if test="record.createdAt != null">
created_at = #{record.createdAt,jdbcType=TIMESTAMP},
</if>
@ -210,6 +233,8 @@
record_id = #{record.recordId,jdbcType=BIGINT},
times = #{record.times,jdbcType=VARCHAR},
score = #{record.score,jdbcType=VARCHAR},
local_start_time = #{record.localStartTime,jdbcType=BIGINT},
local_end_time = #{record.localEndTime,jdbcType=BIGINT},
created_at = #{record.createdAt,jdbcType=TIMESTAMP},
updated_at = #{record.updatedAt,jdbcType=TIMESTAMP},
rec_status = #{record.recStatus,jdbcType=TINYINT}
@ -232,6 +257,12 @@
<if test="score != null">
score = #{score,jdbcType=VARCHAR},
</if>
<if test="localStartTime != null">
local_start_time = #{localStartTime,jdbcType=BIGINT},
</if>
<if test="localEndTime != null">
local_end_time = #{localEndTime,jdbcType=BIGINT},
</if>
<if test="createdAt != null">
created_at = #{createdAt,jdbcType=TIMESTAMP},
</if>
@ -250,6 +281,8 @@
record_id = #{recordId,jdbcType=BIGINT},
times = #{times,jdbcType=VARCHAR},
score = #{score,jdbcType=VARCHAR},
local_start_time = #{localStartTime,jdbcType=BIGINT},
local_end_time = #{localEndTime,jdbcType=BIGINT},
created_at = #{createdAt,jdbcType=TIMESTAMP},
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
rec_status = #{recStatus,jdbcType=TINYINT}

6
game/src/main/resources/mbg.xml

@ -55,11 +55,11 @@
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
</javaClientGenerator>
<table tableName="t_game_member" domainObjectName="GameMember"></table>
<table tableName="t_game_type" domainObjectName="GameType"></table>
<!--<table tableName="t_game_member" domainObjectName="GameMember"></table>-->
<!--<table tableName="t_game_type" domainObjectName="GameType"></table>-->
<!--<table tableName="t_game_type_member" domainObjectName="GameTypeMember"></table>-->
<!--<table tableName="t_game_record" domainObjectName="GameRecord"></table>-->
<!--<table tableName="t_game_member_join" domainObjectName="GameMemberJoin"></table>-->
<table tableName="t_game_member_join" domainObjectName="GameMemberJoin"></table>
<!--<table tableName="t_game_score_log" domainObjectName="GameScoreLog"></table>-->
<!--<table tableName="t_game_activity_rule" domainObjectName="GameActivityRule"></table>-->
<!--<table tableName="t_game_activity_prize" domainObjectName="GameActivityPrize"></table>-->

2
mt/src/main/java/com/ccsens/mt/api/ScoreController.java

@ -101,7 +101,7 @@ public class ScoreController {
@ApiImplicitParams({
@ApiImplicitParam(name = "projectId", value = "项目组id", required = true, paramType = "path"),
})
@RequestMapping(value = "/rankingScore", method = RequestMethod.GET, produces = {"application/json;charset=UTF-8"})
@RequestMapping(value = "/ranking", method = RequestMethod.GET, produces = {"application/json;charset=UTF-8"})
public JsonResponse<List<ScoreVo.RankingScore>> getRankingScore(HttpServletRequest request,
@RequestParam(required = true) Long projectId) throws Exception {
List<ScoreVo.RankingScore> bankingList = scoreService.getRanking(projectId);

29
mt/src/main/java/com/ccsens/mt/service/ScoreService.java

@ -134,12 +134,12 @@ public class ScoreService implements IScoreService{
score.setId(snowflake.nextId());
score.setJudgeUserId(memberInfo.getId());
score.setTaskId(submitScore.getPlayerId());
score.setTaskName(null);
score.setTaskName(taskInfo.getName());
score.setScoreLogId(data.getId());
score.setScore(data.getScore());
//0已评分,1被退回
score.setIsScore(0);
scoreDao.insert(score);
scoreDao.insertSelective(score);
}
}
} else {
@ -226,12 +226,13 @@ public class ScoreService implements IScoreService{
rankingScore.setCompany(taskInfo.getName());
//获取每个评委对此任务的评分
List<ScoreVo.JudgeScore> judgeScoreList = findJudgeScore(projectId,taskId);
rankingScore.setJudgeScoreList(judgeScoreList);
// rankingScore.setJudgeScoreList(judgeScoreList);
//获取此任务的平均分
BigDecimal aveScore = BigDecimal.valueOf(0);
if(CollectionUtil.isNotEmpty(judgeScoreList)){
for(ScoreVo.JudgeScore judgeScore : judgeScoreList){
aveScore = aveScore.subtract(judgeScore.getScore());
aveScore = aveScore.add(judgeScore.getScore());
}
aveScore = aveScore.divide(BigDecimal.valueOf(judgeScoreList.size()), 2, ROUND_HALF_UP);
}
@ -240,7 +241,21 @@ public class ScoreService implements IScoreService{
rankingScoreList.add(rankingScore);
}
}
return null;
//排序
for (int i = 0; i < rankingScoreList.size() - 1; i++) {
for (int j = 1; j < rankingScoreList.size() - i; j++) {
BigDecimal b1 = rankingScoreList.get(j - 1).getAveScore();
BigDecimal b2 = rankingScoreList.get(j).getAveScore();
ScoreVo.RankingScore a;
if (b1.compareTo(b2) < 0) {
a = rankingScoreList.get(j - 1);
rankingScoreList.set((j - 1), rankingScoreList.get(j));
rankingScoreList.set(j, a);
}
}
}
return rankingScoreList;
}
/**
@ -283,7 +298,7 @@ public class ScoreService implements IScoreService{
throw new BaseException(CodeEnum.NOT_TASK);
}
data.setProjectId(taskInfo.getProjectId());
data.setPlayerName(taskInfo.getProjectName());
data.setProjectName(taskInfo.getProjectName());
data.setPlayerId(taskInfo.getId());
data.setPlayerName(taskInfo.getName());
//获取每个评委对此任务的评分
@ -299,7 +314,7 @@ public class ScoreService implements IScoreService{
judge.setScore(judgeScore.getScore());
judgeList.add(judge);
//获取此任务的总分
aveScore = aveScore.subtract(judgeScore.getScore());
aveScore = aveScore.add(judgeScore.getScore());
}
//平均分
aveScore = aveScore.divide(BigDecimal.valueOf(judgeScoreList.size()), 2, ROUND_HALF_UP);

20
mt/src/main/resources/mapper_dao/ScoreDao.xml

@ -7,31 +7,31 @@
SELECT
SUM(score)
FROM
`t_score`
`t_mt_score`
WHERE
player_id=#{playerId}
task_id=#{playerId}
AND
role_id = #{judgeId}
judge_user_id = #{judgeId}
</select>
<select id="sumScore" parameterType="java.util.Map" resultType="java.math.BigDecimal">
SELECT
SUM(score)
FROM
`t_score`
`t_mt_score`
WHERE
player_id=#{playerId}
task_id=#{playerId}
</select>
<select id="maxScore" parameterType="java.util.Map" resultType="com.ccsens.mt.bean.po.MtScore">
SELECT
*
FROM
`t_score`
`t_mt_score`
WHERE
score = (SELECT MAX(score) FROM `t_score` WHERE player_id=#{playerId})
score = (SELECT MAX(score) FROM `t_mt_score` WHERE task_id=#{playerId})
AND
player_id=#{playerId}
task_id=#{playerId}
LIMIT 0,1
</select>
@ -41,9 +41,9 @@
FROM
`t_score`
WHERE
score = (SELECT MIN(score) FROM `t_score` WHERE player_id=#{playerId})
score = (SELECT MIN(score) FROM `t_mt_score` WHERE task_id=#{playerId})
AND
player_id=#{playerId}
task_id=#{playerId}
LIMIT 0,1
</select>

2
tall/src/main/java/com/ccsens/tall/persist/dao/TaskDetailDao.java

@ -14,7 +14,7 @@ public interface TaskDetailDao extends ProTaskDetailMapper {
List<TaskVo.NormalTask> selectNormalTaskListByPM(@Param("projectId") Long projectId, @Param("parentId") Long parentId,
@Param("startTime") Long startTime, @Param("endTime") Long endTime,@Param("roleId") Long roleId);
List<TaskVo.NormalTask> selectTaskByRoleAndAllMembers(@Param("projectId") Long projectId, @Param("roleId") Long roleId,
List<TaskVo.NormalTask> selectTaskByRoleAndAllMembers(@Param("projectId") Long projectId, @Param("roleId") Long roleId,@Param("allMemberId") Long allMemberId,
@Param("startTime") Long startTime, @Param("endTime") Long endTime);
TaskVo.NormalTask selectTaskByTaskId(@Param("subTimeId") Long subTimeId, @Param("taskId") Long taskId);

26
tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java

@ -17,17 +17,12 @@ import com.ccsens.util.WebConstant;
import com.ccsens.util.cron.CronConstant;
import com.ccsens.util.cron.NatureToDate;
import com.ccsens.util.exception.BaseException;
import com.sun.org.apache.bcel.internal.classfile.Code;
import io.swagger.annotations.ApiModelProperty;
import jdk.nashorn.internal.runtime.regexp.joni.CodeRangeBuffer;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.sql.Struct;
import java.util.*;
@ -197,9 +192,9 @@ public class ProTaskDetailService implements IProTaskDetailService {
allMemberId = allMember.getId();
}
//查找该角色的所有任务(全体成员的任务也是这个角色的任务)
List<TaskVo.NormalTask> secondTaskVoList = taskDetailDao.selectTaskByRoleAndAllMembers(projectId, roleId, startTime, endTime);
List<TaskVo.NormalTask> secondTaskVoList2 = taskDetailDao.selectTaskByRoleAndAllMembers(projectId, allMemberId, startTime, endTime);
secondTaskVoList.addAll(secondTaskVoList2);
List<TaskVo.NormalTask> secondTaskVoList = taskDetailDao.selectTaskByRoleAndAllMembers(projectId, roleId,allMemberId, startTime, endTime);
// List<TaskVo.NormalTask> secondTaskVoList2 = taskDetailDao.selectTaskByRoleAndAllMembers(projectId, allMemberId, startTime, endTime);
// secondTaskVoList.addAll(secondTaskVoList2);
if (CollectionUtil.isNotEmpty(secondTaskVoList)) {
for (TaskVo.NormalTask normalTask : secondTaskVoList) {
@ -432,6 +427,7 @@ public class ProTaskDetailService implements IProTaskDetailService {
taskDeliverByMVP.setDelivers(taskDeliverService.selectDeliverOrInputByTask(task.getId(), 0));
}else {
Long now = System.currentTimeMillis();
System.out.println(task.getName());
TaskVo.TaskIdAndSubTimeIdByParentIdAndTime taskAndSubTime = taskDetailDao.selectSubTimeByTaskParentIdAndTime(task.getId(), now);
taskDeliverByMVP.setDelivers(taskDeliverService.selectDeliverOrInputByTask(taskAndSubTime.getTaskId(), 0));
}
@ -732,7 +728,7 @@ public class ProTaskDetailService implements IProTaskDetailService {
for (ProRole role : roleList) {
SysProject sysProject = sysProjectDao.selectByPrimaryKey(role.getProjectId());
List<TaskVo.NormalTask> taskList =
taskDetailDao.selectTaskByRoleAndAllMembers(project.getId(), role.getId(), startTime, endTime);
taskDetailDao.selectTaskByRoleAndAllMembers(project.getId(), role.getId(), null,startTime, endTime);
if (CollectionUtil.isNotEmpty(taskList)) {
for (TaskVo.NormalTask normalTask : taskList) {
//修改任务的完成状态
@ -1185,15 +1181,23 @@ public class ProTaskDetailService implements IProTaskDetailService {
@Override
public TaskVo.TaskInfoWithFeign getProjectIdByTaskId(Long taskId) {
TaskVo.TaskInfoWithFeign taskInfo = null;
ProTaskDetail detail = taskDetailDao.selectByPrimaryKey(taskId);
ProTaskDetail detail = null;
ProTaskSubTime subTime = taskSubTimeDao.selectByPrimaryKey(taskId);
if(ObjectUtil.isNull(subTime)){
detail = taskDetailDao.selectByPrimaryKey(taskId);
}else {
detail = taskDetailDao.selectByPrimaryKey(subTime.getTaskDetailId());
}
if(ObjectUtil.isNotNull(detail)){
taskInfo = new TaskVo.TaskInfoWithFeign();
taskInfo.setId(detail.getId());
taskInfo.setName(detail.getName());
taskInfo.setProjectId(detail.getProjectId());
SysProject project = sysProjectDao.selectByPrimaryKey(detail.getProjectId());
if(ObjectUtil.isNull(project)){
if(ObjectUtil.isNotNull(project)){
taskInfo.setProjectName(project.getName());
}
}

4
tall/src/main/resources/mapper_dao/TaskDetailDao.xml

@ -68,7 +68,7 @@
LEFT JOIN t_pro_task_plugin p ON p.task_detail_id = d.id
AND
(
p.member_role_id = #{roleId}
p.member_role_id in (#{roleId},#{allMemberId})
OR
p.id IS NULL
)
@ -78,7 +78,7 @@
AND
d.project_id = #{projectId}
AND
d.executor_role = #{roleId}
d.executor_role in (#{roleId},#{allMemberId})
<if test="startTime != null">
AND
s.begin_time &lt; #{endTime}

3
util/src/main/java/com/ccsens/util/CodeEnum.java

@ -74,7 +74,8 @@ public enum CodeEnum {
NOT_GAME_TYPE(58,"对不起,未找到对应的游戏",true),
SIGNIN_REPEAT(59,"请勿重复签到",true),
SCORE_REPEAT(60,"您已经评分,请勿重复提交",true),
NOT_MEMBER(61,"对不起,找不到对应的成员信息",true)
NOT_MEMBER(61,"对不起,找不到对应的成员信息",true),
NOT_GAME_RECORD(62,"对不起,找不到对应的游戏场次",true)
;
public CodeEnum addMsg(String msg){

Loading…
Cancel
Save