liujie
2 天以前 9a44650b174f598392d0a0522b02a341ff14acb0
赛事模块
8个文件已修改
2个文件已添加
388 ■■■■■ 已修改文件
cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java 183 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/SaveData.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/course/feignClient/communityWorldCup/Model/SaveData.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/course/feignClient/communityWorldCup/WorldCupClient.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/WorldCupRecordsController.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/WEB-INF/view/system/worldCupRecords/addWorldCupGameStatisticsListInfo.html 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/static/modular/system/tGoods/tGoods_info.js 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/static/modular/system/worldCupRecords/TStoreInfo.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/static/modular/system/worldCupRecords/worldCupGameStatisticsListInfo.js 110 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java
@@ -5,10 +5,16 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.dsh.communityWorldCup.entity.*;
import com.dsh.communityWorldCup.feignclient.account.AppUserClient;
import com.dsh.communityWorldCup.feignclient.account.StudentClient;
import com.dsh.communityWorldCup.feignclient.account.StudentHonorClient;
import com.dsh.communityWorldCup.feignclient.account.UserIntegralChangesClient;
import com.dsh.communityWorldCup.feignclient.account.model.AppUser;
import com.dsh.communityWorldCup.feignclient.account.model.SaveUserIntegralChangesVo;
import com.dsh.communityWorldCup.feignclient.account.model.StudentHonor;
import com.dsh.communityWorldCup.feignclient.account.model.TStudent;
import com.dsh.communityWorldCup.feignclient.competition.ParticipantClient;
import com.dsh.communityWorldCup.feignclient.competition.model.Participant;
@@ -20,10 +26,7 @@
import com.dsh.communityWorldCup.feignclient.other.model.TGame;
import com.dsh.communityWorldCup.model.*;
import com.dsh.communityWorldCup.service.*;
import com.dsh.communityWorldCup.util.GDMapGeocodingUtil;
import com.dsh.communityWorldCup.util.PayMoneyUtil;
import com.dsh.communityWorldCup.util.ResultUtil;
import com.dsh.communityWorldCup.util.TokenUtil;
import com.dsh.communityWorldCup.util.*;
import com.dsh.communityWorldCup.util.wx.WxV3PayConfig;
import com.wechat.pay.contrib.apache.httpclient.util.AesUtil;
import groovy.util.logging.Log4j;
@@ -44,6 +47,7 @@
import java.io.IOException;
import java.io.PrintWriter;
import java.nio.charset.StandardCharsets;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.*;
@@ -104,6 +108,12 @@
    @Resource
    private GameClient gameClient;
    @Autowired
    private UserIntegralChangesClient userIntegralChangesClient;
    @Autowired
    private StudentHonorClient studentHonorClient;
    /**
@@ -369,7 +379,10 @@
    @PostMapping("/api/worldCup/endWorldCup")
    @ApiOperation(value = "裁判结束比赛【3.1】", tags = {"APP-个人中心"})
    @ApiImplicitParams({
            @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
            @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
            @ApiImplicitParam(name = "redScore", value = "红队得分", required = true, dataType = "Integer"),
            @ApiImplicitParam(name = "blueScore", value = "蓝队得分", required = true, dataType = "Integer"),
            @ApiImplicitParam(name = "custom", value = "自定义参数 列表中是数组 ,拼接传过来", required = true, dataType = "String")
    })
    public ResultUtil endWorldCup(String custom, Integer redScore, Integer blueScore){
        return worldCupService.endWorldCup(custom,redScore,blueScore);
@@ -1257,4 +1270,164 @@
        }
        return worldCupUserListVos;
    }
    @PostMapping("/worldCup/savaData1")
    public void savaData1(@RequestBody SaveData saveData) throws ParseException {
        WorldCup worldCup = worldCupService.getById(saveData.getId());
        String redStr = saveData.getRedStr();
        String blueStr = saveData.getBlueStr();
        String[] red = redStr.split(",");
        String[] blue = blueStr.split(",");
        ArrayList<String> list = new ArrayList<>(red.length+blue.length);
        list.addAll(Arrays.asList(red));
        list.addAll(Arrays.asList(blue));
        String time = saveData.getTime();
        String[] split = time.split(" - ");
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date startTime = simpleDateFormat.parse(split[0]);
        Date endTime = simpleDateFormat.parse(split[1]);
        Integer blueScore = saveData.getBlueScore();
        Integer redScore = saveData.getRedScore();
        List<WorldCupPaymentParticipant> list1 = worldCupPaymentParticipantService.list(new LambdaQueryWrapper<WorldCupPaymentParticipant>().in(WorldCupPaymentParticipant::getId, list));
        String code = UUIDUtil.getTimeStr() + UUIDUtil.getNumberRandom(3);
        ArrayList<WorldCupCompetitor> worldCupCompetitors = new ArrayList<>(red.length + blue.length);
        for (String s : blue) {
            WorldCupPaymentParticipant worldCupPaymentParticipant = list1.stream().filter(e -> e.getId().equals(s)).findFirst().orElse(null);
            if(worldCupPaymentParticipant!=null){
                WorldCupCompetitor worldCupCompetitor =new WorldCupCompetitor();
                worldCupCompetitor.setCode(code);
                worldCupCompetitor.setWorldCupId(saveData.getId().intValue());
                worldCupCompetitor.setParticipantType(worldCupPaymentParticipant.getParticipantType());
                worldCupCompetitor.setAppUserId(worldCupPaymentParticipant.getAppUserId());
                worldCupCompetitor.setParticipantId(worldCupPaymentParticipant.getParticipantId());
                worldCupCompetitor.setParticipant(1);
                worldCupCompetitor.setStartTime(startTime);
                worldCupCompetitor.setEndTime(endTime);
                if(blueScore>redScore){
                    worldCupCompetitor.setMatchResult(1);
                    worldCupCompetitor.setWinIntegral(worldCup.getWinIntegral());
                    //增加积分明细
                    SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo();
                    vo.setAppUserId(worldCupCompetitor.getAppUserId());
                    vo.setIntegral(worldCup.getWinIntegral());
                    vo.setType(7);
                    userIntegralChangesClient.saveUserIntegralChanges(vo);
                }
                if(blueScore.equals(redScore)){
                    worldCupCompetitor.setMatchResult(0);
                    worldCupCompetitor.setDrawIntegral(worldCup.getDrawIntegral());
                    //增加积分明细
                    SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo();
                    vo.setAppUserId(worldCupCompetitor.getAppUserId());
                    vo.setIntegral(worldCup.getDrawIntegral());
                    vo.setType(9);
                    userIntegralChangesClient.saveUserIntegralChanges(vo);
                }
                if(blueScore<redScore){
                    worldCupCompetitor.setMatchResult(-1);
                    worldCupCompetitor.setLoseIntegral(worldCup.getLoseIntegral());
                    //增加积分明细
                    SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo();
                    vo.setAppUserId(worldCupCompetitor.getAppUserId());
                    vo.setIntegral(worldCup.getLoseIntegral());
                    vo.setType(10);
                    userIntegralChangesClient.saveUserIntegralChanges(vo);
                }
                worldCupCompetitor.setOpponentScore(redScore);
                worldCupCompetitor.setParticipationIntegral(worldCup.getParticipationIntegral());
                //增加积分明细
                SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo();
                vo.setAppUserId(worldCupCompetitor.getAppUserId());
                vo.setIntegral(worldCup.getParticipationIntegral());
                vo.setType(6);
                userIntegralChangesClient.saveUserIntegralChanges(vo);
                worldCupCompetitorService.save(worldCupCompetitor);
                worldCupCompetitors.add(worldCupCompetitor);
            }
        }
        for (String s : red) {
            WorldCupPaymentParticipant worldCupPaymentParticipant = list1.stream().filter(e -> e.getId().equals(s)).findFirst().orElse(null);
            if(worldCupPaymentParticipant!=null){
                WorldCupCompetitor worldCupCompetitor =new WorldCupCompetitor();
                worldCupCompetitor.setCode(code);
                worldCupCompetitor.setWorldCupId(saveData.getId().intValue());
                worldCupCompetitor.setParticipantType(worldCupPaymentParticipant.getParticipantType());
                worldCupCompetitor.setAppUserId(worldCupPaymentParticipant.getAppUserId());
                worldCupCompetitor.setParticipantId(worldCupPaymentParticipant.getParticipantId());
                worldCupCompetitor.setParticipant(1);
                worldCupCompetitor.setStartTime(startTime);
                worldCupCompetitor.setEndTime(endTime);
                if(redScore>blueScore){
                    worldCupCompetitor.setMatchResult(1);
                    worldCupCompetitor.setWinIntegral(worldCup.getWinIntegral());
                    //增加积分明细
                    SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo();
                    vo.setAppUserId(worldCupCompetitor.getAppUserId());
                    vo.setIntegral(worldCup.getWinIntegral());
                    vo.setType(7);
                    userIntegralChangesClient.saveUserIntegralChanges(vo);
                }
                if(blueScore.equals(redScore)){
                    worldCupCompetitor.setMatchResult(0);
                    worldCupCompetitor.setDrawIntegral(worldCup.getDrawIntegral());
                    //增加积分明细
                    SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo();
                    vo.setAppUserId(worldCupCompetitor.getAppUserId());
                    vo.setIntegral(worldCup.getDrawIntegral());
                    vo.setType(9);
                    userIntegralChangesClient.saveUserIntegralChanges(vo);
                }
                if(redScore<blueScore){
                    worldCupCompetitor.setMatchResult(-1);
                    worldCupCompetitor.setLoseIntegral(worldCup.getLoseIntegral());
                    //增加积分明细
                    SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo();
                    vo.setAppUserId(worldCupCompetitor.getAppUserId());
                    vo.setIntegral(worldCup.getLoseIntegral());
                    vo.setType(10);
                    userIntegralChangesClient.saveUserIntegralChanges(vo);
                }
                worldCupCompetitor.setOpponentScore(redScore);
                worldCupCompetitor.setParticipationIntegral(worldCup.getParticipationIntegral());
                //增加积分明细
                SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo();
                vo.setAppUserId(worldCupCompetitor.getAppUserId());
                vo.setIntegral(worldCup.getParticipationIntegral());
                vo.setType(6);
                userIntegralChangesClient.saveUserIntegralChanges(vo);
                worldCupCompetitorService.save(worldCupCompetitor);
                worldCupCompetitors.add(worldCupCompetitor);
            }
        }
        //添加勋章
        for (WorldCupCompetitor worldCupCompetitor : worldCupCompetitors) {
            Integer appUserId = worldCupCompetitor.getAppUserId();
            //常胜将军
            if(1 == worldCupCompetitor.getMatchResult()){
                int count = worldCupCompetitorService.count(new QueryWrapper<WorldCupCompetitor>().eq("appUserId", appUserId).eq("matchResult", 1));
                StudentHonor studentHonor = new StudentHonor();
                studentHonor.setAppUserId(appUserId);
                studentHonor.setHonorType(5);
                studentHonor.setNumber(count);
                studentHonorClient.saveStudentHonor(studentHonor);
            }
            //越战越勇
            int count = worldCupCompetitorService.count(new QueryWrapper<WorldCupCompetitor>().eq("appUserId", appUserId));
            StudentHonor studentHonor = new StudentHonor();
            studentHonor.setAppUserId(appUserId);
            studentHonor.setHonorType(6);
            studentHonor.setNumber(count);
            studentHonorClient.saveStudentHonor(studentHonor);
        }
    }
}
cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/SaveData.java
New file
@@ -0,0 +1,29 @@
package com.dsh.communityWorldCup.model;
import lombok.Data;
/**
 * @author zhibing.pu
 * @Date 2024/3/6 20:00
 */
@Data
public class SaveData {
    /**
     * 参赛数据id
     */
    private Long id;
    /**
     * 蓝方得分
     */
    private String blueStr;
    /**
     * 红方得分
     */
    private String redStr;
    private String time;
    private Integer blueScore;
    private Integer redScore;
}
cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java
@@ -1053,6 +1053,9 @@
        try {
            WorldCupCompetitor worldCupCompetitor1 = worldCupCompetitors.get(0);
            WorldCup worldCup = this.getById(worldCupCompetitor1.getWorldCupId());
            if(worldCup.getType()==null || worldCup.getType() == 1){
                return ResultUtil.error("非智慧赛事才可以结束比赛");
            }
            for (WorldCupCompetitor worldCupCompetitor : worldCupCompetitors) {
                worldCupCompetitor.setWorldCupId(null);
                //蓝方
cloud-server-management/src/main/java/com/dsh/course/feignClient/communityWorldCup/Model/SaveData.java
New file
@@ -0,0 +1,29 @@
package com.dsh.course.feignClient.communityWorldCup.Model;
import lombok.Data;
/**
 * @author zhibing.pu
 * @Date 2024/3/6 20:00
 */
@Data
public class SaveData {
    /**
     * 参赛数据id
     */
    private Long id;
    /**
     * 蓝方得分
     */
    private String blueStr;
    /**
     * 红方得分
     */
    private String redStr;
    private String time;
    private Integer blueScore;
    private Integer redScore;
}
cloud-server-management/src/main/java/com/dsh/course/feignClient/communityWorldCup/WorldCupClient.java
@@ -155,4 +155,7 @@
    @PostMapping("/worldCup/userDetailsOfSearch")
    List<WorldCupUserListVo> userDetailsOfSearch(UserDetailsOfSearch search);
    @PostMapping("/worldCup/savaData1")
    void savaData1(SaveData saveData);
}
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/WorldCupRecordsController.java
@@ -8,10 +8,7 @@
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
@@ -266,4 +263,13 @@
        // 获取报了名的用户 未产生赛事
        return worldCupClient.userDetailsOfSearch(userDetailsOfSearch);
    }
    @ResponseBody
    @PostMapping("/savaData1")
    public Object savaData1(SaveData saveData){
        // 修改WorldCupPaymentParticipant 参赛状态  savet_world_cup_competitor
         worldCupClient.savaData1(saveData);
         return ResultUtil.success();
    }
}
cloud-server-management/src/main/webapp/WEB-INF/view/system/worldCupRecords/addWorldCupGameStatisticsListInfo.html
@@ -102,6 +102,12 @@
                        </div>
                    </div>
                    <div class="row btn-group-m-t">
                        <div class="col-sm-10">
                            <#button btnCss="danger" name="关闭" id="cancel" icon="fa-eraser" clickFun="WorldCupGameStatisticsListInfo.close1()"/>
                            <#button btnCss="info" name="保存" id="ensure" icon="fa-check" clickFun="WorldCupGameStatisticsListInfo.saveData()"/>
                        </div>
                    </div>
                </div>
            </div>
        </div>
@@ -121,6 +127,11 @@
        ,range: true
    });
    function close() {
        console.log(32323)
        // 方法2: 使用top级别关闭
    }
    function userList() {
        var index = layer.open({
cloud-server-management/src/main/webapp/static/modular/system/tGoods/tGoods_info.js
@@ -168,11 +168,14 @@
    $("#coun").append(str);
}
TGoodsInfoDlg.selecUserOpt1 = function (arr){
    console.log(arr)
    console.log("返回的数组")
    console.log("此时的site集合")
    console.log(this.siteIds)
    //获取所有的值
    var subArr= this.siteIds;
    console.log(subArr)
    $(".userTableOne").each(function () {
    $(".timeClass").each(function () {
        subArr.push($(this).find("input[name*='id']").val());
    });
    var str = '';
cloud-server-management/src/main/webapp/static/modular/system/worldCupRecords/TStoreInfo.js
@@ -78,7 +78,6 @@
    var name ='';
    for(var i in selected){
        if(typeof selected[i].id != "undefined"){
            console.log( selected[i].id,55555)
            name =  selected[0].accountName
            arr.push({
                id: selected[i].id,
cloud-server-management/src/main/webapp/static/modular/system/worldCupRecords/worldCupGameStatisticsListInfo.js
@@ -139,10 +139,10 @@
    $("#coun").append(str);
}
WorldCupGameStatisticsListInfo.selecUserOpt1 = function (arrays){
    console.log(3333)
    console.log(this.storeIds1,111)
    //获取所有的值
    var subArr= this.storeIds1;
    $(".timeClass").each(function () {
    $(".timeClass1").each(function () {
        subArr.push($(this).find("input[name*='id']").val());
    });
    var str = '';
@@ -154,20 +154,20 @@
                break
            }
        }
        console.log(b,3333)
        if(b){
            this.storeIds1.push(arrays[i].id)
            str += '<tr class="timeClass">' +
            str += '<tr class="timeClass1">' +
                '<td><input type="hidden" id="id" name="id" value="'+arrays[i].id+'"><input type="hidden" id="id" name="id" value="'+arrays[i].id+'">' + arrays[i].id + '</td>' +
                '<td><input type="hidden" id="name" name="name" value="'+arrays[i].name+'">' + arrays[i].name + '</td>' +
                '<td><input type="hidden" id="phone" name="phone" value="'+arrays[i].phone+'">' + arrays[i].phone +
                '<td><input type="hidden" id="sex" name="sex" value="'+arrays[i].sex+'">' + arrays[i].sex +
                '<td><input type="hidden" id="age" name="age" value="'+arrays[i].age+'">' + arrays[i].age +
                '</td><td><button onclick="deleteSub(this)">移除</button></td></tr>';
                '</td><td><button onclick="deleteSub1(this)">移除</button></td></tr>';
        }
    }
    console.log("添加门店后的场地数组和门店数组")
    console.log(this.storeIds1)
    console.log(this.siteIds)
    $("#coun1").append(str);
}
function deleteSub(e) {
@@ -178,6 +178,14 @@
    $(e).parent().parent().remove();
    console.log('storeIds',WorldCupGameStatisticsListInfo.storeIds)
}
function deleteSub1(e) {
    console.log(e);
    var row = $(e).closest('tr');
    var value = row.find('#id').val();
    WorldCupGameStatisticsListInfo.storeIds1.splice(WorldCupGameStatisticsListInfo.storeIds1.indexOf(parseInt(value)), 1)
    $(e).parent().parent().remove();
    console.log('storeIds',WorldCupGameStatisticsListInfo.storeIds1)
}
/**
 * 关闭此对话框
@@ -185,6 +193,98 @@
WorldCupGameStatisticsListInfo.close = function() {
    parent.layer.close(window.parent.WorldCupGameStatisticsInfo.layerIndex);
};
WorldCupGameStatisticsListInfo.close1 = function() {
    // 方法1: 通过parent直接关闭
    if (window.parent && window.parent.layer) {
        var index = window.parent.layer.getFrameIndex(window.name);
        window.parent.layer.close(index);
    }
};
WorldCupGameStatisticsListInfo.saveData = function() {
    // 拿到timeClass中的Id
    var subArr = [];
    $(".timeClass").each(function () {
        subArr.push($(this).find("input[name*='id']").val());
    });
    console.log(subArr)
    var subArr1 = [];
    $(".timeClass1").each(function () {
        subArr1.push($(this).find("input[name*='id']").val());
    });
    if(subArr.length==0){
        Feng.error("请选择红方人员!");
        return;
    }
    if(subArr1.length==0){
        Feng.error("请选择蓝方人员!");
        return;
    }
    if(subArr.length>6){
        Feng.error("每组人员最多5人参赛");
        return;
    }
    if(subArr1.length>6){
        Feng.error("每组人员最多5人参赛");
        return;
    }
    // 判断2个数组是否有交集
    for(var i=0;i<subArr.length;i++){
        for(var j=0;j<subArr1.length;j++){
            if(subArr[i]==subArr1[j]){
                Feng.error("请勿选择相同的人员!");
                return;
            }
        }
    }
    // subArr1 用,拼接
    var redStr = subArr.join(",");
    var blueStr = subArr1.join(",");
    // 取比赛时间
    var time = $("#time").val();
    if(time==null||time==""){
        Feng.error("请选择比赛时间!");
        return;
    }
    // 取比分
    var blueScore = $("#blueScore").val();
    if(blueScore==null||blueScore==""){
        Feng.error("请填写蓝方比分!");
        return;
    }
    var redScore = $("#redScore").val();
    if(redScore==null||redScore==""){
        Feng.error("请填写红方比分!");
        return;
    }
    //提交信息
    var ajax = new $ax(Feng.ctxPath + "/worldCupRecords/savaData1", function(data){
        Feng.success("保存成功!");
        window.parent.TVerified.table.refresh();
        TVerifiedInfoDlg.close();
    },function(data){
        Feng.error("保存失败!" + data.responseJSON.message + "!");
    });
    ajax.set({
        'id': $("#id").val(),
        'redStr': redStr,
        'blueStr': blueStr,
        'time': time,
        'blueScore': blueScore,
        'redScore': redScore,
    });
    ajax.start();
};
WorldCupGameStatisticsListInfo.search = function () {
    var queryData = {};