diff --git a/pom.xml b/pom.xml
index 37732db..7dfe569 100644
--- a/pom.xml
+++ b/pom.xml
@@ -30,68 +30,13 @@
com.xiang
xservice-common
- 1.0-snapshot
+ 1.0.1-snapshot
com.xiang
xservice-third-part
1.0-snapshot
-
diff --git a/script/src/main/java/com/xiang/xservice/fwd/constants/UrlConstants.java b/script/src/main/java/com/xiang/xservice/fwd/constants/UrlConstants.java
index 8a91e17..c3af89a 100644
--- a/script/src/main/java/com/xiang/xservice/fwd/constants/UrlConstants.java
+++ b/script/src/main/java/com/xiang/xservice/fwd/constants/UrlConstants.java
@@ -32,4 +32,9 @@ public class UrlConstants {
* 获取演出座位信息
*/
public final static String PROJECT_SEAT_STATUS_URL = BASE_URL + "/performance/app/project/seatPlanStatus";
+
+ /**
+ * 查询观影人列表
+ */
+ public final static String PROJECT_AUDIENCE_MEMBER_INFO = BASE_URL + "/member/member/bearer/app/list";
}
diff --git a/script/src/main/java/com/xiang/xservice/fwd/entity/pojo/FAudienceConfig.java b/script/src/main/java/com/xiang/xservice/fwd/entity/pojo/FAudienceConfig.java
new file mode 100644
index 0000000..164e480
--- /dev/null
+++ b/script/src/main/java/com/xiang/xservice/fwd/entity/pojo/FAudienceConfig.java
@@ -0,0 +1,19 @@
+package com.xiang.xservice.fwd.entity.pojo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class FAudienceConfig {
+ private Long id;
+ private Integer status;
+ private Long frequentId;
+ private String frequentName;
+ private String frequentNo;
+ private String frequentPhone;
+ private Integer delFlag;
+ private Long userId;
+}
diff --git a/script/src/main/java/com/xiang/xservice/fwd/entity/pojo/FPerformConfig.java b/script/src/main/java/com/xiang/xservice/fwd/entity/pojo/FPerformConfig.java
new file mode 100644
index 0000000..ebfe9e5
--- /dev/null
+++ b/script/src/main/java/com/xiang/xservice/fwd/entity/pojo/FPerformConfig.java
@@ -0,0 +1,17 @@
+package com.xiang.xservice.fwd.entity.pojo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDateTime;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class FPerformConfig {
+ private Long id;
+ private Long projectId;
+ private LocalDateTime time;
+ private Integer delFlag;
+}
diff --git a/script/src/main/java/com/xiang/xservice/fwd/entity/pojo/FUserConfig.java b/script/src/main/java/com/xiang/xservice/fwd/entity/pojo/FUserConfig.java
new file mode 100644
index 0000000..d3d2d8c
--- /dev/null
+++ b/script/src/main/java/com/xiang/xservice/fwd/entity/pojo/FUserConfig.java
@@ -0,0 +1,15 @@
+package com.xiang.xservice.fwd.entity.pojo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class FUserConfig {
+ private Long id;
+ private String name;
+ private String token;
+ private Integer status;
+}
diff --git a/script/src/main/java/com/xiang/xservice/fwd/entity/resp/http/audience/AudienceMemberInfo.java b/script/src/main/java/com/xiang/xservice/fwd/entity/resp/http/audience/AudienceMemberInfo.java
new file mode 100644
index 0000000..071f427
--- /dev/null
+++ b/script/src/main/java/com/xiang/xservice/fwd/entity/resp/http/audience/AudienceMemberInfo.java
@@ -0,0 +1,18 @@
+package com.xiang.xservice.fwd.entity.resp.http.audience;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class AudienceMemberInfo {
+ private Long frequentContactsId;
+ private String name;
+ private String idTypeCode;
+ private String idType;
+ private String idTypeDesc;
+ private String idCard;
+ private String phone;
+}
diff --git a/script/src/main/java/com/xiang/xservice/fwd/mapper/FwdAudienceConfigMapper.java b/script/src/main/java/com/xiang/xservice/fwd/mapper/FwdAudienceConfigMapper.java
new file mode 100644
index 0000000..fc150da
--- /dev/null
+++ b/script/src/main/java/com/xiang/xservice/fwd/mapper/FwdAudienceConfigMapper.java
@@ -0,0 +1,17 @@
+package com.xiang.xservice.fwd.mapper;
+
+import com.xiang.xservice.fwd.entity.pojo.FAudienceConfig;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Mapper
+@Repository
+public interface FwdAudienceConfigMapper {
+
+ List getAudienceByUserId(Long userId);
+
+ int batchSave(List list);
+ int delByUserId(Long userId);
+}
diff --git a/script/src/main/java/com/xiang/xservice/fwd/mapper/FwdPerformConfigMapper.java b/script/src/main/java/com/xiang/xservice/fwd/mapper/FwdPerformConfigMapper.java
new file mode 100644
index 0000000..4c1eed3
--- /dev/null
+++ b/script/src/main/java/com/xiang/xservice/fwd/mapper/FwdPerformConfigMapper.java
@@ -0,0 +1,18 @@
+package com.xiang.xservice.fwd.mapper;
+
+import com.xiang.xservice.fwd.entity.pojo.FPerformConfig;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+@Mapper
+public interface FwdPerformConfigMapper {
+
+ List getAvailablePerform();
+
+ int delPerforms();
+
+ int insertPerforms(List list);
+}
diff --git a/script/src/main/java/com/xiang/xservice/fwd/mapper/FwdUserConfigMapper.java b/script/src/main/java/com/xiang/xservice/fwd/mapper/FwdUserConfigMapper.java
new file mode 100644
index 0000000..85dd40a
--- /dev/null
+++ b/script/src/main/java/com/xiang/xservice/fwd/mapper/FwdUserConfigMapper.java
@@ -0,0 +1,18 @@
+package com.xiang.xservice.fwd.mapper;
+
+import com.xiang.xservice.fwd.entity.pojo.FUserConfig;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+@Mapper
+public interface FwdUserConfigMapper {
+
+ /**
+ * 查询可用配置用户
+ * @return
+ */
+ List getAvailableUser();
+}
diff --git a/script/src/main/java/com/xiang/xservice/fwd/schedule/FwdImportantMsgJob.java b/script/src/main/java/com/xiang/xservice/fwd/schedule/FwdImportantMsgJob.java
index 9f53dd9..8430302 100644
--- a/script/src/main/java/com/xiang/xservice/fwd/schedule/FwdImportantMsgJob.java
+++ b/script/src/main/java/com/xiang/xservice/fwd/schedule/FwdImportantMsgJob.java
@@ -1,9 +1,12 @@
package com.xiang.xservice.fwd.schedule;
import com.alibaba.fastjson2.JSONObject;
+import com.google.common.collect.Lists;
import com.xiang.xservice.basic.utils.DateUtils;
import com.xiang.xservice.basic.xservice.dingTalk.service.DingTalkService;
+import com.xiang.xservice.fwd.entity.pojo.FPerformConfig;
import com.xiang.xservice.fwd.entity.pojo.FPerformProjectInfo;
+import com.xiang.xservice.fwd.mapper.FwdPerformConfigMapper;
import com.xiang.xservice.fwd.mapper.FwdPerformProjectInfoMapper;
import com.xiang.xservice.fwd.service.IPerformService;
import lombok.RequiredArgsConstructor;
@@ -17,6 +20,7 @@ import org.springframework.web.bind.annotation.RestController;
import java.time.LocalDate;
import java.util.List;
+import java.util.stream.Collectors;
/**
* @Author: xiang
@@ -29,6 +33,7 @@ import java.util.List;
public class FwdImportantMsgJob {
private final FwdPerformProjectInfoMapper performProjectInfoMapper;
+ private final FwdPerformConfigMapper performConfigMapper;
private final IPerformService performService;
private final DingTalkService dingTalkService;
@@ -40,6 +45,9 @@ public class FwdImportantMsgJob {
public void preSaleReminderJob() throws Exception {
log.info("【芬玩岛】演唱会预售定时任务开始!time:{}", System.currentTimeMillis());
+ // 删除配置表里面今日配置的项目信息
+ performConfigMapper.delPerforms();
+
// 查询所有即将今天预售的演唱会信息
LocalDate now = LocalDate.now();
List saleTodayData = performProjectInfoMapper.getPreSaleTodayData(now.atTime(0, 0, 0), now.atTime(23, 59, 59));
@@ -48,6 +56,17 @@ public class FwdImportantMsgJob {
return;
}
log.info("【芬玩岛】 即将:{}预售的演唱会门票信息:{}", now, JSONObject.toJSONString(saleTodayData));
+ List addList = saleTodayData.stream().map(data -> {
+ FPerformConfig performConfig = new FPerformConfig();
+ performConfig.setTime(data.getPreSaleTime());
+ performConfig.setProjectId(data.getProjectId());
+ performConfig.setDelFlag(0);
+ return performConfig;
+ }).collect(Collectors.toList());
+ if (CollectionUtils.isNotEmpty(addList)) {
+ performConfigMapper.insertPerforms(addList);
+ }
+
StringBuilder msg = new StringBuilder("今日" + now + "演唱会门票预售信息:\n");
for (FPerformProjectInfo data : saleTodayData) {
msg.append("演唱会名称:").append(data.getProjectName()).append("预售时间:").append(DateUtils.getDateTimeStr(data.getPreSaleTime())).append("\n");
@@ -58,6 +77,7 @@ public class FwdImportantMsgJob {
}
@Scheduled(cron = "0 0 12 * * ? ")
+ @PostMapping("/orderCreateJob")
public void orderCreateJob() throws Exception {
for (int i = 0; i < 3; i++) {
performService.createProjectOrder(1295746988L);
diff --git a/script/src/main/java/com/xiang/xservice/fwd/schedule/PullDataFromFWDJob.java b/script/src/main/java/com/xiang/xservice/fwd/schedule/PullDataFromFWDJob.java
index 1d1bfcd..19c2e7f 100644
--- a/script/src/main/java/com/xiang/xservice/fwd/schedule/PullDataFromFWDJob.java
+++ b/script/src/main/java/com/xiang/xservice/fwd/schedule/PullDataFromFWDJob.java
@@ -5,8 +5,11 @@ import com.google.common.collect.Maps;
import com.xiang.xservice.basic.common.req.BaseRequest;
import com.xiang.xservice.basic.config.MyThreadFactory;
import com.xiang.xservice.basic.utils.DateUtils;
+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.perform.Perform;
import com.xiang.xservice.fwd.entity.resp.http.perform.PerformDetail;
import com.xiang.xservice.fwd.entity.resp.http.perform.PerformInfo;
@@ -15,8 +18,10 @@ 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.FwdPerformProjectInfoMapper;
import com.xiang.xservice.fwd.mapper.FwdPerformSeatInfoMapper;
+import com.xiang.xservice.fwd.mapper.FwdUserConfigMapper;
import com.xiang.xservice.fwd.service.IPerformServiceHttp;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -53,6 +58,8 @@ public class PullDataFromFWDJob {
private final IPerformServiceHttp performServiceHttp;
private final FwdPerformProjectInfoMapper performProjectInfoMapper;
private final FwdPerformSeatInfoMapper performSeatInfoMapper;
+ private final FwdUserConfigMapper userConfigMapper;
+ private final FwdAudienceConfigMapper audienceConfigMapper;
private final ExecutorService es =
new ThreadPoolExecutor(
@@ -268,6 +275,32 @@ public class PullDataFromFWDJob {
}
}
+ @Scheduled(cron = "0 0 0 1 1/1 ? ")
+ public void pullAudienceMemberInfo() {
+ List availableUser = userConfigMapper.getAvailableUser();
+ if (CollectionUtils.isEmpty(availableUser)) {
+ return;
+ }
+ availableUser.forEach(user -> {
+ List audienceMemberInfo = performServiceHttp.getAudienceMemberInfo(user.getToken());
+ if (CollectionUtils.isNotEmpty(audienceMemberInfo)) {
+ List list = audienceMemberInfo.stream().map(audience -> {
+ FAudienceConfig info = new FAudienceConfig();
+ info.setDelFlag(0);
+ info.setFrequentId(audience.getFrequentContactsId());
+ info.setFrequentNo(audience.getIdCard());
+ info.setFrequentName(audience.getName());
+ info.setStatus(1);
+ info.setFrequentPhone(audience.getPhone());
+ info.setUserId(user.getId());
+ return info;
+ }).collect(Collectors.toList());
+ audienceConfigMapper.delByUserId(user.getId());
+ audienceConfigMapper.batchSave(list);
+ }
+ });
+ }
+
private Map getSeatMap(List seatPlanIds) {
List statusFromHttp = performServiceHttp.getSeatPlanStatusFromHttp(seatPlanIds);
if (CollectionUtils.isEmpty(statusFromHttp)) {
diff --git a/script/src/main/java/com/xiang/xservice/fwd/service/IPerformServiceHttp.java b/script/src/main/java/com/xiang/xservice/fwd/service/IPerformServiceHttp.java
index fb6e00f..bcd389d 100644
--- a/script/src/main/java/com/xiang/xservice/fwd/service/IPerformServiceHttp.java
+++ b/script/src/main/java/com/xiang/xservice/fwd/service/IPerformServiceHttp.java
@@ -2,6 +2,7 @@ package com.xiang.xservice.fwd.service;
import com.xiang.xservice.basic.common.req.BaseRequest;
import com.xiang.xservice.fwd.entity.req.ProjectOrderCreateReq;
+import com.xiang.xservice.fwd.entity.resp.http.audience.AudienceMemberInfo;
import com.xiang.xservice.fwd.entity.resp.http.perform.Perform;
import com.xiang.xservice.fwd.entity.resp.http.perform.ProjectInfoResp;
import com.xiang.xservice.fwd.entity.resp.http.perform.ProjectOrderCreateResp;
@@ -46,5 +47,12 @@ public interface IPerformServiceHttp {
*/
List getSeatPlanStatusFromHttp(List seatPlanIds);
+ /**
+ * http请求查询观影人信息
+ * @param token
+ * @return
+ */
+ List getAudienceMemberInfo(String token);
+
}
diff --git a/script/src/main/java/com/xiang/xservice/fwd/service/impl/PerformServiceHttpServiceImpl.java b/script/src/main/java/com/xiang/xservice/fwd/service/impl/PerformServiceHttpServiceImpl.java
index 5db16c2..8e83af8 100644
--- a/script/src/main/java/com/xiang/xservice/fwd/service/impl/PerformServiceHttpServiceImpl.java
+++ b/script/src/main/java/com/xiang/xservice/fwd/service/impl/PerformServiceHttpServiceImpl.java
@@ -10,6 +10,7 @@ import com.xiang.xservice.basic.utils.JsonUtils;
import com.xiang.xservice.fwd.constants.CodeConstants;
import com.xiang.xservice.fwd.constants.UrlConstants;
import com.xiang.xservice.fwd.entity.req.ProjectOrderCreateReq;
+import com.xiang.xservice.fwd.entity.resp.http.audience.AudienceMemberInfo;
import com.xiang.xservice.fwd.entity.resp.http.perform.Perform;
import com.xiang.xservice.fwd.entity.resp.http.perform.ProjectInfoResp;
import com.xiang.xservice.fwd.entity.resp.http.perform.ProjectOrderCreateResp;
@@ -149,6 +150,26 @@ public class PerformServiceHttpServiceImpl implements IPerformServiceHttp {
return Lists.newArrayList();
}
+ @Override
+ public List getAudienceMemberInfo(String token) {
+ Map params = Maps.newHashMap();
+ String respStr = HttpUtils.doGet(UrlConstants.PROJECT_AUDIENCE_MEMBER_INFO, buildFWDHeaders(token), params);
+ if (StringUtils.isBlank(respStr)) {
+ return Lists.newArrayList();
+ }
+ log.info("【Http请求】 根据token:{}http请求查询观影人信息结果:{}", token, respStr);
+ JSONObject resp = JSON.parseObject(respStr);
+ Integer code = (Integer) resp.get("code");
+ if (Objects.nonNull(code) && Objects.equals(code, CodeConstants.SUCCESS)) {
+ List data = JSON.parseArray(resp.get("data").toString(), AudienceMemberInfo.class);
+ if (CollectionUtils.isEmpty(data)) {
+ return Lists.newArrayList();
+ }
+ return data;
+ }
+ return Lists.newArrayList();
+ }
+
private Map buildFWDHeaders(String token) {
Map headers = Maps.newHashMap();
headers.put("content-type", "application/json");
diff --git a/script/src/main/java/com/xiang/xservice/fwd/service/impl/PerformServiceImpl.java b/script/src/main/java/com/xiang/xservice/fwd/service/impl/PerformServiceImpl.java
index 6ddf423..c5ec2ec 100644
--- a/script/src/main/java/com/xiang/xservice/fwd/service/impl/PerformServiceImpl.java
+++ b/script/src/main/java/com/xiang/xservice/fwd/service/impl/PerformServiceImpl.java
@@ -2,12 +2,16 @@ package com.xiang.xservice.fwd.service.impl;
import com.alibaba.fastjson2.JSONObject;
import com.xiang.xservice.basic.xservice.dingTalk.service.DingTalkService;
+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.req.ProjectOrderCreateReq;
import com.xiang.xservice.fwd.entity.resp.http.perform.ProjectOrderCreateResp;
+import com.xiang.xservice.fwd.mapper.FwdAudienceConfigMapper;
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.IPerformService;
import com.xiang.xservice.fwd.service.IPerformServiceHttp;
import lombok.RequiredArgsConstructor;
@@ -21,6 +25,7 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
+import java.util.stream.Collectors;
/**
* @Author: xiang
@@ -35,9 +40,11 @@ public class PerformServiceImpl implements IPerformService {
private final FwdPerformProjectInfoMapper fwdPerformProjectInfoMapper;
private final IPerformServiceHttp performServiceHttp;
private final DingTalkService dingTalkService;
+ private final FwdUserConfigMapper userConfigMapper;
+ private final FwdAudienceConfigMapper audienceConfigMapper;
@Value("${DingTalk.chatId}")
private String chatId;
- private static final List FREQUENT_IDS = List.of(50438548L, 35320661L, 50436621L, 50442739L);
+
@Override
public FPerformProjectInfo getPerformByProjectId(Long projectId) {
return fwdPerformProjectInfoMapper.getProjectByProjectId(projectId);
@@ -60,31 +67,42 @@ public class PerformServiceImpl implements IPerformService {
log.info("该projectId:{}暂无座位信息", projectId);
return Boolean.FALSE;
}
- for (FPerformSeatInfo fPerformSeatInfo : seatInfoByProjectId) {
- if (1 == fPerformSeatInfo.getSoldOut()) {
- continue;
- }
- ProjectOrderCreateReq projectOrderCreateReq = new ProjectOrderCreateReq();
- projectOrderCreateReq.setDeliveryType(1);
- projectOrderCreateReq.setContactName("朱吉祥");
- projectOrderCreateReq.setContactPhone("15858717571");
- projectOrderCreateReq.setPayment(fPerformSeatInfo.getPrice().multiply(BigDecimal.valueOf(FREQUENT_IDS.size())).setScale(2));
- projectOrderCreateReq.setTotalPrice(fPerformSeatInfo.getPrice().multiply(BigDecimal.valueOf(FREQUENT_IDS.size())).setScale(2, BigDecimal.ROUND_HALF_UP));
- projectOrderCreateReq.setPerformId(fPerformSeatInfo.getPerformId());
- projectOrderCreateReq.setProjectId(projectId.toString());
- projectOrderCreateReq.setPrivilegeCodeList(new ArrayList<>());
- projectOrderCreateReq.setAudienceCount(FREQUENT_IDS.size());
- projectOrderCreateReq.setFrequentIds(FREQUENT_IDS);
- projectOrderCreateReq.setSeatPlanIds(Collections.singletonList(fPerformSeatInfo.getSeatPlanId()));
- projectOrderCreateReq.setBlackBox("0");
- projectOrderCreateReq.setCombineTicketVos(null);
- projectOrderCreateReq.setOrdinaryTicketVos(null);
- ProjectOrderCreateResp projectOrder = performServiceHttp.createProjectOrder(projectOrderCreateReq);
- if (Objects.nonNull(projectOrder)) {
- log.info("下单成功,订单信息:{}", JSONObject.toJSONString(projectOrder));
- String msg = "【芬玩岛】下单成功✅✅✅,演出名称:" + performByProjectId.getProjectName() + ",请在2分钟内完成付款!";
- dingTalkService.sendChatMessage(chatId, msg);
- return Boolean.TRUE;
+ List availableUser = userConfigMapper.getAvailableUser();
+ if (CollectionUtils.isEmpty(availableUser)) {
+ return Boolean.FALSE;
+ }
+ for (FUserConfig userConfig : availableUser) {
+ List audiences = audienceConfigMapper.getAudienceByUserId(userConfig.getId());
+ if (CollectionUtils.isNotEmpty(audiences)) {
+ List frequentIds = audiences.stream().map(FAudienceConfig::getFrequentId).collect(Collectors.toList());
+ for (FPerformSeatInfo fPerformSeatInfo : seatInfoByProjectId) {
+ if (1 == fPerformSeatInfo.getSoldOut()) {
+ continue;
+ }
+ ProjectOrderCreateReq projectOrderCreateReq = new ProjectOrderCreateReq();
+ projectOrderCreateReq.setDeliveryType(1);
+ projectOrderCreateReq.setContactName("朱吉祥");
+ projectOrderCreateReq.setContactPhone("15858717571");
+ projectOrderCreateReq.setPayment(fPerformSeatInfo.getPrice().multiply(BigDecimal.valueOf(frequentIds.size())).setScale(2));
+ projectOrderCreateReq.setTotalPrice(fPerformSeatInfo.getPrice().multiply(BigDecimal.valueOf(frequentIds.size())).setScale(2, BigDecimal.ROUND_HALF_UP));
+ projectOrderCreateReq.setPerformId(fPerformSeatInfo.getPerformId());
+ projectOrderCreateReq.setProjectId(projectId.toString());
+ projectOrderCreateReq.setPrivilegeCodeList(new ArrayList<>());
+ projectOrderCreateReq.setAudienceCount(frequentIds.size());
+ projectOrderCreateReq.setFrequentIds(frequentIds);
+ projectOrderCreateReq.setSeatPlanIds(Collections.singletonList(fPerformSeatInfo.getSeatPlanId()));
+ projectOrderCreateReq.setBlackBox("0");
+ projectOrderCreateReq.setCombineTicketVos(null);
+ projectOrderCreateReq.setOrdinaryTicketVos(null);
+ ProjectOrderCreateResp projectOrder = performServiceHttp.createProjectOrder(projectOrderCreateReq);
+ if (Objects.nonNull(projectOrder)) {
+ log.info("下单成功,订单信息:{}", JSONObject.toJSONString(projectOrder));
+ String msg = "【芬玩岛】下单成功✅✅✅,演出名称:" + performByProjectId.getProjectName() + ",请在2分钟内完成付款!";
+ dingTalkService.sendChatMessage(chatId, msg);
+ return Boolean.TRUE;
+ }
+ }
+
}
}
return Boolean.FALSE;
diff --git a/script/src/main/resources/mapper/fwd/FwdAudienceConfigMapper.xml b/script/src/main/resources/mapper/fwd/FwdAudienceConfigMapper.xml
new file mode 100644
index 0000000..3215229
--- /dev/null
+++ b/script/src/main/resources/mapper/fwd/FwdAudienceConfigMapper.xml
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ id, frequent_id, frequent_name, status,frequent_no,frequent_phone,del_flag,user_id
+
+
+
+ delete
+ from fwd_audience_config
+ where user_id = #{user_id}
+
+
+
+ INSERT INTO fwd_audience_config (
+ status,
+ frequent_id,
+ frequent_name,
+ frequent_no,
+ frequent_phone,
+ del_flag,
+ user_id
+ )
+ VALUES
+
+ (
+ #{item.status},
+ #{item.frequentId},
+ #{item.frequentName},
+ #{item.frequentNo},
+ #{item.frequentPhone},
+ #{item.delFlag},
+ #{item.userId}
+ )
+
+
+
+
+
\ No newline at end of file
diff --git a/script/src/main/resources/mapper/fwd/FwdPerformConfigMapper.xml b/script/src/main/resources/mapper/fwd/FwdPerformConfigMapper.xml
new file mode 100644
index 0000000..c052857
--- /dev/null
+++ b/script/src/main/resources/mapper/fwd/FwdPerformConfigMapper.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ id, project_id, time, del_flag
+
+
+
+ update fwd_perform_config set del_flag = 1 where 1=1
+
+
+
+ insert into fwd_perform_config(project_id, time, del_flag)
+ values
+
+ (#{item.projectId}, #{item.time}, #{item.delFlag})
+
+
+
+
+
\ No newline at end of file
diff --git a/script/src/main/resources/mapper/fwd/FwdPerformProjectSeatInfoMapper.xml b/script/src/main/resources/mapper/fwd/FwdPerformProjectSeatInfoMapper.xml
index 3015f1d..caf672f 100644
--- a/script/src/main/resources/mapper/fwd/FwdPerformProjectSeatInfoMapper.xml
+++ b/script/src/main/resources/mapper/fwd/FwdPerformProjectSeatInfoMapper.xml
@@ -281,7 +281,7 @@
\ No newline at end of file
diff --git a/script/src/main/resources/mapper/fwd/FwdUserConfigMapper.xml b/script/src/main/resources/mapper/fwd/FwdUserConfigMapper.xml
new file mode 100644
index 0000000..055cca7
--- /dev/null
+++ b/script/src/main/resources/mapper/fwd/FwdUserConfigMapper.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ id, name, token, status
+
+
+
+
+
\ No newline at end of file