puzhibing
2024-03-06 ab20715db09a5e4888c19702f5f73ecdc4e55f15
cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java
@@ -3,10 +3,7 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.dsh.communityWorldCup.entity.WorldCup;
import com.dsh.communityWorldCup.entity.WorldCupCompetitor;
import com.dsh.communityWorldCup.entity.WorldCupPaymentParticipant;
import com.dsh.communityWorldCup.entity.WorldCupStore;
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.model.AppUser;
@@ -18,10 +15,8 @@
import com.dsh.communityWorldCup.feignclient.other.model.Site;
import com.dsh.communityWorldCup.feignclient.other.model.Store;
import com.dsh.communityWorldCup.model.*;
import com.dsh.communityWorldCup.service.IWorldCupCompetitorService;
import com.dsh.communityWorldCup.service.IWorldCupPaymentParticipantService;
import com.dsh.communityWorldCup.service.IWorldCupService;
import com.dsh.communityWorldCup.service.IWorldCupStoreService;
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;
@@ -37,6 +32,7 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.*;
@@ -88,6 +84,12 @@
    @Autowired
    private IWorldCupCompetitorService worldCupCompetitorService;
    @Autowired
    private GDMapGeocodingUtil gdMapGeocodingUtil;
    @Autowired
    private IWorldCupPaymentService worldCupPaymentService;
@@ -542,6 +544,22 @@
    @ResponseBody
    @PostMapping("/worldCup/addWorldCup")
    public Integer addWorldCup(@RequestBody WorldCup worldCup){
        String lon = worldCup.getLon();
        String lat = worldCup.getLat();
        Map<String, String> geocode = null;
        try {
            geocode = gdMapGeocodingUtil.geocode(lon, lat);
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
        String province = geocode.get("province");
        String provinceCode = geocode.get("provinceCode");
        String city = geocode.get("city");
        String cityCode = geocode.get("cityCode");
        worldCup.setProvince(province.replace("省", ""));
        worldCup.setProvinceCode(provinceCode);
        worldCup.setCity(city.replace("市", ""));
        worldCup.setCityCode(cityCode);
        worldCupService.save(worldCup);
        return worldCup.getId();
    }
@@ -567,6 +585,22 @@
    @ResponseBody
    @PostMapping("/worldCup/editWorldCup")
    public Integer editWorldCup(@RequestBody WorldCup worldCup){
        String lon = worldCup.getLon();
        String lat = worldCup.getLat();
        Map<String, String> geocode = null;
        try {
            geocode = gdMapGeocodingUtil.geocode(lon, lat);
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
        String province = geocode.get("province");
        String provinceCode = geocode.get("provinceCode");
        String city = geocode.get("city");
        String cityCode = geocode.get("cityCode");
        worldCup.setProvince(province.replace("省", ""));
        worldCup.setProvinceCode(provinceCode);
        worldCup.setCity(city.replace("市", ""));
        worldCup.setCityCode(cityCode);
        worldCupService.updateById(worldCup);
        return worldCup.getId();
    }
@@ -607,4 +641,66 @@
    }
    /**
     * 取消赛事退款操作
     * @param id
     */
    @ResponseBody
    @PostMapping("/worldCup/cancelWorldCupRefund")
    public void cancelWorldCupRefund(@RequestBody Integer id){
        worldCupService.cancelWorldCupRefund(id);
    }
    /**
     * 游戏结束后的通知回调
     */
    @ResponseBody
    @PostMapping("/base/worldCup/endWorldCupCallback")
    public void endWorldCupCallback(String custom, Integer red_score, Integer blue){
        worldCupCompetitorService.endWorldCupCallback(custom, red_score, blue);
    }
    /**
     * 取消赛事后微信退款回调
     * @param request
     * @param response
     */
    @ResponseBody
    @PostMapping("/base/worldCup/wxRefundWorldCupCallback")
    public void wxRefundWorldCupCallback(HttpServletRequest request, HttpServletResponse response){
        Map<String, String> map = payMoneyUtil.wxRefundCallback(request);
        if(null != map){
            String refund_id = map.get("refund_id");
            String out_refund_no = map.get("out_refund_no");
            String result = map.get("result");
            WorldCupPayment worldCupPayment = worldCupPaymentService.getOne(new QueryWrapper<WorldCupPayment>().eq("code", out_refund_no));
            worldCupPayment.setRefundOrderNo(refund_id);
            worldCupPayment.setRefundTime(new Date());
            worldCupPayment.setPayStatus(3);
            worldCupPaymentService.updateById(worldCupPayment);
            PrintWriter out = null;
            try {
                out = response.getWriter();
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
            out.println(result);
            out.flush();
            out.close();
        }
    }
    /**
     * 获取已报名人员列表
     * @param registeredPersonnel
     * @return
     */
    @ResponseBody
    @PostMapping("/worldCup/getRegisteredPersonnel")
    public Map<String, Object> getRegisteredPersonnel(@RequestBody RegisteredPersonnel registeredPersonnel){
        return worldCupPaymentParticipantService.getRegisteredPersonnel(registeredPersonnel);
    }
}