nickchange
2023-10-20 14d70ea884654e744987f90313f50068adbc12e3
10.20.1
5个文件已修改
145 ■■■■■ 已修改文件
cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/util/RedisUtil.java 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java
@@ -160,7 +160,7 @@
        //分账
//        Integer    coursePackagePayments = coursePackageClient.queryByCode(outTradeNo);
        Integer    coursePackagePayments = coursePackageClient.queryByCode(outTradeNo);
//        Integer paymentCompetitions = competitionsClient.queryByCode(outTradeNo);
//        Integer siteBookings = siteClient.queryByCode(outTradeNo);
//        List<Integer> stores = new ArrayList<>();
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java
@@ -1053,8 +1053,8 @@
        OpenApiRoyaltyDetailInfoPojo op = new OpenApiRoyaltyDetailInfoPojo();
        op.setTransOutType("loginName");
        op.setTransOut("happysports@weparklife.com");
        op.setTransInType("loginName");
        op.setTransIn("19522115070");
        op.setTransInType("userId");
        op.setTransIn("2088022313710050");
        op.setAmountPercentage(100L);
        List<OpenApiRoyaltyDetailInfoPojo> ops = new ArrayList<>();
cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java
@@ -19,6 +19,7 @@
import com.dsh.other.model.vo.siteVo.SiteSearchVO;
import com.dsh.other.service.*;
import com.dsh.other.util.PayMoneyUtil;
import com.dsh.other.util.RedisUtil;
import com.dsh.other.util.ResultUtil;
import com.dsh.other.util.TokenUtil;
import io.swagger.annotations.ApiImplicitParam;
@@ -27,6 +28,7 @@
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;
@@ -197,7 +199,8 @@
        }
    }
    @Autowired
    private RedisUtil redisUtil;
    @ResponseBody
    @PostMapping("/base/site/querySiteTimes")
@@ -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
cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java
@@ -170,56 +170,6 @@
     */
    @Override
    public List<QuerySiteTimes> querySiteTimes(Integer id, String day,String halfName,String siteName) throws Exception {
//        Site site = this.getById(id);
//        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
//        Calendar s = Calendar.getInstance();
//        s.setTime(sdf.parse(day + " " + site.getAppointmentStartTime()));
//        Calendar e = Calendar.getInstance();
//        e.setTime(sdf.parse(day + " " + site.getAppointmentEndTime()));
//
//        int hour = e.get(Calendar.HOUR_OF_DAY);
//
//        int minute = e.get(Calendar.MINUTE);
//
//        List<QuerySiteTimes> list = new ArrayList<>();
//
//        SimpleDateFormat sdfs = new SimpleDateFormat("HH:mm");
//
//        while (true){
//
//            String start = sdfs.format(s.getTime());
//
//            s.set(Calendar.MINUTE, s.get(Calendar.MINUTE) + 30);
//
//            int e_hour = s.get(Calendar.HOUR_OF_DAY);
//
//            int e_minute = s.get(Calendar.MINUTE);
//
//            String end = sdfs.format(s.getTime());
//
//            QuerySiteTimes querySiteTimes = new QuerySiteTimes();
//
//            querySiteTimes.setTime(start + "-" + end);
//
//            querySiteTimes.setSelectable(1);
//
//            SiteBooking siteBooking = siteBookingService.getOne(new QueryWrapper<SiteBooking>().eq("siteId", id).eq("state", 1)
//                    .in("status", Arrays.asList(3, 4, 5)).last(" and DATE_FORMAT(startTime, '%Y-%m-%d %H:%i') <= '" + day + " " + start + "' and DATE_FORMAT(endTime, '%Y-%m-%d %H:%i') >= '" + day + " " + end + "'"));
//            if(null != siteBooking){
//                querySiteTimes.setSelectable(0);
//            }
//            int count = siteLockService.count(new QueryWrapper<SiteLock>().eq("siteId", id).last(" and DATE_FORMAT(startTime, '%Y-%m-%d %H:%i') <= '" + day + " " + start + "' and DATE_FORMAT(endTime, '%Y-%m-%d %H:%i') >= '" + day + " " + end + "'"));
//            if(count > 0){
//                querySiteTimes.setSelectable(0);
//            }
//
//            list.add(querySiteTimes);
//
//            if(e_hour == hour && minute == e_minute){
//                break;
//            }
//        }
//        return list;
        System.out.println("=======date======"+day);
cloud-server-other/src/main/java/com/dsh/other/util/RedisUtil.java
@@ -21,6 +21,8 @@
    @Autowired
    private JedisPool jedisPool;
    private static final int TIMEOUT = 10 * 1000; // 10秒超时时间
    private static final int SLEEP_TIME = 1000; // 1秒休眠时间
    /**
     * 向redis中存储字符串没有过期时间
@@ -124,4 +126,54 @@
            jedis.close();
        }
    }
    public boolean acquireLock(String key,String value) {
        Jedis jedis = null;
        try {
            jedis = jedisPool.getResource();
            long start = System.currentTimeMillis();
            String[] split = key.split(";");
            for (String s : split) {
            while (true) {
                // 尝试获取锁
                String result = jedis.set(s, value, "NX", "PX", TIMEOUT);
                if ("OK".equals(result)) {
                    return true;
                }
                // 超时则返回失败
                if (System.currentTimeMillis() - start > TIMEOUT) {
                    return false;
                }
                // 休眠一段时间后重试
                Thread.sleep(SLEEP_TIME);
            }
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (jedis != null) {
                jedis.close();
            }
        }
        return false;
    }
    public void releaseLock(String key) {
        Jedis jedis = null;
        try {
            jedis = jedisPool.getResource();
            jedis.del(key);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (jedis != null) {
                jedis.close();
            }
        }
    }
}