ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

锁表问题

2019-09-05 15:02:24  阅读:236  来源: 互联网

标签:INFO 锁表 team else 问题 CodeMsg 400 throw


/**
*团队报名
*/
@Override
//@Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class,RuntimeException.class})
public Result teamCompetition(Team team,Region region) {
try {
team.setGameState(1);
int i = teamMapper.updateByPrimaryKeySelective(team);

        if(i>0){
            region.setTotalpeople( region.getTotalpeople()+team.getPeopleNum());
            region.setTotalTeam(region.getTotalTeam()+1);
            int j = regionService.updateByKeySelective(region);
            if(j>0){
            //查询团队下所有队员
            List<TeamUser> tulist =  teamUserMapper.selectteamuser(team.getTid());
                Date date = new Date();
                List<UserMatch> umlist = new ArrayList <UserMatch>();
                if(!tulist.isEmpty()){
                    for (TeamUser teamuser: tulist) {
                        UserMatch userMatch = new UserMatch();
                        userMatch.setRegionid(teamuser.getRegionid());
                        userMatch.setUserid(teamuser.getUserid());
                        userMatch.setJointype(2);
                        userMatch.setJointime(date);
                        userMatch.setInitfund(new BigDecimal(region.getInitmoney()));
                            boolean flag = wybTaskService.doNewbieTask("jt",teamuser.getUserid());
                            if(flag){
                                umlist.add(userMatch);
                            }else{
                                throw GlobalException.error(CodeMsg.INFO(400,"团队报名参赛失败"));

                            }
                    }
                    int num =userMatchMapper.insertList(umlist);
                    if(num>0){
                        Map map = new HashMap();
                        map.put("captain_id",team.getTeamLeader());//队长
                        map.put("client_id",team.getTeamLeader());//
                        map.put("team_id",String.valueOf(team.getTid()));//团队id
                        map.put("game_id",String.valueOf(team.getRegionId()));//比赛id
                        String paramStr = JSONObject.toJSONString(map);


                        boolean b = setInvokeProtocol(paramStr, 11190);
                        if(b){
                           int m = teamUserMapper.updateteamuserByApplystateis(team.getTid());
                            logger.info("团队参赛后修改未通过申请的队员信息为失效"+m+"条。。。。。");
                           return Result.success();
                        }else{
                            throw GlobalException.error(CodeMsg.INFO(400,"团队报名参赛失败"));
                        }
                    }else {
                        throw GlobalException.error(CodeMsg.INFO(400,"团队报名参赛失败"));
                    }
                }else {
                    throw GlobalException.error(CodeMsg.INFO(400,"团队报名参赛失败"));
                }
            }else{
                throw GlobalException.error(CodeMsg.INFO(400,"团队报名参赛失败"));
            }
        }else{
            throw GlobalException.error(CodeMsg.INFO(400,"团队报名参赛失败"));
        }
    }catch (Exception e){
        e.printStackTrace();
        throw GlobalException.error(CodeMsg.INFO(400,"团队报名参赛异常"));
    }
}

/***************************************************************************************************/
@Override
public boolean doNewbieTask(String taskKey, Integer userid) {
String tasknames = “”;
switch (taskKey){
case “ct”:
tasknames = “创建团队”;
break;
case “cg”:
tasknames = “创建组合”;
break;
case “jt”:
tasknames = “参加团队”;
break;
case “wg”:
tasknames = “赢得比赛”;
break;
default:
tasknames = “其他任务”;
}
try {
WybTask wybTask = wybTaskMapper.selectByBaseName(taskKey);
TaskUser taskUser = taskUserService.selectByUserAndKey(userid,wybTask.getTaskSname());
if(null == taskUser){//当前用户没有做过首次穿件团队的任务
taskUser = new TaskUser();
taskUser.setTaskkey(wybTask.getTaskSname());
taskUser.setUserid(userid);
taskUser.setTaskname(“首次”+tasknames);
int m = taskUserService.saveSelective(taskUser);
if(m>0){
//首次创建团队的任务完成
int x =subscibeWalletService.updateRatByUser(userid,wybTask.getTaskIntegral());
if(x>0){//写一份积分记录
int num = subscibeWalletService.saveWybIntegralDetails(userid,
“首次完成新手任务-”+tasknames,wybTask.getTaskIntegral(),“新手任务-”+tasknames);
if(num>0){
return true;
}else{
throw GlobalException.error(CodeMsg.INFO(400,“首次完成新手任务失败”));
}
}else {
throw GlobalException.error(CodeMsg.INFO(400,“首次完成新手任务失败”));
}
}else{
throw GlobalException.error(CodeMsg.INFO(400,“首次完成新手任务失败”));
}
}else{
return true;
}
}catch (Exception e){
e.printStackTrace();
}
return false;
}

标签:INFO,锁表,team,else,问题,CodeMsg,400,throw
来源: https://blog.csdn.net/father_Blogger/article/details/100557823

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有