From ec6723070feef3d5286642fabbea0ec83cf119df Mon Sep 17 00:00:00 2001 From: xiang Date: Thu, 15 Jan 2026 23:34:26 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=B8=85=E7=90=86=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jntyzx/constants/RedisKeyConstant.java | 15 -- .../script/jntyzx/constants/UrlConstant.java | 35 --- .../controller/TokenFreshController.java | 37 --- .../jntyzx/controller/VenueController.java | 71 ----- .../jntyzx/entity/dto/VenueListDTO.java | 34 --- .../jntyzx/entity/pojo/OrderInfoDO.java | 55 ---- .../jntyzx/entity/pojo/UserTokenInfoDO.java | 37 --- .../jntyzx/entity/pojo/VenueInfoDO.java | 72 ------ .../jntyzx/entity/req/SubscribeRequest.java | 23 -- .../script/jntyzx/entity/req/SubscribeVo.java | 60 ----- .../jntyzx/entity/resp/JntyzxResponse.java | 20 -- .../jntyzx/entity/resp/OrderCreateResp.java | 18 -- .../entity/resp/query/QueryVenueResponse.java | 16 -- .../entity/resp/query/SitePositionList.java | 56 ---- .../jntyzx/entity/resp/query/TimeList.java | 32 --- .../jntyzx/entity/resp/query/VenueList.java | 20 -- .../jntyzx/manage/IOrderCreateInfoManage.java | 17 -- .../jntyzx/manage/IUserTokenInfoManage.java | 16 -- .../jntyzx/manage/IVenueInfoManage.java | 18 -- .../manage/OrderCreateInfoManageImpl.java | 26 -- .../manage/UserTokenInfoManageImpl.java | 32 --- .../jntyzx/manage/VenueInfoManageImpl.java | 33 --- .../mapper/JntyzxOrderCreateInfoMapper.java | 15 -- .../mapper/JntyzxUserTokenInfoMapper.java | 15 -- .../jntyzx/mapper/JntyzxVenueInfoMapper.java | 15 -- .../schedule/JtTokenHealthSchedule.java | 21 -- .../jntyzx/schedule/VenuePeekSchedule.java | 129 ---------- .../jntyzx/schedule/VenueQuerySchedule.java | 237 ----------------- .../schedule/VenueSubscribeSchedule.java | 68 ----- .../service/DingTalkScriptVenueService.java | 33 --- .../jntyzx/service/IJntyzxHttpService.java | 35 --- .../jntyzx/service/IJtOrderService.java | 14 - .../jntyzx/service/IUserTokenInfoService.java | 14 - .../script/jntyzx/service/IVenueService.java | 18 -- .../jntyzx/service/JntyzxHttpServiceImpl.java | 242 ------------------ .../jntyzx/service/OrderInfoServiceImpl.java | 23 -- .../service/UserTokenInfoServiceImpl.java | 83 ------ .../jntyzx/service/VenueServiceImpl.java | 133 ---------- .../script/jntyzx/utils/VenueInfoUtils.java | 25 -- 39 files changed, 1863 deletions(-) delete mode 100644 script/src/main/java/com/xiang/xservice/application/script/jntyzx/constants/RedisKeyConstant.java delete mode 100644 script/src/main/java/com/xiang/xservice/application/script/jntyzx/constants/UrlConstant.java delete mode 100644 script/src/main/java/com/xiang/xservice/application/script/jntyzx/controller/TokenFreshController.java delete mode 100644 script/src/main/java/com/xiang/xservice/application/script/jntyzx/controller/VenueController.java delete mode 100644 script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/dto/VenueListDTO.java delete mode 100644 script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/pojo/OrderInfoDO.java delete mode 100644 script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/pojo/UserTokenInfoDO.java delete mode 100644 script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/pojo/VenueInfoDO.java delete mode 100644 script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/req/SubscribeRequest.java delete mode 100644 script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/req/SubscribeVo.java delete mode 100644 script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/resp/JntyzxResponse.java delete mode 100644 script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/resp/OrderCreateResp.java delete mode 100644 script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/resp/query/QueryVenueResponse.java delete mode 100644 script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/resp/query/SitePositionList.java delete mode 100644 script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/resp/query/TimeList.java delete mode 100644 script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/resp/query/VenueList.java delete mode 100644 script/src/main/java/com/xiang/xservice/application/script/jntyzx/manage/IOrderCreateInfoManage.java delete mode 100644 script/src/main/java/com/xiang/xservice/application/script/jntyzx/manage/IUserTokenInfoManage.java delete mode 100644 script/src/main/java/com/xiang/xservice/application/script/jntyzx/manage/IVenueInfoManage.java delete mode 100644 script/src/main/java/com/xiang/xservice/application/script/jntyzx/manage/OrderCreateInfoManageImpl.java delete mode 100644 script/src/main/java/com/xiang/xservice/application/script/jntyzx/manage/UserTokenInfoManageImpl.java delete mode 100644 script/src/main/java/com/xiang/xservice/application/script/jntyzx/manage/VenueInfoManageImpl.java delete mode 100644 script/src/main/java/com/xiang/xservice/application/script/jntyzx/mapper/JntyzxOrderCreateInfoMapper.java delete mode 100644 script/src/main/java/com/xiang/xservice/application/script/jntyzx/mapper/JntyzxUserTokenInfoMapper.java delete mode 100644 script/src/main/java/com/xiang/xservice/application/script/jntyzx/mapper/JntyzxVenueInfoMapper.java delete mode 100644 script/src/main/java/com/xiang/xservice/application/script/jntyzx/schedule/JtTokenHealthSchedule.java delete mode 100644 script/src/main/java/com/xiang/xservice/application/script/jntyzx/schedule/VenuePeekSchedule.java delete mode 100644 script/src/main/java/com/xiang/xservice/application/script/jntyzx/schedule/VenueQuerySchedule.java delete mode 100644 script/src/main/java/com/xiang/xservice/application/script/jntyzx/schedule/VenueSubscribeSchedule.java delete mode 100644 script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/DingTalkScriptVenueService.java delete mode 100644 script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/IJntyzxHttpService.java delete mode 100644 script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/IJtOrderService.java delete mode 100644 script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/IUserTokenInfoService.java delete mode 100644 script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/IVenueService.java delete mode 100644 script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/JntyzxHttpServiceImpl.java delete mode 100644 script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/OrderInfoServiceImpl.java delete mode 100644 script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/UserTokenInfoServiceImpl.java delete mode 100644 script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/VenueServiceImpl.java delete mode 100644 script/src/main/java/com/xiang/xservice/application/script/jntyzx/utils/VenueInfoUtils.java diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/constants/RedisKeyConstant.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/constants/RedisKeyConstant.java deleted file mode 100644 index 2482aa7..0000000 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/constants/RedisKeyConstant.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.xiang.xservice.application.script.jntyzx.constants; - -/** - * @Author: xiang - * @Date: 2025-12-16 10:43 - */ -public class RedisKeyConstant { - - public static final String JNTYZX_ORDER_CREATE_KEY = "jntyzx:order:create:orderId:"; - - public static final String JNTUZX_ORDER_PEEK_KEY = "jntyzx:order:peek:user:"; - - public static final String JNTYZX_VENUE_MSG_628_KEY = "jntyzx:venue:msg:628"; - public static final String JNTYZX_VENUE_MSG_8210_KEY = "jntyzx:venue:msg:8210"; -} diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/constants/UrlConstant.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/constants/UrlConstant.java deleted file mode 100644 index e7e87ae..0000000 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/constants/UrlConstant.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.xiang.xservice.application.script.jntyzx.constants; - -/** - * @Author: xiang - * @Date: 2025-12-15 13:46 - */ -public class UrlConstant { - - /** - * 江南体育中心基础URL - */ - private final static String GNTYZX_BASE_URL = "https://jntyzx.cn:8443"; - - /** - * 查询当天的场地信息 - */ - public final static String QUERY_TODAY_SUBSCRIBE_URL = GNTYZX_BASE_URL + "/GYM-JN/multi/Subscribe/getSubscribeByToday"; - public final static String QUERY_TOMORROW_SUBSCRIBE_URL = GNTYZX_BASE_URL + "/GYM-JN/multi/Subscribe/getSubscribeByTomorrow"; - - /** - * 订阅场地 - */ - public final static String ADD_SUBSCRIBE = GNTYZX_BASE_URL + "/GYM-JN/multi/Subscribe/addSubscribe"; - - /** - * 订单信息 - */ - public final static String ORDER_INFO = GNTYZX_BASE_URL + "/GYM-JN/multi/busiOrder/queryOrderInfo"; - - /** - * 心跳监测接口 - */ - public final static String HEALTH_DECLARATION = GNTYZX_BASE_URL + "/GYM-JN//busi/healthDeclaration/addUserPrivacy"; - -} diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/controller/TokenFreshController.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/controller/TokenFreshController.java deleted file mode 100644 index 2d8e69a..0000000 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/controller/TokenFreshController.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.xiang.xservice.application.script.jntyzx.controller; - -import com.xiang.xservice.application.script.jntyzx.service.DingTalkScriptVenueService; -import com.xiang.xservice.application.script.jntyzx.service.IUserTokenInfoService; -import com.xiang.xservice.basic.common.resp.Result; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -/** - * @Author: xiang - * @Date: 2025-12-18 09:08 - */ -@RestController -@RequestMapping("/open/jntyzx/token/") -@RequiredArgsConstructor -public class TokenFreshController { - - private final IUserTokenInfoService userTokenInfoService; - private final DingTalkScriptVenueService dingTalkScriptVenueService; - - @GetMapping("/freshToken") - public Result freshToken() { - boolean token = userTokenInfoService.flushToken(); - return Result.success(); - } - - @GetMapping("/freshTokenOnline") - public Result freshTokenOnline(@RequestParam("token") String token, @RequestParam("name") String name) { - if (userTokenInfoService.updateTokenByName(name, token)) { - dingTalkScriptVenueService.sendScriptMsg(name + "token更新成功"); - } - return Result.success(); - } -} diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/controller/VenueController.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/controller/VenueController.java deleted file mode 100644 index f523445..0000000 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/controller/VenueController.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.xiang.xservice.application.script.jntyzx.controller; - -import com.xiang.xservice.application.script.jntyzx.entity.pojo.VenueInfoDO; -import com.xiang.xservice.application.script.jntyzx.entity.resp.query.SitePositionList; -import com.xiang.xservice.application.script.jntyzx.service.DingTalkScriptVenueService; -import com.xiang.xservice.application.script.jntyzx.service.IJntyzxHttpService; -import com.xiang.xservice.application.script.jntyzx.service.IUserTokenInfoService; -import com.xiang.xservice.application.script.jntyzx.service.IVenueService; -import com.xiang.xservice.application.script.jntyzx.utils.VenueInfoUtils; -import com.xiang.xservice.basic.common.resp.Result; -import lombok.RequiredArgsConstructor; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.time.LocalDateTime; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -/** - * @Author: xiang - * @Date: 2025-12-15 14:28 - */ -@RestController -@RequiredArgsConstructor -public class VenueController { - - private final IVenueService venueService; - private final IJntyzxHttpService jntyzxHttpService; - private final IUserTokenInfoService userTokenInfoService; - private final DingTalkScriptVenueService dingTalkScriptVenueService; - - private final static String STATIC_TOKEN = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE3NjU3ODQ1NjMsInVzZXJuYW1lIjoid3hfb3Blbl9pZF9vMjFNWDR5N3doWENHanZVVEdQNkNUejJIYkQ4In0.QBzNQNvJZQPZZnzmbU8K5Liz0piHwercrDIq3kirUJk"; - - @PostMapping("/queryVenue") - public Result queryVenue() { - venueService.queryVenueService(); - return Result.success(); - } - - @PostMapping("/getTomorrowVenue") - public Result getTomorrowVenue() { - List sitePositionLists = venueService.queryTomorrowVenue(); - return Result.success(sitePositionLists); - } - - @PostMapping("/addSubscribe") - public Result addSubscribe() { - List venueInfoDOS = venueService.queryCanBuyVenue(); - if (CollectionUtils.isEmpty(venueInfoDOS)) { - return Result.error("暂无可订购的数据"); - } - Map> map = venueInfoDOS.stream().filter(VenueInfoUtils::get1221VenueInfo4Mor).collect(Collectors.groupingBy(VenueInfoDO::getPlaceName)); - String token = userTokenInfoService.getToken("Xiang"); - if (StringUtils.isBlank(token)) { - return Result.error("暂无可订购的用户"); - } - map.keySet().parallelStream().forEach(placeName -> { - List venueInfoDOList = map.get(placeName); - Boolean order = jntyzxHttpService.createOrder(venueInfoDOList, token); - if (order) { - dingTalkScriptVenueService.sendScriptMsg("场地:" + placeName + "下单成功,请付款!时间:" + LocalDateTime.now()); - } - }); - return Result.success(); - } - - -} diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/dto/VenueListDTO.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/dto/VenueListDTO.java deleted file mode 100644 index df7c74e..0000000 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/dto/VenueListDTO.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.xiang.xservice.application.script.jntyzx.entity.dto; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * @Author: xiang - * @Date: 2025-12-15 13:55 - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -public class VenueListDTO { - /** - * 时间 - */ - private String date; - - /** - * 时间 - */ - private String sjName; - - /** - * 场地名称 - */ - private String placeName; - - /** - * 联系人 - */ - private String contacts; -} diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/pojo/OrderInfoDO.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/pojo/OrderInfoDO.java deleted file mode 100644 index 6f60d9a..0000000 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/pojo/OrderInfoDO.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.xiang.xservice.application.script.jntyzx.entity.pojo; - -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.time.LocalDate; -import java.time.LocalDateTime; - -/** - * @Author: xiang - * @Date: 2025-12-16 10:57 - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -@TableName("jntyzx_order_create_info") -public class OrderInfoDO { - private Long id; - /** - * 订单id - */ - private String orderId; - - /** - * 参数 - */ - private String params; - - /** - * 创建时间 - */ - private LocalDateTime createTime; - - /** - * 订单创建人 - */ - private String username; - - /** - * 场地号 - */ - private String placeName; - - /** - * 所属日期 - */ - private LocalDate date; - - /** - * 订单状态 (0:待付款,1:已付款) - */ - private Integer orderStatus; -} diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/pojo/UserTokenInfoDO.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/pojo/UserTokenInfoDO.java deleted file mode 100644 index 96a3b58..0000000 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/pojo/UserTokenInfoDO.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.xiang.xservice.application.script.jntyzx.entity.pojo; - -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * @Author: xiang - * @Date: 2025-12-16 09:18 - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -@TableName("jntyzx_user_token_info") -public class UserTokenInfoDO { - private Long id; - /** - * 用户名 - */ - private String name; - - /** - * token - */ - private String token; - - /** - * wx openid - */ - private String openId; - - /** - * 状态(0:禁用 1:启用) - */ - private Integer status; -} diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/pojo/VenueInfoDO.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/pojo/VenueInfoDO.java deleted file mode 100644 index e06c04f..0000000 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/pojo/VenueInfoDO.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.xiang.xservice.application.script.jntyzx.entity.pojo; - -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.math.BigDecimal; -import java.time.LocalDate; -import java.time.LocalDateTime; - -/** - * @Author: xiang - * @Date: 2025-12-15 15:48 - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -@TableName("jntyzx_venue_info") -public class VenueInfoDO { - private Long id; - /** - * 场地名称 - */ - private String placeName; - - /** - * 所属日期 - */ - private LocalDate date; - - /** - * 场地信息三方主键 - */ - private Long placeMainId; - - /** - * 场地id - */ - private Integer placeId; - - /** - * - */ - private Integer scheduleId; - - /** - * 时间范围 - */ - private String sjName; - - /** - * 创建时间 - */ - private LocalDateTime createTime; - - /** - * 联系人 - */ - private String contacts; - - /** - * 状态 - */ - private Integer type; - - private BigDecimal money; - private String className; - private String classCode; - private String appointments; - private String cTypeCode; -} diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/req/SubscribeRequest.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/req/SubscribeRequest.java deleted file mode 100644 index bdc521e..0000000 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/req/SubscribeRequest.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.xiang.xservice.application.script.jntyzx.entity.req; - -import com.alibaba.fastjson2.JSONObject; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.List; - -/** - * @Author: xiang - * @Date: 2025-12-15 16:34 - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -public class SubscribeRequest { - private JSONObject jsonObject; - private List subscribeVos; - private String bookTime; - private Integer paymentMethod; - private String svCiphertext; -} diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/req/SubscribeVo.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/req/SubscribeVo.java deleted file mode 100644 index fb7ee73..0000000 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/req/SubscribeVo.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.xiang.xservice.application.script.jntyzx.entity.req; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.math.BigDecimal; - -/** - * @Author: xiang - * @Date: 2025-12-15 16:35 - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -public class SubscribeVo { - private int id; - - private String ballCourtId; - - private String sjName; - - private String scheduleId; - - private String placeName; - - private int placeId; - - private String type; - - private String className; - - private String classCode; - - private BigDecimal money; - - private String contacts; - - private String contactNumber; - - private String memberNumber; - - private String appointments; - - private String operator; - - private String endTime; - - private String beginTime; - - private int specOneTimes; - - private String ctypeCode; - - private int isWhole; - - private String orderId; - - private int votesnum; -} diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/resp/JntyzxResponse.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/resp/JntyzxResponse.java deleted file mode 100644 index e99ab69..0000000 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/resp/JntyzxResponse.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.xiang.xservice.application.script.jntyzx.entity.resp; - -import lombok.Data; - -/** - * @Author: xiang - * @Date: 2025-05-14 14:38 - */ -@Data -public class JntyzxResponse { - private Boolean success; - - private String message; - - private Integer code; - - private T result; - - private Long timestamp; -} diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/resp/OrderCreateResp.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/resp/OrderCreateResp.java deleted file mode 100644 index 3286d5b..0000000 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/resp/OrderCreateResp.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.xiang.xservice.application.script.jntyzx.entity.resp; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * @Author: xiang - * @Date: 2025-12-16 10:36 - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -public class OrderCreateResp { - - private String id; - private String countDownNum; -} diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/resp/query/QueryVenueResponse.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/resp/query/QueryVenueResponse.java deleted file mode 100644 index 77982c5..0000000 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/resp/query/QueryVenueResponse.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.xiang.xservice.application.script.jntyzx.entity.resp.query; - -import lombok.Data; - -import java.util.List; - -/** - * @Author: xiang - * @Date: 2025-05-14 14:37 - */ -@Data -public class QueryVenueResponse { - private List timeList; - - private List venue; -} diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/resp/query/SitePositionList.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/resp/query/SitePositionList.java deleted file mode 100644 index 7b8e134..0000000 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/resp/query/SitePositionList.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.xiang.xservice.application.script.jntyzx.entity.resp.query; - -import lombok.Data; - -import java.math.BigDecimal; - -/** - * @Author: xiang - * @Date: 2025-05-14 14:45 - */ -@Data -public class SitePositionList { - private Long id; - - private String ballCourtId; - - private String sjName; - - private String scheduleId; - - private String placeName; - - private Integer placeId; - - private Integer type; - - private String className; - - private String classCode; - - private BigDecimal money; - - private String contacts; - - private String contactNumber; - - private String memberNumber; - - private String appointments; - - private String operator; - - private String endTime; - - private String beginTime; - - private Integer specOneTimes; - - private String ctypeCode; - - private String isWhole; - - private Long orderId; - - private Integer votesnum; -} diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/resp/query/TimeList.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/resp/query/TimeList.java deleted file mode 100644 index 54a5ec5..0000000 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/resp/query/TimeList.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.xiang.xservice.application.script.jntyzx.entity.resp.query; - -import lombok.Data; - -/** - * @Author: xiang - * @Date: 2025-05-14 14:39 - */ -@Data -public class TimeList { - private Long id; - private String name; - - private String beginTime; - - private String endTime; - - private String type; - - private String isenable; - - private String operator; - - private String createtime; - - private String remarks; - - private String default01; - private String default02; - private String default03; - private String votesnum; -} diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/resp/query/VenueList.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/resp/query/VenueList.java deleted file mode 100644 index 7c295e7..0000000 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/entity/resp/query/VenueList.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.xiang.xservice.application.script.jntyzx.entity.resp.query; - -import lombok.Data; - -import java.util.List; - -/** - * @Author: xiang - * @Date: 2025-05-14 14:39 - */ -@Data -public class VenueList { - - private Integer placeId; - - private String placeName; - - private List sitePosition; - -} diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/manage/IOrderCreateInfoManage.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/manage/IOrderCreateInfoManage.java deleted file mode 100644 index a86ce6e..0000000 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/manage/IOrderCreateInfoManage.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.xiang.xservice.application.script.jntyzx.manage; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.xiang.xservice.application.script.jntyzx.entity.pojo.OrderInfoDO; - -import java.util.List; - -/** - * @Author: xiang - * @Date: 2025-12-16 10:59 - */ -public interface IOrderCreateInfoManage extends IService { - - - List queryNoPayOrder(); - -} diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/manage/IUserTokenInfoManage.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/manage/IUserTokenInfoManage.java deleted file mode 100644 index de4d57e..0000000 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/manage/IUserTokenInfoManage.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.xiang.xservice.application.script.jntyzx.manage; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.xiang.xservice.application.script.jntyzx.entity.pojo.UserTokenInfoDO; - -import java.util.List; - -/** - * @Author: xiang - * @Date: 2025-12-16 09:19 - */ -public interface IUserTokenInfoManage extends IService { - - List listUser(); - UserTokenInfoDO getByName(String name); -} diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/manage/IVenueInfoManage.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/manage/IVenueInfoManage.java deleted file mode 100644 index 5e10023..0000000 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/manage/IVenueInfoManage.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.xiang.xservice.application.script.jntyzx.manage; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.xiang.xservice.application.script.jntyzx.entity.pojo.VenueInfoDO; - -import java.time.LocalDate; -import java.util.List; - -/** - * @Author: xiang - * @Date: 2025-12-15 15:50 - */ -public interface IVenueInfoManage extends IService { - - List queryByDate(LocalDate date); - - List queryByType(LocalDate date, Integer type); -} diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/manage/OrderCreateInfoManageImpl.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/manage/OrderCreateInfoManageImpl.java deleted file mode 100644 index d27685c..0000000 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/manage/OrderCreateInfoManageImpl.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.xiang.xservice.application.script.jntyzx.manage; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.xiang.xservice.application.script.jntyzx.entity.pojo.OrderInfoDO; -import com.xiang.xservice.application.script.jntyzx.mapper.JntyzxOrderCreateInfoMapper; -import org.springframework.stereotype.Service; - -import java.util.List; - -/** - * @Author: xiang - * @Date: 2025-12-16 10:59 - */ -@Service -public class OrderCreateInfoManageImpl extends ServiceImpl implements IOrderCreateInfoManage { - - - @Override - public List queryNoPayOrder() { - LambdaQueryWrapper lambdaQueryWrapper = Wrappers.lambdaQuery(); - lambdaQueryWrapper.eq(OrderInfoDO::getOrderStatus, 0); - return baseMapper.selectList(lambdaQueryWrapper); - } -} diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/manage/UserTokenInfoManageImpl.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/manage/UserTokenInfoManageImpl.java deleted file mode 100644 index cc22d18..0000000 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/manage/UserTokenInfoManageImpl.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.xiang.xservice.application.script.jntyzx.manage; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.xiang.xservice.application.script.jntyzx.entity.pojo.UserTokenInfoDO; -import com.xiang.xservice.application.script.jntyzx.mapper.JntyzxUserTokenInfoMapper; -import org.springframework.stereotype.Service; - -import java.util.List; - -/** - * @Author: xiang - * @Date: 2025-12-16 09:19 - */ -@Service -public class UserTokenInfoManageImpl extends ServiceImpl implements IUserTokenInfoManage { - @Override - public List listUser() { - LambdaQueryWrapper lambdaQueryWrapper = Wrappers.lambdaQuery(); - lambdaQueryWrapper.eq(UserTokenInfoDO::getStatus, 1); - return baseMapper.selectList(lambdaQueryWrapper); - } - - @Override - public UserTokenInfoDO getByName(String name) { - LambdaQueryWrapper lambdaQueryWrapper = Wrappers.lambdaQuery(); - lambdaQueryWrapper.eq(UserTokenInfoDO::getStatus, 1); - lambdaQueryWrapper.eq(UserTokenInfoDO::getName, name); - return baseMapper.selectOne(lambdaQueryWrapper); - } -} diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/manage/VenueInfoManageImpl.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/manage/VenueInfoManageImpl.java deleted file mode 100644 index 9e0c92e..0000000 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/manage/VenueInfoManageImpl.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.xiang.xservice.application.script.jntyzx.manage; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.xiang.xservice.application.script.jntyzx.entity.pojo.VenueInfoDO; -import com.xiang.xservice.application.script.jntyzx.mapper.JntyzxVenueInfoMapper; -import org.springframework.stereotype.Service; - -import java.time.LocalDate; -import java.util.List; - -/** - * @Author: xiang - * @Date: 2025-12-15 15:51 - */ -@Service -public class VenueInfoManageImpl extends ServiceImpl implements IVenueInfoManage { - - public List queryByDate(LocalDate date) { - LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); - lqw.eq(VenueInfoDO::getDate, date); - return baseMapper.selectList(lqw); - } - - @Override - public List queryByType(LocalDate date, Integer type) { - LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); - lqw.eq(VenueInfoDO::getDate, date); - lqw.eq(VenueInfoDO::getType, type); - return baseMapper.selectList(lqw); - } -} diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/mapper/JntyzxOrderCreateInfoMapper.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/mapper/JntyzxOrderCreateInfoMapper.java deleted file mode 100644 index c30d54d..0000000 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/mapper/JntyzxOrderCreateInfoMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.xiang.xservice.application.script.jntyzx.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.xiang.xservice.application.script.jntyzx.entity.pojo.OrderInfoDO; -import org.apache.ibatis.annotations.Mapper; -import org.springframework.stereotype.Repository; - -/** - * @Author: xiang - * @Date: 2025-12-16 10:58 - */ -@Mapper -@Repository -public interface JntyzxOrderCreateInfoMapper extends BaseMapper { -} diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/mapper/JntyzxUserTokenInfoMapper.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/mapper/JntyzxUserTokenInfoMapper.java deleted file mode 100644 index 42dccb0..0000000 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/mapper/JntyzxUserTokenInfoMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.xiang.xservice.application.script.jntyzx.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.xiang.xservice.application.script.jntyzx.entity.pojo.UserTokenInfoDO; -import org.apache.ibatis.annotations.Mapper; -import org.springframework.stereotype.Repository; - -/** - * @Author: xiang - * @Date: 2025-12-16 09:18 - */ -@Mapper -@Repository -public interface JntyzxUserTokenInfoMapper extends BaseMapper { -} diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/mapper/JntyzxVenueInfoMapper.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/mapper/JntyzxVenueInfoMapper.java deleted file mode 100644 index 7627ed5..0000000 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/mapper/JntyzxVenueInfoMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.xiang.xservice.application.script.jntyzx.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.xiang.xservice.application.script.jntyzx.entity.pojo.VenueInfoDO; -import org.apache.ibatis.annotations.Mapper; -import org.springframework.stereotype.Repository; - -/** - * @Author: xiang - * @Date: 2025-12-15 15:48 - */ -@Mapper -@Repository -public interface JntyzxVenueInfoMapper extends BaseMapper { -} diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/schedule/JtTokenHealthSchedule.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/schedule/JtTokenHealthSchedule.java deleted file mode 100644 index 9d37460..0000000 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/schedule/JtTokenHealthSchedule.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.xiang.xservice.application.script.jntyzx.schedule; - -import com.xiang.xservice.application.script.jntyzx.service.IUserTokenInfoService; -import lombok.RequiredArgsConstructor; -import org.springframework.scheduling.annotation.Scheduled; -import org.springframework.stereotype.Component; - -/** - * @Author: xiang - * @Date: 2025-12-16 09:15 - */ -@Component -@RequiredArgsConstructor -public class JtTokenHealthSchedule { - - private final IUserTokenInfoService userTokenInfoService; - @Scheduled(cron = "0 30 0/2 * * ?") - public void flushToken() { - userTokenInfoService.flushToken(); - } -} diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/schedule/VenuePeekSchedule.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/schedule/VenuePeekSchedule.java deleted file mode 100644 index ba7f59e..0000000 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/schedule/VenuePeekSchedule.java +++ /dev/null @@ -1,129 +0,0 @@ -package com.xiang.xservice.application.script.jntyzx.schedule; - -import com.xiang.xmc.service.cache.service.IRedisService; -import com.xiang.xservice.application.script.jntyzx.constants.RedisKeyConstant; -import com.xiang.xservice.application.script.jntyzx.entity.pojo.VenueInfoDO; -import com.xiang.xservice.application.script.jntyzx.service.DingTalkScriptVenueService; -import com.xiang.xservice.application.script.jntyzx.service.IJntyzxHttpService; -import com.xiang.xservice.application.script.jntyzx.service.IUserTokenInfoService; -import com.xiang.xservice.application.script.jntyzx.service.IVenueService; -import com.xiang.xservice.application.script.jntyzx.utils.VenueInfoUtils; -import com.xiang.xservice.basic.utils.DateUtils; -import com.xiang.xservice.common.entity.SysConfigDO; -import com.xiang.xservice.common.service.ISysConfigService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.scheduling.annotation.Scheduled; -import org.springframework.stereotype.Component; - -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.stream.Collectors; - -/** - * @Author: xiang - * @Date: 2025-12-15 16:12 - */ -@Slf4j -@Component -@RequiredArgsConstructor -public class VenuePeekSchedule { - - private final IVenueService venueService; - private final IJntyzxHttpService jntyzxHttpService; - private final ISysConfigService sysConfigService; - private final IUserTokenInfoService userTokenInfoService; - private final DingTalkScriptVenueService dingTalkScriptVenueService; - private final IRedisService redisService; - - @Scheduled(cron = "5 0/1 * * * ?") - public void peek8210() { - log.info("8-10捡漏定时任务启动"); - SysConfigDO config = sysConfigService.getByName("jntyzx.venue.peek.switch"); - boolean peekSwitch; - if (Objects.isNull(config)) { - peekSwitch = false; - } else { - if (StringUtils.equals(config.getValue(), "true")) { - peekSwitch = true; - } else { - peekSwitch = false; - } - } - if (peekSwitch) { - List venueInfoDOS = venueService.queryCanBuyVenue(); - if (CollectionUtils.isEmpty(venueInfoDOS)) { - return; - } - Map> map = venueInfoDOS.stream() - .filter(VenueInfoUtils::get8210VenueInfo) - .collect(Collectors.groupingBy(VenueInfoDO::getPlaceName)); - String token = userTokenInfoService.getToken("Xiang"); - if (StringUtils.isBlank(token)) { - return; - } - String key = RedisKeyConstant.JNTUZX_ORDER_PEEK_KEY + "Xiang" + DateUtils.getDateFromDate(LocalDate.now(), "yyyyMMdd"); - String redisResp = (String) redisService.get(key); - if (StringUtils.equals(redisResp, "true")) { - log.info("当前已捡漏,勿重复捡漏"); - return; - } - map.keySet().parallelStream().forEach(placeName -> { - List venueInfoDOList = map.get(placeName); - Boolean order = jntyzxHttpService.createOrder(venueInfoDOList, token); - if (order) { - dingTalkScriptVenueService.sendScriptMsg("场地:" + placeName + "下单成功,请付款!时间:" + LocalDateTime.now()); - redisService.set(key, "true"); - } - }); - } - } - - @Scheduled(cron = "5 0/1 * * * ?") - public void peek628() { - log.info("6-8捡漏定时任务启动"); - SysConfigDO config = sysConfigService.getByName("jntyzx.venue.peek.switch"); - boolean peekSwitch; - if (Objects.isNull(config)) { - peekSwitch = false; - } else { - if (StringUtils.equals(config.getValue(), "true")) { - peekSwitch = true; - } else { - peekSwitch = false; - } - } - if (peekSwitch) { - List venueInfoDOS = venueService.queryCanBuyVenue(); - if (CollectionUtils.isEmpty(venueInfoDOS)) { - return; - } - Map> map = venueInfoDOS.stream() - .filter(VenueInfoUtils::get628VenueInfo) - .collect(Collectors.groupingBy(VenueInfoDO::getPlaceName)); - String token = userTokenInfoService.getToken("Xiang"); - if (StringUtils.isBlank(token)) { - return; - } - String key = RedisKeyConstant.JNTUZX_ORDER_PEEK_KEY + "Xiang" + DateUtils.getDateFromDate(LocalDate.now(), "yyyyMMdd"); - String redisResp = (String) redisService.get(key); - if (StringUtils.equals(redisResp, "true")) { - log.info("当前已捡漏,勿重复捡漏"); - return; - } - map.keySet().parallelStream().forEach(placeName -> { - List venueInfoDOList = map.get(placeName); - Boolean order = jntyzxHttpService.createOrder(venueInfoDOList, token); - if (order) { - dingTalkScriptVenueService.sendScriptMsg("场地:" + placeName + "下单成功,请付款!时间:" + LocalDateTime.now()); - redisService.set(key, "true"); - } - }); - } - } -} diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/schedule/VenueQuerySchedule.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/schedule/VenueQuerySchedule.java deleted file mode 100644 index 57a62cd..0000000 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/schedule/VenueQuerySchedule.java +++ /dev/null @@ -1,237 +0,0 @@ -package com.xiang.xservice.application.script.jntyzx.schedule; - -import com.google.common.collect.Maps; -import com.xiang.xmc.service.cache.service.IRedisService; -import com.xiang.xservice.application.script.jntyzx.constants.RedisKeyConstant; -import com.xiang.xservice.application.script.jntyzx.entity.pojo.VenueInfoDO; -import com.xiang.xservice.application.script.jntyzx.entity.resp.query.SitePositionList; -import com.xiang.xservice.application.script.jntyzx.service.DingTalkScriptVenueService; -import com.xiang.xservice.application.script.jntyzx.service.IVenueService; -import com.xiang.xservice.common.entity.SysConfigDO; -import com.xiang.xservice.common.service.ISysConfigService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.collections4.MapUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.scheduling.annotation.Scheduled; -import org.springframework.stereotype.Component; - -import java.time.LocalTime; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.concurrent.TimeUnit; - -/** - * @Author: xiang - * @Date: 2025-12-15 15:02 - */ -@Slf4j -@Component -@RequiredArgsConstructor -public class VenueQuerySchedule { - - private final IVenueService venueService; - private final DingTalkScriptVenueService dingTalkScriptVenueService; - private final ISysConfigService sysConfigService; - private final IRedisService redisService; - - @Scheduled(cron = "0 30 8 * * ?") - public void venueQueryTask() { - log.info("每日8:30拉取江体小程序数据定时任务"); - List sitePositionLists = venueService.queryTomorrowVenue(); - // 6-8场地 - Map> map1 = Maps.newLinkedHashMap(); - // 8-10场地 - Map> map2 = Maps.newLinkedHashMap(); - sitePositionLists.stream() - .filter(item -> StringUtils.equals(item.getSjName(), "18:00-19:00") || StringUtils.equals(item.getSjName(), "19:00-20:00") - || StringUtils.equals(item.getSjName(), "20:00-21:00") || StringUtils.equals(item.getSjName(), "21:00-22:00")) - .forEach(item -> { - if (StringUtils.equals(item.getSjName(), "18:00-19:00")) { - putIntoMap(item, map1); - } - if (StringUtils.equals(item.getSjName(), "19:00-20:00")) { - putIntoMap(item, map1); - } - if (StringUtils.equals(item.getSjName(), "20:00-21:00")) { - putIntoMap(item, map2); - } - if (StringUtils.equals(item.getSjName(), "21:00-22:00")) { - putIntoMap(item, map2); - } - }); - if (MapUtils.isNotEmpty(map1)) { - StringBuffer sb1 = new StringBuffer("查询江体小程序场地信息【18:00-20:00】\n"); - buildMsg2(map1, sb1); - String s = (String) redisService.get(RedisKeyConstant.JNTYZX_VENUE_MSG_628_KEY); - if (StringUtils.isBlank(s)) { - dingTalkScriptVenueService.sendScriptMsg(sb1.toString()); - redisService.set(RedisKeyConstant.JNTYZX_VENUE_MSG_628_KEY, "true", 30, TimeUnit.MINUTES); - } - } - if (MapUtils.isNotEmpty(map2)) { - StringBuffer sb2 = new StringBuffer("查询江体小程序场地信息【20:00-22:00】\n"); - buildMsg2(map2, sb2); - String s = (String) redisService.get(RedisKeyConstant.JNTYZX_VENUE_MSG_8210_KEY); - if (StringUtils.isBlank(s)) { - dingTalkScriptVenueService.sendScriptMsg(sb2.toString()); - redisService.set(RedisKeyConstant.JNTYZX_VENUE_MSG_8210_KEY, "true", 30, TimeUnit.MINUTES); - } - } - } - - @Scheduled(cron = "0 0/1 9-10 * * ?") - public void venueQueryTask49210() { - log.info("每日9-10点时刻拉取江体小程序数据定时任务"); - venueService.queryVenueService(); - } - - @Scheduled(cron = "0 0/10 10-12 * * ?") - public void venueQueryTask4Free() { - log.info("每日空闲时刻10-12点拉取江体小程序数据定时任务"); - venueService.queryVenueService(); - } - - @Scheduled(cron = "1 0/5 12-17 * * ?") - public void venueQueryTask4Normal() { - log.info("每日正常时刻12-17点拉取江体小程序数据定时任务"); - venueService.queryVenueService(); - } - - @Scheduled(cron = "2 0/2 17-20 * * ?") - public void venueQueryTask4Urgency() { - log.info("每日紧急时刻17-20点拉取江体小程序数据定时任务"); - venueService.queryVenueService(); - } - - @Scheduled(cron = "0 0 17 * * ?") - public void todayVenueInfo() { - log.info("每日拉取江体小程序数据定时任务"); - List venueInfoDOS = venueService.queryToday6210VenueInfo(); - if (CollectionUtils.isEmpty(venueInfoDOS)) { - return; - } - // 6-8场地 - Map> map1 = Maps.newLinkedHashMap(); - // 8-10场地 - Map> map2 = Maps.newLinkedHashMap(); - venueInfoDOS.forEach(item -> { - if (StringUtils.equals(item.getSjName(), "18:00-19:00")) { - putIntoMap(item, map1); - } - if (StringUtils.equals(item.getSjName(), "19:00-20:00")) { - putIntoMap(item, map1); - } - if (StringUtils.equals(item.getSjName(), "20:00-21:00")) { - putIntoMap(item, map2); - } - if (StringUtils.equals(item.getSjName(), "21:00-22:00")) { - putIntoMap(item, map2); - } - }); - if (MapUtils.isNotEmpty(map1)) { - StringBuffer sb1 = new StringBuffer("查询江体小程序场地信息【18:00-20:00】\n"); - buildMsg(map1, sb1); - dingTalkScriptVenueService.sendScriptMsg(sb1.toString()); - } - if (MapUtils.isNotEmpty(map1)) { - StringBuffer sb2 = new StringBuffer("查询江体小程序场地信息【20:00-22:00】\n"); - buildMsg(map2, sb2); - dingTalkScriptVenueService.sendScriptMsg(sb2.toString()); - } - } - - @Scheduled(cron = "0 0/1 9-20 * * ?") - public void venueCanBuyMsg() { - List venueInfoDOS = venueService.queryCanBuyVenue(); - if (CollectionUtils.isEmpty(venueInfoDOS)) { - return; - } - SysConfigDO config = sysConfigService.getByName("jntyzx.order.create.xiaoguan.switch"); - boolean orderSwitch; - if (Objects.nonNull(config)) { - String value = config.getValue(); - if (StringUtils.equals(value, "true")) { - orderSwitch = true; - } else { - orderSwitch = false; - } - } else { - orderSwitch = false; - } - // 6-8场地 - Map> map1 = Maps.newLinkedHashMap(); - // 8-10场地 - Map> map2 = Maps.newLinkedHashMap(); - venueInfoDOS.stream() - .filter(item -> StringUtils.equals(item.getSjName(), "18:00-19:00") || StringUtils.equals(item.getSjName(), "19:00-20:00") - || StringUtils.equals(item.getSjName(), "20:00-21:00") || StringUtils.equals(item.getSjName(), "21:00-22:00")) - .filter(item -> { - if (!orderSwitch) { - return !item.getPlaceName().contains("小馆"); - } - return false; - }) - .forEach(item -> { - if (StringUtils.equals(item.getSjName(), "18:00-19:00")) { - putIntoMap(item, map1); - } - if (StringUtils.equals(item.getSjName(), "19:00-20:00")) { - putIntoMap(item, map1); - } - if (StringUtils.equals(item.getSjName(), "20:00-21:00")) { - putIntoMap(item, map2); - } - if (StringUtils.equals(item.getSjName(), "21:00-22:00")) { - putIntoMap(item, map2); - } - }); - if (MapUtils.isNotEmpty(map1) && LocalTime.now().isBefore(LocalTime.of(18, 0, 0))) { - StringBuffer sb1 = new StringBuffer("查询江体小程序场地信息【18:00-20:00】\n"); - buildMsg(map1, sb1); - dingTalkScriptVenueService.sendScriptMsg(sb1.toString()); - } - if (MapUtils.isNotEmpty(map2) && LocalTime.now().isBefore(LocalTime.of(20, 0, 0))) { - StringBuffer sb2 = new StringBuffer("查询江体小程序场地信息【20:00-22:00】\n"); - buildMsg(map2, sb2); - dingTalkScriptVenueService.sendScriptMsg(sb2.toString()); - } - } - - private static void buildMsg(Map> map1, StringBuffer sb1) { - map1.forEach((k, v) -> { - VenueInfoDO sitePositionList1 = v.get(0); - VenueInfoDO sitePositionList2 = v.get(1); - String contacts = sitePositionList1.getContacts(); - if (!StringUtils.equals(sitePositionList1.getContacts(), sitePositionList2.getContacts())) { - contacts = sitePositionList1.getContacts() + "," + sitePositionList2.getContacts(); - } - sb1.append(k).append("场地,订购人:").append(contacts).append("\n"); - }); - } - private static void buildMsg2(Map> map1, StringBuffer sb1) { - map1.forEach((k, v) -> { - SitePositionList sitePositionList1 = v.get(0); - SitePositionList sitePositionList2 = v.get(1); - String contacts = sitePositionList1.getContacts(); - if (!StringUtils.equals(sitePositionList1.getContacts(), sitePositionList2.getContacts())) { - contacts = sitePositionList1.getContacts() + "," + sitePositionList2.getContacts(); - } - sb1.append(k).append("场地,订购人:").append(contacts).append("\n"); - }); - } - - private static void putIntoMap(VenueInfoDO item, Map> map1) { - map1.computeIfAbsent(item.getPlaceName(), - k -> new ArrayList<>() - ).add(item); - } - private static void putIntoMap(SitePositionList item, Map> map1) { - map1.computeIfAbsent(item.getPlaceName(), - k -> new ArrayList<>() - ).add(item); - } -} diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/schedule/VenueSubscribeSchedule.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/schedule/VenueSubscribeSchedule.java deleted file mode 100644 index b5e3c84..0000000 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/schedule/VenueSubscribeSchedule.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.xiang.xservice.application.script.jntyzx.schedule; - -import com.xiang.xmc.service.cache.service.IRedisService; -import com.xiang.xservice.application.script.jntyzx.constants.RedisKeyConstant; -import com.xiang.xservice.application.script.jntyzx.entity.pojo.OrderInfoDO; -import com.xiang.xservice.application.script.jntyzx.entity.pojo.VenueInfoDO; -import com.xiang.xservice.application.script.jntyzx.service.DingTalkScriptVenueService; -import com.xiang.xservice.application.script.jntyzx.service.IJntyzxHttpService; -import com.xiang.xservice.application.script.jntyzx.service.IJtOrderService; -import com.xiang.xservice.application.script.jntyzx.service.IUserTokenInfoService; -import com.xiang.xservice.application.script.jntyzx.service.IVenueService; -import com.xiang.xservice.application.script.jntyzx.utils.VenueInfoUtils; -import com.xiang.xservice.basic.utils.DateUtils; -import lombok.RequiredArgsConstructor; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.scheduling.annotation.Scheduled; -import org.springframework.stereotype.Component; - -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -/** - * @Author: xiang - * @Date: 2025-12-16 14:26 - */ -@Component -@RequiredArgsConstructor -public class VenueSubscribeSchedule { - private final IVenueService venueService; - private final IJntyzxHttpService jntyzxHttpService; - private final IUserTokenInfoService userTokenInfoService; - private final DingTalkScriptVenueService dingTalkScriptVenueService; - private final IJtOrderService orderService; - private final IRedisService redisService; - @Scheduled(cron = "0 0 9 * * ?") - public void subscribe() { - List venueInfoDOS = venueService.queryCanBuyVenue(); - if (CollectionUtils.isEmpty(venueInfoDOS)) { - return; - } - Map> map = venueInfoDOS.stream().filter(VenueInfoUtils::get1221VenueInfo4Mor).collect(Collectors.groupingBy(VenueInfoDO::getPlaceName)); - String token = userTokenInfoService.getToken("Xiang"); - if (StringUtils.isBlank(token)) { - return; - } - String key = RedisKeyConstant.JNTUZX_ORDER_PEEK_KEY + "Xiang" + DateUtils.getDateFromDate(LocalDate.now(), "yyyyMMdd"); - map.keySet().parallelStream().forEach(placeName -> { - List venueInfoDOList = map.get(placeName); - Boolean order = jntyzxHttpService.createOrder(venueInfoDOList, token); - if (order) { - dingTalkScriptVenueService.sendScriptMsg("场地:" + placeName + "下单成功,请付款!时间:" + LocalDateTime.now()); - redisService.set(key, "true"); - } - }); - } - - @Scheduled(cron = "0 0/2 * * * ?") - public void checkPay() { - List orderInfoDOS = orderService.queryNoPayOrder(); - if (CollectionUtils.isEmpty(orderInfoDOS)) { - return; - } - } -} diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/DingTalkScriptVenueService.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/DingTalkScriptVenueService.java deleted file mode 100644 index ac8edf3..0000000 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/DingTalkScriptVenueService.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.xiang.xservice.application.script.jntyzx.service; - -import com.xiang.xmc.service.message.dingTalk.service.DingTalkService; -import com.xiang.xservice.config.DingTalkRobotVenueConfig; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -/** - * @Author: xiang - * @Date: 2025-08-07 10:30 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class DingTalkScriptVenueService { - - private final DingTalkService dingTalkService; - private final DingTalkRobotVenueConfig dingTalkRobotVenueConfig; - - /** - * 发送脚本消息 - * @param msg 消息 - */ - public void sendScriptMsg(String msg) { - try { - dingTalkService.sendRobotMessage(dingTalkRobotVenueConfig.getSecret(), dingTalkRobotVenueConfig.getToken(), - dingTalkRobotVenueConfig.getUsers(), msg); - } catch (Exception e) { - log.error("信息发送异常, 信息:{}", msg, e); - } - } -} diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/IJntyzxHttpService.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/IJntyzxHttpService.java deleted file mode 100644 index 90604f5..0000000 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/IJntyzxHttpService.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.xiang.xservice.application.script.jntyzx.service; - -import com.xiang.xservice.application.script.jntyzx.entity.pojo.VenueInfoDO; -import com.xiang.xservice.application.script.jntyzx.entity.resp.JntyzxResponse; -import com.xiang.xservice.application.script.jntyzx.entity.resp.query.SitePositionList; - -import java.util.List; - -/** - * @Author: xiang - * @Date: 2025-12-15 14:47 - */ -public interface IJntyzxHttpService { - - /** - * 查询今日可用场地 - */ - List queryAvailable(String isWeekend, String token); - List queryAvailableTomorrow(String isWeekend, String token); - - /** - * 订单创建 - * @return - */ - Boolean createOrder(List venueInfos, String token); - - /** - * 心跳监测 - * @param token token - * @param openId openid - * @return - */ - JntyzxResponse healthDeclaration(String token, String openId); - -} diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/IJtOrderService.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/IJtOrderService.java deleted file mode 100644 index 830233a..0000000 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/IJtOrderService.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.xiang.xservice.application.script.jntyzx.service; - -import com.xiang.xservice.application.script.jntyzx.entity.pojo.OrderInfoDO; - -import java.util.List; - -/** - * @Author: xiang - * @Date: 2025-12-16 16:17 - */ -public interface IJtOrderService { - - List queryNoPayOrder(); -} diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/IUserTokenInfoService.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/IUserTokenInfoService.java deleted file mode 100644 index c3a5835..0000000 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/IUserTokenInfoService.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.xiang.xservice.application.script.jntyzx.service; - -/** - * @Author: xiang - * @Date: 2025-12-16 09:22 - */ -public interface IUserTokenInfoService { - - String getToken(String name); - boolean flushSingleToken(String name); - boolean flushToken(); - - boolean updateTokenByName(String name, String token); -} diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/IVenueService.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/IVenueService.java deleted file mode 100644 index deb56ea..0000000 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/IVenueService.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.xiang.xservice.application.script.jntyzx.service; - -import com.xiang.xservice.application.script.jntyzx.entity.pojo.VenueInfoDO; -import com.xiang.xservice.application.script.jntyzx.entity.resp.query.SitePositionList; - -import java.util.List; - -/** - * @Author: xiang - * @Date: 2025-12-15 16:07 - */ -public interface IVenueService { - - List queryVenueService(); - List queryTomorrowVenue(); - List queryCanBuyVenue(); - List queryToday6210VenueInfo(); -} diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/JntyzxHttpServiceImpl.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/JntyzxHttpServiceImpl.java deleted file mode 100644 index 28be250..0000000 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/JntyzxHttpServiceImpl.java +++ /dev/null @@ -1,242 +0,0 @@ -package com.xiang.xservice.application.script.jntyzx.service; - -import com.alibaba.fastjson2.JSON; -import com.alibaba.fastjson2.JSONObject; -import com.alibaba.fastjson2.TypeReference; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; -import com.xiang.xmc.service.cache.service.IRedisService; -import com.xiang.xmc.service.http.helper.HttpHelper; -import com.xiang.xservice.application.script.jntyzx.constants.RedisKeyConstant; -import com.xiang.xservice.application.script.jntyzx.constants.UrlConstant; -import com.xiang.xservice.application.script.jntyzx.entity.pojo.OrderInfoDO; -import com.xiang.xservice.application.script.jntyzx.entity.pojo.VenueInfoDO; -import com.xiang.xservice.application.script.jntyzx.entity.req.SubscribeRequest; -import com.xiang.xservice.application.script.jntyzx.entity.req.SubscribeVo; -import com.xiang.xservice.application.script.jntyzx.entity.resp.JntyzxResponse; -import com.xiang.xservice.application.script.jntyzx.entity.resp.OrderCreateResp; -import com.xiang.xservice.application.script.jntyzx.entity.resp.query.SitePositionList; -import com.xiang.xservice.application.script.jntyzx.entity.resp.query.VenueList; -import com.xiang.xservice.application.script.jntyzx.manage.IOrderCreateInfoManage; -import com.xiang.xservice.basic.utils.Base64; -import com.xiang.xservice.basic.utils.JsonUtils; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; -import org.jetbrains.annotations.NotNull; -import org.springframework.stereotype.Service; -import org.springframework.util.CollectionUtils; - -import java.nio.charset.StandardCharsets; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.util.List; -import java.util.Map; -import java.util.Objects; - -/** - * @Author: xiang - * @Date: 2025-05-14 14:07 - */ -@Service -@RequiredArgsConstructor -@Slf4j -public class JntyzxHttpServiceImpl implements IJntyzxHttpService { - - private final IRedisService redisService; - private final IOrderCreateInfoManage orderCreateInfoManage; - - @Override - public List queryAvailable(String isWeekend, String token) { - String url = UrlConstant.QUERY_TODAY_SUBSCRIBE_URL; - return querySitePositionInfo(isWeekend, token, url); - } - - @NotNull - private static List querySitePositionInfo(String isWeekend, String token, String url) { - Map header = Maps.newHashMap(); - header.put("X-Access-Token", token); - String resp = null; - Map params = Maps.newHashMap(); - params.put("gid", "03"); - params.put("isWeekend", isWeekend); - try { - resp = HttpHelper.doGet(url, header, params); - } catch (Exception e) { - log.error("[doGet] 江南体育中心查询当天场地 请求失败, url:{}", url); - return Lists.newArrayList(); - } - if (StringUtils.isEmpty(resp)) { - log.warn("[查询场地] 江南体育中心查询当天场地 请求结果为空, url:{}, resp:{}", url, resp); - return Lists.newArrayList(); - } - JSONObject jsonObject = JSON.parseObject(resp); - if (Objects.isNull(jsonObject)) { - return Lists.newArrayList(); - } - String resultStr = JSON.toJSONString(jsonObject.get("result")); - if (StringUtils.isBlank(resultStr)) { - return Lists.newArrayList(); - } - JSONObject result = JSON.parseObject(resultStr); - if (Objects.isNull(result)) { - return Lists.newArrayList(); - } - String venueStr = JSON.toJSONString(result.get("venue")); - if (StringUtils.isBlank(venueStr)) { - return Lists.newArrayList(); - } - List venueLists = JSON.parseArray(venueStr, VenueList.class); - if (CollectionUtils.isEmpty(venueLists)) { - return Lists.newArrayList(); - } - List res = Lists.newArrayList(); - for (VenueList venueList : venueLists) { - List sitePositionList = venueList.getSitePosition(); - if (CollectionUtils.isEmpty(sitePositionList)) { - continue; - } - res.addAll(sitePositionList); - } - return res; - } - - @Override - public List queryAvailableTomorrow(String isWeekend, String token) { - String url = UrlConstant.QUERY_TOMORROW_SUBSCRIBE_URL; - return querySitePositionInfo(isWeekend, token, url); - } - - @Override - public Boolean createOrder(List venueInfos, String token) { - - List vos = Lists.newArrayList(); - for (VenueInfoDO venueInfo : venueInfos) { - SubscribeVo subscribeVo = new SubscribeVo(); - subscribeVo.setId(0); - subscribeVo.setBallCourtId("03"); - subscribeVo.setSjName(venueInfo.getSjName()); - subscribeVo.setScheduleId(String.valueOf(venueInfo.getScheduleId())); - subscribeVo.setPlaceName(venueInfo.getPlaceName()); - subscribeVo.setPlaceId(venueInfo.getPlaceId()); - subscribeVo.setType("0"); - subscribeVo.setClassName(venueInfo.getClassName()); - subscribeVo.setClassCode(venueInfo.getClassCode()); - subscribeVo.setMoney(venueInfo.getMoney().setScale(0)); - subscribeVo.setContacts("0"); - subscribeVo.setContactNumber(null); - subscribeVo.setMemberNumber(null); - subscribeVo.setAppointments(venueInfo.getAppointments()); - subscribeVo.setOperator(null); - subscribeVo.setEndTime(null); - subscribeVo.setBeginTime(null); - subscribeVo.setSpecOneTimes(3); - subscribeVo.setCtypeCode(venueInfo.getCTypeCode()); - subscribeVo.setIsWhole(0); - subscribeVo.setOrderId(null); - subscribeVo.setVotesnum(1); - vos.add(subscribeVo); - } - - JSONObject jsonObject = buildParamJsonObj(); - SubscribeRequest subscribeRequest = new SubscribeRequest(); - - subscribeRequest.setSubscribeVos(vos); - subscribeRequest.setBookTime(venueInfos.get(0).getAppointments()); - subscribeRequest.setPaymentMethod(1); - subscribeRequest.setSvCiphertext(sonAddSalt(JsonUtils.toJsonString(vos))); - subscribeRequest.setJsonObject(jsonObject); - - Map params = Maps.newHashMap(); - params.put("X-Access-Token", token); - String resp = HttpHelper.doPost(UrlConstant.ADD_SUBSCRIBE, params, JsonUtils.toJsonString(subscribeRequest)); - if (StringUtils.isBlank(resp)) { - log.info("请求结果为空"); - return false; - } - JntyzxResponse response = JSON.parseObject(resp, new TypeReference>() { - }); - if (Objects.isNull(response)) { - log.info("请求结果为空"); - return false; - } - if (response.getSuccess()) { - OrderCreateResp createResp = response.getResult(); - if (Objects.nonNull(createResp)) { - String orderId = createResp.getId(); - redisService.set(RedisKeyConstant.JNTYZX_ORDER_CREATE_KEY + orderId, String.valueOf(System.currentTimeMillis())); - OrderInfoDO orderInfoDO = new OrderInfoDO(); - orderInfoDO.setOrderId(orderId); - orderInfoDO.setParams(JsonUtils.toJsonString(subscribeRequest)); - orderInfoDO.setCreateTime(LocalDateTime.now()); - orderInfoDO.setUsername(token); - orderInfoDO.setPlaceName(vos.get(0).getPlaceName()); - orderInfoDO.setDate(LocalDate.now()); - orderInfoDO.setOrderStatus(0); - orderCreateInfoManage.save(orderInfoDO); - return true; - } - } - return false; - } - @Override - public JntyzxResponse healthDeclaration(String token, String openId) { - Map headers = Maps.newHashMap(); - headers.put("X-Access-Token", token); - Map params = Maps.newHashMap(); - params.put("openId", openId); - - String respStr = HttpHelper.doGet(UrlConstant.HEALTH_DECLARATION, headers, params); - if (StringUtils.isBlank(respStr)) { - return null; - } - return JSON.parseObject(respStr, JntyzxResponse.class); - } - - private static JSONObject buildParamJsonObj() { - JSONObject jsonObject = new JSONObject(); - jsonObject.put("id", "1702581215097257986"); - jsonObject.put("createBy", null); - jsonObject.put("createTime", "2023-09-15 15:12:48"); - jsonObject.put("updateBy", null); - jsonObject.put("updateTime", null); - jsonObject.put("sysOrgCode", null); - jsonObject.put("openId", "o21MX4y7whXCGjvUTGP6CTz2HbD8"); - jsonObject.put("nickName", "1"); - jsonObject.put("unionId", null); - jsonObject.put("avatarUrl", "https://thirdwx.qlogo.cn/mmopen/vi_32/POgEwh4mIHO4nibH0KlMECNjjGxQUq24ZEaGT4poC6icRiccVGKSyXwibcPq4BWmiaIGuG1icwxaQX6grC9VemZoJ8rg/132"); - jsonObject.put("remarks", null); - jsonObject.put("default01", null); - jsonObject.put("default02", null); - jsonObject.put("default03", null); - jsonObject.put("default04", null); - jsonObject.put("default05", null); - return jsonObject; - } - - private static int[] getMonthAndDay() { - LocalDate currentDate = LocalDate.now(); - int month = currentDate.getMonthValue(); - int day = currentDate.getDayOfMonth(); - return new int[]{month, day}; - } - - private String sonAddSalt(String json) { - String svCiphertext = ""; - String suiji = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; - String token1 = String.valueOf(suiji.charAt((int) (Math.random() * (double) suiji.length()))); - String token2 = String.valueOf(suiji.charAt((int) (Math.random() * (double) suiji.length()))); - svCiphertext = Base64.encode(json.getBytes(StandardCharsets.UTF_8)); - int[] monthAndDay = getMonthAndDay(); - int month = monthAndDay[0]; - int day = monthAndDay[1]; - if (month == 1) { - svCiphertext = (svCiphertext = token1 + svCiphertext).substring(0, day - 1) + token2 + svCiphertext.substring(day - 1); - } else if (day == 1) { - svCiphertext = token2 + svCiphertext.substring(0, month - 1) + token1 + svCiphertext.substring(month - 1); - } else { - svCiphertext = (svCiphertext = svCiphertext.substring(0, month - 1) + token1 + svCiphertext.substring(month - 1)).substring(0, day - 1) + token2 + svCiphertext.substring(day - 1); - } - return svCiphertext; - } -} diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/OrderInfoServiceImpl.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/OrderInfoServiceImpl.java deleted file mode 100644 index c179617..0000000 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/OrderInfoServiceImpl.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.xiang.xservice.application.script.jntyzx.service; - -import com.xiang.xservice.application.script.jntyzx.entity.pojo.OrderInfoDO; -import com.xiang.xservice.application.script.jntyzx.manage.IOrderCreateInfoManage; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; - -import java.util.List; - -/** - * @Author: xiang - * @Date: 2025-12-16 16:17 - */ -@Service -@RequiredArgsConstructor -public class OrderInfoServiceImpl implements IJtOrderService { - - private final IOrderCreateInfoManage orderCreateInfoManage; - @Override - public List queryNoPayOrder() { - return orderCreateInfoManage.queryNoPayOrder(); - } -} diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/UserTokenInfoServiceImpl.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/UserTokenInfoServiceImpl.java deleted file mode 100644 index 89cac6f..0000000 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/UserTokenInfoServiceImpl.java +++ /dev/null @@ -1,83 +0,0 @@ -package com.xiang.xservice.application.script.jntyzx.service; - -import com.xiang.xservice.application.script.jntyzx.entity.pojo.UserTokenInfoDO; -import com.xiang.xservice.application.script.jntyzx.entity.resp.JntyzxResponse; -import com.xiang.xservice.application.script.jntyzx.manage.IUserTokenInfoManage; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.stereotype.Service; - -import java.util.List; -import java.util.Objects; - -/** - * @Author: xiang - * @Date: 2025-12-16 09:22 - */ -@Service -@Slf4j -@RequiredArgsConstructor -public class UserTokenInfoServiceImpl implements IUserTokenInfoService { - - private final IUserTokenInfoManage userTokenInfoManage; - private final IJntyzxHttpService jntyzxHttpService; - private final DingTalkScriptVenueService dingTalkScriptVenueService; - - - @Override - public String getToken(String name) { - UserTokenInfoDO userTokenInfoDO = userTokenInfoManage.getByName(name); - if (Objects.isNull(userTokenInfoDO)) { - return null; - } - return userTokenInfoDO.getToken(); - } - - @Override - public boolean flushSingleToken(String name) { - UserTokenInfoDO userTokenInfoDO = userTokenInfoManage.getByName(name); - if (Objects.isNull(userTokenInfoDO)) { - log.info("用户信息不存在,无需进行监测!"); - return false; - } - return healthDeclaration(userTokenInfoDO); - - } - - @Override - public boolean flushToken() { - List userTokenInfoDOS = userTokenInfoManage.listUser(); - if (CollectionUtils.isEmpty(userTokenInfoDOS)) { - log.info("【心跳监测】查询用户信息为空,无需操作"); - return true; - } - userTokenInfoDOS.parallelStream().forEach(this::healthDeclaration); - return true; - } - - @Override - public boolean updateTokenByName(String name, String token) { - UserTokenInfoDO userTokenInfoDO = userTokenInfoManage.getByName(name); - if (Objects.isNull(userTokenInfoDO)) { - return false; - } - userTokenInfoDO.setToken(token); - return userTokenInfoManage.updateById(userTokenInfoDO); - } - - private boolean healthDeclaration(UserTokenInfoDO userTokenInfoDO) { - JntyzxResponse jntyzxResponse = jntyzxHttpService.healthDeclaration(userTokenInfoDO.getToken(), userTokenInfoDO.getOpenId()); - if (Objects.isNull(jntyzxResponse)) { - log.info("用户名:{}心跳监测失败!", userTokenInfoDO.getName()); - } - boolean flag = StringUtils.contains(jntyzxResponse.getMessage(), "已存在"); - if (flag) { - log.info("用户名:{}心跳成功✅✅✅✅✅✅", userTokenInfoDO.getName()); - } else { - dingTalkScriptVenueService.sendScriptMsg("用户名:" + userTokenInfoDO.getName() + "心跳失败,消息:" + jntyzxResponse.getMessage()); - } - return flag; - } -} diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/VenueServiceImpl.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/VenueServiceImpl.java deleted file mode 100644 index d3d06fb..0000000 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/VenueServiceImpl.java +++ /dev/null @@ -1,133 +0,0 @@ -package com.xiang.xservice.application.script.jntyzx.service; - -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; -import com.xiang.xservice.application.script.jntyzx.entity.pojo.VenueInfoDO; -import com.xiang.xservice.application.script.jntyzx.entity.resp.query.SitePositionList; -import com.xiang.xservice.application.script.jntyzx.manage.IVenueInfoManage; -import com.xiang.xservice.application.script.jntyzx.utils.VenueInfoUtils; -import com.xiang.xservice.basic.utils.DateUtils; -import lombok.RequiredArgsConstructor; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.stereotype.Service; - -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.function.Function; -import java.util.stream.Collectors; - -/** - * @Author: xiang - * @Date: 2025-12-15 16:08 - */ -@Service -@RequiredArgsConstructor -public class VenueServiceImpl implements IVenueService { - -// private final static String STATIC_TOKEN = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE3NjU4NTI4MjYsInVzZXJuYW1lIjoid3hfb3Blbl9pZF9vMjFNWDR5N3doWENHanZVVEdQNkNUejJIYkQ4In0.pI1tK1imZdKZWXdHRxseqq87_IarHhiRt-hUdBq8hkg"; - private final IJntyzxHttpService jntyzxHttpService; - private final IVenueInfoManage venueInfoManage; - private final IUserTokenInfoService userTokenInfoService; - - @Override - public List queryVenueService() { - String token = userTokenInfoService.getToken("Xiang"); - if (StringUtils.isBlank(token)) { - return Lists.newArrayList(); - } - List sitePositionLists = jntyzxHttpService.queryAvailable("1", token); - if (CollectionUtils.isEmpty(sitePositionLists)) { - return Lists.newArrayList(); - } - updateDatabase(sitePositionLists, true); - return sitePositionLists; - } - - @Override - public List queryTomorrowVenue() { - String token = userTokenInfoService.getToken("Xiang"); - if (StringUtils.isBlank(token)) { - return Lists.newArrayList(); - } - List sitePositionLists = jntyzxHttpService.queryAvailableTomorrow("1", token); - if (CollectionUtils.isEmpty(sitePositionLists)) { - return Lists.newArrayList(); - } - updateDatabase(sitePositionLists, false); - return sitePositionLists; - } - - @Override - public List queryCanBuyVenue() { - return venueInfoManage.queryByType(LocalDate.now(), 0); - } - - @Override - public List queryToday6210VenueInfo() { - List venueInfoDOS = venueInfoManage.queryByDate(LocalDate.now()); - return venueInfoDOS.stream().filter(item -> VenueInfoUtils.get628VenueInfo(item) || VenueInfoUtils.get8210VenueInfo(item)).toList(); - } - - private void updateDatabase(List list, boolean isToday) { - List venueInfoDOS = Lists.newArrayList(); - if (isToday) { - venueInfoDOS.addAll(venueInfoManage.queryByDate(LocalDate.now())); - } else { - venueInfoDOS.addAll(venueInfoManage.queryByDate(LocalDate.now().plusDays(1))); - } - - Map> map = Maps.newHashMap(); - if (CollectionUtils.isNotEmpty(venueInfoDOS)) { - map.putAll(venueInfoDOS.stream().filter(Objects::nonNull) - .collect(Collectors.groupingBy(VenueInfoDO::getPlaceId))); - } - List insertList = Lists.newArrayList(); - for (SitePositionList sitePositionList : list) { - if (map.containsKey(sitePositionList.getPlaceId())) { - List venueInfoDOList = map.get(sitePositionList.getPlaceId()); - Map sjMap = venueInfoDOList.stream().collect(Collectors.toMap(VenueInfoDO::getSjName, Function.identity(), (a, b) -> a)); - if (sjMap.containsKey(sitePositionList.getSjName())) { - VenueInfoDO venueInfoDO = sjMap.get(sitePositionList.getSjName()); - if (!StringUtils.equals(venueInfoDO.getContacts(), sitePositionList.getContacts()) - || !Objects.equals(venueInfoDO.getType(), sitePositionList.getType()) - || !Objects.equals(venueInfoDO.getPlaceMainId(), sitePositionList.getId())) { - venueInfoDO.setContacts(sitePositionList.getContacts()); - venueInfoDO.setType(sitePositionList.getType()); - venueInfoDO.setPlaceMainId(sitePositionList.getId()); - venueInfoManage.updateById(venueInfoDO); - } - } else { - addIntoInsert(sitePositionList, insertList); - } - } else { - addIntoInsert(sitePositionList, insertList); - } - } - if (CollectionUtils.isNotEmpty(insertList)) { - venueInfoManage.saveBatch(insertList); - } - } - - private static void addIntoInsert(SitePositionList sitePositionList, List insertList) { - VenueInfoDO venueInfoDO = new VenueInfoDO(); - venueInfoDO.setPlaceName(sitePositionList.getPlaceName()); - venueInfoDO.setDate(DateUtils.getDateFromStr(sitePositionList.getAppointments())); - venueInfoDO.setPlaceMainId(sitePositionList.getId()); - venueInfoDO.setPlaceId(sitePositionList.getPlaceId()); - venueInfoDO.setScheduleId(Integer.valueOf(sitePositionList.getScheduleId())); - venueInfoDO.setSjName(sitePositionList.getSjName()); - venueInfoDO.setCreateTime(LocalDateTime.now()); - venueInfoDO.setContacts(sitePositionList.getContacts()); - venueInfoDO.setType(sitePositionList.getType()); - venueInfoDO.setMoney(sitePositionList.getMoney()); - venueInfoDO.setClassName(sitePositionList.getClassName()); - venueInfoDO.setClassCode(sitePositionList.getClassCode()); - venueInfoDO.setAppointments(sitePositionList.getAppointments()); - venueInfoDO.setCTypeCode(sitePositionList.getCtypeCode()); - insertList.add(venueInfoDO); - } -} diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/utils/VenueInfoUtils.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/utils/VenueInfoUtils.java deleted file mode 100644 index c156ac8..0000000 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/utils/VenueInfoUtils.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.xiang.xservice.application.script.jntyzx.utils; - -import com.xiang.xservice.application.script.jntyzx.entity.pojo.VenueInfoDO; -import org.apache.commons.lang3.StringUtils; - -/** - * @Author: xiang - * @Date: 2025-12-16 09:55 - */ -public class VenueInfoUtils { - - public static boolean get123VenueInfo4Mor(VenueInfoDO venueInfoDO) { - return StringUtils.equals(venueInfoDO.getSjName(), "13:00-14:00") || StringUtils.equals(venueInfoDO.getSjName(), "14:00-15:00"); - } - public static boolean get1221VenueInfo4Mor(VenueInfoDO venueInfoDO) { - return StringUtils.equals(venueInfoDO.getSjName(), "12:00-13:00") || StringUtils.equals(venueInfoDO.getSjName(), "13:00-14:00"); - } - - public static boolean get628VenueInfo(VenueInfoDO venueInfoDO) { - return StringUtils.equals(venueInfoDO.getSjName(), "18:00-19:00") || StringUtils.equals(venueInfoDO.getSjName(), "19:00-20:00"); - } - public static boolean get8210VenueInfo(VenueInfoDO venueInfoDO) { - return StringUtils.equals(venueInfoDO.getSjName(), "20:00-21:00") || StringUtils.equals(venueInfoDO.getSjName(), "21:00-22:00"); - } -}