记得上下班打卡 | git大法好,push需谨慎

Commit 067144f4 authored by jiangxiulong's avatar jiangxiulong

Merge branch 'dev' into test

parents 26b41727 05735f8b
...@@ -13,4 +13,5 @@ public class KylinStationUploadParam implements Serializable { ...@@ -13,4 +13,5 @@ public class KylinStationUploadParam implements Serializable {
private static final long serialVersionUID = -44725043769303036L; private static final long serialVersionUID = -44725043769303036L;
@ApiModelProperty(position = 10, value = "票明细数据") @ApiModelProperty(position = 10, value = "票明细数据")
List<KylinStationCheckOrderParam> checkOrderParamList; List<KylinStationCheckOrderParam> checkOrderParamList;
String checkClient;
} }
...@@ -2,6 +2,8 @@ package com.liquidnet.service.kylin.dto.param; ...@@ -2,6 +2,8 @@ package com.liquidnet.service.kylin.dto.param;
import lombok.Data; import lombok.Data;
import java.util.List;
@Data @Data
public class PerformanceExpressSearchAdminParam { public class PerformanceExpressSearchAdminParam {
...@@ -24,4 +26,6 @@ public class PerformanceExpressSearchAdminParam { ...@@ -24,4 +26,6 @@ public class PerformanceExpressSearchAdminParam {
private String expressContacts; private String expressContacts;
private String expressPhone; private String expressPhone;
private List<String> ids;
} }
...@@ -30,6 +30,9 @@ public class PerformanceStep2Param implements Serializable { ...@@ -30,6 +30,9 @@ public class PerformanceStep2Param implements Serializable {
@ApiModelProperty(hidden = true) @ApiModelProperty(hidden = true)
private Integer auditStatus; private Integer auditStatus;
@ApiModelProperty(hidden = true)
private Integer status;
@ApiModelProperty(value = "场次数据",hidden = true) @ApiModelProperty(value = "场次数据",hidden = true)
private List<TicketTimesTicketCreatePartnerVo> ticketTimes; private List<TicketTimesTicketCreatePartnerVo> ticketTimes;
} }
package com.liquidnet.service.kylin.dto.vo.mongo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@ApiModel
@Data
public class KylinOrderRefundEntitiesVo {
private Integer mid;
private String orderRefundsEntities_id;
private String orderRefundsId;
private String orderTicketEntitiesId;
private BigDecimal refundPrice;
private LocalDateTime created_at;
private LocalDateTime updated_at;
}
package com.liquidnet.service.kylin.dto.vo.mongo;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Data
public class KylinOrderRefundsVo {
private Integer mid;
private String order_refunds_id;
private String order_tickets_id;
private String order_refund_code;
private String order_refund_batches_id;
private String refund_code;
private LocalDateTime refund_at;
private String refund_id;
private String refund_error;
private BigDecimal price;
private BigDecimal price_express;
private Integer status;
private Integer type;
private String applicant_id;
private String applicant_name;
private LocalDateTime applicant_at;
private String reason;
private String auditor_id;
private String auditor_name;
private LocalDateTime auditor_at;
private String reject;
private String executor_id;
private String executor_name;
private LocalDateTime executor_at;
private String refuse;
private Integer refund_type;
private String refund_cate;
private LocalDateTime created_at;
private LocalDateTime updated_at;
}
package com.liquidnet.service.kylin.dto.vo.returns; package com.liquidnet.service.kylin.dto.vo.returns;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo; import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
...@@ -39,6 +39,8 @@ public class KylinStationPerformanceVo implements Serializable, Cloneable { ...@@ -39,6 +39,8 @@ public class KylinStationPerformanceVo implements Serializable, Cloneable {
private Integer checkedNum; private Integer checkedNum;
@ApiModelProperty(position = 23, value = "余量[9]") @ApiModelProperty(position = 23, value = "余量[9]")
private Integer remainderNum; private Integer remainderNum;
@ApiModelProperty(position = 30, value = "#过程数据,前端无需关注")
private List<KylinTicketTimesVo> ticketTimeList;
private static final KylinStationPerformanceVo obj = new KylinStationPerformanceVo(); private static final KylinStationPerformanceVo obj = new KylinStationPerformanceVo();
...@@ -49,14 +51,4 @@ public class KylinStationPerformanceVo implements Serializable, Cloneable { ...@@ -49,14 +51,4 @@ public class KylinStationPerformanceVo implements Serializable, Cloneable {
return new KylinStationPerformanceVo(); return new KylinStationPerformanceVo();
} }
} }
public KylinStationPerformanceVo copy(KylinPerformanceVo source) {
if (null == source) return this;
this.performancesId = source.getPerformancesId();
this.type = source.getType();
this.title = source.getTitle();
this.timeStart = source.getTimeStart();
this.timeEnd = source.getTimeEnd();
return this;
}
} }
package com.liquidnet.service.kylin.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.kylin.entity.KylinOrderExpress;
/**
* <p>
* 订单快递 服务类
* </p>
*
* @author jiangxiulong
* @since 2021-05-02
*/
public interface IKylinOrderExpress extends IService<KylinOrderExpress> {
}
package com.liquidnet.service.kylin.service; package com.liquidnet.service.kylin.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.kylin.dto.param.KylinStationCheckOrderParam; import com.liquidnet.service.kylin.dto.param.KylinStationUploadParam;
import com.liquidnet.service.kylin.entity.KylinOrderTicketEntities; import com.liquidnet.service.kylin.entity.KylinOrderTicketEntities;
import java.util.List;
/** /**
* <p> * <p>
* 订单详情 服务类 * 订单详情 服务类
...@@ -16,5 +14,5 @@ import java.util.List; ...@@ -16,5 +14,5 @@ import java.util.List;
*/ */
public interface IKylinOrderTicketEntitiesService extends IService<KylinOrderTicketEntities> { public interface IKylinOrderTicketEntitiesService extends IService<KylinOrderTicketEntities> {
void updateByStation(List<KylinStationCheckOrderParam> checkOrderParamList); void updateByStation(KylinStationUploadParam parameter);
} }
package com.liquidnet.client.admin.web.controller.zhengzai.kylin; package com.liquidnet.client.admin.web.controller.zhengzai.kylin;
import com.liquidnet.client.admin.common.core.controller.BaseController; import com.liquidnet.client.admin.common.core.controller.BaseController;
import com.liquidnet.client.admin.common.core.domain.AjaxResult;
import com.liquidnet.client.admin.common.core.page.TableDataInfo; import com.liquidnet.client.admin.common.core.page.TableDataInfo;
import com.liquidnet.client.admin.zhengzai.kylin.service.impl.PerformancesExpressServiceImpl; import com.liquidnet.client.admin.zhengzai.kylin.service.impl.PerformancesExpressServiceImpl;
import com.liquidnet.client.admin.zhengzai.kylin.utils.ShunfengSignUtils; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dao.PerformanceExpressPerformanceListAdminDao; import com.liquidnet.service.kylin.dao.PerformanceExpressPerformanceListAdminDao;
import com.liquidnet.service.kylin.dao.PerformanceExpressPerformanceOrderListAdminDao; import com.liquidnet.service.kylin.dao.PerformanceExpressPerformanceOrderListAdminDao;
import com.liquidnet.service.kylin.dto.param.PerformanceExpressSearchAdminParam; import com.liquidnet.service.kylin.dto.param.PerformanceExpressSearchAdminParam;
...@@ -40,8 +41,6 @@ public class PerformancesExpressController extends BaseController { ...@@ -40,8 +41,6 @@ public class PerformancesExpressController extends BaseController {
@Autowired @Autowired
private PerformancesExpressServiceImpl performancesExpressServiceImpl; private PerformancesExpressServiceImpl performancesExpressServiceImpl;
private ShunfengSignUtils shunfengSignUtils;
/** /**
* 查询演出列表 * 查询演出列表
*/ */
...@@ -83,17 +82,17 @@ public class PerformancesExpressController extends BaseController { ...@@ -83,17 +82,17 @@ public class PerformancesExpressController extends BaseController {
@RequiresPermissions("kylin:performancesExpress:placeOrder") @RequiresPermissions("kylin:performancesExpress:placeOrder")
@PostMapping("/placeOrder") @PostMapping("/placeOrder")
@ResponseBody @ResponseBody
public boolean placeOrder() { public AjaxResult placeOrder(PerformanceExpressSearchAdminParam performanceExpressSearchAdminParam) {
// 请求body companyId参数值和APPID一致!!! ResponseDto res = performancesExpressServiceImpl.placeOrder(performanceExpressSearchAdminParam);
String body="{\"dContact\":\"王昆\",\"companyId\":{{APP_ID}},\"jContact\":\"顺丰\",\"jTel\":\"111\",\"jMobile\":null,\"jAddress\":\"马甸\",\"dTel\":\"064756935\",\"dMobile\":null,\"dAddress\":\"北京市朝阳区花家地金兴路1号院5号楼1单元202\",\"custid\":\"7551234567\",\"payMethod\":\"0\",\"expressType\":\"1\",\"packagesNo\":\"1\",\"depositumInfo\":\"TCL空调\",\"depositumNo\":\"1\",\"remark\":null,\"isCollection\":\"1\",\"collectionMoney\":\"10.00\",\"isReceipt\":\"0\",\"receipt\":null}"; try {
// 时间戳 if (res.isSuccess()) {
long currentTimeMillis = System.currentTimeMillis(); return success();
System.out.println("时间戳:"+currentTimeMillis); } else {
return error(res.getMessage());
// 生成签名并请求 }
String result = shunfengSignUtils.generateSignatureAndRequest(currentTimeMillis + "", body, "/order/v1/placeOrder"); } catch (Exception e) {
System.out.println("响应:"+result); return error(e.getMessage());
return true; }
} }
} }
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<configuration> <configuration>
<!-- 设置路径--> <springProfile name="dev">
<springProperty scope="context" name="logPath" source="liquidnet.logfile.path"/> <property name="log.path" value="./data/logs/client-admin-web" />
</springProfile>
<springProfile name="test,prod">
<property name="log.path" value="/data/logs/client-admin-web" />
</springProfile>
<!-- 日志存放路径 -->
<property name="log.path" value="${logPath}/client-admin-web" />
<!-- 日志输出格式 --> <!-- 日志输出格式 -->
<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" /> <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
......
...@@ -68,6 +68,8 @@ ...@@ -68,6 +68,8 @@
</div> </div>
<th:block th:include="include :: footer"/> <th:block th:include="include :: footer"/>
<script th:inline="javascript"> <script th:inline="javascript">
var placeOrderFlag = [[${@permission.hasPermi('kylin:performancesExpress:placeOrder')}]];
var prefix = ctx + "kylin/performancesExpress"; var prefix = ctx + "kylin/performancesExpress";
var orderStatusDic = [[${@dict.getType('zhengzai_order_status')}]]; var orderStatusDic = [[${@dict.getType('zhengzai_order_status')}]];
...@@ -76,6 +78,7 @@ ...@@ -76,6 +78,7 @@
var options = { var options = {
url: prefix + "/performanceOrderList", url: prefix + "/performanceOrderList",
modalName: "演出订单", modalName: "演出订单",
placeOrderUrl: prefix + "/placeOrder",
columns: [{ columns: [{
checkbox: true checkbox: true
}, },
...@@ -121,7 +124,6 @@ ...@@ -121,7 +124,6 @@
field: '', field: '',
title: '收获用户', title: '收获用户',
formatter: function(value, row, index) { formatter: function(value, row, index) {
console.log(row)
var expressContacts = row.expressContacts; var expressContacts = row.expressContacts;
var expressAddress = row.expressAddress; var expressAddress = row.expressAddress;
var expressPhone = row.expressPhone; var expressPhone = row.expressPhone;
...@@ -133,7 +135,7 @@ ...@@ -133,7 +135,7 @@
align: 'center', align: 'center',
formatter: function (value, row, index) { formatter: function (value, row, index) {
var actions = []; var actions = [];
// actions.push('<a class="btn btn-warning btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="$.operate.detail(\'' + row.orderTicketsId + '\')"><i class="fa fa-search"></i>详细</a>'); actions.push('<a class="btn btn-danger btn-xs ' + placeOrderFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.orderTicketsId + '\', \'确定下单吗?\', table.options.placeOrderUrl)"></i>下单</a> ');
return actions.join(''); return actions.join('');
} }
}] }]
......
...@@ -89,6 +89,9 @@ public class KylinRefundsStatusServiceImpl { ...@@ -89,6 +89,9 @@ public class KylinRefundsStatusServiceImpl {
double RefundPriceExpress, double RefundPriceExpress,
List<String> ticketEntityIds, List<Double> entitiesPrice List<String> ticketEntityIds, List<Double> entitiesPrice
) { ) {
if (CollectionUtil.isEmpty(ticketEntityIds)) {
return false;
}
// 基础数据 // 基础数据
String authId = ShiroUtils.getUserId().toString(); String authId = ShiroUtils.getUserId().toString();
String authName = ShiroUtils.getLoginName(); String authName = ShiroUtils.getLoginName();
......
package com.liquidnet.client.admin.zhengzai.kylin.service.impl; package com.liquidnet.client.admin.zhengzai.kylin.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.client.admin.zhengzai.kylin.utils.ShunfengSignUtils;
import com.liquidnet.commons.lang.util.BeanUtil; import com.liquidnet.commons.lang.util.BeanUtil;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dao.*; import com.liquidnet.service.kylin.dao.*;
import com.liquidnet.service.kylin.dto.param.*; import com.liquidnet.service.kylin.dto.param.*;
import com.liquidnet.service.kylin.entity.*; import com.liquidnet.service.kylin.entity.*;
import com.liquidnet.service.kylin.mapper.*; import com.liquidnet.service.kylin.mapper.*;
import com.liquidnet.service.kylin.service.IKylinOrderExpress;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -25,16 +34,23 @@ import java.util.Map; ...@@ -25,16 +34,23 @@ import java.util.Map;
*/ */
@Service @Service
@Slf4j @Slf4j
public class PerformancesExpressServiceImpl extends ServiceImpl<KylinPerformancesMapper, KylinPerformances> { public class PerformancesExpressServiceImpl extends ServiceImpl<KylinOrderExpressMapper, KylinOrderExpress> implements IKylinOrderExpress {
@Autowired @Autowired
MongoTemplate mongoTemplate; MongoTemplate mongoTemplate;
@Autowired
private ShunfengSignUtils shunfengSignUtils;
@Autowired @Autowired
private KylinPerformancesMapper performancesMapper; private KylinPerformancesMapper performancesMapper;
@Autowired @Autowired
private KylinOrderTicketsMapper kylinOrderTicketsMapper; private KylinOrderTicketsMapper kylinOrderTicketsMapper;
@Autowired
private KylinOrderExpressMapper kylinOrderExpressMapper;
public List<PerformanceExpressPerformanceListAdminDao> getPerformancesList(PerformanceExpressSearchAdminParam performanceExpressSearchAdminParam) { public List<PerformanceExpressPerformanceListAdminDao> getPerformancesList(PerformanceExpressSearchAdminParam performanceExpressSearchAdminParam) {
List<PerformanceExpressPerformanceListAdminDao> voList = new ArrayList(); List<PerformanceExpressPerformanceListAdminDao> voList = new ArrayList();
try { try {
...@@ -56,4 +72,65 @@ public class PerformancesExpressServiceImpl extends ServiceImpl<KylinPerformance ...@@ -56,4 +72,65 @@ public class PerformancesExpressServiceImpl extends ServiceImpl<KylinPerformance
} }
return voList; return voList;
} }
public ResponseDto placeOrder(PerformanceExpressSearchAdminParam performanceExpressSearchAdminParam) {
List<String> ids = performanceExpressSearchAdminParam.getIds();
for (String orderTicketsId : ids) {
KylinOrderTickets orderInfo = kylinOrderTicketsMapper.selectOne(
new QueryWrapper<KylinOrderTickets>().eq("order_tickets_id", orderTicketsId)
);
HashMap<String, Object> hBody = new HashMap<>();
hBody.put("orderId", orderInfo.getOrderCode());
hBody.put("jCompany", "摩登天空");
hBody.put("jContact", "姜秀龙");
// hBody.put("jTel", "010");
hBody.put("jMobile", "15811009011");
hBody.put("jProvince", "北京");
hBody.put("jCity", "北京市");
hBody.put("jAddress", "摩登天空");
hBody.put("dContact", "张红梅");
hBody.put("dMobile", "15010806631");
hBody.put("dProvince", "北京");
hBody.put("dCity", "北京市");
hBody.put("dAddress", "华通大厦");
hBody.put("custid", "7551234567");
hBody.put("payMethod", 0);// 运费付款方式:0-寄付月结;1-寄付现结;2-收方付;3-第三方付;
hBody.put("expressType", 1);// 顺丰特快
hBody.put("depositumInfo", "票");
hBody.put("depositumNo", 1);
// 时间戳
long currentTimeMillis = System.currentTimeMillis();
// 生成签名并请求
String result = shunfengSignUtils.generateSignatureAndRequest(currentTimeMillis + "", hBody, "/public/order/v1/placeOrder");
HashMap hashMap = JsonUtils.fromJson(result, HashMap.class);
System.out.println(result);
if (hashMap.get("succ").equals("fail")) {
String msg = (String) hashMap.get("msg");
return ResponseDto.failure(msg);
} else {
KylinOrderExpress kylinOrderExpress = new KylinOrderExpress();
String orderExpressId = IDGenerator.nextSnowId();
kylinOrderExpress.setOrderExpressId(orderExpressId);
kylinOrderExpress.setOrderTicketsId(orderTicketsId);
kylinOrderExpress.setMailno((String) hashMap.get("mailno"));
kylinOrderExpress.setExpressType(1);
kylinOrderExpress.setFilterResult((Integer) hashMap.get("filter_result"));
kylinOrderExpress.setRemark((String) hashMap.get("remark"));
kylinOrderExpress.setOrigincode((String) hashMap.get("origincode"));
kylinOrderExpress.setDestcode((String) hashMap.get("destcode"));
kylinOrderExpress.setPrintIcon((String) hashMap.get("printIcon"));
kylinOrderExpress.setPrintFlag((String) hashMap.get("printFlag"));
kylinOrderExpress.setTwoDimensionCode((String) hashMap.get("twoDimensionCode"));
kylinOrderExpress.setCreatedAt(DateUtil.getNowTime());
kylinOrderExpressMapper.insert(kylinOrderExpress);
}
}
return ResponseDto.success();
}
} }
package com.liquidnet.client.admin.zhengzai.kylin.utils; package com.liquidnet.client.admin.zhengzai.kylin.utils;
import com.liquidnet.client.admin.common.json.JSONObject;
import com.liquidnet.commons.lang.util.JsonUtils;
import org.apache.commons.codec.binary.Base64; import org.apache.commons.codec.binary.Base64;
import org.apache.commons.codec.digest.DigestUtils; import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -11,9 +13,11 @@ import org.apache.http.impl.client.CloseableHttpClient; ...@@ -11,9 +13,11 @@ import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients; import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils; import org.apache.http.util.EntityUtils;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.io.IOException; import java.io.IOException;
import java.util.HashMap;
/** /**
* <p> * <p>
...@@ -23,6 +27,7 @@ import java.io.IOException; ...@@ -23,6 +27,7 @@ import java.io.IOException;
* @author jiangxiulong * @author jiangxiulong
* @since 2021-06-24 8:00 下午 * @since 2021-06-24 8:00 下午
*/ */
@Component
public class ShunfengSignUtils { public class ShunfengSignUtils {
/** /**
* appId * appId
...@@ -47,18 +52,18 @@ public class ShunfengSignUtils { ...@@ -47,18 +52,18 @@ public class ShunfengSignUtils {
/** /**
* 生成签名并请求 * 生成签名并请求
* @param timestamp 时间戳 * @param timestamp 时间戳
* @param body 请求body * @param hbody 请求body
* @return * @return
*/ */
public String generateSignatureAndRequest(String timestamp, String body, String url) { public String generateSignatureAndRequest(String timestamp, HashMap<String, Object> hbody, String url) {
hbody.put("companyId", APP_ID);
String body = JsonUtils.toJson(hbody);
// 生成签名 // 生成签名
String sign = genSign(timestamp,body); String sign = genSign(timestamp,body);
System.out.println("签名:"+sign);
CloseableHttpClient client = HttpClients.createDefault(); CloseableHttpClient client = HttpClients.createDefault();
// 请求下单地址 // 请求下单地址
HttpPost httpPost = new HttpPost(URL + url); HttpPost httpPost = new HttpPost(URL + url);
System.out.println("请求的url:"+URL + url);
// sendAppId(sendAppId需赋值appId) // sendAppId(sendAppId需赋值appId)
httpPost.addHeader("sendAppId", APP_ID); httpPost.addHeader("sendAppId", APP_ID);
// 时间戳需和获取验签时一致!!! // 时间戳需和获取验签时一致!!!
...@@ -66,6 +71,7 @@ public class ShunfengSignUtils { ...@@ -66,6 +71,7 @@ public class ShunfengSignUtils {
// 签名 // 签名
httpPost.addHeader("sign", sign); httpPost.addHeader("sign", sign);
httpPost.addHeader("Content-Type", "application/json;charset=utf-8"); httpPost.addHeader("Content-Type", "application/json;charset=utf-8");
httpPost.addHeader("Accept", "application/json");
// 请求body体需和获取验签时一致且编码UTF8!!! // 请求body体需和获取验签时一致且编码UTF8!!!
httpPost.setEntity(new StringEntity(body, "utf-8")); httpPost.setEntity(new StringEntity(body, "utf-8"));
CloseableHttpResponse response = null; CloseableHttpResponse response = null;
......
package com.liquidnet.commons.lang.annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface ClientUpdateAnnotation {
String version() default "100000000";
String source() default "ALL";
String path() default "NONE";
}
...@@ -42,7 +42,7 @@ public class GlobalAuthorityInterceptor extends HandlerInterceptorAdapter { ...@@ -42,7 +42,7 @@ public class GlobalAuthorityInterceptor extends HandlerInterceptorAdapter {
private static final String ENV_PROD = "prod"; private static final String ENV_PROD = "prod";
private static final String ENV_ACTIVE = "spring.profiles.active"; private static final String ENV_ACTIVE = "spring.profiles.active";
private static final String KYLIN_STATION_JWT_VALID = "/station/**"; private static final String KYLIN_STATION_JWT_VALID = "/*/station/**";
private final static AntPathMatcher antPathMatcher = new AntPathMatcher(); private final static AntPathMatcher antPathMatcher = new AntPathMatcher();
......
...@@ -31,7 +31,7 @@ liquidnet: ...@@ -31,7 +31,7 @@ liquidnet:
# port: 6380 # port: 6380
# password: PO@B!Iud32 # password: PO@B!Iud32
mongodb: mongodb:
host: s-2zef656730e5a1d4.mongodb.rds.aliyuncs.com:3717,s-2ze49872ed6aeb14.mongodb.rds.aliyuncs.com:3717 host: s-2zef656730e5a1d4-pub.mongodb.rds.aliyuncs.com:3717,s-2ze49872ed6aeb14-pub.mongodb.rds.aliyuncs.com:3717
port: 3717 port: 3717
user: root user: root
pwd: $hAh4SGcDQ pwd: $hAh4SGcDQ
......
...@@ -28,7 +28,7 @@ logging: ...@@ -28,7 +28,7 @@ logging:
console: '%d{yyyy-MM-dd HH:mm:ss.SSS} [ %-5level] %thread [%logger{96}:%line] - %msg%n' console: '%d{yyyy-MM-dd HH:mm:ss.SSS} [ %-5level] %thread [%logger{96}:%line] - %msg%n'
rolling-file-name: ${liquidnet.logfile.path}/${liquidnet.logfile.name}-%d{yyyy-MM-dd}.%i.log rolling-file-name: ${liquidnet.logfile.path}/${liquidnet.logfile.name}-%d{yyyy-MM-dd}.%i.log
level: level:
root: ${liquidnet.logfile.level} root: info
#以下是为指定包设置日志级别 #以下是为指定包设置日志级别
com.liquidnet: ${liquidnet.logfile.level} com.liquidnet: ${liquidnet.logfile.level}
# ----------------------------------------------------------- # -----------------------------------------------------------
......
...@@ -14,7 +14,7 @@ liquidnet: ...@@ -14,7 +14,7 @@ liquidnet:
pattern-file: '%d{yyyy-MM-dd HH:mm:ss.SSS} [ %-5level] %thread [%logger{96}:%line] - %msg%n' pattern-file: '%d{yyyy-MM-dd HH:mm:ss.SSS} [ %-5level] %thread [%logger{96}:%line] - %msg%n'
pattern-console: '%d{yyyy-MM-dd HH:mm:ss.SSS} [ %-5level] %thread [%logger{96}:%line] - %msg%n' pattern-console: '%d{yyyy-MM-dd HH:mm:ss.SSS} [ %-5level] %thread [%logger{96}:%line] - %msg%n'
pattern-rolling-file-name: ${liquidnet.logfile.path}/${liquidnet.logfile.name}-%d{yyyy-MM-dd}.%i.log pattern-rolling-file-name: ${liquidnet.logfile.path}/${liquidnet.logfile.name}-%d{yyyy-MM-dd}.%i.log
level: info level: debug
rabbitmq: rabbitmq:
connection-timeout: 5000 connection-timeout: 5000
mysql: mysql:
......
...@@ -14,7 +14,7 @@ liquidnet: ...@@ -14,7 +14,7 @@ liquidnet:
pattern-file: '%d{yyyy-MM-dd HH:mm:ss.SSS} [ %-5level] %thread [%logger{96}:%line] - %msg%n' pattern-file: '%d{yyyy-MM-dd HH:mm:ss.SSS} [ %-5level] %thread [%logger{96}:%line] - %msg%n'
pattern-console: '%d{yyyy-MM-dd HH:mm:ss.SSS} [ %-5level] %thread [%logger{96}:%line] - %msg%n' pattern-console: '%d{yyyy-MM-dd HH:mm:ss.SSS} [ %-5level] %thread [%logger{96}:%line] - %msg%n'
pattern-rolling-file-name: ${liquidnet.logfile.path}/${liquidnet.logfile.name}-%d{yyyy-MM-dd}.%i.log pattern-rolling-file-name: ${liquidnet.logfile.path}/${liquidnet.logfile.name}-%d{yyyy-MM-dd}.%i.log
level: info level: debug
rabbitmq: rabbitmq:
connection-timeout: 3000 connection-timeout: 3000
mysql: mysql:
......
...@@ -28,7 +28,7 @@ logging: ...@@ -28,7 +28,7 @@ logging:
console: '%d{yyyy-MM-dd HH:mm:ss.SSS} [ %-5level] %thread [%logger{96}:%line] - %msg%n' console: '%d{yyyy-MM-dd HH:mm:ss.SSS} [ %-5level] %thread [%logger{96}:%line] - %msg%n'
rolling-file-name: ${liquidnet.logfile.path}/${liquidnet.logfile.name}-%d{yyyy-MM-dd}.%i.log rolling-file-name: ${liquidnet.logfile.path}/${liquidnet.logfile.name}-%d{yyyy-MM-dd}.%i.log
level: level:
root: ${liquidnet.logfile.level} root: info
#以下是为指定包设置日志级别 #以下是为指定包设置日志级别
com: com:
liquidnet: ${liquidnet.logfile.level} liquidnet: ${liquidnet.logfile.level}
......
package com.liquidnet.service.kylin.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
/**
* <p>
* 订单快递
* </p>
*
* @author jiangxiulong
* @since 2021-06-25
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class KylinOrderExpress implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Integer mid;
private String orderExpressId;
private String orderTicketsId;
private String mailno;
private Integer expressType;
private Integer filterResult;
private String remark;
private String origincode;
private String destcode;
private String printIcon;
private String twoDimensionCode;
private String printFlag;
/**
* 创建时间
*/
private String createdAt;
/**
* 修改时间
*/
private String updatedAt;
}
package com.liquidnet.service.kylin.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.liquidnet.service.kylin.entity.KylinOrderExpress;
/**
* <p>
* 订单快递 Mapper 接口 处理数据库
* </p>
*
* @author jiangxiulong
* @since 2021-05-01
*/
public interface KylinOrderExpressMapper extends BaseMapper<KylinOrderExpress> {
}
...@@ -198,7 +198,7 @@ ...@@ -198,7 +198,7 @@
FROM kylin_order_tickets AS ot FROM kylin_order_tickets AS ot
LEFT JOIN kylin_order_ticket_status AS ots ON ots.order_id = ot.order_tickets_id LEFT JOIN kylin_order_ticket_status AS ots ON ots.order_id = ot.order_tickets_id
LEFT JOIN kylin_order_ticket_relations AS otr ON otr.order_id = ot.order_tickets_id LEFT JOIN kylin_order_ticket_relations AS otr ON otr.order_id = ot.order_tickets_id
WHERE status = 0 AND NOW() > DATE_SUB(ot.created_at,INTERVAL -pay_countdown_minute MINUTE) WHERE status = 0 AND NOW() > DATE_SUB(ot.created_at,INTERVAL -(pay_countdown_minute+1) MINUTE)
<if test="userId!=''"> <if test="userId!=''">
AND user_id = #{userId} AND user_id = #{userId}
</if> </if>
......
...@@ -175,7 +175,7 @@ ...@@ -175,7 +175,7 @@
) AS 'total_sale_price' , ) AS 'total_sale_price' ,
otr.performance_id AS 'performance_id' FROM kylin_order_tickets AS ot LEFT JOIN kylin_order_ticket_status AS ots otr.performance_id AS 'performance_id' FROM kylin_order_tickets AS ot LEFT JOIN kylin_order_ticket_status AS ots
ON ots.order_id = ot.order_tickets_id LEFT JOIN kylin_order_ticket_relations AS otr ON otr.order_id = ON ots.order_id = ot.order_tickets_id LEFT JOIN kylin_order_ticket_relations AS otr ON otr.order_id =
ot.order_tickets_id WHERE ots.`status` = 1 AND coupon_type = 'no' GROUP BY otr.performance_id ot.order_tickets_id WHERE (ots.`status` = 1 or ots.`status` = 0 or ots.`status` = 3) AND coupon_type = 'no' GROUP BY otr.performance_id
) AS ot ON ot.performance_id = p.performances_id ) AS ot ON ot.performance_id = p.performances_id
<where> <where>
<if test="title!=''"> <if test="title!=''">
...@@ -198,7 +198,9 @@ ...@@ -198,7 +198,9 @@
<if test="status=='0'"> <if test="status=='0'">
AND ps.STATUS = #{status} AND ps.STATUS = #{status}
</if> </if>
<if test="merchantId!='1'">
AND pr.merchant_id = #{merchantId} AND pr.merchant_id = #{merchantId}
</if>
</where> </where>
ORDER BY ${orderItem} ${orderSc} ORDER BY ${orderItem} ${orderSc}
</select> </select>
...@@ -262,7 +264,7 @@ ...@@ -262,7 +264,7 @@
LEFT JOIN kylin_order_ticket_status AS ots ON ots.order_id = ot.order_tickets_id LEFT JOIN kylin_order_ticket_status AS ots ON ots.order_id = ot.order_tickets_id
LEFT JOIN kylin_order_ticket_relations AS otr ON otr.order_id = ot.order_tickets_id LEFT JOIN kylin_order_ticket_relations AS otr ON otr.order_id = ot.order_tickets_id
WHERE WHERE
ots.`status` = 1 and coupon_type ='no' (ots.`status` = 1 or ots.`status` = 0 or ots.`status` = 3) and coupon_type ='no'
GROUP BY otr.performance_id GROUP BY otr.performance_id
) AS ot ON ot.performance_id = p.performances_id ) AS ot ON ot.performance_id = p.performances_id
<where> <where>
...@@ -385,54 +387,81 @@ ...@@ -385,54 +387,81 @@
<!-- 演出订单统计--> <!-- 演出订单统计-->
<select id="getPerformanceOrderStatisticalList" parameterType="java.lang.String" <select id="getPerformanceOrderStatisticalList" parameterType="java.lang.String"
resultMap="performanceOrderStatisticalDaoResult"> resultMap="performanceOrderStatisticalDaoResult">
SELECT kp.performances_id, SELECT
kp.performances_id ,
kt.tickets_id, kt.tickets_id,
kt.title, kt.title,
kt.price, kt.price,
kt.type, kt.type,
kt.use_start, kt.use_start,
IFNULL(kts.total_general, 0) AS 'total_general', IFNULL(kts.total_general , 0) AS 'total_general' ,
IFNULL(ot.total_sale_general, 0) AS 'sale_general', IFNULL(ot.total_sale_general , 0) AS 'sale_general' ,
IFNULL((kts.total_general - ot.total_sale_general), 0) AS 'surplus_general', IFNULL((kts.total_general - IFNULL(ot.total_sale_general,0) - IFNULL(otp.total_paying_number , 0)),0) AS 'surplus_general',
IFNULL(ot.total_sale_price, 0) AS 'total_sale_price', IFNULL(ot.total_sale_price , 0) AS 'total_sale_price' ,
IFNULL(kts.total_exchange, 0) AS 'total_exchange', IFNULL(kts.total_exchange , 0) AS 'total_exchange',
IFNULL(ot.total_refund_general, 0) AS 'total_refund_general', IFNULL(rd.total_refund_general , 0) AS 'total_refund_general',
IFNULL(ot.total_refund_price, 0) AS 'total_refund_price', IFNULL(rd.total_refund_price , 0) AS 'total_refund_price',
IFNULL(ot.total_member_number, 0) AS 'total_member_number', IFNULL(ot.total_member_number , 0) AS 'total_member_number',
IFNULL(ot.total_paying_number, 0) AS 'total_paying_number', IFNULL(otp.total_paying_number , 0) AS 'total_paying_number',
IFNULL(ut.total_buy_users, 0) AS 'total_buy_users' IFNULL(ut.total_buy_users , 0) AS 'total_buy_users'
FROM (select t.performances_id from kylin_performances t where t.performances_id = ${performancesId}) AS kp FROM
inner JOIN( (select t.performances_id,ktr.ticket_id from kylin_performances t inner join kylin_ticket_time_relation kttr
SELECT kotr.performance_id AS 'performance_id', on t.performances_id = kttr.performance_id
inner join kylin_ticket_relations ktr on kttr.times_id = ktr.times_id
where t.performances_id = ${performancesId}) AS kp
left JOIN(
SELECT
kotr.performance_id AS 'performance_id',
kotr.ticket_id, kotr.ticket_id,
(sum(kot.number) - sum(kot.refund_number)) AS 'total_sale_general', sum(kot.number) AS 'total_sale_general' ,
(sum(kot.price_actual) - sum(kot.price_refund)) AS 'total_sale_price', sum(kot.price_actual) AS 'total_sale_price',
sum(case when kotr.is_member = 1 then kot.number else 0 end) total_member_number
FROM
kylin_order_ticket_relations kotr
inner join kylin_order_tickets AS kot on kotr.order_id = kot.order_tickets_id
inner JOIN kylin_order_ticket_status AS kots ON kots.order_id = kot.order_tickets_id
WHERE 1>0 and kotr.performance_id = ${performancesId}
and kots.`status` in(1,3) and kot.coupon_type ='no'
group by kotr.performance_id,kotr.ticket_id
) AS ot ON (ot.performance_id = kp.performances_id and ot.ticket_id = kp.ticket_id)
left JOIN(
SELECT
kotr.performance_id,kotr.ticket_id,
sum(ifnull(kot.number,0)) total_paying_number
FROM
kylin_order_ticket_relations kotr
inner join kylin_order_tickets AS kot on kotr.order_id = kot.order_tickets_id
inner JOIN kylin_order_ticket_status AS kots ON kots.order_id = kot.order_tickets_id
WHERE 1>0 and kotr.performance_id = ${performancesId}
and kots.`status` = 0 and kot.coupon_type ='no'
group by kotr.performance_id,kotr.ticket_id
) AS otp ON (otp.performance_id = kp.performances_id and otp.ticket_id = kp.ticket_id)
left JOIN(
SELECT
kotr.performance_id,kotr.ticket_id,
sum(kot.refund_number) as 'total_refund_general', sum(kot.refund_number) as 'total_refund_general',
sum(kot.price_refund) as 'total_refund_price', sum(kot.price_refund) as 'total_refund_price'
sum(case when kotr.is_member = 1 then kot.number else 0 end) total_member_number, FROM
sum(case when kots.`status` = 0 then kot.number else 0 end) total_paying_number kylin_order_ticket_relations kotr
FROM kylin_order_ticket_relations kotr
inner join kylin_order_tickets AS kot on kotr.order_id = kot.order_tickets_id inner join kylin_order_tickets AS kot on kotr.order_id = kot.order_tickets_id
inner JOIN kylin_order_ticket_status AS kots ON kots.order_id = kot.order_tickets_id inner JOIN kylin_order_ticket_status AS kots ON kots.order_id = kot.order_tickets_id
WHERE 1 > 0 WHERE 1>0 and kotr.performance_id = ${performancesId}
and kotr.performance_id = ${performancesId} and kots.`status` = 4 and kot.coupon_type ='no'
and kots.`status` in (1, 3, 4) group by kotr.performance_id,kotr.ticket_id
and kot.coupon_type = 'no' ) AS rd ON (rd.performance_id = kp.performances_id and rd.ticket_id = kp.ticket_id)
group by kotr.performance_id, kotr.ticket_id left join kylin_tickets kt on kt.tickets_id = kp.ticket_id
) AS ot ON ot.performance_id = kp.performances_id left join kylin_ticket_status kts on kts.ticket_id = kp.ticket_id
inner join kylin_tickets kt on kt.tickets_id = ot.ticket_id left JOIN(
inner join kylin_ticket_status kts on kts.ticket_id = kt.tickets_id select t.performance_id,count(t.user_id) as 'total_buy_users' from(
inner JOIN( SELECT
select t.performance_id, count(t.user_id) as 'total_buy_users' kotr.performance_id,
from (
SELECT kotr.performance_id,
kot.user_id kot.user_id
FROM kylin_order_ticket_relations kotr FROM
kylin_order_ticket_relations kotr
inner join kylin_order_tickets AS kot on kotr.order_id = kot.order_tickets_id inner join kylin_order_tickets AS kot on kotr.order_id = kot.order_tickets_id
inner JOIN kylin_order_ticket_status AS kots ON kots.order_id = kot.order_tickets_id inner JOIN kylin_order_ticket_status AS kots ON kots.order_id = kot.order_tickets_id
WHERE kotr.performance_id = ${performancesId} WHERE kotr.performance_id = ${performancesId} and kots.`status` in (0,1,3)
and (kots.`status` = 0 OR kots.`status` = 1) group by kotr.performance_id,kot.user_id
group by kotr.performance_id, kot.user_id
) t ) t
) AS ut ON ut.performance_id = kp.performances_id ) AS ut ON ut.performance_id = kp.performances_id
</select> </select>
......
...@@ -16,14 +16,18 @@ public abstract class DataMigrationProcessorService { ...@@ -16,14 +16,18 @@ public abstract class DataMigrationProcessorService {
reUidList.addAll(Arrays.asList("19381","31567","564716","576723","594087","594090","594093","594094","594095","594096","594098","594099","594103","594104","594105","594110","602101","657746","667575","670349","671941","672058","674586","681543","683782","689797","689798","689800","689801","689802","691573","693676","695030","696220","696221","696222","696223","696226","702549","704388","705552","707299","707831","711789","712554","713099","722479","744552","748006","754989","757179","775087","775373","786110","789071","798557","803278","803316","803327","803341","803364","803370","803377","803391","803428","803485","808374","811096","818000","822229","825939","827933","830970","832242","835894","840573","842485","848791","851807","852112","854894","854942","855559","859404","859405","861223","861260","862238","862867","862868","862869","864162","869026","869977","871255","872036","873874","873875","875392","875851","876703","876811","877542","878547","880245","880516","880772","883049","883537","883538","884752","885810","886775","887463","888684","888686","889467","891267","891268","891421","891559","892552","893811","893812","893828","893830","894665","896882","896924","898338","902701","904325","905073","905075","905133","905763","905764","905765","905868","907336","908024","908686","908687","910403","913886","913941","915549","917956","919573","927681","927693","933091","933092","937107","937108","937146","937147","937728","940442","943409","944057","944058","944059","944112","944197","944198","944199","946678","948145","948367","952544","954366","959861","959968","962337","963138","963691","963692","963833","963834","963835","963836","963837","964005","964383","964384","964385","964995","966267","967788","967790","968963","972309","974119","974465","976515","976923","978899","979030","979364","979464","981204","981390","981392","981395","981398","981399","981400","981401","981415","981416","981417","981418","981419","981426","981427","981428","981431","981433","981443","981446","981447","981448","981449","981453","981454","981455","981459","981461","981462","981464","981465","981467","981468","981472","981473","981474","981475","981476","981485","981486","981487","981488","981489","981493","981494","981495","981497","981498","981499","981500","981501","981506","981507","981515","981518","981520","981526","981527","981528","981547","981548","981549","981550","981551","981555","981558","981559","981568","981569","981572","981574","981575","981578","981580","981581","981582","981583","981587","981588","981589","981590","981591","981593","981595","981613","981624","981625","981626","981627","981628","981641","981642","981643","981644","981645","981646","981647","981648","981649","981650","981663","981667","981668","981669","981670","981671","981680","981681","981682","981686","981687","981688","981689","981690","981691","981692","981693","981694","981695","981696","981697","981698","981699","981701","981702","981712","981719","981720","981721","981722","981723","981726","981728","981729","981730","981731","981740","981741","981742","981749","981750","981751","981752","981753","981757","981770","981771","981772","981773","981774","981791","981792","981793","981794","981795","981796","981797","981798","981799","981800","981801","981802","981803","981804","981806","981808","981809","981810","981811","981813","982282","982484","982485","982520","982522","982524","982579","982581","982582","982583","982584","982959","983152","983154","983155","983860","983861","983862","983863","983864","983865","983866","983949","983950","984123","984533","984534","984641","984642","984643","984644","984645","984657","984658","984659","984660","984661","984662","984663","984664","984665","984666","984667","984668","984669","984670","984671","984672","984673","984674","984941","984942","984943","984944","984945","985335","985336","985337","985429","985430","985549","985893","985894","985895","985896","985897","985898","985899","985900","985901","985902","986930","986933","986934","986936","986938","986939","986940","986941","986942","986943","987010","987011","987012","987356","987357","987358","987366","987672","987673","987674","988426","988534","988536","988537","989004","989152","989269","989270","989271","989272","989837","989838","989840","989953","989954","989955","990668","990670","990671","990672","990673","991474","991475","991608","992305","992306","992307","992579","993112","993526","994291","994366","994370","994371","994372","994374","994375","994377","994380","994383","994384","994385","994386","994387","994389","994390","994936","995325","995872","995873","996291","996294","996295","996296","996298","996299","996300","996302","996303","996305","996306","996307","996308","996309","996311","996312","996313","996314","996315","996318","996319","996320","996322","996527","996873","998049","998051","998054","998055","998056","998058","998060","998062","998063","998066","998067","998068","998069","998071","998073","998075","998076","998077","998078","998079","998080","998082","998083","999176","999929","999931","999932","999933","999934","999935","999936","999938","999940","999942","999943","999946","999947","999948","999949","999950","1000444","1001236","1001237","1001238","1001440","1001442","1001443","1001892","1002777","1002778","1003426","1003427","1003428","1003429","1003430","1003633","1004263","1004264","1004381","1004478","1004479","1004480","1004481","1004482","1004485","1004826","1005625","1005626","1005920","1005921","1006457","1006459","1006460","1006461","1006462","1006463","1006464","1006465","1006466","1006468","1006470","1006471","1006472","1006748","1007104","1007285","1007286","1007287","1007288","1007289","1007290","1007291","1007293","1007294","1007295","1007296","1007297","1007299","1007300","1007302","1007303","1007304","1007305","1007306","1007307","1007308","1007309","1007312","1007313","1007314","1007315","1007317","1007318","1007319","1007321","1007863","1007865","1007866","1007867","1007868","1007869","1008145","1008146","1008147","1008148","1008512","1008513","1008939","1009075","1009076","1009152","1009285","1009286","1009288","1009289","1009290","1009560","1009561","1009562","1009798","1009809","1009810","1009811","1009813","1009814","1010050","1010526","1010527","1010528","1010529","1010530","1010532","1010740","1010741","1010958","1010960","1011400","1011401","1011419","1011420","1011838","1011840","1011841","1012003","1012004","1012005","1012006","1012009","1012010","1012011","1012012","1012013","1012178","1012179","1012180","1012181","1012182","1012205","1012524","1012525","1012526","1013223","1013224","1013225","1013226","1013450","1013451","1013452","1013453","1013454","1014090","1014693","1014694","1014695","1014696","1014697","1014698","1014845","1015044","1015045","1015046","1015047","1015048","1015049","1015050","1015051","1015052","1015053","1015054","1015055","1015056","1015057","1015058","1015059","1015060","1015061","1015062","1015063","1015064","1015065","1015066","1015067","1015068","1015069","1015070","1015629","1015630","1015717","1015718","1015719","1015720","1015721","1015722","1015723","1015724","1015725","1015726","1015727","1015728","1015729","1015730","1015731","1015732","1015733","1015734","1015735","1015736","1015737","1015738","1015739","1015740","1015741","1015996","1015997","1015998","1016169","1016632","1016658","1016812","1016813","1016814","1016815","1016816","1016878","1016880","1017818","1017819","1017820","1017821","1017822","1018429","1018430","1018610","1018611","1018612","1018613","1018614","1018615","1018752","1018753","1018898","1019169","1019170","1019171","1019694","1019695","1019696","1019697","1019698","1019699","1019700","1019701","1019818","1019819","1019821","1020826","1020827","1020828","1020829","1020830","1020831","1020832","1020833","1020835","1020836","1020837","1020838","1021809","1021832","1022116","1022117","1022246","1022247","1022358","1022359","1022360","1022361","1022362","1022363","1022364","1022365","1022366","1022367","1022368","1022369","1022370","1022371","1022372","1022373","1022374","1022375","1022376","1022377","1022378","1022379","1022380","1022381","1022382","1022448","1022449","1022450","1022451","1022452","1023418","1023420","1023421","1023423","1023424","1023425","1023426","1023427","1023428","1023429","1023430","1023431","1023432","1023433","1023434","1023435","1023436","1023437","1023930","1023943","1023944","1023945","1023991","1023992","1023993","1024276","1024277","1024278","1024288","1024430","1024431","1024432","1024433","1024434","1024435","1025010","1025011","1025012","1025013","1025014","1025015","1025016","1025017","1025018","1025019","1025020","1025021","1025022","1025023","1025024","1025025","1025026","1025027","1025154","1025155","1025156","1025157","1025158","1025425","1025530","1025531","1025532","1025533","1025534","1025535","1025536","1025537","1025538","1025539","1026116","1026117","1026118","1026119","1026120","1026544","1026545","1026546","1026547","1026548","1026549","1026550","1026551","1026552","1026553","1026554","1026555","1026556","1026992","1027109","1027110","1027111","1027112","1027113","1027114","1027534","1027535","1027536","1027537","1027538","1027539","1027540","1027541","1027542","1027543","1027544","1027545","1027546","1027547","1027548","1027549","1027550","1027551","1027552","1027553","1027554","1027555","1027556","1027557","1027558","1027559","1027560","1027561","1027578","1028215","1028374","1028375","1028376","1028377","1028378","1029069","1029070","1029218","1029393","1029395","1029396","1029928","1029930","1029931","1030010","1030141","1030656","1030657","1030658","1030659","1030660","1031000","1031542","1031644","1031645","1031646","1031647","1031648","1031649","1031650","1031651","1031652","1031653","1032891","1032892","1032893","1032894","1032895","1033080","1033081","1033082","1033083","1033504","1033506","1033507","1033508","1033509","1033510","1033511","1033512","1033586","1033587","1033589","1033726","1033728","1033729","1033730","1033731","1036659","1036690","1037902","1038370","1038822","1040749","1040910","1040911","1042821","1044315","1045937","1047728","1048310","1053824","1053904","1058052","1058053","1058095","1058102","1064610","1064961","1064971","1066148","1066172","1066173","1066174","1068805","1069594","1071194","1071519","1071614","1073398","1073933","1075387","1075681","1075701","1075895","1076117","1076203","1077224","1079425","1079708","1080357","1080359","1080360","1080361","1080362","1080363","1080364","1080365","1080366","1080367","1080368","1080369","1082021","1082573","1082618","1084122","1085471","1086064","1088532","1090622","1091045","1091070","1091770","1095210","1095959","1096490","1096491","1096811","1097663","1118070","1128424","1137420","1140243","1145085","1145088","1147789","1148572","1149034","1149036","1149046","1149049","1149050","1149051","1149052","1149053","1149054","1149055","1149056","1149057","1149058","1149059","1149062","1149063","1149066","1149370","1149938","1149940","1150435","1150436","1155051","1155052","1155072","1155073","1155074","1155075","1155089","1155164","1155166","1155204","1155359","1155644","1155832","1155833","1155904","1156324","1159099","1159102","1159104","1159105","1165127","1165502","1167678","1167811","1167812","1169899","1171621","1288272","1288274","1288276","1288279","1288281","1288282","1288286","1296659","1296878","1296880","1298474","1298475","1298477","1298478","1298479","1299121","1299124","1299125","1299528","1299824","1299825","1299826","1299829","1299831","1299832","1299834","1299835","1300857","1300859","1300860","1300861","1301086","1301088","1301089","1301090","1302734","1302735","1302737","1302738","1302939","1302941","1302942","1302943","1302944","1302945","1303463","1303465","1303824","1303825","1303826","1304622","1304624","1304626","1304628","1304629","1305120","1305121","1305711","1306190","1306402","1306404","1306405","1306699","1307014","1307015","1307019","1307021","1307022","1307299","1307302","1307481","1307483","1308117","1308120","1308407","1308790","1308791","1308955","1309217","1309868","1309869","1310010","1310011","1310013","1310017","1310019","1311115","1311116","1311118","1311119","1311120","1311122","1311123","1311124","1311125","1311128","1311129","1312872","1312873","1312876","1312877","1312879","1312880","1312881","1312883","1312884","1312885","1312886","1313264","1313265","1313267","1313269","1313607","1313608","1313614","1314109","1314110","1314467","1314471","1314472","1314473","1314474","1314475","1314476","1315076","1315597","1315600","1315602","1315603","1315766","1315767","1315768","1315769","1315770","1315771","1315773","1315774","1315775","1315776","1316027","1316028","1316031","1316032","1316033","1316037","1316039","1316040","1316041","1316043","1316044","1316045","1316046","1316690","1316693","1316695","1316696","1316697","1316698","1316699","1316700","1325130","1325134","1325139","1325140","1325141","1325144","1325148","1325149","1326440","1326441","1326443","1326446","1326447","1326448","1326450","1326452","1326453","1326454","1326455","1326456","1326641","1326642","1326644","1326645","1326646","1326653","1326655","1326656","1326657","1326658","1327425","1327427","1327429","1327432","1327433","1328137","1328138","1328140","1328141","1328143","1328145","1328147","1328148","1328151","1328152","1328153","1328155","1328156","1328485","1328700","1328702","1328705","1328706","1328707","1329482","1329483","1329487","1329488","1329489","1329492","1329493","1329496","1329498","1329500","1329501","1329503","1329504","1329505","1329508","1329509","1329510","1329511","1329512","1329515","1329516","1329518","1329519","1329520","1329521","1329522","1329523","1329524","1329525","1329528","1329530","1329531","1330811","1330813","1330814","1330815","1330816","1330818","1330824","1330826","1330827","1330828","1330831","1334029","1334030","1334031","1334033","1334034","1334035","1334036","1334038","1334040","1334041","1334043","1334044","1334047","1334048","1334050","1334053","1334054","1334057","1334058","1334063","1334067","1336227","1336228","1337062","1337064","1337065","1337066","1337073","1337635","1337636","1338311","1338312","1338314","1338316","1338317","1338318","1343261","1343266","1343267","1343268","1343269","1343270","1343271","1343273","1343274","1343277","1343281","1343282","1343283","1343284","1343285","1343287","1343288","1343290","1343294","1343295","1343298","1343299","1343303","1343304","1343305","1343308","1345824","1345825","1345826","1345830","1345832","1345833","1345835","1345839","1345840","1345841","1345842","1345843","1345844","1345847","1345848","1345850","1345852","1345855","1345857","1345858","1345860","1345861","1345862","1345863","1345864","1345865","1345866","1345868","1345869","1345870","1345871","1345873","1345874","1345875","1345877","1345881","1345882","1345883","1345884","1347216","1347218","1347222","1347223","1347225","1349526","1349528","1349529","1349530","1349533","1349534","1349536","1349538","1349540","1349541","1349542","1351208","1351211","1351213","1351214","1351216","1352246","1352249","1352253","1352254","1353304","1353307","1353308","1353311","1353312","1353318","1363782","1363783","1363787","1363788","1363790","1363791","1363792","1363795","1363799","1363801","1363802","1363805","1363806","1363808","1363809","1363811","1363812","1363813","1363814","1363815","1363816","1363817","1363818","1363819","1363826","1363828","1363829","1363830","1374826","1374828","1374829","1374831","1374835","1374836","1374839","1374841","1374842","1374844","1374847","1374848","1374851","1374853","1374855","1374857","1374858","1374861","1374862","1374863","1374864","1374865","1374866","1374867","1374869","1374871","1374875","1374876","1374879","1374880","1374881","1374882","1374884","1374885","1374886","1374887","1374889","1374891","1374892","1374893","1374895","1374898","1374899","1374901","1374902","1374903","1374904","1374905","1374906","1374912","1374913","1374915","1374916","1396717","1396719","1396720","1396721","1396723","1396724","1396727","1396728","1396729","1396730","1396731","1396732","1396735","1396737","1396743","1396745","1396747","1396748","1396749","1399986","1399991","1399995","1405034","1405036","1405038","1405039","1405042","1405043","1405045","1405046","1405048","1405049","1405050","1405054","1405055","1405056","1405061","1405062","1405063","1405064","1405065","1405066","1405067","1405068","1405070","1405074","1405075","1405078","1405080","1405081","1405082","1405083","1405084","1405085","1406818","1406820","1406822","1406823","1406825","1406828","1406829","1406830","1406832","1406838","1406839","1406840","1406841","1406842","1406843","1406844","1406845","1406846","1406847","1406849","1406852","1406856","1406859","1406860","1406861","1406862","1406863","1406865","1406866","1406867","1406868","1406869","1406870","1406871","1406872","1406873","1406874","1406875","1408454","1408455","1408457","1408458","1408460","1408461","1408463","1408464","1408465","1408467","1408468","1408471","1408476","1408477","1408478","1408479","1408480","1408481","1408482","1409769","1409770","1409775","1409780","1409783","1409785","1409786","1409787","1409788","1409789","1409792","1409793","1409795","1409796","1409797","1409798","1416228","1416229","1416236","1416237","1416239","1416241","1416243","1416245","1416247","1416248","1416249","1416251","1416252","1416255","1416256","1416257","1416258","1416259","1416260","1416261","1416262","1416263","1416265","1416266","1416268","1416269","1416271","1416272","1416273","1416276","1416277","1416278","1416280","1416281","1416282","1416284","1416288","1416289","1416290","1416291","1416292","1416294","1416296","1416297","1416299","1416300","1416302","1416305","1416306","1416307","1416310","1416311","1416312","1416313","1416315","1416316","1416317","1416318","1416323","1416325","1416327","1416328","1416329","1416334","1421345","1421346","1421352","1424607","1424608","1424609","1424610","1424615","1424617","1424619","1424620","1424621","1424622","1424624","1424625","1424626","1424627","1424629","1426071","1426073","1426076","1426079","1426080","1426081","1426083","1426085","1426088","1426089","1426090","1426095","1426098","1426100","1426102","1426104","1426105","1426106","1427498","1427501","1427502","1427503","1427504","1427505","1427507","1427508","1427511","1427513","1427514","1427515","1427516","1427517","1428741","1428742","1428743","1428744","1428746","1430261","1430262","1430264","1430265","1430268","1430271","1430274","1430275","1430278","1430279","1430280","1430281","1430283","1430284","1430285","1430286","1430287","1430291","1430292","1430293","1430296","1430297","1430299","1430300","1430302","1430303","1432479","1432485","1432486","1432491","1432492","1432494","1432495","1432496","1433449","1433451","1433452","1433453","1433454","1434374","1434376","1434378","1434379","1434382","1434383","1434384","1435151","1435154","1435839","1436563","1436566","1436567","1436570","1436571","1436572","1436573","1437365","1437366","1437368","1437371","1437372","1437373","1437374","1437377","1437379","1438073","1438074","1438075","1438081","1438083","1438084","1438085","1438086","1438087","1438089","1438092","1438093","1438094","1438095","1438096","1438097","1438100","1438799","1438802","1438803","1438804","1438805","1438810","1438811","1438812","1438813","1438816","1439456","1439457","1439459","1439462","1439466","1439467","1439468","1440045","1440047","1440051","1440053","1440054","1440056","1440057","1440059","1440594","1440595","1440598","1440600","1440602","1440604","1440607","1442593","1442594","1442597","1442603","1442604","1442605","1442606","1442609","1442614","1442618","1442619","1463688","1463695","1463699","1463700","1463702","1463703","1463706","1463707","1463710","1463711","1463713","1463714","1463719","1463720","1463721","1463723","1463725","1463726","1463727","1463728","1463729","1463730","1463731","1463732","1463734","1463736","1463739","1463741","1463742","1463743","1463744","1463745","1463746","1463747","1463750","1463751","1463754","1463755","1463757","1463758","1463759","1463760","1463761","1463765","1463769","1463772","1463773","1463774","1463775","1463776","1463777","1463778","1463779","1463780","1463781","1463782","1463784","1463785","1463787","1463788","1463790","1463793","1463794","1463795","1463796","1463798","1463799","1463800","1463801","1463802","1463803","1463807","1463809","1463810","1463811","1463813","1463815","1463817","1463818","1463819","1463820","1463823","1463824","1463825","1463826","1463827","1463830","1463833","1463835","1463836","1463837","1463838","1463840","1463844","1463845","1463847","1463851","1463852","1463854","1463855","1463858","1463860","1463863","1463865","1463866","1463869","1463874","1463875","1463878","1463879","1463883","1463884","1463885","1463888","1463889","1463890","1463891","1463892","1463893","1463896","1463899","1463903","1463906","1463909","1463910","1463913","1463916","1463917","1463919","1469577","1469580","1469581","1469582","1469583","1469587","1469590","1469594","1469595","1469596","1469597","1469598","1469599","1469601","1469602","1469603","1469604","1469607","1469608","1469611","1469612","1469613","1469614","1469616","1469617","1469620","1469621","1469622","1469624","1469629","1469631","1469633","1469636","1469638","1469639","1469640","1469641","1469644","1469646","1469647","1469649","1469650","1469651","1469652","1469655","1469657","1469658","1469660","1469661","1469662","1469663","1469665","1469666","1469668","1477322","1477323","1477324","1477325","1477332","1477337","1477339","1477340","1477342","1477346","1477348","1477349","1477353","1477354","1477355","1477357","1477358","1477360","1477361","1477362","1477363","1477364","1477367","1477368","1477370","1477372","1477374","1477375","1477376","1477377","1477378","1477379","1477380","1477381","1477382","1477383","1477385","1477386","1477389","1477390","1477391","1477392","1477395","1477397","1477398","1477401","1477402","1477404","1477405","1480128","1480130","1480131","1480134","1480137","1480142","1480143","1480146","1480147","1480149","1480154","1480156","1480157","1480159","1480161","1480162","1480163","1480164","1480165","1480166","1480169","1480171","1480175","1480177","1480181","1480182","1480184","1480185","1480186","1480187","1480188","1482330","1482332","1482334","1482335","1482337","1482338","1482340","1482341","1482343","1482344","1482348","1482349","1482351","1482353","1482354","1482355","1482357","1482358","1482359","1482360","1482364","1482365","1482367","1482368","1482369","1482371","1482372","1482373","1482377","1482378","1482379","1482380","1482383","1482384","1482386","1482387","1482389","1482390","1485775","1485776","1485777","1485778","1485780","1485782","1485784","1485785","1485786","1485788","1485789","1485791","1485792","1485793","1485795","1485796","1485800","1485802","1485804","1485805","1485806","1485807","1485808","1485809","1485812","1485813","1485814","1485815","1485816","1485817","1485818","1485819","1485820","1485821","1485824","1485826","1485828","1485830","1485831","1485832","1485834","1485836","1485840","1485842","1485843","1485846","1485847","1485848","1485849","1485851","1485856","1485857","1485860","1485863","1485864","1485866","1485868","1485869","1485870","1485872","1485875","1485876","1485877","1485879","1485880","1485881","1485882","1496254","1496256","1496260","1496262","1496263","1496264","1496269","1496271","1496272","1496273","1496274","1496275","1496277","1496279","1496280","1496281","1496284","1496285","1496286","1496289","1496291","1496292","1496294","1496296","1496297","1496298","1496299","1496300","1496302","1496304","1496305","1496310","1496311","1496313","1496314","1504651","1508623","1508629","1508630","1508633","1508634","1508635","1508641","1508642","1508644","1508645","1508646","1508648","1508649","1508652","1508653","1508654","1508655","1508658","1508660","1508661","1508662","1508663","1508666","1508668","1508669","1508671","1508674","1508676","1508678","1508680","1508682","1508685","1508686","1508687","1512579","1512580","1512582","1512583","1512586","1512587","1512590","1512594","1512597","1512598","1512599","1512600","1512601","1512602","1512604","1512606","1512607","1512608","1512609","1512610","1512613","1512616","1512617","1512618","1512621","1512622","1512623","1512624","1512625","1512627","1512628","1512629","1512630","1512632","1512636","1512637","1512638","1512640","1512642","1512643","1512644","1512645","1512646","1512648","1512650","1512651","1512652","1512653","1512655","1512656","1512658","1512659","1512660","1512664","1512665","1512666","1512667","1512668","1512669","1512670","1512672","1512673","1512674","1512675","1512676","1512679","1512680","1512682","1512683","1512686","1512687","1512688","1512690","1512691","1512692","1512695","1512696","1518146","1518148","1518149","1518150","1518152","1518154","1518163","1518164","1518165","1518166","1518171","1518174","1518175","1518177","1518179","1518180","1518184","1520564","1520565","1520567","1520570","1520574","1520576","1520577","1520583","1520585","1520588","1520589","1520593","1520594","1520596","1520598","1520599","1520600","1520602","1520604","1520605","1520607","1520609","1520610","1522295","1522296","1522299","1522302","1522303","1522305","1522306","1522308","1522310","1522311","1522316","1522318","1522319","1522320","1522322","1522324","1522325","1522326","1522327","1522328","1522329","1522332","1522333","1522334","1522335","1522337","1522338","1522339","1522340","1522341","1522343","1522346","1522347","1522348","1522349","1522350","1522351","1522353","1522356","1522360","1526342","1526344","1526347","1526349","1526353","1526354","1526356","1526358","1526362","1526364","1526365","1526373","1526374","1526376","1528527","1528528","1528531","1528532","1528533","1528534","1528537","1528538","1528540","1528541","1528542","1528543","1528545","1528546","1528548","1528550","1528552","1528553","1528554","1528555","1528556","1528557","1528559","1528560","1528561","1528564","1528565","1528566","1528568","1528571","1528572","1528573","1528574","1528576","1528577","1528578","1528579","1528581","1528582","1528583","1528584","1528588","1528589","1528590","1528591","1528593","1528594","1528597","1528599","1528600","1562757","1562767","1562768","1562770","1562771","1562772","1562774","1562775","1562776","1562778","1562781","1562782","1562784","1562785","1562788","1562790","1562791","1562795","1562797","1562799","1562802","1562812","1562813","1562814","1562821","1562822","1562826","1562827","1562828","1562830","1562831","1562832","1562833","1562834","1562836","1562841","1562842","1562843","1562847","1562849","1562850","1562852","1562854","1562856","1562858","1562861","1562862","1562864","1562865","1562867","1562868","1562869","1562870","1562872","1562873","1562874","1562877","1562879","1562887","1562889","1562890","1562893","1562895","1562897","1562898","1562899","1562901","1562903","1562904","1562906","1562907","1562908","1562909","1562910","1562912","1562913","1562914","1562916","1562918","1562921","1562922","1562923","1562925","1562926","1562927","1562928","1562931","1562932","1562933","1562936","1562937","1562941","1562943","1562946","1562948","1562950","1562952","1562953","1562954","1562956","1562957","1562958","1562960","1562962","1562963","1562964","1562966","1562967","1562968","1562969","1562970","1562972","1562973","1562975","1562976","1562978","1562979","1562982","1562983","1562984","1562985","1562986","1562989","1562990","1562991","1562992","1562994","1562995","1562996","1562997","1562998","1562999","1563002","1563003","1563004","1563005","1563006","1563014","1563016","1563020","1563025","1563027","1563029","1563031","1563032","1563035","1563036","1563037","1563038","1563040","1563041","1563047","1563052","1563053","1563054","1563055","1563057","1563058","1563060","1563061","1563063","1563064","1563065","1563066","1563069","1563070","1563071","1563073","1563075","1563076","1563077","1563078","1563079","1563080","1563082","1563084","1563085","1563087","1563088","1563089","1563090","1563092","1563094","1563096","1563099","1563100","1563101","1563102","1563103","1563104","1563105","1563107","1563108","1563110","1563111","1563112","1563113","1563116","1563117","1563119","1563124","1563125","1563126","1563127","1563129","1563132","1563133","1563135","1563136","1563137","1563143","1563145","1563149","1563150","1563153","1563154","1563156","1563158","1563159","1563160","1563161","1563166","1563168","1563170","1563174","1563176","1563177","1563181","1563182","1563183","1563185","1563187","1563189","1563194","1563196","1563198","1563199","1563200","1563202","1563205","1563206","1563207","1563208","1563210","1563211","1563214","1563216","1563219","1598927","1598930","1598931","1598935","1598936","1598937","1598941","1598942","1598944","1598949","1598950","1598951","1598952","1598955","1598956","1598957","1598959","1598962","1598964","1598965","1598966","1598969","1598970","1598973","1598975","1598976","1598977","1598981","1598985","1598989","1598996","1598999","1599000","1599005","1599009","1599011","1599012","1616136","1616138","1616139","1616140","1616144","1616147","1616149","1616150","1616152","1616153","1617768","1617773","1617775","1617776","1617777","1617783","1617784","1617785","1617786","1617788","1619668","1619670","1619673","1619674","1619677","1619678","1619679","1619682","1619684","1619687","1619688","1619689","1619690","1619692","1619693","1619695","1619696","1619697","1619698","1619701","1619703","1619705","1619708","1619710","1619712","1619714","1619715","1619717","1619718","1619719","1619720","1619721","1619722","1619723","1619724","1619725","1619726","1619728","1622537","1622541","1622542","1622543","1624057","1624058","1624059","1624061","1624063","1624067","1624068","1624069","1624074","1624083","1626339","1626341","1626342","1626343","1626344","1626345","1626348","1626350","1626351","1626352","1626353","1626355","1626357","1626358","1626359","1626360","1626363","1626365","1626366","1626369","1626370","1626371","1626372","1626373","1626374","1626376","1626377","1626380","1626381","1634449","1634455","1634458","1634462","1634464","1634465","1634466","1634468","1634469","1634470","1634473","1634474","1634476","1634482","1634483","1634485","1634486","1634488","1634489","1634490","1634493","1634494","1634495","1634496","1634499","1634502","1634503","1634504","1634508","1634509","1634511","1634512","1634513","1634515","1634519","1634522","1634523","1634527","1634528","1634529","1634530","1634532","1634533","1634539","1634542","2100285","2107440")); reUidList.addAll(Arrays.asList("19381","31567","564716","576723","594087","594090","594093","594094","594095","594096","594098","594099","594103","594104","594105","594110","602101","657746","667575","670349","671941","672058","674586","681543","683782","689797","689798","689800","689801","689802","691573","693676","695030","696220","696221","696222","696223","696226","702549","704388","705552","707299","707831","711789","712554","713099","722479","744552","748006","754989","757179","775087","775373","786110","789071","798557","803278","803316","803327","803341","803364","803370","803377","803391","803428","803485","808374","811096","818000","822229","825939","827933","830970","832242","835894","840573","842485","848791","851807","852112","854894","854942","855559","859404","859405","861223","861260","862238","862867","862868","862869","864162","869026","869977","871255","872036","873874","873875","875392","875851","876703","876811","877542","878547","880245","880516","880772","883049","883537","883538","884752","885810","886775","887463","888684","888686","889467","891267","891268","891421","891559","892552","893811","893812","893828","893830","894665","896882","896924","898338","902701","904325","905073","905075","905133","905763","905764","905765","905868","907336","908024","908686","908687","910403","913886","913941","915549","917956","919573","927681","927693","933091","933092","937107","937108","937146","937147","937728","940442","943409","944057","944058","944059","944112","944197","944198","944199","946678","948145","948367","952544","954366","959861","959968","962337","963138","963691","963692","963833","963834","963835","963836","963837","964005","964383","964384","964385","964995","966267","967788","967790","968963","972309","974119","974465","976515","976923","978899","979030","979364","979464","981204","981390","981392","981395","981398","981399","981400","981401","981415","981416","981417","981418","981419","981426","981427","981428","981431","981433","981443","981446","981447","981448","981449","981453","981454","981455","981459","981461","981462","981464","981465","981467","981468","981472","981473","981474","981475","981476","981485","981486","981487","981488","981489","981493","981494","981495","981497","981498","981499","981500","981501","981506","981507","981515","981518","981520","981526","981527","981528","981547","981548","981549","981550","981551","981555","981558","981559","981568","981569","981572","981574","981575","981578","981580","981581","981582","981583","981587","981588","981589","981590","981591","981593","981595","981613","981624","981625","981626","981627","981628","981641","981642","981643","981644","981645","981646","981647","981648","981649","981650","981663","981667","981668","981669","981670","981671","981680","981681","981682","981686","981687","981688","981689","981690","981691","981692","981693","981694","981695","981696","981697","981698","981699","981701","981702","981712","981719","981720","981721","981722","981723","981726","981728","981729","981730","981731","981740","981741","981742","981749","981750","981751","981752","981753","981757","981770","981771","981772","981773","981774","981791","981792","981793","981794","981795","981796","981797","981798","981799","981800","981801","981802","981803","981804","981806","981808","981809","981810","981811","981813","982282","982484","982485","982520","982522","982524","982579","982581","982582","982583","982584","982959","983152","983154","983155","983860","983861","983862","983863","983864","983865","983866","983949","983950","984123","984533","984534","984641","984642","984643","984644","984645","984657","984658","984659","984660","984661","984662","984663","984664","984665","984666","984667","984668","984669","984670","984671","984672","984673","984674","984941","984942","984943","984944","984945","985335","985336","985337","985429","985430","985549","985893","985894","985895","985896","985897","985898","985899","985900","985901","985902","986930","986933","986934","986936","986938","986939","986940","986941","986942","986943","987010","987011","987012","987356","987357","987358","987366","987672","987673","987674","988426","988534","988536","988537","989004","989152","989269","989270","989271","989272","989837","989838","989840","989953","989954","989955","990668","990670","990671","990672","990673","991474","991475","991608","992305","992306","992307","992579","993112","993526","994291","994366","994370","994371","994372","994374","994375","994377","994380","994383","994384","994385","994386","994387","994389","994390","994936","995325","995872","995873","996291","996294","996295","996296","996298","996299","996300","996302","996303","996305","996306","996307","996308","996309","996311","996312","996313","996314","996315","996318","996319","996320","996322","996527","996873","998049","998051","998054","998055","998056","998058","998060","998062","998063","998066","998067","998068","998069","998071","998073","998075","998076","998077","998078","998079","998080","998082","998083","999176","999929","999931","999932","999933","999934","999935","999936","999938","999940","999942","999943","999946","999947","999948","999949","999950","1000444","1001236","1001237","1001238","1001440","1001442","1001443","1001892","1002777","1002778","1003426","1003427","1003428","1003429","1003430","1003633","1004263","1004264","1004381","1004478","1004479","1004480","1004481","1004482","1004485","1004826","1005625","1005626","1005920","1005921","1006457","1006459","1006460","1006461","1006462","1006463","1006464","1006465","1006466","1006468","1006470","1006471","1006472","1006748","1007104","1007285","1007286","1007287","1007288","1007289","1007290","1007291","1007293","1007294","1007295","1007296","1007297","1007299","1007300","1007302","1007303","1007304","1007305","1007306","1007307","1007308","1007309","1007312","1007313","1007314","1007315","1007317","1007318","1007319","1007321","1007863","1007865","1007866","1007867","1007868","1007869","1008145","1008146","1008147","1008148","1008512","1008513","1008939","1009075","1009076","1009152","1009285","1009286","1009288","1009289","1009290","1009560","1009561","1009562","1009798","1009809","1009810","1009811","1009813","1009814","1010050","1010526","1010527","1010528","1010529","1010530","1010532","1010740","1010741","1010958","1010960","1011400","1011401","1011419","1011420","1011838","1011840","1011841","1012003","1012004","1012005","1012006","1012009","1012010","1012011","1012012","1012013","1012178","1012179","1012180","1012181","1012182","1012205","1012524","1012525","1012526","1013223","1013224","1013225","1013226","1013450","1013451","1013452","1013453","1013454","1014090","1014693","1014694","1014695","1014696","1014697","1014698","1014845","1015044","1015045","1015046","1015047","1015048","1015049","1015050","1015051","1015052","1015053","1015054","1015055","1015056","1015057","1015058","1015059","1015060","1015061","1015062","1015063","1015064","1015065","1015066","1015067","1015068","1015069","1015070","1015629","1015630","1015717","1015718","1015719","1015720","1015721","1015722","1015723","1015724","1015725","1015726","1015727","1015728","1015729","1015730","1015731","1015732","1015733","1015734","1015735","1015736","1015737","1015738","1015739","1015740","1015741","1015996","1015997","1015998","1016169","1016632","1016658","1016812","1016813","1016814","1016815","1016816","1016878","1016880","1017818","1017819","1017820","1017821","1017822","1018429","1018430","1018610","1018611","1018612","1018613","1018614","1018615","1018752","1018753","1018898","1019169","1019170","1019171","1019694","1019695","1019696","1019697","1019698","1019699","1019700","1019701","1019818","1019819","1019821","1020826","1020827","1020828","1020829","1020830","1020831","1020832","1020833","1020835","1020836","1020837","1020838","1021809","1021832","1022116","1022117","1022246","1022247","1022358","1022359","1022360","1022361","1022362","1022363","1022364","1022365","1022366","1022367","1022368","1022369","1022370","1022371","1022372","1022373","1022374","1022375","1022376","1022377","1022378","1022379","1022380","1022381","1022382","1022448","1022449","1022450","1022451","1022452","1023418","1023420","1023421","1023423","1023424","1023425","1023426","1023427","1023428","1023429","1023430","1023431","1023432","1023433","1023434","1023435","1023436","1023437","1023930","1023943","1023944","1023945","1023991","1023992","1023993","1024276","1024277","1024278","1024288","1024430","1024431","1024432","1024433","1024434","1024435","1025010","1025011","1025012","1025013","1025014","1025015","1025016","1025017","1025018","1025019","1025020","1025021","1025022","1025023","1025024","1025025","1025026","1025027","1025154","1025155","1025156","1025157","1025158","1025425","1025530","1025531","1025532","1025533","1025534","1025535","1025536","1025537","1025538","1025539","1026116","1026117","1026118","1026119","1026120","1026544","1026545","1026546","1026547","1026548","1026549","1026550","1026551","1026552","1026553","1026554","1026555","1026556","1026992","1027109","1027110","1027111","1027112","1027113","1027114","1027534","1027535","1027536","1027537","1027538","1027539","1027540","1027541","1027542","1027543","1027544","1027545","1027546","1027547","1027548","1027549","1027550","1027551","1027552","1027553","1027554","1027555","1027556","1027557","1027558","1027559","1027560","1027561","1027578","1028215","1028374","1028375","1028376","1028377","1028378","1029069","1029070","1029218","1029393","1029395","1029396","1029928","1029930","1029931","1030010","1030141","1030656","1030657","1030658","1030659","1030660","1031000","1031542","1031644","1031645","1031646","1031647","1031648","1031649","1031650","1031651","1031652","1031653","1032891","1032892","1032893","1032894","1032895","1033080","1033081","1033082","1033083","1033504","1033506","1033507","1033508","1033509","1033510","1033511","1033512","1033586","1033587","1033589","1033726","1033728","1033729","1033730","1033731","1036659","1036690","1037902","1038370","1038822","1040749","1040910","1040911","1042821","1044315","1045937","1047728","1048310","1053824","1053904","1058052","1058053","1058095","1058102","1064610","1064961","1064971","1066148","1066172","1066173","1066174","1068805","1069594","1071194","1071519","1071614","1073398","1073933","1075387","1075681","1075701","1075895","1076117","1076203","1077224","1079425","1079708","1080357","1080359","1080360","1080361","1080362","1080363","1080364","1080365","1080366","1080367","1080368","1080369","1082021","1082573","1082618","1084122","1085471","1086064","1088532","1090622","1091045","1091070","1091770","1095210","1095959","1096490","1096491","1096811","1097663","1118070","1128424","1137420","1140243","1145085","1145088","1147789","1148572","1149034","1149036","1149046","1149049","1149050","1149051","1149052","1149053","1149054","1149055","1149056","1149057","1149058","1149059","1149062","1149063","1149066","1149370","1149938","1149940","1150435","1150436","1155051","1155052","1155072","1155073","1155074","1155075","1155089","1155164","1155166","1155204","1155359","1155644","1155832","1155833","1155904","1156324","1159099","1159102","1159104","1159105","1165127","1165502","1167678","1167811","1167812","1169899","1171621","1288272","1288274","1288276","1288279","1288281","1288282","1288286","1296659","1296878","1296880","1298474","1298475","1298477","1298478","1298479","1299121","1299124","1299125","1299528","1299824","1299825","1299826","1299829","1299831","1299832","1299834","1299835","1300857","1300859","1300860","1300861","1301086","1301088","1301089","1301090","1302734","1302735","1302737","1302738","1302939","1302941","1302942","1302943","1302944","1302945","1303463","1303465","1303824","1303825","1303826","1304622","1304624","1304626","1304628","1304629","1305120","1305121","1305711","1306190","1306402","1306404","1306405","1306699","1307014","1307015","1307019","1307021","1307022","1307299","1307302","1307481","1307483","1308117","1308120","1308407","1308790","1308791","1308955","1309217","1309868","1309869","1310010","1310011","1310013","1310017","1310019","1311115","1311116","1311118","1311119","1311120","1311122","1311123","1311124","1311125","1311128","1311129","1312872","1312873","1312876","1312877","1312879","1312880","1312881","1312883","1312884","1312885","1312886","1313264","1313265","1313267","1313269","1313607","1313608","1313614","1314109","1314110","1314467","1314471","1314472","1314473","1314474","1314475","1314476","1315076","1315597","1315600","1315602","1315603","1315766","1315767","1315768","1315769","1315770","1315771","1315773","1315774","1315775","1315776","1316027","1316028","1316031","1316032","1316033","1316037","1316039","1316040","1316041","1316043","1316044","1316045","1316046","1316690","1316693","1316695","1316696","1316697","1316698","1316699","1316700","1325130","1325134","1325139","1325140","1325141","1325144","1325148","1325149","1326440","1326441","1326443","1326446","1326447","1326448","1326450","1326452","1326453","1326454","1326455","1326456","1326641","1326642","1326644","1326645","1326646","1326653","1326655","1326656","1326657","1326658","1327425","1327427","1327429","1327432","1327433","1328137","1328138","1328140","1328141","1328143","1328145","1328147","1328148","1328151","1328152","1328153","1328155","1328156","1328485","1328700","1328702","1328705","1328706","1328707","1329482","1329483","1329487","1329488","1329489","1329492","1329493","1329496","1329498","1329500","1329501","1329503","1329504","1329505","1329508","1329509","1329510","1329511","1329512","1329515","1329516","1329518","1329519","1329520","1329521","1329522","1329523","1329524","1329525","1329528","1329530","1329531","1330811","1330813","1330814","1330815","1330816","1330818","1330824","1330826","1330827","1330828","1330831","1334029","1334030","1334031","1334033","1334034","1334035","1334036","1334038","1334040","1334041","1334043","1334044","1334047","1334048","1334050","1334053","1334054","1334057","1334058","1334063","1334067","1336227","1336228","1337062","1337064","1337065","1337066","1337073","1337635","1337636","1338311","1338312","1338314","1338316","1338317","1338318","1343261","1343266","1343267","1343268","1343269","1343270","1343271","1343273","1343274","1343277","1343281","1343282","1343283","1343284","1343285","1343287","1343288","1343290","1343294","1343295","1343298","1343299","1343303","1343304","1343305","1343308","1345824","1345825","1345826","1345830","1345832","1345833","1345835","1345839","1345840","1345841","1345842","1345843","1345844","1345847","1345848","1345850","1345852","1345855","1345857","1345858","1345860","1345861","1345862","1345863","1345864","1345865","1345866","1345868","1345869","1345870","1345871","1345873","1345874","1345875","1345877","1345881","1345882","1345883","1345884","1347216","1347218","1347222","1347223","1347225","1349526","1349528","1349529","1349530","1349533","1349534","1349536","1349538","1349540","1349541","1349542","1351208","1351211","1351213","1351214","1351216","1352246","1352249","1352253","1352254","1353304","1353307","1353308","1353311","1353312","1353318","1363782","1363783","1363787","1363788","1363790","1363791","1363792","1363795","1363799","1363801","1363802","1363805","1363806","1363808","1363809","1363811","1363812","1363813","1363814","1363815","1363816","1363817","1363818","1363819","1363826","1363828","1363829","1363830","1374826","1374828","1374829","1374831","1374835","1374836","1374839","1374841","1374842","1374844","1374847","1374848","1374851","1374853","1374855","1374857","1374858","1374861","1374862","1374863","1374864","1374865","1374866","1374867","1374869","1374871","1374875","1374876","1374879","1374880","1374881","1374882","1374884","1374885","1374886","1374887","1374889","1374891","1374892","1374893","1374895","1374898","1374899","1374901","1374902","1374903","1374904","1374905","1374906","1374912","1374913","1374915","1374916","1396717","1396719","1396720","1396721","1396723","1396724","1396727","1396728","1396729","1396730","1396731","1396732","1396735","1396737","1396743","1396745","1396747","1396748","1396749","1399986","1399991","1399995","1405034","1405036","1405038","1405039","1405042","1405043","1405045","1405046","1405048","1405049","1405050","1405054","1405055","1405056","1405061","1405062","1405063","1405064","1405065","1405066","1405067","1405068","1405070","1405074","1405075","1405078","1405080","1405081","1405082","1405083","1405084","1405085","1406818","1406820","1406822","1406823","1406825","1406828","1406829","1406830","1406832","1406838","1406839","1406840","1406841","1406842","1406843","1406844","1406845","1406846","1406847","1406849","1406852","1406856","1406859","1406860","1406861","1406862","1406863","1406865","1406866","1406867","1406868","1406869","1406870","1406871","1406872","1406873","1406874","1406875","1408454","1408455","1408457","1408458","1408460","1408461","1408463","1408464","1408465","1408467","1408468","1408471","1408476","1408477","1408478","1408479","1408480","1408481","1408482","1409769","1409770","1409775","1409780","1409783","1409785","1409786","1409787","1409788","1409789","1409792","1409793","1409795","1409796","1409797","1409798","1416228","1416229","1416236","1416237","1416239","1416241","1416243","1416245","1416247","1416248","1416249","1416251","1416252","1416255","1416256","1416257","1416258","1416259","1416260","1416261","1416262","1416263","1416265","1416266","1416268","1416269","1416271","1416272","1416273","1416276","1416277","1416278","1416280","1416281","1416282","1416284","1416288","1416289","1416290","1416291","1416292","1416294","1416296","1416297","1416299","1416300","1416302","1416305","1416306","1416307","1416310","1416311","1416312","1416313","1416315","1416316","1416317","1416318","1416323","1416325","1416327","1416328","1416329","1416334","1421345","1421346","1421352","1424607","1424608","1424609","1424610","1424615","1424617","1424619","1424620","1424621","1424622","1424624","1424625","1424626","1424627","1424629","1426071","1426073","1426076","1426079","1426080","1426081","1426083","1426085","1426088","1426089","1426090","1426095","1426098","1426100","1426102","1426104","1426105","1426106","1427498","1427501","1427502","1427503","1427504","1427505","1427507","1427508","1427511","1427513","1427514","1427515","1427516","1427517","1428741","1428742","1428743","1428744","1428746","1430261","1430262","1430264","1430265","1430268","1430271","1430274","1430275","1430278","1430279","1430280","1430281","1430283","1430284","1430285","1430286","1430287","1430291","1430292","1430293","1430296","1430297","1430299","1430300","1430302","1430303","1432479","1432485","1432486","1432491","1432492","1432494","1432495","1432496","1433449","1433451","1433452","1433453","1433454","1434374","1434376","1434378","1434379","1434382","1434383","1434384","1435151","1435154","1435839","1436563","1436566","1436567","1436570","1436571","1436572","1436573","1437365","1437366","1437368","1437371","1437372","1437373","1437374","1437377","1437379","1438073","1438074","1438075","1438081","1438083","1438084","1438085","1438086","1438087","1438089","1438092","1438093","1438094","1438095","1438096","1438097","1438100","1438799","1438802","1438803","1438804","1438805","1438810","1438811","1438812","1438813","1438816","1439456","1439457","1439459","1439462","1439466","1439467","1439468","1440045","1440047","1440051","1440053","1440054","1440056","1440057","1440059","1440594","1440595","1440598","1440600","1440602","1440604","1440607","1442593","1442594","1442597","1442603","1442604","1442605","1442606","1442609","1442614","1442618","1442619","1463688","1463695","1463699","1463700","1463702","1463703","1463706","1463707","1463710","1463711","1463713","1463714","1463719","1463720","1463721","1463723","1463725","1463726","1463727","1463728","1463729","1463730","1463731","1463732","1463734","1463736","1463739","1463741","1463742","1463743","1463744","1463745","1463746","1463747","1463750","1463751","1463754","1463755","1463757","1463758","1463759","1463760","1463761","1463765","1463769","1463772","1463773","1463774","1463775","1463776","1463777","1463778","1463779","1463780","1463781","1463782","1463784","1463785","1463787","1463788","1463790","1463793","1463794","1463795","1463796","1463798","1463799","1463800","1463801","1463802","1463803","1463807","1463809","1463810","1463811","1463813","1463815","1463817","1463818","1463819","1463820","1463823","1463824","1463825","1463826","1463827","1463830","1463833","1463835","1463836","1463837","1463838","1463840","1463844","1463845","1463847","1463851","1463852","1463854","1463855","1463858","1463860","1463863","1463865","1463866","1463869","1463874","1463875","1463878","1463879","1463883","1463884","1463885","1463888","1463889","1463890","1463891","1463892","1463893","1463896","1463899","1463903","1463906","1463909","1463910","1463913","1463916","1463917","1463919","1469577","1469580","1469581","1469582","1469583","1469587","1469590","1469594","1469595","1469596","1469597","1469598","1469599","1469601","1469602","1469603","1469604","1469607","1469608","1469611","1469612","1469613","1469614","1469616","1469617","1469620","1469621","1469622","1469624","1469629","1469631","1469633","1469636","1469638","1469639","1469640","1469641","1469644","1469646","1469647","1469649","1469650","1469651","1469652","1469655","1469657","1469658","1469660","1469661","1469662","1469663","1469665","1469666","1469668","1477322","1477323","1477324","1477325","1477332","1477337","1477339","1477340","1477342","1477346","1477348","1477349","1477353","1477354","1477355","1477357","1477358","1477360","1477361","1477362","1477363","1477364","1477367","1477368","1477370","1477372","1477374","1477375","1477376","1477377","1477378","1477379","1477380","1477381","1477382","1477383","1477385","1477386","1477389","1477390","1477391","1477392","1477395","1477397","1477398","1477401","1477402","1477404","1477405","1480128","1480130","1480131","1480134","1480137","1480142","1480143","1480146","1480147","1480149","1480154","1480156","1480157","1480159","1480161","1480162","1480163","1480164","1480165","1480166","1480169","1480171","1480175","1480177","1480181","1480182","1480184","1480185","1480186","1480187","1480188","1482330","1482332","1482334","1482335","1482337","1482338","1482340","1482341","1482343","1482344","1482348","1482349","1482351","1482353","1482354","1482355","1482357","1482358","1482359","1482360","1482364","1482365","1482367","1482368","1482369","1482371","1482372","1482373","1482377","1482378","1482379","1482380","1482383","1482384","1482386","1482387","1482389","1482390","1485775","1485776","1485777","1485778","1485780","1485782","1485784","1485785","1485786","1485788","1485789","1485791","1485792","1485793","1485795","1485796","1485800","1485802","1485804","1485805","1485806","1485807","1485808","1485809","1485812","1485813","1485814","1485815","1485816","1485817","1485818","1485819","1485820","1485821","1485824","1485826","1485828","1485830","1485831","1485832","1485834","1485836","1485840","1485842","1485843","1485846","1485847","1485848","1485849","1485851","1485856","1485857","1485860","1485863","1485864","1485866","1485868","1485869","1485870","1485872","1485875","1485876","1485877","1485879","1485880","1485881","1485882","1496254","1496256","1496260","1496262","1496263","1496264","1496269","1496271","1496272","1496273","1496274","1496275","1496277","1496279","1496280","1496281","1496284","1496285","1496286","1496289","1496291","1496292","1496294","1496296","1496297","1496298","1496299","1496300","1496302","1496304","1496305","1496310","1496311","1496313","1496314","1504651","1508623","1508629","1508630","1508633","1508634","1508635","1508641","1508642","1508644","1508645","1508646","1508648","1508649","1508652","1508653","1508654","1508655","1508658","1508660","1508661","1508662","1508663","1508666","1508668","1508669","1508671","1508674","1508676","1508678","1508680","1508682","1508685","1508686","1508687","1512579","1512580","1512582","1512583","1512586","1512587","1512590","1512594","1512597","1512598","1512599","1512600","1512601","1512602","1512604","1512606","1512607","1512608","1512609","1512610","1512613","1512616","1512617","1512618","1512621","1512622","1512623","1512624","1512625","1512627","1512628","1512629","1512630","1512632","1512636","1512637","1512638","1512640","1512642","1512643","1512644","1512645","1512646","1512648","1512650","1512651","1512652","1512653","1512655","1512656","1512658","1512659","1512660","1512664","1512665","1512666","1512667","1512668","1512669","1512670","1512672","1512673","1512674","1512675","1512676","1512679","1512680","1512682","1512683","1512686","1512687","1512688","1512690","1512691","1512692","1512695","1512696","1518146","1518148","1518149","1518150","1518152","1518154","1518163","1518164","1518165","1518166","1518171","1518174","1518175","1518177","1518179","1518180","1518184","1520564","1520565","1520567","1520570","1520574","1520576","1520577","1520583","1520585","1520588","1520589","1520593","1520594","1520596","1520598","1520599","1520600","1520602","1520604","1520605","1520607","1520609","1520610","1522295","1522296","1522299","1522302","1522303","1522305","1522306","1522308","1522310","1522311","1522316","1522318","1522319","1522320","1522322","1522324","1522325","1522326","1522327","1522328","1522329","1522332","1522333","1522334","1522335","1522337","1522338","1522339","1522340","1522341","1522343","1522346","1522347","1522348","1522349","1522350","1522351","1522353","1522356","1522360","1526342","1526344","1526347","1526349","1526353","1526354","1526356","1526358","1526362","1526364","1526365","1526373","1526374","1526376","1528527","1528528","1528531","1528532","1528533","1528534","1528537","1528538","1528540","1528541","1528542","1528543","1528545","1528546","1528548","1528550","1528552","1528553","1528554","1528555","1528556","1528557","1528559","1528560","1528561","1528564","1528565","1528566","1528568","1528571","1528572","1528573","1528574","1528576","1528577","1528578","1528579","1528581","1528582","1528583","1528584","1528588","1528589","1528590","1528591","1528593","1528594","1528597","1528599","1528600","1562757","1562767","1562768","1562770","1562771","1562772","1562774","1562775","1562776","1562778","1562781","1562782","1562784","1562785","1562788","1562790","1562791","1562795","1562797","1562799","1562802","1562812","1562813","1562814","1562821","1562822","1562826","1562827","1562828","1562830","1562831","1562832","1562833","1562834","1562836","1562841","1562842","1562843","1562847","1562849","1562850","1562852","1562854","1562856","1562858","1562861","1562862","1562864","1562865","1562867","1562868","1562869","1562870","1562872","1562873","1562874","1562877","1562879","1562887","1562889","1562890","1562893","1562895","1562897","1562898","1562899","1562901","1562903","1562904","1562906","1562907","1562908","1562909","1562910","1562912","1562913","1562914","1562916","1562918","1562921","1562922","1562923","1562925","1562926","1562927","1562928","1562931","1562932","1562933","1562936","1562937","1562941","1562943","1562946","1562948","1562950","1562952","1562953","1562954","1562956","1562957","1562958","1562960","1562962","1562963","1562964","1562966","1562967","1562968","1562969","1562970","1562972","1562973","1562975","1562976","1562978","1562979","1562982","1562983","1562984","1562985","1562986","1562989","1562990","1562991","1562992","1562994","1562995","1562996","1562997","1562998","1562999","1563002","1563003","1563004","1563005","1563006","1563014","1563016","1563020","1563025","1563027","1563029","1563031","1563032","1563035","1563036","1563037","1563038","1563040","1563041","1563047","1563052","1563053","1563054","1563055","1563057","1563058","1563060","1563061","1563063","1563064","1563065","1563066","1563069","1563070","1563071","1563073","1563075","1563076","1563077","1563078","1563079","1563080","1563082","1563084","1563085","1563087","1563088","1563089","1563090","1563092","1563094","1563096","1563099","1563100","1563101","1563102","1563103","1563104","1563105","1563107","1563108","1563110","1563111","1563112","1563113","1563116","1563117","1563119","1563124","1563125","1563126","1563127","1563129","1563132","1563133","1563135","1563136","1563137","1563143","1563145","1563149","1563150","1563153","1563154","1563156","1563158","1563159","1563160","1563161","1563166","1563168","1563170","1563174","1563176","1563177","1563181","1563182","1563183","1563185","1563187","1563189","1563194","1563196","1563198","1563199","1563200","1563202","1563205","1563206","1563207","1563208","1563210","1563211","1563214","1563216","1563219","1598927","1598930","1598931","1598935","1598936","1598937","1598941","1598942","1598944","1598949","1598950","1598951","1598952","1598955","1598956","1598957","1598959","1598962","1598964","1598965","1598966","1598969","1598970","1598973","1598975","1598976","1598977","1598981","1598985","1598989","1598996","1598999","1599000","1599005","1599009","1599011","1599012","1616136","1616138","1616139","1616140","1616144","1616147","1616149","1616150","1616152","1616153","1617768","1617773","1617775","1617776","1617777","1617783","1617784","1617785","1617786","1617788","1619668","1619670","1619673","1619674","1619677","1619678","1619679","1619682","1619684","1619687","1619688","1619689","1619690","1619692","1619693","1619695","1619696","1619697","1619698","1619701","1619703","1619705","1619708","1619710","1619712","1619714","1619715","1619717","1619718","1619719","1619720","1619721","1619722","1619723","1619724","1619725","1619726","1619728","1622537","1622541","1622542","1622543","1624057","1624058","1624059","1624061","1624063","1624067","1624068","1624069","1624074","1624083","1626339","1626341","1626342","1626343","1626344","1626345","1626348","1626350","1626351","1626352","1626353","1626355","1626357","1626358","1626359","1626360","1626363","1626365","1626366","1626369","1626370","1626371","1626372","1626373","1626374","1626376","1626377","1626380","1626381","1634449","1634455","1634458","1634462","1634464","1634465","1634466","1634468","1634469","1634470","1634473","1634474","1634476","1634482","1634483","1634485","1634486","1634488","1634489","1634490","1634493","1634494","1634495","1634496","1634499","1634502","1634503","1634504","1634508","1634509","1634511","1634512","1634513","1634515","1634519","1634522","1634523","1634527","1634528","1634529","1634530","1634532","1634533","1634539","1634542","2100285","2107440"));
} }
public static final String DB_DRIVER = "com.mysql.cj.jdbc.Driver"; public static final String DB_DRIVER = "com.mysql.cj.jdbc.Driver";
public static final String DB_URL = "jdbc:mysql://pc-2ze6z2hxkug559q79.mysql.polardb.rds.aliyuncs.com:3306/";
// public static final String DB_URL = "jdbc:mysql://zhengzai.mysql.polardb.rds.aliyuncs.com:3306/"; // public static final String DB_URL = "jdbc:mysql://zhengzai.mysql.polardb.rds.aliyuncs.com:3306/";
public static final String DB_URL = "jdbc:mysql://pc-2ze6z2hxkug559q79.mysql.polardb.rds.aliyuncs.com:3306/";
public static final String DB_USER = "readonly"; public static final String DB_USER = "readonly";
public static final String DB_PWD = "ZWDsf8Fy"; public static final String DB_PWD = "ZWDsf8Fy";
public static final String DB_NAME_PASSPORT = "passport"; public static final String DB_NAME_PASSPORT = "passport";
public static final String DB_NAME_MALL = "mall"; public static final String DB_NAME_MALL = "mall";
// public static final String DB_URL = "jdbc:mysql://39.106.122.201:3308/";
// public static final String DB_USER = "testmall";
// public static final String DB_PWD = "zhengzai!mYT";
// public static final String DB_NAME_PASSPORT = "devpassport";
@Autowired @Autowired
public MongoTemplate mongoTemplate; public MongoTemplate mongoTemplate;
@Autowired @Autowired
......
...@@ -415,7 +415,7 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe ...@@ -415,7 +415,7 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
s = System.currentTimeMillis(); s = System.currentTimeMillis();
rabbitTemplate.convertAndSend(MQConst.EX_LNS_SQL_UCENTER, MQConst.RK_SQL_UMEMBER, rabbitTemplate.convertAndSend(MQConst.EX_LNS_SQL_UCENTER, MQConst.RK_SQL_UMEMBER,
SqlMapping.gets(toMqSqls, updateMemberCodeObjs, initMemberOrderObjs, upsertUserMemberObjs)); SqlMapping.gets(toMqSqls, upsertUserMemberObjs, updateMemberCodeObjs, initMemberOrderObjs));
log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s); log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s);
AdamMemberOrderResult result = AdamMemberOrderResult.getNew(); AdamMemberOrderResult result = AdamMemberOrderResult.getNew();
......
...@@ -20,6 +20,7 @@ public class KylinUtils { ...@@ -20,6 +20,7 @@ public class KylinUtils {
@Autowired @Autowired
private RedisUtil redisUtil; private RedisUtil redisUtil;
/** /**
* @param userId 用户id * @param userId 用户id
* @param type 1新增 2修改 * @param type 1新增 2修改
...@@ -31,13 +32,13 @@ public class KylinUtils { ...@@ -31,13 +32,13 @@ public class KylinUtils {
KylinOrderListVo voItem = new KylinOrderListVo(); KylinOrderListVo voItem = new KylinOrderListVo();
KylinOrderTicketVo data; KylinOrderTicketVo data;
if (dataSingle == null) { if (dataSingle == null) {
data = (KylinOrderTicketVo)redisUtil.get(KylinRedisConst.ORDER + orderId); data = (KylinOrderTicketVo) redisUtil.get(KylinRedisConst.ORDER + orderId);
} else { } else {
data = dataSingle; data = dataSingle;
} }
BeanUtils.copyProperties(data, voItem); BeanUtils.copyProperties(data, voItem);
List<KylinOrderListVo> redisData = (List<KylinOrderListVo>) redisUtil.get(KylinRedisConst.ORDER_LIST + userId); List<KylinOrderListVo> redisData = (List<KylinOrderListVo>) redisUtil.get(KylinRedisConst.ORDER_LIST + userId);
if(type == 1) { if (type == 1) {
redisVo.add(voItem); redisVo.add(voItem);
if (redisData.size() > 0) { if (redisData.size() > 0) {
if (redisData.get(0).getOrderTicketsId().equals(orderId)) { if (redisData.get(0).getOrderTicketsId().equals(orderId)) {
...@@ -63,7 +64,7 @@ public class KylinUtils { ...@@ -63,7 +64,7 @@ public class KylinUtils {
if (redisVo.size() == 0) { if (redisVo.size() == 0) {
vo.add(voItem); vo.add(voItem);
} }
redisUtil.set(KylinRedisConst.ORDER_LIST + userId,vo); redisUtil.set(KylinRedisConst.ORDER_LIST + userId, vo);
return true; return true;
case 2: case 2:
for (int i = 0; i < redisVo.size(); i++) { for (int i = 0; i < redisVo.size(); i++) {
...@@ -76,7 +77,7 @@ public class KylinUtils { ...@@ -76,7 +77,7 @@ public class KylinUtils {
vo.add(redisVo.get(i)); vo.add(redisVo.get(i));
} }
} }
redisUtil.set(KylinRedisConst.ORDER_LIST + userId,vo); redisUtil.set(KylinRedisConst.ORDER_LIST + userId, vo);
return true; return true;
default: default:
return false; return false;
...@@ -116,56 +117,65 @@ public class KylinUtils { ...@@ -116,56 +117,65 @@ public class KylinUtils {
String ticketIdKey = redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + ticketId; String ticketIdKey = redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + ticketId;
String ticketUseTimeKey = ticketIdKey + ":" + KylinRedisConst.USE_TIME; String ticketUseTimeKey = ticketIdKey + ":" + KylinRedisConst.USE_TIME;
redisUtil.set(ticketUseTimeKey, useTime); redisUtil.set(ticketUseTimeKey, useTime);
if (buyCount > 0) { if (buyCount > 0) {
redisUtil.incr(ticketIdKey, buyCount); redisUtil.incr(ticketIdKey, buyCount);
if (1 == ticketType) {
int count = 0;
for (int i = 0; i < allTicketId.get(useTime).size(); i++) {
String item = allTicketId.get(useTime).get(i);
if (allTicketId.get(useTime).size() == 1) {
redisUtil.incr(performanceIdKey, buyCount);
break;
}
if (null == redisUtil.get(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item)) {
redisUtil.set(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item, 0);
}
if (i == 0) {
count = (int) redisUtil.get(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item);
} else {
if (count != (int) redisUtil.get(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item)) {
redisUtil.incr(performanceIdKey, buyCount); redisUtil.incr(performanceIdKey, buyCount);
break;
}
}
}
} else {
redisUtil.incr(performanceIdKey, buyCount);
}
} else { } else {
redisUtil.decr(ticketIdKey, Math.abs(buyCount)); redisUtil.decr(ticketIdKey, Math.abs(buyCount));
if (1 == ticketType) {
int count = 0;
for (int i = 0; i < allTicketId.get(useTime).size(); i++) {
String item = allTicketId.get(useTime).get(i);
if (allTicketId.get(useTime).size() == 1) {
redisUtil.decr(performanceIdKey, Math.abs(buyCount)); redisUtil.decr(performanceIdKey, Math.abs(buyCount));
break;
}
if (null == redisUtil.get(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item)) {
redisUtil.set(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item, 0);
}
if (i == 0) {
count = (int) redisUtil.get(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item);
} else {
if (count != (int) redisUtil.get(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item)) {
redisUtil.decr(performanceIdKey, Math.abs(buyCount));
break;
}
}
}
} else {
redisUtil.decr(performanceIdKey, Math.abs(buyCount));
}
} }
// if (buyCount > 0) {
// redisUtil.incr(ticketIdKey, buyCount);
// if (1 == ticketType) {
// int count = 0;
// for (int i = 0; i < allTicketId.get(useTime).size(); i++) {
// String item = allTicketId.get(useTime).get(i);
// if (allTicketId.get(useTime).size() == 1) {
// redisUtil.incr(performanceIdKey, buyCount);
// break;
// }
// if (null == redisUtil.get(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item)) {
// redisUtil.set(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item, 0);
// }
// if (i == 0) {
// count = (int) redisUtil.get(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item);
// } else {
// if (count != (int) redisUtil.get(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item)) {
// redisUtil.incr(performanceIdKey, buyCount);
// break;
// }
// }
// }
// } else {
// redisUtil.incr(performanceIdKey, buyCount);
// }
// } else {
// redisUtil.decr(ticketIdKey, Math.abs(buyCount));
// if (1 == ticketType) {
// int count = 0;
// for (int i = 0; i < allTicketId.get(useTime).size(); i++) {
// String item = allTicketId.get(useTime).get(i);
// if (allTicketId.get(useTime).size() == 1) {
// redisUtil.decr(performanceIdKey, Math.abs(buyCount));
// break;
// }
// if (null == redisUtil.get(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item)) {
// redisUtil.set(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item, 0);
// }
// if (i == 0) {
// count = (int) redisUtil.get(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item);
// } else {
// if (count != (int) redisUtil.get(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item)) {
// redisUtil.decr(performanceIdKey, Math.abs(buyCount));
// break;
// }
// }
// }
// } else {
// redisUtil.decr(performanceIdKey, Math.abs(buyCount));
// }
// }
} }
} }
...@@ -744,3 +744,26 @@ CREATE TABLE `kylin_order_refund_entities` ...@@ -744,3 +744,26 @@ CREATE TABLE `kylin_order_refund_entities`
) ENGINE = InnoDB ) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4 DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_unicode_ci COMMENT '退款入场人表'; COLLATE = utf8mb4_unicode_ci COMMENT '退款入场人表';
drop TABLE if exists `kylin_order_express`;
CREATE TABLE `kylin_order_express`
(
`mid` int unsigned NOT NULL AUTO_INCREMENT,
`order_express_id` varchar(255) NOT NULL DEFAULT '' COMMENT 'order_express_id',
`order_tickets_id` varchar(255) NOT NULL DEFAULT '' COMMENT '订单id',
`mailno` varchar(255) NOT NULL DEFAULT '' COMMENT '顺丰运单号',
`express_type` tinyint NOT NULL DEFAULT '0' COMMENT '快件产品类型 1顺丰特快...',
`filter_result` tinyint NOT NULL DEFAULT '0' COMMENT '1-人工确认;2-可收派;3-不可以收派',
`remark` varchar(255) NOT NULL DEFAULT '' COMMENT 'filter_result=3时返回不可以收派的原因代码',
`origincode` varchar(255) NOT NULL DEFAULT '' COMMENT '原寄地区域代码 可用于顺丰电子面单标签打印',
`destcode` varchar(255) NOT NULL DEFAULT '' COMMENT '目的地区域代码 可用于顺丰电子面单标签打印',
`print_icon` varchar(255) NOT NULL DEFAULT '' COMMENT '打印图标',
`print_flag` varchar(255) NOT NULL DEFAULT '' COMMENT '打印标志',
`two_dimension_code` varchar(255) NOT NULL DEFAULT '' COMMENT '二维码',
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
KEY `kylin_order_express_order_express_id_index` (`order_express_id`),
PRIMARY KEY (`mid`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_unicode_ci COMMENT '订单快递表';
...@@ -55,7 +55,7 @@ public class KylinOrderTicketsController { ...@@ -55,7 +55,7 @@ public class KylinOrderTicketsController {
public ResponseDto<PayResultVo> payAgain(@RequestBody @Valid PayAgainParam payAgainParam) { public ResponseDto<PayResultVo> payAgain(@RequestBody @Valid PayAgainParam payAgainParam) {
PayResultVo vo = orderTicketsService.payAgain(payAgainParam).getData(); PayResultVo vo = orderTicketsService.payAgain(payAgainParam).getData();
if (null == vo) { if (null == vo) {
return ResponseDto.failure(ErrorMapping.get("20003")); return ResponseDto.failure("订单已失效");
} else { } else {
return ResponseDto.success(vo); return ResponseDto.success(vo);
} }
......
...@@ -10,6 +10,7 @@ import com.liquidnet.service.base.ResponseDto; ...@@ -10,6 +10,7 @@ import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dto.param.CheckPerformanceRelationParam; import com.liquidnet.service.kylin.dto.param.CheckPerformanceRelationParam;
import com.liquidnet.service.kylin.dto.param.KylinStationCheckOrderParam; import com.liquidnet.service.kylin.dto.param.KylinStationCheckOrderParam;
import com.liquidnet.service.kylin.dto.param.KylinStationUploadParam; import com.liquidnet.service.kylin.dto.param.KylinStationUploadParam;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketVo; import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketVo;
import com.liquidnet.service.kylin.dto.vo.mongo.*; import com.liquidnet.service.kylin.dto.vo.mongo.*;
import com.liquidnet.service.kylin.dto.vo.returns.*; import com.liquidnet.service.kylin.dto.vo.returns.*;
...@@ -34,6 +35,7 @@ import org.springframework.util.LinkedMultiValueMap; ...@@ -34,6 +35,7 @@ import org.springframework.util.LinkedMultiValueMap;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern; import javax.validation.constraints.Pattern;
import java.math.BigDecimal; import java.math.BigDecimal;
...@@ -136,6 +138,7 @@ public class KylinStationController { ...@@ -136,6 +138,7 @@ public class KylinStationController {
if (null != checkUserRelationVo) { if (null != checkUserRelationVo) {
List<CheckPerformanceRelationParam> performanceRelationList = checkUserRelationVo.getRelationParams(); List<CheckPerformanceRelationParam> performanceRelationList = checkUserRelationVo.getRelationParams();
if (!CollectionUtils.isEmpty(performanceRelationList)) { if (!CollectionUtils.isEmpty(performanceRelationList)) {
log.debug("performanceRelationList:{}", JsonUtils.toJson(performanceRelationList));
LocalDateTime tmpDt = LocalDateTime.of(LocalDate.now(), LocalTime.of(0, 0, 0, 0)); LocalDateTime tmpDt = LocalDateTime.of(LocalDate.now(), LocalTime.of(0, 0, 0, 0));
String tmpDtStr = DateUtil.format(tmpDt, DateUtil.Formatter.yyyyMMddHHmmss); String tmpDtStr = DateUtil.format(tmpDt, DateUtil.Formatter.yyyyMMddHHmmss);
Criteria criteria = Criteria.where("performancesId").in( Criteria criteria = Criteria.where("performancesId").in(
...@@ -174,31 +177,47 @@ public class KylinStationController { ...@@ -174,31 +177,47 @@ public class KylinStationController {
performancesVoQuery.with(PageRequest.of(pageNo - 1, pageSize)); performancesVoQuery.with(PageRequest.of(pageNo - 1, pageSize));
performancesVoQuery.with(Sort.by(Sort.Order.asc("timeEnd"), Sort.Order.desc("sort"))); performancesVoQuery.with(Sort.by(Sort.Order.asc("timeEnd"), Sort.Order.desc("sort")));
voList = mongoTemplate.find(performancesVoQuery, KylinStationPerformanceVo.class, KylinPerformanceVo.class.getSimpleName()); voList = mongoTemplate.find(performancesVoQuery, KylinStationPerformanceVo.class, KylinPerformanceVo.class.getSimpleName());
log.debug("voList:{}", JsonUtils.toJson(voList));
// 查取演出对应的订单票明细 // 查取演出对应的订单票明细
Query orderTicketEntitiesVoQuery = Query.query(Criteria.where("performanceId").in( Query orderTicketEntitiesVoQuery = Query.query(Criteria.where("performanceId").in(
voList.stream().map(KylinStationPerformanceVo::getPerformancesId).toArray() voList.stream().map(KylinStationPerformanceVo::getPerformancesId).toArray()
).and("isPayment").is(1)); ).and("isPayment").is(1));
List<KylinOrderTicketEntitiesVo> oteVoList = mongoTemplate.find(orderTicketEntitiesVoQuery, KylinOrderTicketEntitiesVo.class, KylinOrderTicketEntitiesVo.class.getSimpleName()); List<KylinOrderTicketEntitiesVo> oteVoList = mongoTemplate.find(orderTicketEntitiesVoQuery, KylinOrderTicketEntitiesVo.class, KylinOrderTicketEntitiesVo.class.getSimpleName());
log.debug("oteVoList:{}", JsonUtils.toJson(oteVoList));
// 转换订单票明细结构为Map<performanceId, List<KylinOrderTicketEntitiesVo>> // 转换订单票明细结构为Map<performanceId, List<KylinOrderTicketEntitiesVo>>
Map<String, List<KylinOrderTicketEntitiesVo>> oteVoMap = oteVoList.stream().collect(Collectors.groupingBy(KylinOrderTicketEntitiesVo::getPerformanceId)); Map<String, List<KylinOrderTicketEntitiesVo>> oteVoMap = oteVoList.stream().collect(Collectors.groupingBy(KylinOrderTicketEntitiesVo::getPerformanceId));
// 查取订单对应票种 // // 查取订单对应票种
Query performanceTicketVoQuery = Query.query(Criteria.where("ticketsId").in( // Query performanceTicketVoQuery = Query.query(Criteria.where("ticketsId").in(
oteVoList.stream().filter(distinctByKey(KylinOrderTicketEntitiesVo::getTicketId)).map(KylinOrderTicketEntitiesVo::getTicketId).toArray() // oteVoList.stream().filter(distinctByKey(KylinOrderTicketEntitiesVo::getTicketId)).map(KylinOrderTicketEntitiesVo::getTicketId).toArray()
)); // ));
List<KylinTicketVo> performanceTicketVoList = mongoTemplate.find(performanceTicketVoQuery, KylinTicketVo.class, KylinTicketVo.class.getSimpleName()); // List<KylinTicketVo> performanceTicketVoList = mongoTemplate.find(performanceTicketVoQuery, KylinTicketVo.class, KylinPerformanceVo.class.getSimpleName());
// 转换票种信息结构为Map<ticketsId, ticketVo> // log.debug("performanceTicketVoList:{}", JsonUtils.toJson(performanceTicketVoList));
Map<String, KylinTicketVo> performanceTicketMap = performanceTicketVoList.stream().collect(Collectors.toMap(KylinTicketVo::getTicketsId, Function.identity(), (k1, k2) -> k2)); // // 转换票种信息结构为Map<ticketsId, ticketVo>
// Map<String, KylinTicketVo> performanceTicketMap = performanceTicketVoList.stream().collect(Collectors.toMap(KylinTicketVo::getTicketsId, Function.identity(), (k1, k2) -> k2));
// log.debug("performanceTicketMap:{}", JsonUtils.toJson(performanceTicketMap));
// 转换Map<performanceId, canDownTime> // 转换Map<performanceId, canDownTime>
Map<String, String> performanceRelationMap = performanceRelationList.stream().collect(Collectors.toMap(CheckPerformanceRelationParam::getPerformanceId, CheckPerformanceRelationParam::getCanDownTime)); Map<String, String> performanceRelationMap = performanceRelationList.stream().collect(Collectors.toMap(CheckPerformanceRelationParam::getPerformanceId, CheckPerformanceRelationParam::getCanDownTime));
log.debug("performanceRelationMap:{}", JsonUtils.toJson(performanceRelationMap));
// 补充演出列表票种统计 // 整合演出列表票种统计
for (KylinStationPerformanceVo r : voList) { for (KylinStationPerformanceVo r : voList) {
r.setCanDownTime(performanceRelationMap.get(r.getPerformancesId()));
try {
// 演出的所有订单票明细 // 演出的所有订单票明细
List<KylinOrderTicketEntitiesVo> performanceTicketEntitiesVoList = oteVoMap.get(r.getPerformancesId()); List<KylinOrderTicketEntitiesVo> performanceTicketEntitiesVoList = oteVoMap.get(r.getPerformancesId());
if (!CollectionUtils.isEmpty(performanceTicketEntitiesVoList)) { if (!CollectionUtils.isEmpty(performanceTicketEntitiesVoList)) {
// 提取演出对应票种信息
List<KylinTicketVo> performanceTicketVoList = new ArrayList<>();
List<KylinTicketTimesVo> ticketTimeList = r.getTicketTimeList();
ticketTimeList.forEach(tt -> {
performanceTicketVoList.addAll(tt.getTicketList());
});
// 转换票种信息结构为Map<ticketsId, ticketVo>
Map<String, KylinTicketVo> performanceTicketMap = performanceTicketVoList.stream().collect(Collectors.toMap(KylinTicketVo::getTicketsId, Function.identity(), (k1, k2) -> k2));
log.debug("performanceTicketMap:{}", JsonUtils.toJson(performanceTicketMap));
// 订单票明细按票种分组 // 订单票明细按票种分组
Map<String, List<KylinOrderTicketEntitiesVo>> performanceTicketEntitiesVoMap = Map<String, List<KylinOrderTicketEntitiesVo>> performanceTicketEntitiesVoMap =
performanceTicketEntitiesVoList.stream().collect(Collectors.groupingBy(KylinOrderTicketEntitiesVo::getTicketId)); performanceTicketEntitiesVoList.stream().collect(Collectors.groupingBy(KylinOrderTicketEntitiesVo::getTicketId));
...@@ -241,13 +260,16 @@ public class KylinStationController { ...@@ -241,13 +260,16 @@ public class KylinStationController {
r.setCheckedNum(checkedNum); r.setCheckedNum(checkedNum);
r.setRemainderNum(remainderNum); r.setRemainderNum(remainderNum);
r.setTicketVoList(ticketVoList); r.setTicketVoList(ticketVoList);
r.setCanDownTime(performanceRelationMap.get(r.getPerformancesId()));
} }
} catch (Exception e) {
log.error("验票:整合票种统计异常[station/performances],performancesId:{}", r.getPerformancesId(), e);
}
r.setTicketTimeList(null);
} }
} }
} }
} catch (Exception e) { } catch (Exception e) {
log.error("验票:查取演出列表异常:/station/performances/?", e); log.error("验票:查取演出列表异常[station/performances]", e);
} }
PageInfo<KylinStationPerformanceVo> voPageInfo = PageInfo.of(voList); PageInfo<KylinStationPerformanceVo> voPageInfo = PageInfo.of(voList);
voPageInfo.setTotal(count); voPageInfo.setTotal(count);
...@@ -281,15 +303,13 @@ public class KylinStationController { ...@@ -281,15 +303,13 @@ public class KylinStationController {
return ResponseDto.failure(ErrorMapping.get("20608")); return ResponseDto.failure(ErrorMapping.get("20608"));
} }
List<KylinStationCheckOrderVo> checkOrderVos;
// 查取演出对应的订单票明细 // 查取演出对应的订单票明细
Query orderTicketEntitiesVoQuery = Query.query(Criteria.where("performanceId").is(performanceId).and("isPayment").is(1)); Query orderTicketEntitiesVoQuery = Query.query(Criteria.where("performanceId").is(performanceId).and("isPayment").is(1));
checkOrderVos = mongoTemplate.find(orderTicketEntitiesVoQuery, KylinStationCheckOrderVo.class, KylinOrderTicketEntitiesVo.class.getSimpleName()); List<KylinStationCheckOrderVo> checkOrderVos = mongoTemplate.find(orderTicketEntitiesVoQuery, KylinStationCheckOrderVo.class, KylinOrderTicketEntitiesVo.class.getSimpleName());
Query query = Query.query(Criteria.where("orderTicketsId").in( // 查取订单信息(orderTicketsId,userMobile,userName,qrCode)
checkOrderVos.stream().map(KylinStationCheckOrderVo::getOrderId).toArray() Query query = Query.query(Criteria.where("orderTicketsId").in(checkOrderVos.stream().map(KylinStationCheckOrderVo::getOrderId).toArray()));
)); query.fields().include("orderTicketsId").include("userMobile").include("userName").include("qrCode");
query.fields().include("orderTicketsId").include("qrCode");
List<KylinOrderTicketVo> orderTicketVoList = mongoTemplate.find(query, KylinOrderTicketVo.class, KylinOrderTicketVo.class.getSimpleName()); List<KylinOrderTicketVo> orderTicketVoList = mongoTemplate.find(query, KylinOrderTicketVo.class, KylinOrderTicketVo.class.getSimpleName());
for (KylinOrderTicketVo t : orderTicketVoList) { for (KylinOrderTicketVo t : orderTicketVoList) {
...@@ -307,11 +327,19 @@ public class KylinStationController { ...@@ -307,11 +327,19 @@ public class KylinStationController {
// 查取演出信息 // 查取演出信息
KylinStationPerformanceVo performanceVo = mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performanceId)), KylinStationPerformanceVo performanceVo = mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performanceId)),
KylinStationPerformanceVo.class, KylinPerformanceVo.class.getSimpleName()); KylinStationPerformanceVo.class, KylinPerformanceVo.class.getSimpleName());
// 查取订单对应票种
Query performanceTicketVoQuery = Query.query(Criteria.where("ticketsId").in( // // 查取订单对应票种
checkOrderVos.stream().filter(distinctByKey(KylinStationCheckOrderVo::getTicketId)).map(KylinStationCheckOrderVo::getTicketId).toArray() // Query performanceTicketVoQuery = Query.query(Criteria.where("ticketsId").in(
)); // checkOrderVos.stream().filter(distinctByKey(KylinStationCheckOrderVo::getTicketId)).map(KylinStationCheckOrderVo::getTicketId).toArray()
List<KylinTicketVo> performanceTicketVoList = mongoTemplate.find(performanceTicketVoQuery, KylinTicketVo.class, KylinTicketVo.class.getSimpleName()); // ));
// List<KylinTicketVo> performanceTicketVoList = mongoTemplate.find(performanceTicketVoQuery, KylinTicketVo.class, KylinTicketVo.class.getSimpleName());
// 提取演出对应票种信息
List<KylinTicketVo> performanceTicketVoList = new ArrayList<>();
List<KylinTicketTimesVo> ticketTimeList = performanceVo.getTicketTimeList();
ticketTimeList.forEach(tt -> {
performanceTicketVoList.addAll(tt.getTicketList());
});
List<KylinStationTicketVo> ticketVoList = new ArrayList<>(); List<KylinStationTicketVo> ticketVoList = new ArrayList<>();
for (KylinTicketVo r : performanceTicketVoList) { for (KylinTicketVo r : performanceTicketVoList) {
KylinStationTicketVo stationTicketVo = KylinStationTicketVo.getNew(); KylinStationTicketVo stationTicketVo = KylinStationTicketVo.getNew();
...@@ -323,6 +351,7 @@ public class KylinStationController { ...@@ -323,6 +351,7 @@ public class KylinStationController {
ticketVoList.add(stationTicketVo); ticketVoList.add(stationTicketVo);
} }
performanceVo.setTicketTimeList(null);
performanceVo.setTicketVoList(ticketVoList); performanceVo.setTicketVoList(ticketVoList);
vo.setPerformanceVo(performanceVo); vo.setPerformanceVo(performanceVo);
} }
...@@ -334,9 +363,21 @@ public class KylinStationController { ...@@ -334,9 +363,21 @@ public class KylinStationController {
public ResponseDto<Object> uploadTicketData(@RequestBody KylinStationUploadParam parameter) { public ResponseDto<Object> uploadTicketData(@RequestBody KylinStationUploadParam parameter) {
log.debug("checkDataParams:{}", JsonUtils.toJson(parameter)); log.debug("checkDataParams:{}", JsonUtils.toJson(parameter));
HttpServletRequest request = ServletUtils.getRequest();
String agent = request.getParameter("User-Agent");
if (StringUtils.containsIgnoreCase(agent, "android")) {
parameter.setCheckClient("ANDROID");
} else if (StringUtils.containsIgnoreCase(agent, "iPhone")
|| StringUtils.containsIgnoreCase(agent, "iPod")
|| StringUtils.containsIgnoreCase(agent, "iPad")) {
parameter.setCheckClient("IOS");
} else {
parameter.setCheckClient("APP");
}
List<KylinStationCheckOrderParam> checkOrderParamList = parameter.getCheckOrderParamList(); List<KylinStationCheckOrderParam> checkOrderParamList = parameter.getCheckOrderParamList();
if (!CollectionUtils.isEmpty(checkOrderParamList)) { if (!CollectionUtils.isEmpty(checkOrderParamList)) {
kylinOrderTicketEntitiesService.updateByStation(checkOrderParamList); kylinOrderTicketEntitiesService.updateByStation(parameter);
} }
return ResponseDto.success(); return ResponseDto.success();
...@@ -371,22 +412,22 @@ public class KylinStationController { ...@@ -371,22 +412,22 @@ public class KylinStationController {
return ResponseDto.failure(ErrorMapping.get("20608")); return ResponseDto.failure(ErrorMapping.get("20608"));
} }
List<KylinStationCheckOrderVo> checkOrderVos;
// 查取演出对应的订单票明细 // 查取演出对应的订单票明细
Query orderTicketEntitiesVoQuery = Query.query( Query orderTicketEntitiesVoQuery = Query.query(Criteria.where("performanceId").is(performanceId).and("updatedAt").gte(latestUpdateAt));
Criteria.where("performanceId").is(performanceId).and("updatedAt").gte(latestUpdateAt) List<KylinStationCheckOrderVo> checkOrderVos = mongoTemplate.find(orderTicketEntitiesVoQuery, KylinStationCheckOrderVo.class, KylinOrderTicketEntitiesVo.class.getSimpleName());
);
checkOrderVos = mongoTemplate.find(orderTicketEntitiesVoQuery, KylinStationCheckOrderVo.class, KylinOrderTicketEntitiesVo.class.getSimpleName());
Query query = Query.query(Criteria.where("orderTicketsId").in( // 查取订单信息(orderTicketsId,userMobile,userName,qrCode)
checkOrderVos.stream().map(KylinStationCheckOrderVo::getOrderId).toArray() Query query = Query.query(Criteria.where("orderTicketsId").in(checkOrderVos.stream().map(KylinStationCheckOrderVo::getOrderId).toArray()));
)); query.fields().include("orderTicketsId").include("userMobile").include("userName").include("qrCode");
query.fields().include("orderTicketsId").include("qrCode");
List<KylinOrderTicketVo> orderTicketVoList = mongoTemplate.find(query, KylinOrderTicketVo.class, KylinOrderTicketVo.class.getSimpleName()); List<KylinOrderTicketVo> orderTicketVoList = mongoTemplate.find(query, KylinOrderTicketVo.class, KylinOrderTicketVo.class.getSimpleName());
for (KylinOrderTicketVo t : orderTicketVoList) { for (KylinOrderTicketVo t : orderTicketVoList) {
for (KylinStationCheckOrderVo r : checkOrderVos) { for (KylinStationCheckOrderVo r : checkOrderVos) {
if (r.getOrderId().equals(t.getOrderTicketsId())) r.setQrCode(t.getQrCode()); if (r.getOrderId().equals(t.getOrderTicketsId())) {
r.setQrCode(t.getQrCode());
r.setUserMobile(t.getUserMobile());
r.setUserName(t.getUserName());
}
} }
} }
KylinStationCheckRefreshVo vo = KylinStationCheckRefreshVo.getNew(); KylinStationCheckRefreshVo vo = KylinStationCheckRefreshVo.getNew();
...@@ -395,11 +436,19 @@ public class KylinStationController { ...@@ -395,11 +436,19 @@ public class KylinStationController {
// 查取演出信息 // 查取演出信息
KylinStationPerformanceVo performanceVo = mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performanceId)), KylinStationPerformanceVo performanceVo = mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performanceId)),
KylinStationPerformanceVo.class, KylinPerformanceVo.class.getSimpleName()); KylinStationPerformanceVo.class, KylinPerformanceVo.class.getSimpleName());
// 查取订单对应票种
Query performanceTicketVoQuery = Query.query(Criteria.where("ticketsId").in( // // 查取订单对应票种
checkOrderVos.stream().filter(distinctByKey(KylinStationCheckOrderVo::getTicketId)).map(KylinStationCheckOrderVo::getTicketId).toArray() // Query performanceTicketVoQuery = Query.query(Criteria.where("ticketsId").in(
)); // checkOrderVos.stream().filter(distinctByKey(KylinStationCheckOrderVo::getTicketId)).map(KylinStationCheckOrderVo::getTicketId).toArray()
List<KylinTicketVo> performanceTicketVoList = mongoTemplate.find(performanceTicketVoQuery, KylinTicketVo.class, KylinTicketVo.class.getSimpleName()); // ));
// List<KylinTicketVo> performanceTicketVoList = mongoTemplate.find(performanceTicketVoQuery, KylinTicketVo.class, KylinTicketVo.class.getSimpleName());
// 提取演出对应票种信息
List<KylinTicketVo> performanceTicketVoList = new ArrayList<>();
List<KylinTicketTimesVo> ticketTimeList = performanceVo.getTicketTimeList();
ticketTimeList.forEach(tt -> {
performanceTicketVoList.addAll(tt.getTicketList());
});
List<KylinStationTicketVo> ticketVoList = new ArrayList<>(); List<KylinStationTicketVo> ticketVoList = new ArrayList<>();
for (KylinTicketVo r : performanceTicketVoList) { for (KylinTicketVo r : performanceTicketVoList) {
KylinStationTicketVo stationTicketVo = KylinStationTicketVo.getNew(); KylinStationTicketVo stationTicketVo = KylinStationTicketVo.getNew();
...@@ -411,6 +460,7 @@ public class KylinStationController { ...@@ -411,6 +460,7 @@ public class KylinStationController {
ticketVoList.add(stationTicketVo); ticketVoList.add(stationTicketVo);
} }
performanceVo.setTicketTimeList(null);
performanceVo.setTicketVoList(ticketVoList); performanceVo.setTicketVoList(ticketVoList);
vo.setPerformanceVo(performanceVo); vo.setPerformanceVo(performanceVo);
} }
......
...@@ -5,12 +5,11 @@ import com.liquidnet.common.mq.constant.MQConst; ...@@ -5,12 +5,11 @@ import com.liquidnet.common.mq.constant.MQConst;
import com.liquidnet.commons.lang.util.DateUtil; import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.JsonUtils; import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.base.SqlMapping; import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.kylin.dto.param.KylinStationCheckOrderParam; import com.liquidnet.service.kylin.dto.param.KylinStationUploadParam;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketEntitiesVo; import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketEntitiesVo;
import com.liquidnet.service.kylin.entity.KylinOrderTicketEntities; import com.liquidnet.service.kylin.entity.KylinOrderTicketEntities;
import com.liquidnet.service.kylin.mapper.KylinOrderTicketEntitiesMapper; import com.liquidnet.service.kylin.mapper.KylinOrderTicketEntitiesMapper;
import com.liquidnet.service.kylin.service.IKylinOrderTicketEntitiesService; import com.liquidnet.service.kylin.service.IKylinOrderTicketEntitiesService;
import com.liquidnet.service.kylin.utils.DataUtils;
import com.mongodb.bulk.BulkWriteResult; import com.mongodb.bulk.BulkWriteResult;
import com.mongodb.client.model.UpdateOneModel; import com.mongodb.client.model.UpdateOneModel;
import com.mongodb.client.model.WriteModel; import com.mongodb.client.model.WriteModel;
...@@ -19,12 +18,9 @@ import org.bson.Document; ...@@ -19,12 +18,9 @@ import org.bson.Document;
import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.convert.MongoConverter;
import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -42,18 +38,14 @@ import java.util.List; ...@@ -42,18 +38,14 @@ import java.util.List;
@Slf4j @Slf4j
@Service @Service
public class KylinOrderTicketEntitiesServiceImpl extends ServiceImpl<KylinOrderTicketEntitiesMapper, KylinOrderTicketEntities> implements IKylinOrderTicketEntitiesService { public class KylinOrderTicketEntitiesServiceImpl extends ServiceImpl<KylinOrderTicketEntitiesMapper, KylinOrderTicketEntities> implements IKylinOrderTicketEntitiesService {
@Autowired
MongoConverter mongoConverter;
@Autowired @Autowired
MongoTemplate mongoTemplate; MongoTemplate mongoTemplate;
@Autowired @Autowired
RabbitTemplate rabbitTemplate; RabbitTemplate rabbitTemplate;
@Autowired
DataUtils dataUtils;
@Override @Override
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) // @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public void updateByStation(List<KylinStationCheckOrderParam> checkOrderParamList) { public void updateByStation(KylinStationUploadParam parameter) {
// // 根据验票用户ID分组 // // 根据验票用户ID分组
// Map<String, List<KylinStationCheckOrderParam>> checkOrderByUserIdMap = checkOrderParamList.stream().collect(Collectors.groupingBy(KylinStationCheckOrderParam::getCheckUserId)); // Map<String, List<KylinStationCheckOrderParam>> checkOrderByUserIdMap = checkOrderParamList.stream().collect(Collectors.groupingBy(KylinStationCheckOrderParam::getCheckUserId));
// //
...@@ -68,19 +60,24 @@ public class KylinOrderTicketEntitiesServiceImpl extends ServiceImpl<KylinOrderT ...@@ -68,19 +60,24 @@ public class KylinOrderTicketEntitiesServiceImpl extends ServiceImpl<KylinOrderT
String nowDtStr = DateUtil.format(nowDt, DateUtil.Formatter.yyyyMMddHHmmss); String nowDtStr = DateUtil.format(nowDt, DateUtil.Formatter.yyyyMMddHHmmss);
LinkedList<Object[]> paramsList = new LinkedList<>(); LinkedList<Object[]> paramsList = new LinkedList<>();
List<WriteModel<Document>> list = new ArrayList<>(); List<WriteModel<Document>> list = new ArrayList<>();
checkOrderParamList.forEach(r -> { parameter.getCheckOrderParamList().forEach(r -> {
KylinOrderTicketEntitiesVo updateVo = KylinOrderTicketEntitiesVo.getNew(); KylinOrderTicketEntitiesVo updateVo = KylinOrderTicketEntitiesVo.getNew();
updateVo.setStatus(1);// 出票状态: 0未出票 1已出票
updateVo.setCheckClient(parameter.getCheckClient());
updateVo.setUpdatedAt(nowDtStr);
updateVo.setCheckType(r.getCheckType()); updateVo.setCheckType(r.getCheckType());
updateVo.setCheckedAt(r.getCheckedAt()); updateVo.setCheckedAt(r.getCheckedAt());
updateVo.setCheckUserId(r.getCheckUserId()); updateVo.setCheckUserId(r.getCheckUserId());
updateVo.setUpdatedAt(nowDtStr);
updateVo.setStatus(1);
// dataUtils.delOrderTicketEntitiesRedis(r.getTicketEntitiesId());
paramsList.add(new Object[]{1, nowDtStr, r.getCheckedAt(), r.getCheckType(), r.getCheckUserId(), r.getTicketEntitiesId()}); paramsList.add(new Object[]{1, updateVo.getCheckClient() + updateVo.getCheckType(), nowDt, r.getTicketEntitiesId()});
Document updateQuery = Query.query(Criteria.where("orderTicketEntitiesId").is(r.getTicketEntitiesId())).getQueryObject(); Document updateQuery = Query.query(Criteria.where("orderTicketEntitiesId").is(r.getTicketEntitiesId())).getQueryObject();
list.add(new UpdateOneModel<Document>(updateQuery, new Document("$set", Document.parse(JsonUtils.toJson(updateVo))))); Document updateDoc = new Document("status", updateVo.getStatus())
.append("checkClient", updateVo.getCheckClient())
.append("updatedAt", updateVo.getUpdatedAt())
.append("checkType", updateVo.getCheckType())
.append("checkedAt", updateVo.getCheckedAt())
.append("checkUserId", updateVo.getUserId());
list.add(new UpdateOneModel<Document>(updateQuery, new Document("$set", updateDoc)));
}); });
BulkWriteResult bulkWriteResult = mongoTemplate.getCollection(KylinOrderTicketEntitiesVo.class.getSimpleName()).bulkWrite(list); BulkWriteResult bulkWriteResult = mongoTemplate.getCollection(KylinOrderTicketEntitiesVo.class.getSimpleName()).bulkWrite(list);
log.info("bulkWriteResult:{}", JsonUtils.toJson(bulkWriteResult)); log.info("bulkWriteResult:{}", JsonUtils.toJson(bulkWriteResult));
......
...@@ -362,11 +362,11 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM ...@@ -362,11 +362,11 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
orderTickets.setPriceTotal(ticketData.getPrice().multiply(new BigDecimal(payOrderParam.getNumber())).add(payOrderParam.getIsExpress() == 1 ? ticketData.getPriceExpress() : new BigDecimal("0"))); orderTickets.setPriceTotal(ticketData.getPrice().multiply(new BigDecimal(payOrderParam.getNumber())).add(payOrderParam.getIsExpress() == 1 ? ticketData.getPriceExpress() : new BigDecimal("0")));
} }
if (Arrays.asList("dev", "test").contains(environment.getProperty("spring.profiles.active"))) { /*if (Arrays.asList("dev", "test").contains(environment.getProperty("spring.profiles.active"))) {
orderTickets.setPriceActual(new BigDecimal("0.01")); orderTickets.setPriceActual(new BigDecimal("0.01"));
} else { } else {*/
orderTickets.setPriceActual(orderTickets.getPriceTotal()); orderTickets.setPriceActual(orderTickets.getPriceTotal());
} /*}*/
orderTickets.setPriceVoucher(new BigDecimal("0.0")); orderTickets.setPriceVoucher(new BigDecimal("0.0"));
orderTickets.setPriceExpress(ticketData.getPriceExpress()); orderTickets.setPriceExpress(ticketData.getPriceExpress());
...@@ -531,11 +531,11 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM ...@@ -531,11 +531,11 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
LinkedMultiValueMap<String, String> httpData = new LinkedMultiValueMap<String, String>(); LinkedMultiValueMap<String, String> httpData = new LinkedMultiValueMap<String, String>();
httpData.add("type", "TICKET"); httpData.add("type", "TICKET");
if (Arrays.asList("dev", "test").contains(environment.getProperty("spring.profiles.active"))) { /*if (Arrays.asList("dev", "test").contains(environment.getProperty("spring.profiles.active"))) {
httpData.add("price", "0.01"); httpData.add("price", "0.01");
} else { } else {*/
httpData.add("price", orderTickets.getPriceActual().toString()); httpData.add("price", orderTickets.getPriceActual().toString());
} // }
httpData.add("name", useTime + ticketData.getTitle() + "-" + performanceData.getTitle()); httpData.add("name", useTime + ticketData.getTitle() + "-" + performanceData.getTitle());
httpData.add("detail", performanceData.getTitle() + "-" + ticketData.getTitle() + "-" + useTime); httpData.add("detail", performanceData.getTitle() + "-" + ticketData.getTitle() + "-" + useTime);
httpData.add("order_code", orderTickets.getOrderCode()); httpData.add("order_code", orderTickets.getOrderCode());
...@@ -921,6 +921,9 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM ...@@ -921,6 +921,9 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
DateUtil.parse(item.getOverdueAt(), "yyyy-MM-dd HH:mm:ss"), DateUtil.parse(item.getOverdueAt(), "yyyy-MM-dd HH:mm:ss"),
DateUtil.parse(DateUtil.getNowTime(), "yyyy-MM-dd HH:mm:ss") DateUtil.parse(DateUtil.getNowTime(), "yyyy-MM-dd HH:mm:ss")
)); ));
if (item.getRestTime() <= 0L) {
item.setRestTime(0L);
}
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
...@@ -948,6 +951,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM ...@@ -948,6 +951,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
@Override @Override
public OrderDetailsVo orderDetails(String orderId) { public OrderDetailsVo orderDetails(String orderId) {
log.error("调用订单详情");
OrderDetailsVo vo = new OrderDetailsVo(); OrderDetailsVo vo = new OrderDetailsVo();
try { try {
String uid = CurrentUtil.getCurrentUid(); String uid = CurrentUtil.getCurrentUid();
...@@ -1010,6 +1014,9 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM ...@@ -1010,6 +1014,9 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
DateUtil.parse(orderTicketVo.getOverdueAt(), "yyyy-MM-dd HH:mm:ss"), DateUtil.parse(orderTicketVo.getOverdueAt(), "yyyy-MM-dd HH:mm:ss"),
DateUtil.parse(DateUtil.getNowTime(), "yyyy-MM-dd HH:mm:ss") DateUtil.parse(DateUtil.getNowTime(), "yyyy-MM-dd HH:mm:ss")
)); ));
if (vo.getRestTime() <= 0L) {
vo.setRestTime(0L);
}
} else { } else {
vo.setRestTime(0L); vo.setRestTime(0L);
} }
...@@ -1026,9 +1033,10 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM ...@@ -1026,9 +1033,10 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
vo.setOrderTicketVo(orderTicketVo); vo.setOrderTicketVo(orderTicketVo);
vo.setEnterDescribe(dataUtils.getEnterInfo("1")); vo.setEnterDescribe(dataUtils.getEnterInfo("1"));
} }
log.info(UserPathDto.setData("订单列表", orderId, vo)); log.info(UserPathDto.setData("订单详情", orderId, vo));
return vo; return vo;
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace();
return vo; return vo;
} }
} }
...@@ -1183,12 +1191,22 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM ...@@ -1183,12 +1191,22 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
public ResponseDto<Integer> orderUnPayCount() { public ResponseDto<Integer> orderUnPayCount() {
String uid = CurrentUtil.getCurrentUid(); String uid = CurrentUtil.getCurrentUid();
List<KylinOrderListVo> voList = dataUtils.getOrderList(uid); List<KylinOrderListVo> voList = dataUtils.getOrderList(uid);
Integer unPayCount = 0; int unPayCount = 0;
for (KylinOrderListVo item : voList) { for (KylinOrderListVo item : voList) {
if (item.getStatus() == 0) {
if (item.getStatus().equals(KylinTableStatusConst.ORDER_STATUS0)) {
item.setRestTime(DateUtil.intervalSeconds(
DateUtil.parse(item.getOverdueAt(), "yyyy-MM-dd HH:mm:ss"),
DateUtil.parse(DateUtil.getNowTime(), "yyyy-MM-dd HH:mm:ss")
));
if (item.getRestTime() <= 0L) {
item.setRestTime(0L);
} else {
unPayCount += 1; unPayCount += 1;
} }
} else {
item.setRestTime(0L);
}
} }
return ResponseDto.success(unPayCount); return ResponseDto.success(unPayCount);
} }
......
...@@ -166,6 +166,9 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM ...@@ -166,6 +166,9 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM
public KylinPerformanceVo detail(String performancesId, double latitudeFrom, double longitudeFrom, String agentId) { public KylinPerformanceVo detail(String performancesId, double latitudeFrom, double longitudeFrom, String agentId) {
KylinPerformanceVo performancesInfo = dataUtils.getPerformanceVo(performancesId); KylinPerformanceVo performancesInfo = dataUtils.getPerformanceVo(performancesId);
if (null == performancesInfo) {
return performancesInfo;
}
String agentName = dataUtils.getAgentInfoName(agentId); String agentName = dataUtils.getAgentInfoName(agentId);
performancesInfo.setAgentName(agentName); performancesInfo.setAgentName(agentName);
try { try {
......
...@@ -3,6 +3,7 @@ package com.liquidnet.service.kylin.service.impl; ...@@ -3,6 +3,7 @@ package com.liquidnet.service.kylin.service.impl;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.DateUtil; import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.IDGenerator; import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.commons.lang.util.JsonUtils; import com.liquidnet.commons.lang.util.JsonUtils;
...@@ -218,6 +219,9 @@ public class KylinRefundsStatusServiceImpl { ...@@ -218,6 +219,9 @@ public class KylinRefundsStatusServiceImpl {
double RefundPriceExpress, double RefundPriceExpress,
List<String> ticketEntityIds, List<Double> entitiesPrice List<String> ticketEntityIds, List<Double> entitiesPrice
) { ) {
if (CollectionUtil.isEmpty(ticketEntityIds)) {
return false;
}
// 基础数据 // 基础数据
String authId = ""; String authId = "";
String authName = "system_overtime_order_refund"; String authName = "system_overtime_order_refund";
......
...@@ -211,9 +211,13 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor ...@@ -211,9 +211,13 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
PerformancePartnerVo data = mongoTemplate.findOne( PerformancePartnerVo data = mongoTemplate.findOne(
Query.query(Criteria.where("performancesId").is(performancesId)), PerformancePartnerVo.class, PerformancePartnerVo.class.getSimpleName() Query.query(Criteria.where("performancesId").is(performancesId)), PerformancePartnerVo.class, PerformancePartnerVo.class.getSimpleName()
); );
KylinPerformanceStatus performanceStatus = performanceStatusMapper.selectOne(new UpdateWrapper<KylinPerformanceStatus>().eq("performance_id", performancesId));
if (data == null) { if (data == null) {
return ResponseDto.failure(ErrorMapping.get(20104)); return ResponseDto.failure(ErrorMapping.get(20104));
} }
if(null!=performanceStatus) {
data.setStatus(performanceStatus.getStatus());
}
return ResponseDto.success(data); return ResponseDto.success(data);
} }
...@@ -229,7 +233,7 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor ...@@ -229,7 +233,7 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
} else if (performanceStatus.getStatus() == 1 || performanceStatus.getStatus() == 3 || performanceStatus.getStatus() == 6 || performanceStatus.getStatus() == 7 || performanceStatus.getStatus() == 8 || performanceStatus.getStatus() == 9 ) {// 修改 } else if (performanceStatus.getStatus() == 1 || performanceStatus.getStatus() == 3 || performanceStatus.getStatus() == 6 || performanceStatus.getStatus() == 7 || performanceStatus.getStatus() == 8 || performanceStatus.getStatus() == 9 ) {// 修改
result = updateStep2(step2Param); result = updateStep2(step2Param);
}else if(performanceStatus.getStatus() == 10){ }else if(performanceStatus.getStatus() == 10){
result = ResponseDto.success("演出已结束不可修改"); result = ResponseDto.failure("演出已结束不可修改");
} }
} }
return result; return result;
...@@ -406,6 +410,7 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor ...@@ -406,6 +410,7 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
ticketSellTime.setTimeEnd(DateUtil.Formatter.yyyyMMddHHmmss.parse(ticketItem.getTimeEnd())); ticketSellTime.setTimeEnd(DateUtil.Formatter.yyyyMMddHHmmss.parse(ticketItem.getTimeEnd()));
ticketSellTime.setTimeStart(DateUtil.Formatter.yyyyMMddHHmmss.parse(ticketItem.getTimeStart())); ticketSellTime.setTimeStart(DateUtil.Formatter.yyyyMMddHHmmss.parse(ticketItem.getTimeStart()));
ticketSellTime.setAdvanceMinuteMember(null); ticketSellTime.setAdvanceMinuteMember(null);
ticketSellTime.setPayCountdownMinute(kylinPerformanceMisVo.getPayCountdownMinute());
//修改 价格 //修改 价格
ticketSellTime.setPrice(ticketItem.getPrice()); ticketSellTime.setPrice(ticketItem.getPrice());
ticketSellTime.setPriceDiscountMember(null); ticketSellTime.setPriceDiscountMember(null);
...@@ -454,6 +459,13 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor ...@@ -454,6 +459,13 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
PerformanceStep2Param performanceStep2Param = new PerformanceStep2Param(); PerformanceStep2Param performanceStep2Param = new PerformanceStep2Param();
BeanUtils.copyProperties(data, performanceStep2Param); BeanUtils.copyProperties(data, performanceStep2Param);
KylinPerformanceStatus performanceStatus = performanceStatusMapper.selectOne(new UpdateWrapper<KylinPerformanceStatus>().eq("performance_id", performancesId));
if(null!=performanceStatus) {
performanceStep2Param.setStatus(performanceStatus.getStatus());
}else{
performanceStep2Param.setStatus(-1);
}
performanceStep2Param.setTicketTimes(ticketTimesTicketCreatePartnerVoList); performanceStep2Param.setTicketTimes(ticketTimesTicketCreatePartnerVoList);
return ResponseDto.success(performanceStep2Param); return ResponseDto.success(performanceStep2Param);
} }
...@@ -514,7 +526,7 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor ...@@ -514,7 +526,7 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
KylinPerformanceStatus performanceStatusData = performanceStatusMapper.selectOne(new UpdateWrapper<KylinPerformanceStatus>().eq("performance_id", performancesId)); KylinPerformanceStatus performanceStatusData = performanceStatusMapper.selectOne(new UpdateWrapper<KylinPerformanceStatus>().eq("performance_id", performancesId));
if (performanceStatusData.getStatus() >= 3 && performanceStatusData.getStatus() != 4 && performanceStatusData.getStatus() != 7) {//未提审||被拒绝 if (performanceStatusData.getStatus() >= 3 && performanceStatusData.getStatus() != 4 && performanceStatusData.getStatus() != 7 && performanceStatusData.getStatus() != 10) {//未提审||被拒绝
LocalDateTime updatedAt = LocalDateTime.now(); LocalDateTime updatedAt = LocalDateTime.now();
KylinPerformanceStatus performanceStatus = new KylinPerformanceStatus(); KylinPerformanceStatus performanceStatus = new KylinPerformanceStatus();
performanceStatus.setStatus(7); performanceStatus.setStatus(7);
......
...@@ -309,77 +309,29 @@ public class DataUtils { ...@@ -309,77 +309,29 @@ public class DataUtils {
allTicketId.put(timeItem.getUseStart(), ticketList); allTicketId.put(timeItem.getUseStart(), ticketList);
} }
System.out.println(" PERFORMANCE_ID = "+performanceId);
if (0 == isTrueName) { if (0 == isTrueName) {
redisKey = KylinRedisConst.USERID_BUY_INFO + userId; redisKey = KylinRedisConst.USERID_BUY_INFO + userId;
} else { } else {
redisKey = KylinRedisConst.IDCARD_BUY_INFO + idCard; redisKey = KylinRedisConst.IDCARD_BUY_INFO + idCard;
} }
System.out.println(" REDIS KEY= "+redisKey);
String performanceIdKey = redisKey + ":" + KylinRedisConst.PERFORMANCE_ID + ":" + performanceId; String performanceIdKey = redisKey + ":" + KylinRedisConst.PERFORMANCE_ID + ":" + performanceId;
String ticketIdKey = redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + ticketId; String ticketIdKey = redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + ticketId;
String ticketUseTimeKey = ticketIdKey + ":" + KylinRedisConst.USE_TIME; String ticketUseTimeKey = ticketIdKey + ":" + KylinRedisConst.USE_TIME;
System.out.println("PERFORMANCEID REDIS KEY = "+performanceIdKey);
System.out.println("TICKETID REDIS KEY = "+ticketIdKey);
redisUtil.set(ticketUseTimeKey, useTime); redisUtil.set(ticketUseTimeKey, useTime);
if (buyCount > 0) { if (buyCount > 0) {
redisUtil.incr(ticketIdKey, buyCount); redisUtil.incr(ticketIdKey, buyCount);
if (1 == ticketType) {
int count = 0;
for (int i = 0; i < allTicketId.get(useTime).size(); i++) {
String item = allTicketId.get(useTime).get(i);
if (allTicketId.get(useTime).size() == 1) {
redisUtil.incr(performanceIdKey, buyCount);
break;
}
if (null == redisUtil.get(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item)) {
redisUtil.set(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item, 0);
}
if (i == 0) {
count = (int) redisUtil.get(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item);
} else {
if (count != (int) redisUtil.get(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item)) {
redisUtil.incr(performanceIdKey, buyCount);
break;
}
}
}
} else {
System.out.println("BUY_COUNT = "+buyCount);
redisUtil.incr(performanceIdKey, buyCount); redisUtil.incr(performanceIdKey, buyCount);
} }else{
} else { redisUtil.decr(ticketIdKey, buyCount);
redisUtil.decr(ticketIdKey, Math.abs(buyCount)); redisUtil.decr(performanceIdKey, buyCount);
if (1 == ticketType) {
int count = 0;
for (int i = 0; i < allTicketId.get(useTime).size(); i++) {
String item = allTicketId.get(useTime).get(i);
if (allTicketId.get(useTime).size() == 1) {
redisUtil.decr(performanceIdKey, Math.abs(buyCount));
break;
}
if (null == redisUtil.get(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item)) {
redisUtil.set(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item, 0);
}
if (i == 0) {
count = (int) redisUtil.get(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item);
} else {
if (count != (int) redisUtil.get(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item)) {
redisUtil.decr(performanceIdKey, Math.abs(buyCount));
break;
}
}
}
} else {
redisUtil.decr(performanceIdKey, Math.abs(buyCount));
}
} }
} }
// 获取 用户维度 演出购买数量 // 获取 用户维度 演出购买数量
public int getUserPBuyCount(String userId, String performanceId) { public int getUserPBuyCount(String userId, String performanceId) {
try { try {
...@@ -387,6 +339,61 @@ public class DataUtils { ...@@ -387,6 +339,61 @@ public class DataUtils {
} catch (Exception e) { } catch (Exception e) {
return 0; return 0;
} }
// if (buyCount > 0) {
// redisUtil.incr(ticketIdKey, buyCount);
// if (1 == ticketType) {
// int count = 0;
// for (int i = 0; i < allTicketId.get(useTime).size(); i++) {
// String item = allTicketId.get(useTime).get(i);
// if (allTicketId.get(useTime).size() == 1) {
// redisUtil.incr(performanceIdKey, buyCount);
// break;
// }
// if (null == redisUtil.get(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item)) {
// redisUtil.set(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item, 0);
// }
// if (i == 0) {
// count = (int) redisUtil.get(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item);
// } else {
// if (count != (int) redisUtil.get(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item)) {
// redisUtil.incr(performanceIdKey, buyCount);
// break;
// }
// }
// }
// } else {
// System.out.println("BUY_COUNT = "+buyCount);
// redisUtil.incr(performanceIdKey, buyCount);
// for (int i = 0; i < allTicketId.get(useTime).size(); i++) {
// String item = allTicketId.get(useTime).get(i);
// redisUtil.set(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item, 0);
// }
// }
// } else {
// redisUtil.decr(ticketIdKey, Math.abs(buyCount));
// if (1 == ticketType) {
// int count = 0;
// for (int i = 0; i < allTicketId.get(useTime).size(); i++) {
// String item = allTicketId.get(useTime).get(i);
// if (allTicketId.get(useTime).size() == 1) {
// redisUtil.decr(performanceIdKey, Math.abs(buyCount));
// break;
// }
// if (null == redisUtil.get(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item)) {
// redisUtil.set(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item, 0);
// }
// if (i == 0) {
// count = (int) redisUtil.get(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item);
// } else {
// if (count != (int) redisUtil.get(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item)) {
// redisUtil.decr(performanceIdKey, Math.abs(buyCount));
// break;
// }
// }
// }
// } else {
// redisUtil.decr(performanceIdKey, Math.abs(buyCount));
// }
} }
// 获取 用户维度 票种购买数量 // 获取 用户维度 票种购买数量
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
20013=已超过快递票截止时间 20013=已超过快递票截止时间
20014=快递票未填写收货地址 20014=快递票未填写收货地址
20015=入场人数量错误 20015=入场人数量错误
20016=该票种已售罄 20016=库存不足
20017=年龄不符合 20017=年龄不符合
20018=下单失败 20018=下单失败
......
kylin_order_ticket_entities.updateStatusByStation=UPDATE kylin_order_ticket_status SET `status`=?, updated_at=?, checked_at=?, check_type=?, checkUserId=? WHERE order_ticket_entities_id =? kylin_order_ticket_entities.updateStatusByStation=UPDATE kylin_order_ticket_entities SET `status`=?,check_client=?,updated_at=? WHERE order_ticket_entities_id=?
# ------------------------缺票登记(不用考虑并发)---------------------------- # ------------------------缺票登记(不用考虑并发)----------------------------
kylin_lack_register.insert=INSERT INTO `kylin_lack_registers`(`lack_registers_id` ,`performance_id` ,`ticket_id` ,`user_id` ,`user_name` ,`user_mobile` ,`send_status` ,`ip_address` ,`created_at`)VALUES(? ,? ,? ,? ,? ,? ,? ,? ,?); kylin_lack_register.insert=INSERT INTO `kylin_lack_registers`(`lack_registers_id` ,`performance_id` ,`ticket_id` ,`user_id` ,`user_name` ,`user_mobile` ,`send_status` ,`ip_address` ,`created_at`)VALUES(? ,? ,? ,? ,? ,? ,? ,? ,?);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment