nickchange
2023-11-09 c036557db88c6297b9a626a892dce35c14ab8ee5
cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java
@@ -4,6 +4,7 @@
import cn.hutool.http.HttpResponse;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.dsh.other.entity.*;
import com.dsh.other.feignclient.account.CityManagerClient;
@@ -18,21 +19,22 @@
import com.dsh.other.model.vo.siteVo.ExpireSiteSearchVO;
import com.dsh.other.model.vo.siteVo.SiteSearchVO;
import com.dsh.other.service.*;
import com.dsh.other.util.PayMoneyUtil;
import com.dsh.other.util.ResultUtil;
import com.dsh.other.util.TokenUtil;
import com.dsh.other.util.*;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.*;
import redis.clients.jedis.Jedis;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
/**
 * @author zhibing.pu
@@ -197,7 +199,8 @@
        }
    }
    @Autowired
    private RedisUtil redisUtil;
    @ResponseBody
    @PostMapping("/base/site/querySiteTimes")
@@ -208,7 +211,7 @@
            @ApiImplicitParam(value = "半场名称", name = "halfName", dataType = "string", required = false),
            @ApiImplicitParam(value = "选择场地的名称", name = "siteName", dataType = "string", required = false)
    })
    public ResultUtil<List<QuerySiteTimes>> querySiteTimes(Integer id, String day,String halfName,String siteName){
    public  ResultUtil<List<QuerySiteTimes>> querySiteTimes(Integer id, String day,String halfName,String siteName){
        try {
            List<QuerySiteTimes> list = siteService.querySiteTimes(id, day,halfName,siteName);
            return ResultUtil.success(list);
@@ -217,6 +220,22 @@
            return ResultUtil.runErr();
        }
    }
//    public ResultUtil<List<QuerySiteTimes>> querySiteTimes(Integer id, String day, String halfName, String siteName) throws Exception {
//
//        if (redisUtil.acquireLock(day,day)) {
//            try {
//                List<QuerySiteTimes> list = siteService.querySiteTimes(id, day,halfName,siteName);
//            return ResultUtil.success(list);
//            } finally {
//                redisUtil.releaseLock(day);
//            }
//        } else {
//            return ResultUtil.error("系统繁忙,请稍后再试!");
//        }
//
//    }
    /**
@@ -256,6 +275,22 @@
        }
    }
//        public ResultUtil<List<QuerySiteTimes>> querySiteTimes(Integer id, String day, String halfName, String siteName) throws Exception {
//
//        if (redisUtil.acquireLock(day,day)) {
//            try {
//                List<QuerySiteTimes> list = siteService.querySiteTimes(id, day,halfName,siteName);
//            return ResultUtil.success(list);
//            } finally {
//                redisUtil.releaseLock(day);
//            }
//        } else {
//            return ResultUtil.error("系统繁忙,请稍后再试!");
//        }
//
//    }
    /**
     * 购买课程微信支付回调
     * @param request
@@ -289,7 +324,7 @@
    /**
     * 购买课程支付宝回调
     * 预约场地支付宝回调
     * @param request
     * @param response
     */
@@ -297,6 +332,7 @@
    @PostMapping("/base/site/aliPaymentSiteCallback")
    public void aliPaymentSiteCallback(HttpServletRequest request, HttpServletResponse response){
        try {
            System.out.println("回调回调回调");
            Map<String, String> map = payMoneyUtil.alipayCallback(request);
            if(null != map){
                String code = map.get("out_trade_no");
@@ -319,6 +355,60 @@
    }
    /**
     * 启动游戏支付宝回调
     * @param request
     * @param response
     */
    @ResponseBody
    @PostMapping("/base/site/gameCallback")
    public void gameCallback(HttpServletRequest request, HttpServletResponse response){
        try {
            System.out.println("回调回调回调");
            Map<String, String> map = payMoneyUtil.alipayCallback(request);
            if(null != map){
                String code = map.get("passback_params");
//                String trade_no = map.get("trade_no");
//                SiteBooking siteBooking = siteBookingService.getOne(new QueryWrapper<SiteBooking>().eq("orderNo", code).eq("state", 1));
//                if(siteBooking.getStatus() == 0){
//                    siteBooking.setPayTime(new Date());
//                    siteBooking.setStatus(1);
//                    siteBooking.setPayOrderNo(trade_no);
//                    siteBookingService.updateById(siteBooking);
//                }
                String[] s = code.split("_");
                Integer i = startGame(Integer.valueOf(s[0]), Integer.valueOf(s[1]), Integer.valueOf(s[2]), Integer.valueOf(s[3]));
                System.err.println("===========游戏回调游戏回调========="+i);
                PrintWriter out = response.getWriter();
                out.write("success");
                out.flush();
                out.close();
            }
        }catch (Exception e){
            e.printStackTrace();
        }
    }
    private static Integer startGame(Integer uid,Integer gameId,Integer spaceId,Integer sutuId){
        HashMap<String, String> map = new HashMap<>();
        map.put("sign","0DB011836143EEE2C2E072967C9F4E4B");
        map.put("app_user_id",uid+"");
        map.put("game_id",gameId+"");
        map.put("space_id",spaceId+"");
        map.put("sutu_id",sutuId+"");
        String s = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/gameStart", map);
        JSONObject jsonObject = JSONObject.parseObject(s);
        Object code = jsonObject.get("code");
        if(String.valueOf(code)!=null && "200".equals(String.valueOf(code))){
            return 200;
        }else {
            return 500;
        }
    }
    @ResponseBody
@@ -356,10 +446,41 @@
            SiteBooking byId = siteBookingService.getById(id);
            Integer storeId = byId.getStoreId();
            Store byId1 = service.getById(storeId);
            Site site = siteService.getById(byId.getSiteId());
            map.put("siteName",byId1.getName());
            SiteType siteType = siteTypeService.getById(site.getSiteTypeId());
            map.put("siteType",siteType.getName());
            map.put("shopName",byId1.getName());
            map.put("shopAddress",byId1.getAddress());
            map.put("name",site.getName());
            List<Integer> ids = getIds(byId.getSiteId());
            byId.setStorePhone(byId1.getPhone());
            //拼接开始结束时间
            Date startTime = byId.getStartTime();
            Date endTime = byId.getEndTime();
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
            String startTimeString = sdf.format(startTime);
            String endTimeString = sdf.format(endTime);
            String result = startTimeString + "-" + endTimeString.substring(11);
            byId.setTimes(result);
            byId.setSid(Arrays.asList(storeId));
            List<Site> list = siteService.list(new LambdaQueryWrapper<Site>().eq(Site::getStoreId, storeId).eq(Site::getSign, 1));
            List<Integer> collect = list.stream().map(Site::getId).collect(Collectors.toList());
            byId.setRid(collect);
            map.put("data",byId);
            map.put("ids",ids);
            return ResultUtil.success(map);
        }catch (Exception e){
@@ -544,6 +665,14 @@
    }
    @ResponseBody
    @PostMapping("/base/site/counts")
    public Integer counts(@RequestBody Integer stuId){
        return siteBookingService.count(new QueryWrapper<SiteBooking>().eq("appUserId",stuId));
    }
    @ResponseBody
    @PostMapping("/base/site/queryOperator")
    public OperatorUser queryOperator(@RequestBody List<Integer> stores){