fix:日期工具类修复;
feat:新增更新user token工具
This commit is contained in:
12
pom.xml
12
pom.xml
@@ -7,7 +7,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>com.xiang</groupId>
|
<groupId>com.xiang</groupId>
|
||||||
<artifactId>xservice-basic</artifactId>
|
<artifactId>xservice-basic</artifactId>
|
||||||
<version>1.0</version>
|
<version>1.1</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<groupId>com.xiang</groupId>
|
<groupId>com.xiang</groupId>
|
||||||
@@ -30,27 +30,27 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.xiang</groupId>
|
<groupId>com.xiang</groupId>
|
||||||
<artifactId>xservice-common</artifactId>
|
<artifactId>xservice-common</artifactId>
|
||||||
<version>1.0</version>
|
<version>1.2</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.xiang</groupId>
|
<groupId>com.xiang</groupId>
|
||||||
<artifactId>xservice-message-starter</artifactId>
|
<artifactId>xservice-message-starter</artifactId>
|
||||||
<version>1.0</version>
|
<version>1.1</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.xiang</groupId>
|
<groupId>com.xiang</groupId>
|
||||||
<artifactId>xservice-schedule-starter</artifactId>
|
<artifactId>xservice-schedule-starter</artifactId>
|
||||||
<version>1.0</version>
|
<version>1.1</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.xiang</groupId>
|
<groupId>com.xiang</groupId>
|
||||||
<artifactId>xservice-cache-starter</artifactId>
|
<artifactId>xservice-cache-starter</artifactId>
|
||||||
<version>1.0</version>
|
<version>1.1</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.xiang</groupId>
|
<groupId>com.xiang</groupId>
|
||||||
<artifactId>xservice-http-starter</artifactId>
|
<artifactId>xservice-http-starter</artifactId>
|
||||||
<version>1.0</version>
|
<version>1.1</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.xiang.xservice.fwd.mapper;
|
|||||||
|
|
||||||
import com.xiang.xservice.fwd.entity.pojo.FUserConfig;
|
import com.xiang.xservice.fwd.entity.pojo.FUserConfig;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -15,4 +16,26 @@ public interface FwdUserConfigMapper {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<FUserConfig> getAvailableUser();
|
List<FUserConfig> getAvailableUser();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据用户名查询用户
|
||||||
|
* @param name
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
FUserConfig getUserByName(String name);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新用户token
|
||||||
|
* @param name
|
||||||
|
* @param token
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
int updateTokenByName(@Param("name") String name, @Param("token") String token);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增用户token
|
||||||
|
* @param userConfig
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
int insert(FUserConfig userConfig);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -115,7 +115,7 @@ public class FwdImportantMsgJob {
|
|||||||
|
|
||||||
StringBuilder msg = new StringBuilder("今日" + now + "演唱会门票预售信息:\n");
|
StringBuilder msg = new StringBuilder("今日" + now + "演唱会门票预售信息:\n");
|
||||||
for (FPerformProjectInfo data : saleTodayData) {
|
for (FPerformProjectInfo data : saleTodayData) {
|
||||||
msg.append("演唱会名称:").append(data.getProjectName()).append("预售时间:").append(DateUtils.getDateTimeStr(data.getPreSaleTime())).append("\n");
|
msg.append("演唱会名称:").append(data.getProjectName()).append("预售时间:").append(DateUtils.getDateTimeFromDateTime(data.getPreSaleTime())).append("\n");
|
||||||
long taskId = PrimaryKeyUtils.snowflakeId();
|
long taskId = PrimaryKeyUtils.snowflakeId();
|
||||||
Map<String, Object> params = Maps.newHashMap();
|
Map<String, Object> params = Maps.newHashMap();
|
||||||
params.put("projectId", data.getProjectId());
|
params.put("projectId", data.getProjectId());
|
||||||
@@ -163,7 +163,7 @@ public class FwdImportantMsgJob {
|
|||||||
if (Objects.nonNull(performsByProjectIdFromHttp)) {
|
if (Objects.nonNull(performsByProjectIdFromHttp)) {
|
||||||
for (PerformInfo performInfo : performsByProjectIdFromHttp.getPerformInfos()) {
|
for (PerformInfo performInfo : performsByProjectIdFromHttp.getPerformInfos()) {
|
||||||
for (PerformDetail performDetail : performInfo.getPerformInfo()) {
|
for (PerformDetail performDetail : performInfo.getPerformInfo()) {
|
||||||
LocalDateTime saleTime = DateUtils.getTimeFromStr(performDetail.getSaleTime());
|
LocalDateTime saleTime = DateUtils.getDateTimeFromStr(performDetail.getSaleTime());
|
||||||
if (saleTime.isAfter(todayStartTime) && saleTime.isBefore(todayEndTime)) {
|
if (saleTime.isAfter(todayStartTime) && saleTime.isBefore(todayEndTime)) {
|
||||||
List<SeatPlan> seatPlans = performDetail.getSeatPlans();
|
List<SeatPlan> seatPlans = performDetail.getSeatPlans();
|
||||||
Map<Long, SeatPlan> seatPlanMap = seatPlans.stream().collect(Collectors.toMap(SeatPlan::getSeatPlanId, Function.identity(), (a, b) -> a));
|
Map<Long, SeatPlan> seatPlanMap = seatPlans.stream().collect(Collectors.toMap(SeatPlan::getSeatPlanId, Function.identity(), (a, b) -> a));
|
||||||
|
|||||||
@@ -4,10 +4,24 @@ import com.google.common.collect.Lists;
|
|||||||
import com.xiang.xservice.basic.common.req.BaseRequest;
|
import com.xiang.xservice.basic.common.req.BaseRequest;
|
||||||
import com.xiang.xservice.basic.config.MyThreadFactory;
|
import com.xiang.xservice.basic.config.MyThreadFactory;
|
||||||
import com.xiang.xservice.basic.utils.DateUtils;
|
import com.xiang.xservice.basic.utils.DateUtils;
|
||||||
import com.xiang.xservice.fwd.entity.pojo.*;
|
import com.xiang.xservice.fwd.entity.pojo.FAudienceConfig;
|
||||||
|
import com.xiang.xservice.fwd.entity.pojo.FPerformProjectInfo;
|
||||||
|
import com.xiang.xservice.fwd.entity.pojo.FPerformSeatInfo;
|
||||||
|
import com.xiang.xservice.fwd.entity.pojo.FUserConfig;
|
||||||
import com.xiang.xservice.fwd.entity.resp.http.audience.AudienceMemberInfo;
|
import com.xiang.xservice.fwd.entity.resp.http.audience.AudienceMemberInfo;
|
||||||
import com.xiang.xservice.fwd.entity.resp.http.perform.*;
|
import com.xiang.xservice.fwd.entity.resp.http.perform.Perform;
|
||||||
import com.xiang.xservice.fwd.mapper.*;
|
import com.xiang.xservice.fwd.entity.resp.http.perform.PerformDetail;
|
||||||
|
import com.xiang.xservice.fwd.entity.resp.http.perform.PerformInfo;
|
||||||
|
import com.xiang.xservice.fwd.entity.resp.http.perform.ProjectInfoResp;
|
||||||
|
import com.xiang.xservice.fwd.entity.resp.http.perform.ProjectList;
|
||||||
|
import com.xiang.xservice.fwd.entity.resp.http.perform.ProjectsResp;
|
||||||
|
import com.xiang.xservice.fwd.entity.resp.http.perform.SeatPlan;
|
||||||
|
import com.xiang.xservice.fwd.entity.resp.http.perform.SeatPlanStatus;
|
||||||
|
import com.xiang.xservice.fwd.mapper.FwdAudienceConfigMapper;
|
||||||
|
import com.xiang.xservice.fwd.mapper.FwdPerformConfigMapper;
|
||||||
|
import com.xiang.xservice.fwd.mapper.FwdPerformProjectInfoMapper;
|
||||||
|
import com.xiang.xservice.fwd.mapper.FwdPerformSeatInfoMapper;
|
||||||
|
import com.xiang.xservice.fwd.mapper.FwdUserConfigMapper;
|
||||||
import com.xiang.xservice.fwd.service.IPerformServiceHttp;
|
import com.xiang.xservice.fwd.service.IPerformServiceHttp;
|
||||||
import com.xiang.xservice.http.helper.HttpRequestHelper;
|
import com.xiang.xservice.http.helper.HttpRequestHelper;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
@@ -19,7 +33,6 @@ import org.springframework.stereotype.Component;
|
|||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
@@ -69,10 +82,10 @@ public class PullDataFromFWDJob {
|
|||||||
fPerformProjectInfo.setIsChoiceSeat(projectInfoFromHttp.getIsChoiceSeat());
|
fPerformProjectInfo.setIsChoiceSeat(projectInfoFromHttp.getIsChoiceSeat());
|
||||||
fPerformProjectInfo.setHighestPrice(projectInfoFromHttp.getHighPrice());
|
fPerformProjectInfo.setHighestPrice(projectInfoFromHttp.getHighPrice());
|
||||||
if (StringUtils.isNotBlank(projectInfoFromHttp.getProjectStartDate())) {
|
if (StringUtils.isNotBlank(projectInfoFromHttp.getProjectStartDate())) {
|
||||||
fPerformProjectInfo.setProjectStartDate(DateUtils.getDateFromStr(projectInfoFromHttp.getProjectStartDate()));
|
fPerformProjectInfo.setProjectStartDate(DateUtils.getDateFromStr(projectInfoFromHttp.getProjectStartDate(), "yyyy/MM/dd"));
|
||||||
}
|
}
|
||||||
if (StringUtils.isNotBlank(projectInfoFromHttp.getProjectEndDate())) {
|
if (StringUtils.isNotBlank(projectInfoFromHttp.getProjectEndDate())) {
|
||||||
fPerformProjectInfo.setProjectEndDate(DateUtils.getDateFromStr(projectInfoFromHttp.getProjectEndDate()));
|
fPerformProjectInfo.setProjectEndDate(DateUtils.getDateFromStr(projectInfoFromHttp.getProjectEndDate(), "yyyy/MM/dd"));
|
||||||
}
|
}
|
||||||
fPerformProjectInfo.setSubClassifyName(projectInfoFromHttp.getSubClassifyName());
|
fPerformProjectInfo.setSubClassifyName(projectInfoFromHttp.getSubClassifyName());
|
||||||
|
|
||||||
@@ -86,86 +99,11 @@ public class PullDataFromFWDJob {
|
|||||||
fPerformProjectInfo.setVenueName(project.getVenueName());
|
fPerformProjectInfo.setVenueName(project.getVenueName());
|
||||||
fPerformProjectInfo.setLowestPrice(project.getLowestPrice());
|
fPerformProjectInfo.setLowestPrice(project.getLowestPrice());
|
||||||
if (StringUtils.isNotBlank(projectInfoFromHttp.getPreSaleTime())) {
|
if (StringUtils.isNotBlank(projectInfoFromHttp.getPreSaleTime())) {
|
||||||
fPerformProjectInfo.setPreSaleTime(DateUtils.getDateTimeFromStr(projectInfoFromHttp.getPreSaleTime()));
|
fPerformProjectInfo.setPreSaleTime(DateUtils.getDateTimeFromStr(projectInfoFromHttp.getPreSaleTime(), "yyyy/MM/dd HH:mm:ss"));
|
||||||
}
|
}
|
||||||
performProjectInfoMapper.insert(fPerformProjectInfo);
|
performProjectInfoMapper.insert(fPerformProjectInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
// @Scheduled(cron = "0 10 8 1/1 * ?")
|
|
||||||
@PostMapping("/pullSeatDataJob")
|
|
||||||
public void pullSeatDataJob() {
|
|
||||||
List<FPerformConfig> availablePerform = performConfigMapper.getAvailablePerform();
|
|
||||||
if (CollectionUtils.isEmpty(availablePerform)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
for (FPerformConfig performConfig : availablePerform) {
|
|
||||||
Perform performs = httpRequestHelper.fetchWithRetry(() -> performServiceHttp.getPerformsByProjectIdFromHttp(performConfig.getProjectId()), "seat-perform-info");
|
|
||||||
if (Objects.isNull(performs)) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (CollectionUtils.isEmpty(performs.getPerformInfos())) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
for (PerformInfo performInfo : performs.getPerformInfos()) {
|
|
||||||
List<PerformDetail> info = performInfo.getPerformInfo();
|
|
||||||
if (CollectionUtils.isEmpty(info)) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
for (PerformDetail performDetail : info) {
|
|
||||||
List<SeatPlan> seatPlans = performDetail.getSeatPlans();
|
|
||||||
if (CollectionUtils.isEmpty(seatPlans)) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
Map<Long, SeatPlan> map = seatPlans.stream().collect(Collectors.toMap(SeatPlan::getSeatPlanId, Function.identity(), (a, b) -> a));
|
|
||||||
List<SeatPlanStatus> planStatusFromHttp = httpRequestHelper.fetchWithRetry(() -> performServiceHttp.getSeatPlanStatusFromHttp(new ArrayList<>(map.keySet())), "seat-seat-status");
|
|
||||||
List<FPerformSeatInfo> seatInfoAddList = Lists.newArrayList();
|
|
||||||
for (SeatPlanStatus seatPlanStatus : planStatusFromHttp) {
|
|
||||||
if (!seatPlanStatus.getSoldOutFlag() && seatPlanStatus.getStandbyStatus() == 10) {
|
|
||||||
FPerformSeatInfo seatInfo = performSeatInfoMapper.getPerformSeatInfoBySeatIdAndPerformIdAndProjectId(seatPlanStatus.getSeatPlanId(), seatPlanStatus.getPerformId(), performs.getProjectId());
|
|
||||||
SeatPlan seatPlan = map.get(seatPlanStatus.getSeatPlanId());
|
|
||||||
if (Objects.isNull(seatInfo)) {
|
|
||||||
if (Objects.nonNull(seatPlan)) {
|
|
||||||
seatInfo = new FPerformSeatInfo();
|
|
||||||
seatInfo.setSeatPlanId(seatPlanStatus.getSeatPlanId());
|
|
||||||
seatInfo.setSeatPlanName(seatPlan.getSeatPlanName());
|
|
||||||
seatInfo.setPerformId(seatPlanStatus.getPerformId());
|
|
||||||
seatInfo.setPerformName(seatPlan.getPerformName());
|
|
||||||
seatInfo.setStopSale(seatPlan.getStopSale());
|
|
||||||
seatInfo.setShelfStatus(seatPlan.getShelfStatus());
|
|
||||||
seatInfo.setPrice(seatPlan.getPrice());
|
|
||||||
seatInfo.setDiscountPrice(seatPlan.getDiscountPrice());
|
|
||||||
seatInfo.setSubStatus(seatPlan.getSubStatus());
|
|
||||||
seatInfo.setQuantity(seatPlan.getQuantity());
|
|
||||||
seatInfo.setStatus(seatPlan.getStatus());
|
|
||||||
seatInfo.setMaxSellStock(seatPlan.getMaxSellStock());
|
|
||||||
seatInfo.setSoldStock(seatPlan.getSoldStock());
|
|
||||||
seatInfo.setLeftStock(seatPlan.getLeftStock());
|
|
||||||
seatInfo.setAbleSaleQuantity(seatPlan.getAbleSaleQuantity());
|
|
||||||
seatInfo.setAshShow(seatPlan.getAshShow());
|
|
||||||
seatInfo.setAshShowDesc(seatPlan.getAshShowDesc());
|
|
||||||
seatInfo.setSelectable(seatPlan.getSelectable());
|
|
||||||
seatInfo.setDisplay(seatPlan.getDisplay());
|
|
||||||
seatInfo.setAvailableTicketQuantity(seatPlan.getAvailableTicketQuantity());
|
|
||||||
seatInfo.setAvailableAllTicketQuantity(seatPlan.getAvailableAllTicketQuantity());
|
|
||||||
seatInfo.setSaleTime(DateUtils.getTimeFromStr(seatPlan.getSaleTime()));
|
|
||||||
seatInfo.setProjectId(performs.getProjectId());
|
|
||||||
seatInfo.setSoldOut(0);
|
|
||||||
seatInfoAddList.add(seatInfo);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
seatInfo.setSoldOut(0);
|
|
||||||
performSeatInfoMapper.update(seatInfo);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (CollectionUtils.isNotEmpty(seatInfoAddList)) {
|
|
||||||
performSeatInfoMapper.batchSave(seatInfoAddList);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 每月拉取观影人数据更新
|
* 每月拉取观影人数据更新
|
||||||
*/
|
*/
|
||||||
@@ -314,7 +252,7 @@ public class PullDataFromFWDJob {
|
|||||||
fPerformSeatInfo.setAvailableTicketQuantity(seatPlan.getAvailableTicketQuantity());
|
fPerformSeatInfo.setAvailableTicketQuantity(seatPlan.getAvailableTicketQuantity());
|
||||||
fPerformSeatInfo.setAvailableAllTicketQuantity(seatPlan.getAvailableAllTicketQuantity());
|
fPerformSeatInfo.setAvailableAllTicketQuantity(seatPlan.getAvailableAllTicketQuantity());
|
||||||
if (StringUtils.isNotBlank(seatPlan.getSaleTime())) {
|
if (StringUtils.isNotBlank(seatPlan.getSaleTime())) {
|
||||||
fPerformSeatInfo.setSaleTime(DateUtils.getTimeFromStr(seatPlan.getSaleTime()));
|
fPerformSeatInfo.setSaleTime(DateUtils.getDateTimeFromStr(seatPlan.getSaleTime()));
|
||||||
}
|
}
|
||||||
fPerformSeatInfo.setProjectId(projectList.getProjectId());
|
fPerformSeatInfo.setProjectId(projectList.getProjectId());
|
||||||
if (!seatPlanStatus.getSoldOutFlag() && seatPlanStatus.getStandbyStatus().equals(10)) {
|
if (!seatPlanStatus.getSoldOutFlag() && seatPlanStatus.getStandbyStatus().equals(10)) {
|
||||||
@@ -333,10 +271,10 @@ public class PullDataFromFWDJob {
|
|||||||
projectInfo.setIsChoiceSeat(projectInfoFromHttp.getIsChoiceSeat());
|
projectInfo.setIsChoiceSeat(projectInfoFromHttp.getIsChoiceSeat());
|
||||||
projectInfo.setHighestPrice(projectInfoFromHttp.getHighPrice());
|
projectInfo.setHighestPrice(projectInfoFromHttp.getHighPrice());
|
||||||
if (StringUtils.isNotBlank(projectInfoFromHttp.getProjectStartDate())) {
|
if (StringUtils.isNotBlank(projectInfoFromHttp.getProjectStartDate())) {
|
||||||
projectInfo.setProjectStartDate(DateUtils.getDateFromStr(projectInfoFromHttp.getProjectStartDate()));
|
projectInfo.setProjectStartDate(DateUtils.getDateFromStr(projectInfoFromHttp.getProjectStartDate(), "yyyy/MM/dd"));
|
||||||
}
|
}
|
||||||
if (StringUtils.isNotBlank(projectInfoFromHttp.getProjectEndDate())) {
|
if (StringUtils.isNotBlank(projectInfoFromHttp.getProjectEndDate())) {
|
||||||
projectInfo.setProjectEndDate(DateUtils.getDateFromStr(projectInfoFromHttp.getProjectEndDate()));
|
projectInfo.setProjectEndDate(DateUtils.getDateFromStr(projectInfoFromHttp.getProjectEndDate(), "yyyy/MM/dd"));
|
||||||
}
|
}
|
||||||
projectInfo.setSubClassifyName(projectInfoFromHttp.getSubClassifyName());
|
projectInfo.setSubClassifyName(projectInfoFromHttp.getSubClassifyName());
|
||||||
projectInfo.setProjectName(projectList.getName());
|
projectInfo.setProjectName(projectList.getName());
|
||||||
@@ -348,7 +286,7 @@ public class PullDataFromFWDJob {
|
|||||||
projectInfo.setVenueName(projectList.getVenueName());
|
projectInfo.setVenueName(projectList.getVenueName());
|
||||||
projectInfo.setLowestPrice(projectList.getLowestPrice());
|
projectInfo.setLowestPrice(projectList.getLowestPrice());
|
||||||
if (StringUtils.isNotBlank(projectInfoFromHttp.getPreSaleTime())) {
|
if (StringUtils.isNotBlank(projectInfoFromHttp.getPreSaleTime())) {
|
||||||
projectInfo.setPreSaleTime(DateUtils.getDateTimeFromStr(projectInfoFromHttp.getPreSaleTime()));
|
projectInfo.setPreSaleTime(DateUtils.getDateTimeFromStr(projectInfoFromHttp.getPreSaleTime(), "yyyy/MM/dd HH:mm:ss"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -83,7 +83,7 @@ public class FwdDataController {
|
|||||||
fPerformSeatInfo.setDisplay(seatPlan.getDisplay());
|
fPerformSeatInfo.setDisplay(seatPlan.getDisplay());
|
||||||
fPerformSeatInfo.setAvailableTicketQuantity(seatPlan.getAvailableTicketQuantity());
|
fPerformSeatInfo.setAvailableTicketQuantity(seatPlan.getAvailableTicketQuantity());
|
||||||
fPerformSeatInfo.setAvailableAllTicketQuantity(seatPlan.getAvailableAllTicketQuantity());
|
fPerformSeatInfo.setAvailableAllTicketQuantity(seatPlan.getAvailableAllTicketQuantity());
|
||||||
fPerformSeatInfo.setSaleTime(DateUtils.getTimeFromStr(seatPlan.getSaleTime()));
|
fPerformSeatInfo.setSaleTime(DateUtils.getDateTimeFromStr(seatPlan.getSaleTime(), "yyyy/MM/dd HH:mm:ss"));
|
||||||
fPerformSeatInfo.setProjectId(availablePerform.getProjectId());
|
fPerformSeatInfo.setProjectId(availablePerform.getProjectId());
|
||||||
fPerformSeatInfo.setSoldOut(seatPlan.getSoldStock());
|
fPerformSeatInfo.setSoldOut(seatPlan.getSoldStock());
|
||||||
performService.addSeatInfo(fPerformSeatInfo);
|
performService.addSeatInfo(fPerformSeatInfo);
|
||||||
|
|||||||
@@ -0,0 +1,46 @@
|
|||||||
|
package com.xiang.xservice.fwd.server;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.xiang.xservice.basic.common.resp.Result;
|
||||||
|
import com.xiang.xservice.basic.xservice.dingTalk.service.DingTalkService;
|
||||||
|
import com.xiang.xservice.fwd.service.IPerformService;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
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;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: xiang
|
||||||
|
* @Date: 2025-08-06 10:41
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/open/fwd/user")
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class FwdUserController {
|
||||||
|
|
||||||
|
private final IPerformService performService;
|
||||||
|
private final DingTalkService dingTalkService;
|
||||||
|
|
||||||
|
@GetMapping("/token")
|
||||||
|
public Result<Void> updateUserTokenFromHttpProxy(@RequestParam Map<String, String> params) {
|
||||||
|
String name = params.get("name");
|
||||||
|
String token = params.get("token");
|
||||||
|
log.info("接收到的参数有===>{}, name:{}, token:{}", JSON.toJSONString(params), name, token);
|
||||||
|
Boolean b = performService.updateTokenByName(name, token);
|
||||||
|
if (b) {
|
||||||
|
String msg = "用户:" + name + "的token更新成功!";
|
||||||
|
try {
|
||||||
|
dingTalkService.sendRobotMessage(msg);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("消息发送失败", e);
|
||||||
|
return Result.error("消息发送失败");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return Result.success();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -27,4 +27,6 @@ public interface IPerformService {
|
|||||||
Boolean updateSeatInfo(FPerformSeatInfo seatInfoBySeatId);
|
Boolean updateSeatInfo(FPerformSeatInfo seatInfoBySeatId);
|
||||||
|
|
||||||
Boolean addSeatInfo(FPerformSeatInfo fPerformSeatInfo);
|
Boolean addSeatInfo(FPerformSeatInfo fPerformSeatInfo);
|
||||||
|
|
||||||
|
Boolean updateTokenByName(String name, String token);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -142,4 +142,18 @@ public class PerformServiceImpl implements IPerformService {
|
|||||||
public Boolean addSeatInfo(FPerformSeatInfo fPerformSeatInfo) {
|
public Boolean addSeatInfo(FPerformSeatInfo fPerformSeatInfo) {
|
||||||
return fwdPerformSeatInfoMapper.batchSave(Collections.singletonList(fPerformSeatInfo)) > 0;
|
return fwdPerformSeatInfoMapper.batchSave(Collections.singletonList(fPerformSeatInfo)) > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean updateTokenByName(String name, String token) {
|
||||||
|
FUserConfig userByName = fwdUserConfigMapper.getUserByName(name);
|
||||||
|
if (Objects.isNull(userByName)) {
|
||||||
|
FUserConfig fUserConfig = new FUserConfig();
|
||||||
|
fUserConfig.setName(name);
|
||||||
|
fUserConfig.setToken(token);
|
||||||
|
fUserConfig.setStatus(1);
|
||||||
|
return fwdUserConfigMapper.insert(fUserConfig) > 0;
|
||||||
|
} else {
|
||||||
|
return fwdUserConfigMapper.updateTokenByName(name, token) > 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,10 +13,22 @@
|
|||||||
<sql id="Base_Column_List">
|
<sql id="Base_Column_List">
|
||||||
id, name, token, status
|
id, name, token, status
|
||||||
</sql>
|
</sql>
|
||||||
|
<insert id="insert" keyProperty="id" useGeneratedKeys="true" parameterType="com.xiang.xservice.fwd.entity.pojo.FUserConfig" keyColumn="id">
|
||||||
|
insert into fwd_user_config (name, token, status) values (#{name}, #{token}, #{status});
|
||||||
|
</insert>
|
||||||
|
<update id="updateTokenByName">
|
||||||
|
update fwd_user_config set token = #{token} where name = #{name}
|
||||||
|
</update>
|
||||||
|
|
||||||
|
|
||||||
<select id="getAvailableUser" resultMap="BaseResultMap">
|
<select id="getAvailableUser" resultMap="BaseResultMap">
|
||||||
select <include refid="Base_Column_List"/>
|
select <include refid="Base_Column_List"/>
|
||||||
from fwd_user_config where status = 1
|
from fwd_user_config where status = 1
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="getUserByName" resultMap="BaseResultMap">
|
||||||
|
select <include refid="Base_Column_List"/>
|
||||||
|
from fwd_user_config where status = 1 and name = #{name}
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
Reference in New Issue
Block a user