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(); } } } }