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

Commit 05f4f8e0 authored by jiangxiulong's avatar jiangxiulong

Merge remote-tracking branch 'origin/dev' into dev

parents 9009c992 8a373021
...@@ -18,26 +18,26 @@ import java.util.List; ...@@ -18,26 +18,26 @@ import java.util.List;
public class AdamUserInfoParam implements java.io.Serializable { public class AdamUserInfoParam implements java.io.Serializable {
private static final long serialVersionUID = -1084524066864012398L; private static final long serialVersionUID = -1084524066864012398L;
@ApiModelProperty(position = 11, required = true, value = "头像[255]", example = "http://pic.zhengzai.tv/default/avatar.png") @ApiModelProperty(position = 11, required = true, value = "头像[255]", example = "http://pic.zhengzai.tv/default/avatar.png")
@Size(max = 255, message = "已超出头像链接长度限制") // @Size(max = 255, message = "已超出头像链接长度限制")
private String avatar; private String avatar;
@ApiModelProperty(position = 12, required = true, value = "背景[255]", example = "https://img.zhengzai.tv/files/2021/01/13/5ffeab3584b7d.png") @ApiModelProperty(position = 12, required = true, value = "背景[255]", example = "https://img.zhengzai.tv/files/2021/01/13/5ffeab3584b7d.png")
@Size(max = 255, message = "已超出背景链接长度限制") // @Size(max = 255, message = "已超出背景链接长度限制")
private String background; private String background;
@ApiModelProperty(position = 13, required = true, value = "昵称[14]", example = "Swagger") @ApiModelProperty(position = 13, required = true, value = "昵称[14]", example = "Swagger")
@Size(min = 2, max = 14, message = "昵称限制2-14位且不能包含特殊字符") @Size(min = 2, max = 14, message = "昵称限制2-14位且不能包含特殊字符")
private String nickname; private String nickname;
@ApiModelProperty(position = 14, required = true, value = "性别[32]", example = "{\"val\":\"MS00\",\"desc\":\"其他性别\"}") @ApiModelProperty(position = 14, required = true, value = "性别[32]", example = "{\"val\":\"MS00\",\"desc\":\"其他性别\"}")
@NotNull(message = "性别不能为空") // @NotNull(message = "性别不能为空")
private AdamTagVo sex; private AdamTagVo sex;
@ApiModelProperty(position = 15, required = true, value = "生日[YYYY-MM-DD]", example = "2021-05-17") @ApiModelProperty(position = 15, required = true, value = "生日[YYYY-MM-DD]", example = "2021-05-17")
@Pattern(regexp = LnsRegex.Valid.DATETIME_YMD, message = "生日格式有误") @Pattern(regexp = LnsRegex.Valid.DATETIME_YMD, message = "生日格式有误")
@NotBlank(message = "生日不能为空") // @NotBlank(message = "生日不能为空")
private String birthday; private String birthday;
@ApiModelProperty(position = 16, required = true, value = "常住地/区域[100]", example = "北京 北京市 朝阳区") @ApiModelProperty(position = 16, required = true, value = "常住地/区域[100]", example = "北京 北京市 朝阳区")
@NotBlank(message = "常住地不能为空") // @NotBlank(message = "常住地不能为空")
private String area; private String area;
@ApiModelProperty(position = 17, required = true, value = "签名[15]", example = "...................") @ApiModelProperty(position = 17, required = true, value = "签名[15]", example = "...................")
@Size(max = 15, message = "已超出签名长度限制") // @Size(max = 15, message = "已超出签名长度限制")
private String signature; private String signature;
@ApiModelProperty(position = 18, required = true, value = "标签[500]", example = "[{\"val\":\"MMS01\",\"desc\":\"民歌\",\"tagVos\":[{\"val\":\"MMS0101\",\"desc\":\"A\"},{\"val\":\"MMS0102\",\"desc\":\"B\"}]},{\"val\":\"MMS02\",\"desc\":\"house\",\"tagVos\":[{\"val\":\"MMS0201\",\"desc\":\"C\"}]}]") @ApiModelProperty(position = 18, required = true, value = "标签[500]", example = "[{\"val\":\"MMS01\",\"desc\":\"民歌\",\"tagVos\":[{\"val\":\"MMS0101\",\"desc\":\"A\"},{\"val\":\"MMS0102\",\"desc\":\"B\"}]},{\"val\":\"MMS02\",\"desc\":\"house\",\"tagVos\":[{\"val\":\"MMS0201\",\"desc\":\"C\"}]}]")
// @NotNull // @NotNull
......
...@@ -34,8 +34,8 @@ public class KylinOrderTicketEntitiesVo implements Serializable, Cloneable { ...@@ -34,8 +34,8 @@ public class KylinOrderTicketEntitiesVo implements Serializable, Cloneable {
private String createdAt; private String createdAt;
private String updatedAt; private String updatedAt;
private Integer ticketsmId; // private Integer ticketsmId;
private Integer timemId; // private Integer timemId;
private BigDecimal refundPrice; private BigDecimal refundPrice;
......
package com.liquidnet.service.kylin.dto.vo.returns; package com.liquidnet.service.kylin.dto.vo.returns;
import com.liquidnet.service.kylin.entity.KylinBannersRelations;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
......
...@@ -85,7 +85,7 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl ...@@ -85,7 +85,7 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
KylinPerformances performanceData = performancesMapper.selectOne(new UpdateWrapper<KylinPerformances>().eq("performances_id", performanceId)); KylinPerformances performanceData = performancesMapper.selectOne(new UpdateWrapper<KylinPerformances>().eq("performances_id", performanceId));
obj1.setPicUrl(performanceData.getImgPoster()); obj1.setPicUrl(performanceData.getImgPoster());
obj1.setProjectId(performanceData.getMid().longValue()); obj1.setProjectId(Long.valueOf(performanceData.getPerformancesId().substring(0, 5).concat(performanceData.getPerformancesId().substring(7, 12))));
obj1.setProjectName(performanceData.getTitle()); obj1.setProjectName(performanceData.getTitle());
obj1.setCityId(performanceData.getCityId().longValue()); obj1.setCityId(performanceData.getCityId().longValue());
obj1.setSupplierSecret(taobaoTicketUtils.getSupplierSecret()); obj1.setSupplierSecret(taobaoTicketUtils.getSupplierSecret());
...@@ -98,7 +98,7 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl ...@@ -98,7 +98,7 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
for (int i = 0; i < timeRelation.size(); i++) { for (int i = 0; i < timeRelation.size(); i++) {
KylinTicketTimes timeData = ticketTimesMapper.selectOne(new UpdateWrapper<KylinTicketTimes>().eq("ticket_times_id", timeRelation.get(i).getTimesId())); KylinTicketTimes timeData = ticketTimesMapper.selectOne(new UpdateWrapper<KylinTicketTimes>().eq("ticket_times_id", timeRelation.get(i).getTimesId()));
boolean result = sycTimes(performanceData.getMid().longValue(), timeData); boolean result = sycTimes(Long.valueOf(performanceData.getPerformancesId().substring(0, 5).concat(performanceData.getPerformancesId().substring(7, 12))), timeData);
if (!result) { if (!result) {
return false; return false;
} }
...@@ -121,7 +121,7 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl ...@@ -121,7 +121,7 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
ThirdPerformPushOpenParam obj1 = new ThirdPerformPushOpenParam(); ThirdPerformPushOpenParam obj1 = new ThirdPerformPushOpenParam();
obj1.setEndTime(StringUtils.parseDateTime(timesData.getUseEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")))); obj1.setEndTime(StringUtils.parseDateTime(timesData.getUseEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))));
obj1.setPerformId(timesData.getMid().longValue()); obj1.setPerformId(Long.valueOf(timesData.getTicketTimesId().substring(0, 5).concat(timesData.getTicketTimesId().substring(7, 12))));
obj1.setPerformName(timesData.getTitle()); obj1.setPerformName(timesData.getTitle());
obj1.setProjectId(performancesmId); obj1.setProjectId(performancesmId);
obj1.setStartTime(StringUtils.parseDateTime(timesData.getUseStart().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")))); obj1.setStartTime(StringUtils.parseDateTime(timesData.getUseStart().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))));
...@@ -134,7 +134,7 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl ...@@ -134,7 +134,7 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
for (int i = 0; i < ticketRelation.size(); i++) { for (int i = 0; i < ticketRelation.size(); i++) {
if (null != ticketStatusMapper.selectOne(new UpdateWrapper<KylinTicketStatus>().eq("ticket_id", ticketRelation.get(i).getTicketId()).eq("sync_damai", 1))) { if (null != ticketStatusMapper.selectOne(new UpdateWrapper<KylinTicketStatus>().eq("ticket_id", ticketRelation.get(i).getTicketId()).eq("sync_damai", 1))) {
KylinTickets ticketData = ticketsMapper.selectOne(new UpdateWrapper<KylinTickets>().eq("tickets_id", ticketRelation.get(i).getTicketId())); KylinTickets ticketData = ticketsMapper.selectOne(new UpdateWrapper<KylinTickets>().eq("tickets_id", ticketRelation.get(i).getTicketId()));
boolean result = sycTicket(timesData.getMid().longValue(), ticketData); boolean result = sycTicket(Long.valueOf(timesData.getTicketTimesId().substring(0, 5).concat(timesData.getTicketTimesId().substring(7, 12))), ticketData);
if (!result) { if (!result) {
return false; return false;
} }
...@@ -157,7 +157,7 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl ...@@ -157,7 +157,7 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
AlibabaDamaiMevOpenPushitemRequest req = new AlibabaDamaiMevOpenPushitemRequest(); AlibabaDamaiMevOpenPushitemRequest req = new AlibabaDamaiMevOpenPushitemRequest();
PushTicketItemPushOpenParam obj1 = new PushTicketItemPushOpenParam(); PushTicketItemPushOpenParam obj1 = new PushTicketItemPushOpenParam();
obj1.setItemId(ticketsData.getMid().longValue()); obj1.setItemId(Long.valueOf(ticketsData.getTicketsId().substring(0, 5).concat(ticketsData.getTicketsId().substring(7, 12))));
obj1.setItemName(ticketsData.getTitle()); obj1.setItemName(ticketsData.getTitle());
obj1.setItemPrice(ticketsData.getPrice().longValue()); obj1.setItemPrice(ticketsData.getPrice().longValue());
obj1.setPerformId(timemId); obj1.setPerformId(timemId);
...@@ -167,7 +167,7 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl ...@@ -167,7 +167,7 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
req.setPushItemParam(obj1); req.setPushItemParam(obj1);
AlibabaDamaiMevOpenPushitemResponse rsp = client.execute(req); AlibabaDamaiMevOpenPushitemResponse rsp = client.execute(req);
if (rsp.getResult().getSuccess()) { if (rsp.getResult().getSuccess()) {
return sycOrder(timemId, ticketsData.getTicketsId(),ticketsData.getMid().longValue()); return sycOrder(timemId, ticketsData.getTicketsId(), Long.valueOf(ticketsData.getTicketsId().substring(0, 5).concat(ticketsData.getTicketsId().substring(7, 12))));
} else { } else {
return false; return false;
} }
...@@ -178,37 +178,43 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl ...@@ -178,37 +178,43 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
} }
@Override @Override
public Boolean sycOrder(long timemId, String ticketsId,long ticketsmId) { public Boolean sycOrder(long timemId, String ticketsId, long ticketsmId) {
try { try {
TaobaoClient client = taobaoTicketUtils.initTaobaoClient(); TaobaoClient client = taobaoTicketUtils.initTaobaoClient();
AlibabaDamaiMevOpenBatchpushticketRequest req = new AlibabaDamaiMevOpenBatchpushticketRequest(); AlibabaDamaiMevOpenBatchpushticketRequest req = new AlibabaDamaiMevOpenBatchpushticketRequest();
List<ThirdTicketPushOpenParam> list2 = new ArrayList<ThirdTicketPushOpenParam>(); List<ThirdTicketPushOpenParam> list2 = new ArrayList<>();
List<OrderPushDamaiDto> data = orderTicketsMapper.pushDamaiDetailsList(ticketsId); List<OrderPushDamaiDto> data = orderTicketsMapper.pushDamaiDetailsList(ticketsId);
for (int i = 0; i < data.size(); i++) { for (int i = 0; i < data.size(); i++) {
OrderPushDamaiDto item = data.get(i); OrderPushDamaiDto item = data.get(i);
ThirdTicketPushOpenParam obj3 = new ThirdTicketPushOpenParam();
list2.add(obj3); if (item.getStatus() == 4) {
obj3.setUserName(item.getEnterName());//用户名 入场人姓名 taobaoTicketUtils.withdrawDamaiOrder(timemId + "", item.getOrderTicketEntitiesId());
obj3.setCertificateNo(item.getEnterIdCode());//证件号 入场人身份证 } else {
obj3.setOrderUserMobile(item.getEnterMobile());//用户手机号 入场人手机号 ThirdTicketPushOpenParam obj3 = new ThirdTicketPushOpenParam();
obj3.setCertificateType(item.getEnterType().longValue());//证件内容 入场人证件type list2.add(obj3);
obj3.setPayTime(DateUtils.parseDate(item.getTimePay()));//支付时间 obj3.setUserName(item.getEnterName());//用户名 入场人姓名
obj3.setPerformId(timemId);//场次id obj3.setCertificateNo(item.getEnterIdCode());//证件号 入场人身份证
obj3.setTicketItemId(ticketsmId); obj3.setOrderUserMobile(item.getEnterMobile());//用户手机号 入场人手机号
// if (item.getIsMember() == 1) { obj3.setCertificateType(item.getEnterType().longValue());//证件内容 入场人证件type
// obj3.setTicketItemId(Long.parseLong(item.getTicketId() + "01"));//票品id ticketId+01会员 ticketId+0非会员 obj3.setPayTime(DateUtils.parseDate(item.getTimePay()));//支付时间
// } else { obj3.setPerformId(timemId);//场次id
// obj3.setTicketItemId(Long.parseLong(item.getTicketId() + "00")); // obj3.setTicketItemId(ticketsmId);
// } if (item.getIsMember() == 1) {
obj3.setTicketItemId(Long.parseLong(ticketsmId + "010"));//票品id ticketId+01会员 ticketId+0非会员
obj3.setOrderId(Long.parseLong(item.getOrderTicketsId()));//订单id orderId } else {
obj3.setVoucherId(item.getMid().longValue());//票单号 入场人id obj3.setTicketItemId(Long.parseLong(ticketsmId + "020"));
}
obj3.setMediumType(item.getGetTicketType().equals("express") ? 1L : 2L);//票类型 快递 电子
obj3.setSupplierSecret(taobaoTicketUtils.getSupplierSecret()); obj3.setOrderId(Long.parseLong(item.getOrderTicketsId()));//订单id orderId
obj3.setSystemId(taobaoTicketUtils.getSystemId()); obj3.setVoucherId(Long.valueOf(item.getOrderTicketEntitiesId().substring(0, 5).concat(item.getOrderTicketEntitiesId().substring(7, 12))));//票单号 入场人id
obj3.setSeatType(1L);
obj3.setTicketType(1L);//票类型 obj3.setMediumType(item.getGetTicketType().equals("express") ? 1L : 2L);//票类型 快递 电子
obj3.setSupplierSecret(taobaoTicketUtils.getSupplierSecret());
obj3.setSystemId(taobaoTicketUtils.getSystemId());
obj3.setSeatType(1L);
obj3.setTicketType(1L);//票类型
}
} }
req.setThirdTicketSetOpenParamList(list2); req.setThirdTicketSetOpenParamList(list2);
if (list2.size() == 0) { if (list2.size() == 0) {
...@@ -217,6 +223,7 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl ...@@ -217,6 +223,7 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
AlibabaDamaiMevOpenBatchpushticketResponse rsp = client.execute(req); AlibabaDamaiMevOpenBatchpushticketResponse rsp = client.execute(req);
return rsp.getResult().getSuccess(); return rsp.getResult().getSuccess();
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
return null; return null;
......
...@@ -2,6 +2,8 @@ package com.liquidnet.client.admin.zhengzai.kylin.utils; ...@@ -2,6 +2,8 @@ package com.liquidnet.client.admin.zhengzai.kylin.utils;
import com.taobao.api.DefaultTaobaoClient; import com.taobao.api.DefaultTaobaoClient;
import com.taobao.api.TaobaoClient; import com.taobao.api.TaobaoClient;
import com.taobao.api.request.AlibabaDamaiMevOpenWithdrawticketRequest;
import com.taobao.api.response.AlibabaDamaiMevOpenWithdrawticketResponse;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Service @Service
...@@ -10,9 +12,9 @@ public class TaobaoTicketUtils { ...@@ -10,9 +12,9 @@ public class TaobaoTicketUtils {
private String URL = "http://gw.api.taobao.com/router/rest"; private String URL = "http://gw.api.taobao.com/router/rest";
private String APPKEY = "27542597"; private String APPKEY = "27542597";
private String SECRET = "900025efc616fd2446344bb8fa21d039"; private String SECRET = "900025efc616fd2446344bb8fa21d039";
private String SUPPLIER_SECRET= "444d0752439f921a75eaf5951a8bc03c"; private String SUPPLIER_SECRET = "444d0752439f921a75eaf5951a8bc03c";
private Long SYSTEM_ID= 15669L; private Long SYSTEM_ID = 15669L;
// private String url = "http://gw.api.tbsandbox.com/router/rest"; // private String url = "http://gw.api.tbsandbox.com/router/rest";
// private String appkey = "4272"; // private String appkey = "4272";
// private String secret = "0ebbcccfee18d7ad1aebc5b135ffa906"; // private String secret = "0ebbcccfee18d7ad1aebc5b135ffa906";
private TaobaoClient client = null; private TaobaoClient client = null;
...@@ -24,11 +26,33 @@ public class TaobaoTicketUtils { ...@@ -24,11 +26,33 @@ public class TaobaoTicketUtils {
return client; return client;
} }
public String getSupplierSecret(){ public String getSupplierSecret() {
return SUPPLIER_SECRET; return SUPPLIER_SECRET;
} }
public Long getSystemId(){ public Long getSystemId() {
return SYSTEM_ID; return SYSTEM_ID;
} }
/**
* @param timesId 场次的id
* @param orderEntitiesId 入场人的id
* @return
*/
public boolean withdrawDamaiOrder(String timesId, String orderEntitiesId) {
try {
TaobaoClient client = initTaobaoClient();
AlibabaDamaiMevOpenWithdrawticketRequest req = new AlibabaDamaiMevOpenWithdrawticketRequest();
AlibabaDamaiMevOpenWithdrawticketRequest.TicketIdOpenParam obj1 = new AlibabaDamaiMevOpenWithdrawticketRequest.TicketIdOpenParam();
obj1.setPerformId(Long.valueOf(timesId.substring(0, 5).concat(timesId.substring(7, 12))));//场次id
obj1.setVoucherId(Long.valueOf(orderEntitiesId.substring(0, 5).concat(orderEntitiesId.substring(7, 12))));//票单号 入场人id
obj1.setSupplierSecret(SUPPLIER_SECRET);
obj1.setSystemId(SYSTEM_ID);
req.setTicketIdOpenParam(obj1);
AlibabaDamaiMevOpenWithdrawticketResponse rsp = client.execute(req);
return rsp.getResult().getSuccess();
} catch (Exception e) {
return false;
}
}
} }
...@@ -18,6 +18,7 @@ import java.util.Map; ...@@ -18,6 +18,7 @@ import java.util.Map;
@ConfigurationProperties(prefix = "jwt") @ConfigurationProperties(prefix = "jwt")
public class JwtValidator { public class JwtValidator {
private String ssoRedisKey = "adam:identity:sso:"; private String ssoRedisKey = "adam:identity:sso:";
private String msoRedisKey = "adam:identity:mso:";
private String secret; private String secret;
// 分钟 // 分钟
private Long expireTtl; private Long expireTtl;
......
/**
* $Id: CollectionUtil.java 3776 2016-03-10 06:43:12Z lizhongmin $
* Copyright(C) 2014-2020 easegame, All Rights Reserved.
*/
package com.liquidnet.commons.lang.util; package com.liquidnet.commons.lang.util;
import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.LinkedMultiValueMap;
...@@ -9,16 +5,14 @@ import org.springframework.util.LinkedMultiValueMap; ...@@ -9,16 +5,14 @@ import org.springframework.util.LinkedMultiValueMap;
import java.util.*; import java.util.*;
import java.util.function.Predicate; import java.util.function.Predicate;
/**
* @author <a href="mailto:wangwei@kowlone.com">kowlone</a>
* @version 1.0 2015年12月01日 11:42:00
*/
public class CollectionUtil { public class CollectionUtil {
private static final HashMap<String, String> STRING_STRING_HASH_MAP = new HashMap<>(); private static final HashMap<String, String> STRING_STRING_HASH_MAP = new HashMap<>();
private static final HashMap<String, Object> STRING_OBJECT_HASH_MAP = new HashMap<>(); private static final HashMap<String, Object> STRING_OBJECT_HASH_MAP = new HashMap<>();
private static final HashMap<String, Integer> STRING_INTEGER_HASH_MAP = new HashMap<>();
private static final LinkedList<String> STRING_LINKED_LIST = new LinkedList<>(); private static final LinkedList<String> STRING_LINKED_LIST = new LinkedList<>();
private static final LinkedList<Object[]> OBJECTS_LINKED_LIST = new LinkedList<>(); private static final LinkedList<Object[]> OBJECTS_LINKED_LIST = new LinkedList<>();
private static final LinkedMultiValueMap<String, String> STRING_STRING_LINKED_MULTI_VALUE_MAP = new LinkedMultiValueMap<>(); private static final LinkedMultiValueMap<String, String> STRING_STRING_LINKED_MULTI_VALUE_MAP = new LinkedMultiValueMap<>();
private static final ArrayList<String> STRING_ARRAY_LIST = new ArrayList<>();
private static final ArrayList<Object> OBJECT_ARRAY_LIST = new ArrayList<>(); private static final ArrayList<Object> OBJECT_ARRAY_LIST = new ArrayList<>();
...@@ -30,6 +24,10 @@ public class CollectionUtil { ...@@ -30,6 +24,10 @@ public class CollectionUtil {
return (HashMap<String, Object>) STRING_OBJECT_HASH_MAP.clone(); return (HashMap<String, Object>) STRING_OBJECT_HASH_MAP.clone();
} }
public static HashMap<String, Integer> mapStringInteger() {
return (HashMap<String, Integer>) STRING_INTEGER_HASH_MAP.clone();
}
public static LinkedList<String> linkedListString() { public static LinkedList<String> linkedListString() {
return (LinkedList<String>) STRING_LINKED_LIST.clone(); return (LinkedList<String>) STRING_LINKED_LIST.clone();
} }
...@@ -42,6 +40,10 @@ public class CollectionUtil { ...@@ -42,6 +40,10 @@ public class CollectionUtil {
return (LinkedMultiValueMap<String, String>) STRING_STRING_LINKED_MULTI_VALUE_MAP.clone(); return (LinkedMultiValueMap<String, String>) STRING_STRING_LINKED_MULTI_VALUE_MAP.clone();
} }
public static ArrayList<String> arrayListString() {
return (ArrayList<String>) STRING_ARRAY_LIST.clone();
}
public static ArrayList<Object> arrayListObject() { public static ArrayList<Object> arrayListObject() {
return (ArrayList<Object>) OBJECT_ARRAY_LIST.clone(); return (ArrayList<Object>) OBJECT_ARRAY_LIST.clone();
} }
......
...@@ -10,14 +10,19 @@ public class CurrentUtil { ...@@ -10,14 +10,19 @@ public class CurrentUtil {
public static final String GRAY_LOGIN_SMS_CODE = "111111"; public static final String GRAY_LOGIN_SMS_CODE = "111111";
/* ======================================================= | */ /* ======================================================= | */
public static final String uID = "sub";
public static final String uTag = "u-tag";
public static final String uToken = "authorization"; public static final String uToken = "authorization";
public static final String uTag = "u-tag";
public static final String TOKEN_SUB = "sub";
public static final String TOKEN_MOBILE = "mobile";
public static final String TOKEN_NICKNAME = "nickname";
public static final String TOKEN_TYPE = "type";
public static final String TOKEN_TYPE_VAL_USER = "user";
public static final String TOKEN_TYPE_VAL_STATION = "station";
public static final String CLI_SOURCE = "source"; public static final String HEADER_CLI_SOURCE = "source";
public static final String CLI_VERSION = "version"; public static final String HEADER_CLI_VERSION = "version";
public static final String CLI_UNKNOWN = "unknown"; public static final String HEADER_CLI_UNKNOWN = "unknown";
private static final String IP_UTILS_FLAG = ","; private static final String IP_UTILS_FLAG = ",";
private static final String LOCALHOST_IP = "0:0:0:0:0:0:0:1"; private static final String LOCALHOST_IP = "0:0:0:0:0:0:0:1";
...@@ -32,33 +37,33 @@ public class CurrentUtil { ...@@ -32,33 +37,33 @@ public class CurrentUtil {
} }
public static String getCurrentUid() { public static String getCurrentUid() {
return (String) ServletUtils.getRequest().getAttribute(uID); return (String) ServletUtils.getRequest().getAttribute(TOKEN_SUB);
} }
public static String getCliSource() { public static String getHeaderCliSource() {
return ServletUtils.getRequest().getHeader(CLI_SOURCE); return ServletUtils.getRequest().getHeader(HEADER_CLI_SOURCE);
} }
public static String getCliVersion() { public static String getHeaderCliVersion() {
return ServletUtils.getRequest().getHeader(CLI_VERSION); return ServletUtils.getRequest().getHeader(HEADER_CLI_VERSION);
} }
public static String getCliIpAddr() { public static String getCliIpAddr() {
HttpServletRequest request = ServletUtils.getRequest(); HttpServletRequest request = ServletUtils.getRequest();
String ip = request.getHeader("x-forwarded-for"); String ip = request.getHeader("x-forwarded-for");
if (ip == null || ip.length() == 0 || CLI_UNKNOWN.equalsIgnoreCase(ip)) { if (ip == null || ip.length() == 0 || HEADER_CLI_UNKNOWN.equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP"); ip = request.getHeader("Proxy-Client-IP");
} }
if (ip == null || ip.length() == 0 || CLI_UNKNOWN.equalsIgnoreCase(ip)) { if (ip == null || ip.length() == 0 || HEADER_CLI_UNKNOWN.equalsIgnoreCase(ip)) {
ip = request.getHeader("X-Forwarded-For"); ip = request.getHeader("X-Forwarded-For");
} }
if (ip == null || ip.length() == 0 || CLI_UNKNOWN.equalsIgnoreCase(ip)) { if (ip == null || ip.length() == 0 || HEADER_CLI_UNKNOWN.equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP"); ip = request.getHeader("WL-Proxy-Client-IP");
} }
if (ip == null || ip.length() == 0 || CLI_UNKNOWN.equalsIgnoreCase(ip)) { if (ip == null || ip.length() == 0 || HEADER_CLI_UNKNOWN.equalsIgnoreCase(ip)) {
ip = request.getHeader("X-Real-IP"); ip = request.getHeader("X-Real-IP");
} }
if (ip == null || ip.length() == 0 || CLI_UNKNOWN.equalsIgnoreCase(ip)) { if (ip == null || ip.length() == 0 || HEADER_CLI_UNKNOWN.equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr(); ip = request.getRemoteAddr();
// if (LOCALHOST_IP1.equalsIgnoreCase(ip) || LOCALHOST_IP.equalsIgnoreCase(ip)) { // if (LOCALHOST_IP1.equalsIgnoreCase(ip) || LOCALHOST_IP.equalsIgnoreCase(ip)) {
// // 根据网卡取本机配置的IP // // 根据网卡取本机配置的IP
......
/**
* $Id$
* Copyright(C) 2015-2020 kowlone - internet center, All Rights Reserved.
*/
package com.liquidnet.commons.lang.util; package com.liquidnet.commons.lang.util;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.*; import java.time.Instant;
import java.time.chrono.ChronoLocalDate; import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
/**
* @author <a href="kowlone2006@163.com">kowlone</a>
* @version 1.0 2015年10月16日 13:32:00
*/
public abstract class DateUtil { public abstract class DateUtil {
public static final String DATE_FULL_STR = "yyyy-MM-dd HH:mm:ss"; public static final String DATE_FULL_STR = "yyyy-MM-dd HH:mm:ss";
public static final String DATE_SMALL_STR = "yyyy-MM-dd"; public static final String DATE_SMALL_STR = "yyyy-MM-dd";
public static final SimpleDateFormat SDF_YMD_HMS = new SimpleDateFormat(DATE_FULL_STR);
public static final SimpleDateFormat SDF_YMD = new SimpleDateFormat(DATE_SMALL_STR);
public static final DateTimeFormatter DTF_YMD_HMS = DateTimeFormatter.ofPattern(DATE_FULL_STR);
/** /**
* 日期格式化器 * 日期格式化器
*/ */
...@@ -277,26 +275,8 @@ public abstract class DateUtil { ...@@ -277,26 +275,8 @@ public abstract class DateUtil {
* 比较日期 * 比较日期
*/ */
public static int compareStrDay(String date1, String date2) { public static int compareStrDay(String date1, String date2) {
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); LocalDateTime date1L = LocalDateTime.parse(date1, DTF_YMD_HMS);
LocalDateTime date1L = LocalDateTime.parse(date1, df); LocalDateTime date2L = LocalDateTime.parse(date2, DTF_YMD_HMS);
LocalDateTime date2L = LocalDateTime.parse(date2, df);
if (date1L.isAfter(date2L)) {// 大于
return 1;
} else if (date1L.isBefore(date2L)) { //小于
return -1;
} else { // 相等
return 0;
}
}
/**
* 比较日期
*/
public static int compareStrDayyyyMMdd(String date1, String date2) {
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime date1L = LocalDateTime.parse(date1, df);
LocalDateTime date2L = LocalDateTime.parse(date2, df);
if (date1L.isAfter(date2L)) {// 大于 if (date1L.isAfter(date2L)) {// 大于
return 1; return 1;
...@@ -380,8 +360,7 @@ public abstract class DateUtil { ...@@ -380,8 +360,7 @@ public abstract class DateUtil {
* 返回当前时间 yyyy-MM-dd HH:mm:ss * 返回当前时间 yyyy-MM-dd HH:mm:ss
*/ */
public static String getNowTime() { public static String getNowTime() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String time = SDF_YMD_HMS.format(new Date());
String time = sdf.format(new Date());
return time; return time;
} }
...@@ -434,8 +413,7 @@ public abstract class DateUtil { ...@@ -434,8 +413,7 @@ public abstract class DateUtil {
calendar.set(Calendar.SECOND, 0); calendar.set(Calendar.SECOND, 0);
Date start = calendar.getTime(); Date start = calendar.getTime();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String startStr = SDF_YMD_HMS.format(start);
String startStr = sdf.format(start);
datas.put("start", start); datas.put("start", start);
datas.put("startStr", startStr); datas.put("startStr", startStr);
...@@ -443,7 +421,7 @@ public abstract class DateUtil { ...@@ -443,7 +421,7 @@ public abstract class DateUtil {
calendar.add(Calendar.SECOND, -1); calendar.add(Calendar.SECOND, -1);
Date end = calendar.getTime(); Date end = calendar.getTime();
String endStr = sdf.format(end); String endStr = SDF_YMD_HMS.format(end);
datas.put("end", end); datas.put("end", end);
datas.put("endStr", endStr); datas.put("endStr", endStr);
...@@ -453,14 +431,13 @@ public abstract class DateUtil { ...@@ -453,14 +431,13 @@ public abstract class DateUtil {
// 获取当月第一天 jiangxiulong // 获取当月第一天 jiangxiulong
public static String getMonthFirst() { public static String getMonthFirst() {
//规定返回日期格式 //规定返回日期格式
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance(); Calendar calendar = Calendar.getInstance();
Date theDate = calendar.getTime(); Date theDate = calendar.getTime();
GregorianCalendar gcLast = (GregorianCalendar) Calendar.getInstance(); GregorianCalendar gcLast = (GregorianCalendar) Calendar.getInstance();
gcLast.setTime(theDate); gcLast.setTime(theDate);
//设置为第一天 //设置为第一天
gcLast.set(Calendar.DAY_OF_MONTH, 1); gcLast.set(Calendar.DAY_OF_MONTH, 1);
String dayFirst = sf.format(gcLast.getTime()); String dayFirst = SDF_YMD.format(gcLast.getTime());
//打印本月第一天 //打印本月第一天
return dayFirst; return dayFirst;
} }
...@@ -477,8 +454,7 @@ public abstract class DateUtil { ...@@ -477,8 +454,7 @@ public abstract class DateUtil {
//设置日期为本月最大日期 //设置日期为本月最大日期
calendar.set(Calendar.DATE, calendar.getActualMaximum(calendar.DATE)); calendar.set(Calendar.DATE, calendar.getActualMaximum(calendar.DATE));
//设置日期格式 //设置日期格式
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd"); String dayLast = SDF_YMD.format(calendar.getTime());
String dayLast = sf.format(calendar.getTime());
return dayLast + " 23:59:59"; return dayLast + " 23:59:59";
} }
...@@ -486,10 +462,9 @@ public abstract class DateUtil { ...@@ -486,10 +462,9 @@ public abstract class DateUtil {
// 获取某月最后一天 jiangxiulong // 获取某月最后一天 jiangxiulong
public static String getMonthLast(String month) { public static String getMonthLast(String month) {
// String 转 Date // String 转 Date
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date monthDate = null; Date monthDate = null;
try { try {
monthDate = simpleDateFormat.parse(month); monthDate = SDF_YMD.parse(month);
} catch (Exception e) { } catch (Exception e) {
return ""; return "";
} }
...@@ -499,53 +474,11 @@ public abstract class DateUtil { ...@@ -499,53 +474,11 @@ public abstract class DateUtil {
//设置日期为本月最大日期 //设置日期为本月最大日期
calendar.set(Calendar.DATE, calendar.getActualMaximum(calendar.DATE)); calendar.set(Calendar.DATE, calendar.getActualMaximum(calendar.DATE));
//设置日期格式 //设置日期格式
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd"); String dayLast = SDF_YMD.format(calendar.getTime());
String dayLast = sf.format(calendar.getTime());
return dayLast + " 23:59:59"; return dayLast + " 23:59:59";
} }
public static void main(String[] args) { public static void main(String[] args) {
//
// Calendar calendarBefore = Calendar.getInstance();
// System.out.println(new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(
// DateUtil.getBeforeDayBegin(calendarBefore,-1)));
// Calendar calendarEnd = Calendar.getInstance();
// System.out.println(new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(
// DateUtil.getBeforeDayEnd(calendarEnd,-1)));
// long dayNum = DateUtil.intervalHours(DateUtil.parse("2016-08-31 18:02:00", "yyyy-MM-dd HH:mm:ss"), new Date());
// System.out.print("dayNum=======" + dayNum);
// Set<String> holidays = new HashSet<>();
// holidays.add("20160416");
// holidays.add("20160417");
// Date d = DateUtil.reduceDay(DateUtil.now(),3,holidays);
// System.out.println(d);
// DateUtil.getWeekend(2017).forEach((date)->{
// System.out.println(DateUtil.format(date,Formatter.yyyy_MM_dd));
// });
// try{
// DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
// long now = System.currentTimeMillis();
// Calendar calendar = Calendar.getInstance();
// calendar.setTimeInMillis(now);
// System.out.println(now + " = " + formatter.format(calendar.getTime()));
// // 日期转换为毫秒 两个日期想减得到天数
// SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// String start="2011-09-20 12:30:45";
// String end ="2011-10-20 6:30:00";
// //得到毫秒数
// long timeStart=sdf.parse(start).getTime();
// long timeEnd =sdf.parse(end).getTime();
// //两个日期想减得到天数
// long dayCount= (timeEnd-timeStart)/(24*3600*1000);
// System.out.println(dayCount);
// }catch(Exception e){
//
// }
} }
} }
package com.liquidnet.service.base; package com.liquidnet.service.base;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.JsonUtils; import com.liquidnet.commons.lang.util.JsonUtils;
import java.io.IOException; import java.io.IOException;
...@@ -88,9 +89,9 @@ public class SqlMapping { ...@@ -88,9 +89,9 @@ public class SqlMapping {
/* ---------------------- ---------------------- ---------------------- */ /* ---------------------- ---------------------- ---------------------- */
public static String get(String sqlKey, Object... params) { public static String get(String sqlKey, Object... params) {
LinkedList<String> sqls = new LinkedList<>(); LinkedList<String> sqls = CollectionUtil.linkedListString();
sqls.add((String) sqlsProperties.get(sqlKey)); sqls.add((String) sqlsProperties.get(sqlKey));
LinkedList<Object[]> paramsList = new LinkedList<>(); LinkedList<Object[]> paramsList = CollectionUtil.linkedListObjectArr();
paramsList.add(params); paramsList.add(params);
LinkedList<Object[]>[] args = new LinkedList[]{paramsList}; LinkedList<Object[]>[] args = new LinkedList[]{paramsList};
...@@ -101,7 +102,7 @@ public class SqlMapping { ...@@ -101,7 +102,7 @@ public class SqlMapping {
} }
public static String get(String sqlKey, LinkedList<Object[]> paramsList) { public static String get(String sqlKey, LinkedList<Object[]> paramsList) {
LinkedList<String> sqls = new LinkedList<>(); LinkedList<String> sqls = CollectionUtil.linkedListString();
sqls.add((String) sqlsProperties.get(sqlKey)); sqls.add((String) sqlsProperties.get(sqlKey));
LinkedList<Object[]>[] args = new LinkedList[]{paramsList}; LinkedList<Object[]>[] args = new LinkedList[]{paramsList};
......
...@@ -11,7 +11,6 @@ import io.jsonwebtoken.ExpiredJwtException; ...@@ -11,7 +11,6 @@ import io.jsonwebtoken.ExpiredJwtException;
import lombok.Data; import lombok.Data;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.MDC;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.core.env.Environment; import org.springframework.core.env.Environment;
...@@ -39,10 +38,7 @@ public class GlobalAuthorityInterceptor extends HandlerInterceptorAdapter { ...@@ -39,10 +38,7 @@ public class GlobalAuthorityInterceptor extends HandlerInterceptorAdapter {
private static final String TOKEN_KICK = "40002"; private static final String TOKEN_KICK = "40002";
private static final String TOKEN_INVALID = "40003"; private static final String TOKEN_INVALID = "40003";
private static final String ENV_PROD = "prod"; // private static final String KYLIN_STATION_JWT_VALID = "/*/station/**";
private static final String ENV_ACTIVE = "spring.profiles.active";
private static final String KYLIN_STATION_JWT_VALID = "/*/station/**";
private final static AntPathMatcher antPathMatcher = new AntPathMatcher(); private final static AntPathMatcher antPathMatcher = new AntPathMatcher();
...@@ -58,16 +54,17 @@ public class GlobalAuthorityInterceptor extends HandlerInterceptorAdapter { ...@@ -58,16 +54,17 @@ public class GlobalAuthorityInterceptor extends HandlerInterceptorAdapter {
String authorization = request.getHeader(CurrentUtil.uToken), uri = request.getRequestURI(), String authorization = request.getHeader(CurrentUtil.uToken), uri = request.getRequestURI(),
responseCode = null, token = null, currentUid = null; responseCode = null, token = null, currentUid = null;
Claims claims = null;
if (StringUtils.isNotBlank(authorization) && StringUtils.length(authorization) > 7) { if (StringUtils.isNotBlank(authorization) && StringUtils.length(authorization) > 7) {
token = authorization.substring(7); token = authorization.substring(7);
try { try {
// 解析没有异常则表示token验证通过,如有必要可根据自身需求增加验证逻辑 // 解析没有异常则表示token验证通过,如有必要可根据自身需求增加验证逻辑
Claims claims = jwtValidator.parse(token); claims = jwtValidator.parse(token);
currentUid = (String) claims.get(CurrentUtil.uID); currentUid = (String) claims.get(CurrentUtil.TOKEN_SUB);
request.setAttribute(CurrentUtil.uToken, token); request.setAttribute(CurrentUtil.uToken, token);
request.setAttribute(CurrentUtil.uID, currentUid); request.setAttribute(CurrentUtil.TOKEN_SUB, currentUid);
request.setAttribute(CurrentUtil.uTag, JsonUtils.toJson(claims)); request.setAttribute(CurrentUtil.uTag, JsonUtils.toJson(claims));
} catch (ExpiredJwtException expiredJwtEx) { } catch (ExpiredJwtException expiredJwtEx) {
...@@ -95,7 +92,7 @@ public class GlobalAuthorityInterceptor extends HandlerInterceptorAdapter { ...@@ -95,7 +92,7 @@ public class GlobalAuthorityInterceptor extends HandlerInterceptorAdapter {
this.responseHandler(response, TOKEN_ILLEGAL); this.responseHandler(response, TOKEN_ILLEGAL);
return false; return false;
} }
if (this.authorityHandler(response, uri, token, currentUid)) { if (this.authorityHandler(response, uri, token, currentUid, claims)) {
return true; return true;
} }
return false; return false;
...@@ -109,38 +106,84 @@ public class GlobalAuthorityInterceptor extends HandlerInterceptorAdapter { ...@@ -109,38 +106,84 @@ public class GlobalAuthorityInterceptor extends HandlerInterceptorAdapter {
response.getWriter().write(JsonUtils.toJson(responseDto)); response.getWriter().write(JsonUtils.toJson(responseDto));
} }
private boolean authorityHandler(HttpServletResponse response, String uri, String token, String currentUid) throws IOException { private boolean authorityHandler(HttpServletResponse response, String uri, String token, String currentUid, Claims claims) throws IOException {
if (antPathMatcher.match(KYLIN_STATION_JWT_VALID, uri)) {// 专业版APP // if (antPathMatcher.match(KYLIN_STATION_JWT_VALID, uri)) {// 专业版APP
// adam:identity:sso:${uid}:MD5(${token})=${1-在线|0-离线} // // adam:identity:sso:${uid}:MD5(${token})=${1-在线|0-离线}
// String ssoUidM5TokenKey = jwtValidator.getSsoRedisKey() // String ssoUidM5TokenKey = jwtValidator.getMsoRedisKey()
// .concat(uid).concat(":").concat(DigestUtils.md5DigestAsHex(uToken.getBytes(StandardCharsets.UTF_8))); // .concat(currentUid).concat(":").concat(DigestUtils.md5DigestAsHex(token.getBytes(StandardCharsets.UTF_8)));
// Integer online = (Integer) redisUtil.get(ssoUidM5TokenKey); // Integer online = (Integer) redisUtil.get(ssoUidM5TokenKey);
// if (null == online || online != 1) { // if (null == online || online != 1) {
// this.respHandler(ctx, TOKEN_INVALID); // // 已离线
// this.responseHandler(response, TOKEN_INVALID);
//
// return false;
// } else { // } else {
return true; // return true;
// } // }
} else { // } else {
// adam:identity:sso:${uid}=MD5(${token}) // // adam:identity:sso:${uid}=MD5(${token})
String ssoKey = jwtValidator.getSsoRedisKey().concat(currentUid), md5Token; // String ssoKey = jwtValidator.getSsoRedisKey().concat(currentUid), md5Token;
//
// if (StringUtils.isEmpty(md5Token = (String) redisUtil.get(ssoKey))) {
// // 已离线
// this.responseHandler(response, TOKEN_INVALID);
//
// return false;
// } else {
// // 与在线TOKEN比对
// if (md5Token.equals(DigestUtils.md5DigestAsHex(token.getBytes(StandardCharsets.UTF_8)))) {
// // 一致则放行
// return true;
// } else {
// // 不一致则被踢下线
// this.responseHandler(response, TOKEN_KICK);
//
// return false;
// }
// }
// }
if (StringUtils.isEmpty(md5Token = (String) redisUtil.get(ssoKey))) {
// 已离线
this.responseHandler(response, TOKEN_INVALID);
return false; String tokenType = (String) claims.get(CurrentUtil.TOKEN_TYPE);
} else { switch (tokenType) {
// 与在线TOKEN比对 case CurrentUtil.TOKEN_TYPE_VAL_STATION:// 专业版APP
if (md5Token.equals(DigestUtils.md5DigestAsHex(token.getBytes(StandardCharsets.UTF_8)))) { // adam:identity:sso:${uid}:MD5(${token})=${1-在线|0-离线}
// 一致则放行 String ssoUidM5TokenKey = jwtValidator.getMsoRedisKey()
return true; .concat(currentUid).concat(":").concat(DigestUtils.md5DigestAsHex(token.getBytes(StandardCharsets.UTF_8)));
Integer online = (Integer) redisUtil.get(ssoUidM5TokenKey);
if (null == online || online != 1) {
// 已离线
this.responseHandler(response, TOKEN_INVALID);
return false;
} else { } else {
// 不一致则被踢下线 return true;
this.responseHandler(response, TOKEN_KICK); }
case CurrentUtil.TOKEN_TYPE_VAL_USER:
// adam:identity:sso:${uid}=MD5(${token})
String ssoKey = jwtValidator.getSsoRedisKey().concat(currentUid), md5Token;
if (StringUtils.isEmpty(md5Token = (String) redisUtil.get(ssoKey))) {
// 已离线
this.responseHandler(response, TOKEN_INVALID);
return false; return false;
} else {
// 与在线TOKEN比对
if (md5Token.equals(DigestUtils.md5DigestAsHex(token.getBytes(StandardCharsets.UTF_8)))) {
// 一致则放行
return true;
} else {
// 不一致则被踢下线
this.responseHandler(response, TOKEN_KICK);
return false;
}
} }
} default:
log.warn("Authority failed:{} (Unknown token type).uri:[{}],token:{}", TOKEN_ILLEGAL, uri, token);
this.responseHandler(response, TOKEN_ILLEGAL);
return false;
} }
} }
} }
package com.liquidnet.common.web.filter; package com.liquidnet.common.web.filter;
import lombok.Data;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.slf4j.MDC; import org.slf4j.MDC;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -10,7 +9,6 @@ import javax.servlet.http.HttpServletRequest; ...@@ -10,7 +9,6 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
@Slf4j @Slf4j
@Data
@Component @Component
public class GlobalLogTrackInterceptor extends HandlerInterceptorAdapter { public class GlobalLogTrackInterceptor extends HandlerInterceptorAdapter {
private static final String LNS_TRANCE_ID = "lnsTranceId"; private static final String LNS_TRANCE_ID = "lnsTranceId";
......
...@@ -80,9 +80,9 @@ spring: ...@@ -80,9 +80,9 @@ spring:
connection-timeout: ${liquidnet.rabbitmq.connection-timeout} connection-timeout: ${liquidnet.rabbitmq.connection-timeout}
redis: redis:
database: 0 database: 0
port: ${liquidnet.redis.port} port: ${liquidnet.redis.dragon.port}
host: ${liquidnet.redis.host} host: ${liquidnet.redis.dragon.host}
password: ${liquidnet.redis.password} password: ${liquidnet.redis.dragon.password}
lettuce: lettuce:
pool: pool:
max-active: 8 max-active: 8
......
...@@ -14,6 +14,7 @@ import lombok.Data; ...@@ -14,6 +14,7 @@ import lombok.Data;
public class OrderPushDamaiDto { public class OrderPushDamaiDto {
String orderTicketsId; String orderTicketsId;
Integer mid; Integer mid;
Integer status;
String enterName; String enterName;
String enterIdCode; String enterIdCode;
Integer enterType; Integer enterType;
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
<resultMap id="orderPushDamaiDto" type="com.liquidnet.service.kylin.dao.OrderPushDamaiDto"> <resultMap id="orderPushDamaiDto" type="com.liquidnet.service.kylin.dao.OrderPushDamaiDto">
<result column="order_tickets_id" property="orderTicketsId"/> <result column="order_tickets_id" property="orderTicketsId"/>
<result column="mid" property="mid"/> <result column="mid" property="mid"/>
<result column="status" property="status"/>
<result column="enter_name" property="enterName"/> <result column="enter_name" property="enterName"/>
<result column="enter_id_code" property="enterIdCode"/> <result column="enter_id_code" property="enterIdCode"/>
<result column="enter_mobile" property="enterMobile"/> <result column="enter_mobile" property="enterMobile"/>
...@@ -53,7 +54,8 @@ ...@@ -53,7 +54,8 @@
<select id="getPerformanceRefundOrderStatis" resultType="java.util.HashMap"> <select id="getPerformanceRefundOrderStatis" resultType="java.util.HashMap">
SELECT SELECT
SUM(o.price_actual - o.price_refund) as total_price_refund, SUM(o.number - o.refund_number) as total_refund_number SUM(o.price_actual - o.price_refund) as total_price_refund, SUM(o.number - o.refund_number) as
total_refund_number
FROM kylin_order_tickets AS o FROM kylin_order_tickets AS o
JOIN kylin_order_ticket_relations AS r ON r.order_id = o.order_tickets_id JOIN kylin_order_ticket_relations AS r ON r.order_id = o.order_tickets_id
JOIN kylin_order_ticket_status AS s ON s.order_id = o.order_tickets_id JOIN kylin_order_ticket_status AS s ON s.order_id = o.order_tickets_id
...@@ -229,6 +231,7 @@ ...@@ -229,6 +231,7 @@
order_tickets_id, order_tickets_id,
enter_name, enter_name,
enter_id_code, enter_id_code,
ots.status,
enter_type, enter_type,
enter_mobile, enter_mobile,
time_pay, time_pay,
...@@ -290,22 +293,27 @@ ...@@ -290,22 +293,27 @@
INNER JOIN kylin_order_ticket_status kots ON kot.order_tickets_id = kots.order_id INNER JOIN kylin_order_ticket_status kots ON kot.order_tickets_id = kots.order_id
INNER JOIN kylin_order_ticket_relations kotr ON kot.order_tickets_id = kotr.order_id INNER JOIN kylin_order_ticket_relations kotr ON kot.order_tickets_id = kotr.order_id
LEFT JOIN (SELECT * FROM kylin_order_express WHERE express_status NOT IN (1, 3)) AS oe ON oe.order_tickets_id = kot.order_tickets_id LEFT JOIN (SELECT * FROM kylin_order_express WHERE express_status NOT IN (1, 3)) AS oe ON oe.order_tickets_id =
LEFT JOIN (SELECT * FROM kylin_order_express_route ORDER BY mid DESC LIMIT 1) AS oer ON oe.order_express_id = oer.order_express_id kot.order_tickets_id
LEFT JOIN (SELECT * FROM kylin_order_express_route ORDER BY mid DESC LIMIT 1) AS oer ON oe.order_express_id =
oer.order_express_id
<where> <where>
kotr.performance_id = #{performancesId} kotr.performance_id = #{performancesId}
AND kot.get_ticket_type = 'express' AND kot.get_ticket_type = 'express'
AND kots.status IN (1, 3, 4, 6) AND kots.status IN (1, 3, 4, 6)
AND kots.pay_status = 1 AND kots.pay_status = 1
<if test="orderCode != null and orderCode != ''">AND kot.order_code = #{orderCode}</if> <if test="orderCode != null and orderCode != ''">AND kot.order_code = #{orderCode}</if>
<if test="orderTicketsId != null and orderTicketsId != ''">AND kot.order_tickets_id = #{orderTicketsId}</if> <if test="orderTicketsId != null and orderTicketsId != ''">AND kot.order_tickets_id = #{orderTicketsId}
</if>
<if test="orderStatus!=null and orderStatus!=''">AND kots.status = #{orderStatus}</if> <if test="orderStatus!=null and orderStatus!=''">AND kots.status = #{orderStatus}</if>
<if test="userMobile != null and userMobile != ''">AND kot.user_mobile = #{userMobile}</if> <if test="userMobile != null and userMobile != ''">AND kot.user_mobile = #{userMobile}</if>
<if test="userName != null and userName != ''">AND kot.user_name LIKE concat('%', #{userName}, '%')</if> <if test="userName != null and userName != ''">AND kot.user_name LIKE concat('%', #{userName}, '%')</if>
<if test="expressPhone != null and expressPhone != ''">AND kot.express_phone = #{expressPhone}</if> <if test="expressPhone != null and expressPhone != ''">AND kot.express_phone = #{expressPhone}</if>
<if test="expressContacts != null and expressContacts != ''">AND kot.express_contacts LIKE concat('%', #{expressContacts}, '%')</if> <if test="expressContacts != null and expressContacts != ''">AND kot.express_contacts LIKE concat('%',
#{expressContacts}, '%')
</if>
</where> </where>
</select> </select>
<select id="getCanPlaceOrderList" resultType="com.liquidnet.service.kylin.entity.KylinOrderTickets"> <select id="getCanPlaceOrderList" resultType="com.liquidnet.service.kylin.entity.KylinOrderTickets">
......
...@@ -442,10 +442,10 @@ public class AdamLoginController { ...@@ -442,10 +442,10 @@ public class AdamLoginController {
private String ssoProcess(AdamUserInfoVo userInfoVo) { private String ssoProcess(AdamUserInfoVo userInfoVo) {
Map<String, Object> claimsMap = CollectionUtil.mapStringObject(); Map<String, Object> claimsMap = CollectionUtil.mapStringObject();
claimsMap.put("sub", userInfoVo.getUid()); claimsMap.put(CurrentUtil.TOKEN_SUB, userInfoVo.getUid());
claimsMap.put("mobile", userInfoVo.getMobile()); claimsMap.put(CurrentUtil.TOKEN_MOBILE, userInfoVo.getMobile());
claimsMap.put("nickname", userInfoVo.getNickname()); claimsMap.put(CurrentUtil.TOKEN_NICKNAME, userInfoVo.getNickname());
claimsMap.put("type", "user"); claimsMap.put(CurrentUtil.TOKEN_TYPE, CurrentUtil.TOKEN_TYPE_VAL_USER);
String token = jwtValidator.create(claimsMap); String token = jwtValidator.create(claimsMap);
......
...@@ -132,8 +132,9 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService { ...@@ -132,8 +132,9 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
memberOrderVo.setUid(CurrentUtil.getCurrentUid()); memberOrderVo.setUid(CurrentUtil.getCurrentUid());
memberOrderVo.setPrice(param.getPrice()); memberOrderVo.setPrice(param.getPrice());
memberOrderVo.setClientIp(clientIp); memberOrderVo.setClientIp(clientIp);
memberOrderVo.setVersion(CurrentUtil.getCliVersion()); String headerCliVersion = CurrentUtil.getHeaderCliVersion(), headerCliSource = CurrentUtil.getHeaderCliSource();
memberOrderVo.setSource(CurrentUtil.getCliSource()); memberOrderVo.setSource(null == headerCliSource ? "" : headerCliSource);
memberOrderVo.setVersion(null == headerCliVersion ? "" : headerCliVersion);
if (!adamRdmService.setShotMemberOrderVoByOrderNo(orderNo, memberOrderVo)) { if (!adamRdmService.setShotMemberOrderVoByOrderNo(orderNo, memberOrderVo)) {
log.warn("###购买会员创建订单失败[memberOrderVo:{}]", JsonUtils.toJson(memberOrderVo)); log.warn("###购买会员创建订单失败[memberOrderVo:{}]", JsonUtils.toJson(memberOrderVo));
...@@ -255,7 +256,7 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService { ...@@ -255,7 +256,7 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
if (1 == handleMemberOrderVo.getMode()) {// 购买会员码回调 if (1 == handleMemberOrderVo.getMode()) {// 购买会员码回调
String memberNo = adamUserMemberService.getNextMemberNo(handleMemberOrderVo.getMemberId()); String memberNo = adamUserMemberService.getNextMemberNo(handleMemberOrderVo.getMemberId());
AdamMemberCodeVo initMemberCodeVo = new AdamMemberCodeVo(); AdamMemberCodeVo initMemberCodeVo = AdamMemberCodeVo.getNew();
initMemberCodeVo.setCode(MemberUtil.buyCode()); initMemberCodeVo.setCode(MemberUtil.buyCode());
initMemberCodeVo.setMemberId(handleMemberOrderVo.getMemberId()); initMemberCodeVo.setMemberId(handleMemberOrderVo.getMemberId());
initMemberCodeVo.setMemberPriceId(handleMemberOrderVo.getMemberPriceId()); initMemberCodeVo.setMemberPriceId(handleMemberOrderVo.getMemberPriceId());
...@@ -347,8 +348,9 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService { ...@@ -347,8 +348,9 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
initMemberOrderVo.setPaymentAt(now); initMemberOrderVo.setPaymentAt(now);
initMemberOrderVo.setCreatedAt(now); initMemberOrderVo.setCreatedAt(now);
initMemberOrderVo.setClientIp(CurrentUtil.getCliIpAddr()); initMemberOrderVo.setClientIp(CurrentUtil.getCliIpAddr());
initMemberOrderVo.setSource(CurrentUtil.getCliSource()); String headerCliVersion = CurrentUtil.getHeaderCliVersion(), headerCliSource = CurrentUtil.getHeaderCliSource();
initMemberOrderVo.setVersion(CurrentUtil.getCliVersion()); initMemberOrderVo.setSource(null == headerCliSource ? "" : headerCliSource);
initMemberOrderVo.setVersion(null == headerCliVersion ? "" : headerCliVersion);
LinkedList<String> toMqSqls = CollectionUtil.linkedListString(); LinkedList<String> toMqSqls = CollectionUtil.linkedListString();
LinkedList<Object[]> updateMemberCodeObjs = CollectionUtil.linkedListObjectArr(), LinkedList<Object[]> updateMemberCodeObjs = CollectionUtil.linkedListObjectArr(),
......
...@@ -81,6 +81,7 @@ public class AdamUserServiceImpl implements IAdamUserService { ...@@ -81,6 +81,7 @@ public class AdamUserServiceImpl implements IAdamUserService {
userInfoVo = AdamUserInfoVo.getNew(); userInfoVo = AdamUserInfoVo.getNew();
userInfoVo.setUid(IDGenerator.nextSnowId() + ""); userInfoVo.setUid(IDGenerator.nextSnowId() + "");
userInfoVo.setMobile(mobile); userInfoVo.setMobile(mobile);
userInfoVo.setNickname("Now_".concat(SensitizeUtil.custom(mobile, 3, 4)));
userInfoVo.setIsComplete(0); userInfoVo.setIsComplete(0);
userInfoVo.setState(1); userInfoVo.setState(1);
userInfoVo.setQrCode("lN".concat(userInfoVo.getUid()).concat(RandomStringUtils.randomAlphanumeric(5).toUpperCase())); userInfoVo.setQrCode("lN".concat(userInfoVo.getUid()).concat(RandomStringUtils.randomAlphanumeric(5).toUpperCase()));
...@@ -102,8 +103,9 @@ public class AdamUserServiceImpl implements IAdamUserService { ...@@ -102,8 +103,9 @@ public class AdamUserServiceImpl implements IAdamUserService {
toMqSqls.add(SqlMapping.get("adam_user.add")); toMqSqls.add(SqlMapping.get("adam_user.add"));
initUserObjs.add(new Object[]{userInfoVo.getUid(), userInfoVo.getMobile(), userInfoVo.getState(), 0, now}); initUserObjs.add(new Object[]{userInfoVo.getUid(), userInfoVo.getMobile(), userInfoVo.getState(), 0, now});
toMqSqls.add(SqlMapping.get("adam_user_info.add")); toMqSqls.add(SqlMapping.get("adam_user_info.add"));
initUserInfoObjs.add(new Object[]{userInfoVo.getQrCode(), userInfoVo.getUid()}); initUserInfoObjs.add(new Object[]{userInfoVo.getUid(), userInfoVo.getNickname(), userInfoVo.getQrCode()});
log.debug("#SQL.GET耗时:{}ms", System.currentTimeMillis() - s); log.debug("#SQL.GET耗时:{}ms", System.currentTimeMillis() - s);
queueUtils.sendMsgByRedis(MQConst.AdamQueue.SQL_UREGISTER.getKey(), queueUtils.sendMsgByRedis(MQConst.AdamQueue.SQL_UREGISTER.getKey(),
SqlMapping.gets(toMqSqls, initUserObjs, initUserInfoObjs) SqlMapping.gets(toMqSqls, initUserObjs, initUserInfoObjs)
); );
...@@ -130,12 +132,14 @@ public class AdamUserServiceImpl implements IAdamUserService { ...@@ -130,12 +132,14 @@ public class AdamUserServiceImpl implements IAdamUserService {
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s); log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
LinkedList<String> toMqSqls = CollectionUtil.linkedListString(); LinkedList<String> toMqSqls = CollectionUtil.linkedListString();
LinkedList<Object[]> initUserObjs = CollectionUtil.linkedListObjectArr(), LinkedList<Object[]> initUserObjs = CollectionUtil.linkedListObjectArr(),
initUserInfoObjs = CollectionUtil.linkedListObjectArr(),
initThirdPartObjs = CollectionUtil.linkedListObjectArr(); initThirdPartObjs = CollectionUtil.linkedListObjectArr();
if (StringUtils.isEmpty(uid)) {// 手机号未注册 if (StringUtils.isEmpty(uid)) {// 手机号未注册
userInfoVo = AdamUserInfoVo.getNew(); userInfoVo = AdamUserInfoVo.getNew();
userInfoVo.setUid(IDGenerator.nextSnowId() + ""); userInfoVo.setUid(IDGenerator.nextSnowId() + "");
userInfoVo.setMobile(param.getMobile()); userInfoVo.setMobile(param.getMobile());
userInfoVo.setNickname("Now_".concat(SensitizeUtil.custom(param.getMobile(), 3, 4)));
userInfoVo.setIsComplete(0); userInfoVo.setIsComplete(0);
userInfoVo.setState(1); userInfoVo.setState(1);
userInfoVo.setQrCode("lN".concat(userInfoVo.getUid()).concat(RandomStringUtils.randomAlphanumeric(5).toUpperCase())); userInfoVo.setQrCode("lN".concat(userInfoVo.getUid()).concat(RandomStringUtils.randomAlphanumeric(5).toUpperCase()));
...@@ -149,10 +153,14 @@ public class AdamUserServiceImpl implements IAdamUserService { ...@@ -149,10 +153,14 @@ public class AdamUserServiceImpl implements IAdamUserService {
toMqSqls.add(SqlMapping.get("adam_user.add")); toMqSqls.add(SqlMapping.get("adam_user.add"));
initUserObjs.add(new Object[]{userInfoVo.getUid(), userInfoVo.getMobile(), userInfoVo.getState(), now}); initUserObjs.add(new Object[]{userInfoVo.getUid(), userInfoVo.getMobile(), userInfoVo.getState(), now});
toMqSqls.add(SqlMapping.get("adam_user_info.add"));
initUserInfoObjs.add(new Object[]{userInfoVo.getUid(), userInfoVo.getNickname(), userInfoVo.getQrCode()});
} else { } else {
s = System.currentTimeMillis(); s = System.currentTimeMillis();
userInfoVo = adamRdmService.getUserInfoVoByUid(uid); userInfoVo = adamRdmService.getUserInfoVoByUid(uid);
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s); log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
toMqSqls.add(SqlMapping.get("adam_user.add"));
toMqSqls.add(SqlMapping.get("adam_user_info.add"));
} }
AdamThirdPartInfoVo thirdPartInfoVo = AdamThirdPartInfoVo.getNew(); AdamThirdPartInfoVo thirdPartInfoVo = AdamThirdPartInfoVo.getNew();
...@@ -174,7 +182,7 @@ public class AdamUserServiceImpl implements IAdamUserService { ...@@ -174,7 +182,7 @@ public class AdamUserServiceImpl implements IAdamUserService {
s = System.currentTimeMillis(); s = System.currentTimeMillis();
queueUtils.sendMsgByRedis(MQConst.AdamQueue.SQL_UREGISTER.getKey(), queueUtils.sendMsgByRedis(MQConst.AdamQueue.SQL_UREGISTER.getKey(),
SqlMapping.gets(toMqSqls, initUserObjs, initThirdPartObjs) SqlMapping.gets(toMqSqls, initUserObjs, initUserInfoObjs, initThirdPartObjs)
); );
log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s); log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s);
} else { } else {
......
...@@ -15,12 +15,12 @@ public class ObjectUtil { ...@@ -15,12 +15,12 @@ public class ObjectUtil {
private static final PagedResult<AdamDisposedVo> adamDisposedVoPagedResult = new PagedResult<>(); private static final PagedResult<AdamDisposedVo> adamDisposedVoPagedResult = new PagedResult<>();
private static final PagedResult<AdamDisposedUserVo> adamDisposedUserVoPagedResult = new PagedResult<>(); private static final PagedResult<AdamDisposedUserVo> adamDisposedUserVoPagedResult = new PagedResult<>();
public static List<AdamTagParentVo> getAdamTagParentVoArrayList() { public static ArrayList<AdamTagParentVo> getAdamTagParentVoArrayList() {
return (List<AdamTagParentVo>) adamTagParentVoArrayList.clone(); return (ArrayList<AdamTagParentVo>) adamTagParentVoArrayList.clone();
} }
public static List<AdamTagVo> getAdamTagVoArrayList() { public static ArrayList<AdamTagVo> getAdamTagVoArrayList() {
return (List<AdamTagVo>) adamTagVoArrayList.clone(); return (ArrayList<AdamTagVo>) adamTagVoArrayList.clone();
} }
public static PagedResult<AdamCollectVo> getAdamCollectVoPagedResult() { public static PagedResult<AdamCollectVo> getAdamCollectVoPagedResult() {
......
...@@ -4,7 +4,7 @@ adam_user.edit.mobile=UPDATE adam_user SET mobile=?, updated_at=? WHERE `uid`=? ...@@ -4,7 +4,7 @@ adam_user.edit.mobile=UPDATE adam_user SET mobile=?, updated_at=? WHERE `uid`=?
adam_user.close=UPDATE adam_user SET `state`=2, updated_at=?, closed_at=? WHERE `uid`=? adam_user.close=UPDATE adam_user SET `state`=2, updated_at=?, closed_at=? WHERE `uid`=?
# ---------------------------------------------------- # ----------------------------------------------------
adam_user_info.add=INSERT INTO adam_user_info (`uid`, qr_code) VALUES (?,?) adam_user_info.add=INSERT INTO adam_user_info (`uid`, nickname, qr_code) VALUES (?,?,?)
adam_user_info.edit=UPDATE adam_user_info SET nickname=?, sex=?, birthday=?, area=?, signature=?, avatar=?, background=?, tag_me=? WHERE uid=? adam_user_info.edit=UPDATE adam_user_info SET nickname=?, sex=?, birthday=?, area=?, signature=?, avatar=?, background=?, tag_me=? WHERE uid=?
# ---------------------------------------------------- # ----------------------------------------------------
......
...@@ -43,4 +43,8 @@ public class WePayRefundReturnDto { ...@@ -43,4 +43,8 @@ public class WePayRefundReturnDto {
private String couponRefundCount; private String couponRefundCount;
@XStreamAlias("cash_refund_fee") @XStreamAlias("cash_refund_fee")
private String cashRefundFee; private String cashRefundFee;
@XStreamAlias("err_code")
private String errCode;
@XStreamAlias("err_code_des")
private String errCodeDes;
} }
...@@ -104,11 +104,10 @@ public class DragonOrderRefundsServiceImpl implements IDragonOrderRefundsService ...@@ -104,11 +104,10 @@ public class DragonOrderRefundsServiceImpl implements IDragonOrderRefundsService
} else if (dto.getResult().equalsIgnoreCase("error")) { } else if (dto.getResult().equalsIgnoreCase("error")) {
//调用回调 //调用回调
log.error(""); log.error("");
return ResponseDto.failure("退款失败:" + dto.getMessage());
} else if (dto.getResult().equalsIgnoreCase("exception")) { } else if (dto.getResult().equalsIgnoreCase("exception")) {
log.error(""); log.error("");
} }
DragonRefundAppDto refundAppDto = new DragonRefundAppDto(); DragonRefundAppDto refundAppDto = new DragonRefundAppDto();
refundAppDto.setOrderCode(orderCode); refundAppDto.setOrderCode(orderCode);
refundAppDto.setCode(code); refundAppDto.setCode(code);
...@@ -167,6 +166,14 @@ public class DragonOrderRefundsServiceImpl implements IDragonOrderRefundsService ...@@ -167,6 +166,14 @@ public class DragonOrderRefundsServiceImpl implements IDragonOrderRefundsService
String jsonStr = EntityUtils.toString(entity, "UTF-8"); String jsonStr = EntityUtils.toString(entity, "UTF-8");
log.debug("JSONSTR = " + jsonStr); log.debug("JSONSTR = " + jsonStr);
WePayRefundReturnDto wePayRefundReturnDto = XmlUtil.toBean(jsonStr, WePayRefundReturnDto.class); WePayRefundReturnDto wePayRefundReturnDto = XmlUtil.toBean(jsonStr, WePayRefundReturnDto.class);
if (wePayRefundReturnDto.getErrCodeDes() != null) {
channelDto.setResult("error");
channelDto.setMessage(paymentType + " refund error: " + wePayRefundReturnDto.getErrCodeDes());
contentDto.setRequest(data);
contentDto.setResponse(jsonStr);
channelDto.setContent(contentDto);
return channelDto;
}
log.debug("BEAN = " + wePayRefundReturnDto); log.debug("BEAN = " + wePayRefundReturnDto);
if (!wePayRefundReturnDto.getReturnCode().equalsIgnoreCase("SUCCESS") || wePayRefundReturnDto.getReturnCode() == null) { if (!wePayRefundReturnDto.getReturnCode().equalsIgnoreCase("SUCCESS") || wePayRefundReturnDto.getReturnCode() == null) {
try { try {
...@@ -373,10 +380,10 @@ public class DragonOrderRefundsServiceImpl implements IDragonOrderRefundsService ...@@ -373,10 +380,10 @@ public class DragonOrderRefundsServiceImpl implements IDragonOrderRefundsService
} }
dto.setOrderRefundCode(info.getOutRefundNo()); dto.setOrderRefundCode(info.getOutRefundNo());
dto.setRefundCode(info.getOutTradeNo()); dto.setRefundCode(info.getOutTradeNo());
dto.setRefundPrice(info.getRefundFee()); dto.setRefundPrice(new BigDecimal(info.getRefundFee()).divide(BigDecimal.valueOf(100)).toString());
dto.setRefundAt(refundAt); dto.setRefundAt(refundAt);
dto.setRefundError(callBackDto.getReturnMsg()); dto.setRefundError(callBackDto.getReturnMsg());
log.debug("SEND WEPAY NOTIFTURL = "+ JSON.toJSONString(dto)); log.debug("SEND WEPAY NOTIFTURL = " + JSON.toJSONString(dto));
sendNotifyUrl(dto); sendNotifyUrl(dto);
mqHandleUtil.sendMySqlRedis( mqHandleUtil.sendMySqlRedis(
...@@ -432,7 +439,7 @@ public class DragonOrderRefundsServiceImpl implements IDragonOrderRefundsService ...@@ -432,7 +439,7 @@ public class DragonOrderRefundsServiceImpl implements IDragonOrderRefundsService
dto.setRefundAt(callBackDto.getGmtRefund()); dto.setRefundAt(callBackDto.getGmtRefund());
dto.setRefundPrice(response.getRefundAmount()); dto.setRefundPrice(response.getRefundAmount());
dto.setRefundError(""); dto.setRefundError("");
log.debug("SEND ALIPAY NOTIFTURL = "+ JSON.toJSONString(dto)); log.debug("SEND ALIPAY NOTIFTURL = " + JSON.toJSONString(dto));
sendNotifyUrl(dto); sendNotifyUrl(dto);
mqHandleUtil.sendMySqlRedis( mqHandleUtil.sendMySqlRedis(
...@@ -473,7 +480,7 @@ public class DragonOrderRefundsServiceImpl implements IDragonOrderRefundsService ...@@ -473,7 +480,7 @@ public class DragonOrderRefundsServiceImpl implements IDragonOrderRefundsService
params.add("refundError", notifyUrlDto.getRefundError()); params.add("refundError", notifyUrlDto.getRefundError());
params.add("refundPrice", notifyUrlDto.getRefundPrice()); params.add("refundPrice", notifyUrlDto.getRefundPrice());
params.add("status", notifyUrlDto.getStatus().toString()); params.add("status", notifyUrlDto.getStatus().toString());
String response = HttpUtil.post( dataUtils.getRefundNotifyUrl(DragonConstant.REFUND_REDIS_KET + notifyUrlDto.getOrderRefundCode()), params); String response = HttpUtil.post(dataUtils.getRefundNotifyUrl(DragonConstant.REFUND_REDIS_KET + notifyUrlDto.getOrderRefundCode()), params);
log.debug("RETURN RESPONSE=" + response); log.debug("RETURN RESPONSE=" + response);
if (response.equals("success")) { if (response.equals("success")) {
mqHandleUtil.sendMySqlRedis( mqHandleUtil.sendMySqlRedis(
......
...@@ -2,6 +2,7 @@ package com.liquidnet.service.kylin.controller; ...@@ -2,6 +2,7 @@ package com.liquidnet.service.kylin.controller;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.service.base.ErrorMapping; import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dto.param.PayAgainParam; import com.liquidnet.service.kylin.dto.param.PayAgainParam;
...@@ -101,7 +102,7 @@ public class KylinOrderTicketsController { ...@@ -101,7 +102,7 @@ public class KylinOrderTicketsController {
@RequestParam(value = "picList", required = false) String picList) { @RequestParam(value = "picList", required = false) String picList) {
String orderRefundId = orderTicketsService.sendOrderRefund(orderId, orderTicketEntitiesId, reason, picList); String orderRefundId = orderTicketsService.sendOrderRefund(orderId, orderTicketEntitiesId, reason, picList);
if (orderRefundId.length() > 10) { if (orderRefundId.length() > 10) {
HashMap<String, String> map = new HashMap<String, String>(); HashMap<String, String> map = CollectionUtil.mapStringString();
map.put("orderRefundsId", orderRefundId); map.put("orderRefundsId", orderRefundId);
return ResponseDto.success(map); return ResponseDto.success(map);
} else { } else {
...@@ -130,7 +131,7 @@ public class KylinOrderTicketsController { ...@@ -130,7 +131,7 @@ public class KylinOrderTicketsController {
@ApiResponse(code = 200, message = "接口返回对象参数") @ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<HashMap> orderUnPayCount() { public ResponseDto<HashMap> orderUnPayCount() {
Integer unPayCount = orderTicketsService.orderUnPayCount().getData(); Integer unPayCount = orderTicketsService.orderUnPayCount().getData();
HashMap<String, Integer> map = new HashMap<>(); HashMap<String, Integer> map = CollectionUtil.mapStringInteger();
map.put("unPayCount", unPayCount); map.put("unPayCount", unPayCount);
return ResponseDto.success(map); return ResponseDto.success(map);
} }
......
package com.liquidnet.service.kylin.service.impl; package com.liquidnet.service.kylin.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.common.cache.redis.util.RedisUtil; import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.service.kylin.constant.KylinRedisConst; import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.dto.vo.KylinFieldsVo; import com.liquidnet.service.kylin.dto.vo.KylinFieldsVo;
import com.liquidnet.service.kylin.entity.KylinFields;
import com.liquidnet.service.kylin.mapper.KylinFieldsMapper;
import com.liquidnet.service.kylin.service.KylinFieldsService; import com.liquidnet.service.kylin.service.KylinFieldsService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.PageRequest;
...@@ -31,7 +29,7 @@ public class FieldsServiceImpl implements KylinFieldsService { ...@@ -31,7 +29,7 @@ public class FieldsServiceImpl implements KylinFieldsService {
@Override @Override
public HashMap<String,Object> fieldList(int page, int size, int city_id) { public HashMap<String,Object> fieldList(int page, int size, int city_id) {
HashMap<String,Object> info = new HashMap<>(); HashMap<String,Object> info = CollectionUtil.mapStringObject();
// 排序 分页 // 排序 分页
Pageable pageable = PageRequest.of(0, size, Sort.by(Sort.Direction.DESC, "createdAt")); Pageable pageable = PageRequest.of(0, size, Sort.by(Sort.Direction.DESC, "createdAt"));
......
package com.liquidnet.service.kylin.service.impl; package com.liquidnet.service.kylin.service.impl;
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.JsonUtils; import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.base.SqlMapping; import com.liquidnet.service.base.SqlMapping;
...@@ -7,6 +8,7 @@ import com.liquidnet.service.base.constant.MQConst; ...@@ -7,6 +8,7 @@ import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.kylin.dto.param.KylinStationUploadParam; 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.service.IKylinOrderTicketEntitiesService; import com.liquidnet.service.kylin.service.IKylinOrderTicketEntitiesService;
import com.liquidnet.service.kylin.utils.ObjectUtil;
import com.liquidnet.service.kylin.utils.QueueUtils; import com.liquidnet.service.kylin.utils.QueueUtils;
import com.mongodb.bulk.BulkWriteResult; import com.mongodb.bulk.BulkWriteResult;
import com.mongodb.client.model.UpdateOneModel; import com.mongodb.client.model.UpdateOneModel;
...@@ -55,8 +57,8 @@ public class KylinOrderTicketEntitiesServiceImpl implements IKylinOrderTicketEn ...@@ -55,8 +57,8 @@ public class KylinOrderTicketEntitiesServiceImpl implements IKylinOrderTicketEn
LocalDateTime nowDt = LocalDateTime.now(); LocalDateTime nowDt = LocalDateTime.now();
String nowDtStr = DateUtil.format(nowDt, DateUtil.Formatter.yyyyMMddHHmmss); String nowDtStr = DateUtil.format(nowDt, DateUtil.Formatter.yyyyMMddHHmmss);
LinkedList<Object[]> paramsList = new LinkedList<>(); LinkedList<Object[]> paramsList = CollectionUtil.linkedListObjectArr();
List<WriteModel<Document>> list = new ArrayList<>(); List<WriteModel<Document>> list = ObjectUtil.getWriteModelDocumentArrayList();
parameter.getCheckOrderParamList().forEach(r -> { parameter.getCheckOrderParamList().forEach(r -> {
KylinOrderTicketEntitiesVo updateVo = KylinOrderTicketEntitiesVo.getNew(); KylinOrderTicketEntitiesVo updateVo = KylinOrderTicketEntitiesVo.getNew();
updateVo.setStatus(1);// 出票状态: 0未出票 1已出票 updateVo.setStatus(1);// 出票状态: 0未出票 1已出票
......
...@@ -24,6 +24,7 @@ import com.liquidnet.service.kylin.entity.KylinOrderTicketEntities; ...@@ -24,6 +24,7 @@ import com.liquidnet.service.kylin.entity.KylinOrderTicketEntities;
import com.liquidnet.service.kylin.entity.KylinOrderTicketStatus; import com.liquidnet.service.kylin.entity.KylinOrderTicketStatus;
import com.liquidnet.service.kylin.service.IKylinOrderTicketsService; import com.liquidnet.service.kylin.service.IKylinOrderTicketsService;
import com.liquidnet.service.kylin.utils.DataUtils; import com.liquidnet.service.kylin.utils.DataUtils;
import com.liquidnet.service.kylin.utils.ObjectUtil;
import com.liquidnet.service.kylin.utils.OrderUtils; import com.liquidnet.service.kylin.utils.OrderUtils;
import com.liquidnet.service.kylin.utils.QueueUtils; import com.liquidnet.service.kylin.utils.QueueUtils;
import com.mongodb.BasicDBObject; import com.mongodb.BasicDBObject;
...@@ -153,6 +154,18 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService { ...@@ -153,6 +154,18 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
orderTicketVo.setNotice(performanceVo.getNotice()); orderTicketVo.setNotice(performanceVo.getNotice());
orderTicketVo.setTicketType(ticketVo.getType()); orderTicketVo.setTicketType(ticketVo.getType());
orderTicketVo.setFieldName(performanceVo.getFieldName()); orderTicketVo.setFieldName(performanceVo.getFieldName());
List<KylinOrderRefundsVo> orderRefundsVoList;
log.debug("getQrCode:" +orderTicketVo.getQrCode());
if (orderTicketVo.getQrCode().equalsIgnoreCase("")) {
log.debug("getQrCode:" +orderTicketVo.getQrCode());
orderRefundsVoList = new ArrayList<>();
} else {
orderRefundsVoList = dataUtils.getOrderRefundVoByOrderId(orderId);
currentTime = System.currentTimeMillis() - currentTime;
log.debug("获取退款详情 -> time:" + (currentTime) + "毫秒");
}
if (ticketVo.getIsShowCode() == 1 && orderTicketVo.getStatus() != 0 && orderTicketVo.getStatus() != 2 && orderTicketVo.getStatus() != 4) { if (ticketVo.getIsShowCode() == 1 && orderTicketVo.getStatus() != 0 && orderTicketVo.getStatus() != 2 && orderTicketVo.getStatus() != 4) {
LocalDateTime date = DateUtil.Formatter.yyyyMMddHHmmss.parse(ticketVo.getQrCodeShowTime()); LocalDateTime date = DateUtil.Formatter.yyyyMMddHHmmss.parse(ticketVo.getQrCodeShowTime());
if (LocalDateTime.now().isAfter(date)) { if (LocalDateTime.now().isAfter(date)) {
...@@ -193,14 +206,9 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService { ...@@ -193,14 +206,9 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
currentTime = System.currentTimeMillis() - currentTime; currentTime = System.currentTimeMillis() - currentTime;
log.debug("获取倒计时 -> time:" + (currentTime) + "毫秒"); log.debug("获取倒计时 -> time:" + (currentTime) + "毫秒");
//TODO 顺丰快递
Integer orderExpressStatus = dataUtils.getOrderExpressInfo(orderTicketVo.getOrderTicketsId()); Integer orderExpressStatus = dataUtils.getOrderExpressInfo(orderTicketVo.getOrderTicketsId());
vo.setExpressStatus(orderExpressStatus); vo.setExpressStatus(orderExpressStatus);
List<KylinOrderRefundsVo> orderRefundsVoList = dataUtils.getOrderRefundVoByOrderId(orderId);
currentTime = System.currentTimeMillis() - currentTime;
log.debug("获取退款详情 -> time:" + (currentTime) + "毫秒");
List<OrderRefundListVo> orderRefundListVos = new ArrayList<>(); List<OrderRefundListVo> orderRefundListVos = new ArrayList<>();
BigDecimal lockPrice = BigDecimal.valueOf(0.00); BigDecimal lockPrice = BigDecimal.valueOf(0.00);
for (KylinOrderRefundsVo item : orderRefundsVoList) { for (KylinOrderRefundsVo item : orderRefundsVoList) {
...@@ -283,7 +291,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService { ...@@ -283,7 +291,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
return ResponseDto.failure(ErrorMapping.get("20003")); return ResponseDto.failure(ErrorMapping.get("20003"));
} }
List<KylinOrderTicketEntitiesVo> kylinOrderTicketEntitiesVoList = orderTicketVo.getEntitiesVoList(); List<KylinOrderTicketEntitiesVo> kylinOrderTicketEntitiesVoList = orderTicketVo.getEntitiesVoList();
List<KylinOrderTicketEntitiesPreRefundVo> kylinOrderTicketEntitiesPreRefundVos = new ArrayList<>(); List<KylinOrderTicketEntitiesPreRefundVo> kylinOrderTicketEntitiesPreRefundVos = ObjectUtil.getKylinOrderTicketEntitiesPreRefundVoArrayList();
// 数据脱敏 // 数据脱敏
for (KylinOrderTicketEntitiesVo item : kylinOrderTicketEntitiesVoList) { for (KylinOrderTicketEntitiesVo item : kylinOrderTicketEntitiesVoList) {
KylinOrderTicketEntitiesPreRefundVo refundVo = KylinOrderTicketEntitiesPreRefundVo.getNew(); KylinOrderTicketEntitiesPreRefundVo refundVo = KylinOrderTicketEntitiesPreRefundVo.getNew();
......
package com.liquidnet.service.kylin.service.impl; package com.liquidnet.service.kylin.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.commons.lang.CommonConst; import com.liquidnet.commons.lang.CommonConst;
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.DistanceUtil; import com.liquidnet.commons.lang.util.DistanceUtil;
import com.liquidnet.service.base.UserPathDto; import com.liquidnet.service.base.UserPathDto;
...@@ -10,10 +10,9 @@ import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo; ...@@ -10,10 +10,9 @@ 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.KylinPerformanceVo; import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import com.liquidnet.service.kylin.dto.vo.returns.PayDetailVo; import com.liquidnet.service.kylin.dto.vo.returns.PayDetailVo;
import com.liquidnet.service.kylin.entity.KylinPerformances;
import com.liquidnet.service.kylin.mapper.KylinPerformancesMapper;
import com.liquidnet.service.kylin.service.IKylinPerformancesService; import com.liquidnet.service.kylin.service.IKylinPerformancesService;
import com.liquidnet.service.kylin.utils.DataUtils; import com.liquidnet.service.kylin.utils.DataUtils;
import com.liquidnet.service.kylin.utils.ObjectUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.bson.Document; import org.bson.Document;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -27,7 +26,6 @@ import org.springframework.data.mongodb.core.query.Query; ...@@ -27,7 +26,6 @@ import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -61,8 +59,8 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService { ...@@ -61,8 +59,8 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService {
Integer isRecommend = 1; Integer isRecommend = 1;
// 判断搜索 处理新数据 // 判断搜索 处理新数据
List<KylinPerformanceVo> performancesListNew = new ArrayList<>(); List<KylinPerformanceVo> performancesListNew = ObjectUtil.getKylinPerformanceVoArrayList();
List<String> performancesIds = new ArrayList<>(); List<String> performancesIds = CollectionUtil.arrayListString();
for (KylinPerformanceVo info : performancesList) { for (KylinPerformanceVo info : performancesList) {
boolean isShow = true; boolean isShow = true;
if (type > 0) { if (type > 0) {
...@@ -89,8 +87,7 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService { ...@@ -89,8 +87,7 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService {
Calendar cal = Calendar.getInstance(); Calendar cal = Calendar.getInstance();
cal.setTime((Date) toDayTime.get("start")); cal.setTime((Date) toDayTime.get("start"));
Date beforeDayEnd = DateUtil.getBeforeDayBegin(cal, days); Date beforeDayEnd = DateUtil.getBeforeDayBegin(cal, days);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String daysLaterStr = DateUtil.SDF_YMD_HMS.format(beforeDayEnd);
String daysLaterStr = sdf.format(beforeDayEnd);
if (-1 == DateUtil.compareStrDay(timeStart, nowTimeTStr) || -1 == DateUtil.compareStrDay(daysLaterStr, timeStart)) { if (-1 == DateUtil.compareStrDay(timeStart, nowTimeTStr) || -1 == DateUtil.compareStrDay(daysLaterStr, timeStart)) {
isShow = false; isShow = false;
} }
...@@ -121,7 +118,7 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService { ...@@ -121,7 +118,7 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService {
performancesListNew = checkAppStatus(performancesListNew); performancesListNew = checkAppStatus(performancesListNew);
// 组合数据 // 组合数据
HashMap<String, Object> info = new HashMap<>(); HashMap<String, Object> info = CollectionUtil.mapStringObject();
info.put("is_native", is_native); // 本地演出少是否推荐了其他演出 0有推荐 1没有 info.put("is_native", is_native); // 本地演出少是否推荐了其他演出 0有推荐 1没有
info.put("recommend", recommend); // 从第几个开始是其他推荐演出 后台设置的那个推荐 info.put("recommend", recommend); // 从第几个开始是其他推荐演出 后台设置的那个推荐
info.put("total", 0); info.put("total", 0);
...@@ -142,7 +139,7 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService { ...@@ -142,7 +139,7 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService {
toDayList = checkAppStatus(toDayList); toDayList = checkAppStatus(toDayList);
threeDaysList = checkAppStatus(threeDaysList); threeDaysList = checkAppStatus(threeDaysList);
HashMap<String, Object> newList = new HashMap<>(); HashMap<String, Object> newList = CollectionUtil.mapStringObject();
newList.put("toDayList", toDayList); newList.put("toDayList", toDayList);
newList.put("threeDaysList", threeDaysList); newList.put("threeDaysList", threeDaysList);
return newList; return newList;
...@@ -198,7 +195,7 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService { ...@@ -198,7 +195,7 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService {
if (null != ticketTimesList) { if (null != ticketTimesList) {
for (KylinTicketTimesVo partner : ticketTimesList) { for (KylinTicketTimesVo partner : ticketTimesList) {
List<KylinTicketVo> ticketList = partner.getTicketList(); List<KylinTicketVo> ticketList = partner.getTicketList();
List<KylinTicketVo> ticketListNew = new ArrayList<>(); List<KylinTicketVo> ticketListNew = ObjectUtil.getKylinTicketVoArrayList();
for (KylinTicketVo ticket : ticketList) { for (KylinTicketVo ticket : ticketList) {
int status = checkTicketStatus(ticket); int status = checkTicketStatus(ticket);
ticket.setStatus(status); ticket.setStatus(status);
...@@ -220,14 +217,14 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService { ...@@ -220,14 +217,14 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService {
} }
KylinPerformanceVo performancesInfo = dataUtils.getPerformanceVo(performancesId); KylinPerformanceVo performancesInfo = dataUtils.getPerformanceVo(performancesId);
HashMap<String, Object> info = new HashMap(); HashMap<String, Object> info = CollectionUtil.mapStringObject();
info.put("city_name", performancesInfo.getCityName()); info.put("city_name", performancesInfo.getCityName());
info.put("field_name", performancesInfo.getFieldName()); info.put("field_name", performancesInfo.getFieldName());
info.put("title", performancesInfo.getTitle()); info.put("title", performancesInfo.getTitle());
info.put("appStatus", performancesInfo.getAppStatus()); info.put("appStatus", performancesInfo.getAppStatus());
info.put("buySwitch", dataUtils.getSwitch()); info.put("buySwitch", dataUtils.getSwitch());
HashMap result = new HashMap(); HashMap<String, Object> result = CollectionUtil.mapStringObject();
result.put("performancesInfo", info); result.put("performancesInfo", info);
result.put("ticketTimesList", ticketTimesList); result.put("ticketTimesList", ticketTimesList);
...@@ -235,7 +232,7 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService { ...@@ -235,7 +232,7 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService {
} }
public List<KylinPerformanceVo> performanceList(String... performancesIds) { public List<KylinPerformanceVo> performanceList(String... performancesIds) {
List<KylinPerformanceVo> performanceList = new ArrayList<>(); List<KylinPerformanceVo> performanceList = ObjectUtil.getKylinPerformanceVoArrayList();
for (String id : performancesIds) { for (String id : performancesIds) {
KylinPerformanceVo info = dataUtils.getPerformanceVo(id); KylinPerformanceVo info = dataUtils.getPerformanceVo(id);
performanceList.add(info); performanceList.add(info);
...@@ -272,7 +269,7 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService { ...@@ -272,7 +269,7 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService {
String yearMonthDayStart = yearMonthDay.concat(" 00:00:00"); String yearMonthDayStart = yearMonthDay.concat(" 00:00:00");
String yearMonthDayEnd = yearMonthDay.concat(" 23:59:59"); String yearMonthDayEnd = yearMonthDay.concat(" 23:59:59");
List<KylinPerformanceVo> performancesListNew = new ArrayList(); List<KylinPerformanceVo> performancesListNew = ObjectUtil.getKylinPerformanceVoArrayList();
for (KylinPerformanceVo info : performancesList) { for (KylinPerformanceVo info : performancesList) {
String timeStart = info.getTimeStart(); String timeStart = info.getTimeStart();
if (-1 != DateUtil.compareStrDay(timeStart, yearMonthDayStart) && 1 != DateUtil.compareStrDay(timeStart, yearMonthDayEnd)) { if (-1 != DateUtil.compareStrDay(timeStart, yearMonthDayStart) && 1 != DateUtil.compareStrDay(timeStart, yearMonthDayEnd)) {
...@@ -337,7 +334,7 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService { ...@@ -337,7 +334,7 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService {
} }
} }
HashMap info = new HashMap(); HashMap<String, Object> info = CollectionUtil.mapStringObject();
info.put("total", count); info.put("total", count);
info.put("list", list); info.put("list", list);
...@@ -374,7 +371,7 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService { ...@@ -374,7 +371,7 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService {
} }
public List<KylinPerformanceVo> checkAppStatus(List<KylinPerformanceVo> list) { public List<KylinPerformanceVo> checkAppStatus(List<KylinPerformanceVo> list) {
List<KylinPerformanceVo> newList = new ArrayList<>(); List<KylinPerformanceVo> newList = ObjectUtil.getKylinPerformanceVoArrayList();
if (!CollectionUtils.isEmpty(list)) { if (!CollectionUtils.isEmpty(list)) {
String nowTimeStr = DateUtil.getNowTime(); String nowTimeStr = DateUtil.getNowTime();
for (KylinPerformanceVo info : list) { for (KylinPerformanceVo info : list) {
...@@ -411,10 +408,10 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService { ...@@ -411,10 +408,10 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService {
public KylinPerformanceVo checkAppStatusInfo(KylinPerformanceVo info) { public KylinPerformanceVo checkAppStatusInfo(KylinPerformanceVo info) {
if (null != info) { if (null != info) {
List<KylinTicketTimesVo> ticketTimeList = info.getTicketTimeList(); List<KylinTicketTimesVo> ticketTimeList = info.getTicketTimeList();
List<KylinTicketTimesVo> ticketTimeListNew = new ArrayList<>(); List<KylinTicketTimesVo> ticketTimeListNew = ObjectUtil.getKylinTicketTimesVoArrayList();
for (KylinTicketTimesVo ticketTime : ticketTimeList) { for (KylinTicketTimesVo ticketTime : ticketTimeList) {
List<KylinTicketVo> ticketList = ticketTime.getTicketList(); List<KylinTicketVo> ticketList = ticketTime.getTicketList();
List<KylinTicketVo> ticketListNew = new ArrayList<>(); List<KylinTicketVo> ticketListNew = ObjectUtil.getKylinTicketVoArrayList();
for (KylinTicketVo ticket : ticketList) { for (KylinTicketVo ticket : ticketList) {
int status = checkTicketStatus(ticket); int status = checkTicketStatus(ticket);
ticket.setStatus(status); ticket.setStatus(status);
......
...@@ -76,7 +76,7 @@ public class KylinRefundsStatusServiceImpl { ...@@ -76,7 +76,7 @@ public class KylinRefundsStatusServiceImpl {
/*kylinOrderTicketStatusMapper.update(orderStatusTable, new UpdateWrapper<KylinOrderTicketStatus>() /*kylinOrderTicketStatusMapper.update(orderStatusTable, new UpdateWrapper<KylinOrderTicketStatus>()
.eq("order_id", orderTicketsId));*/ .eq("order_id", orderTicketsId));*/
KylinOrderTicketVo kylinOrderTicketVo = new KylinOrderTicketVo(); KylinOrderTicketVo kylinOrderTicketVo = KylinOrderTicketVo.getNew();
kylinOrderTicketVo.setStatus(KylinTableStatusConst.ORDER_STATUS3); kylinOrderTicketVo.setStatus(KylinTableStatusConst.ORDER_STATUS3);
kylinOrderTicketVo.setUpdatedAt(nowTimeStr); kylinOrderTicketVo.setUpdatedAt(nowTimeStr);
BasicDBObject orderObject = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(kylinOrderTicketVo))); BasicDBObject orderObject = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(kylinOrderTicketVo)));
...@@ -93,12 +93,12 @@ public class KylinRefundsStatusServiceImpl { ...@@ -93,12 +93,12 @@ public class KylinRefundsStatusServiceImpl {
entitiesTable.setIsPayment(KylinTableStatusConst.ENTITIES_IS_PAYMENT2); entitiesTable.setIsPayment(KylinTableStatusConst.ENTITIES_IS_PAYMENT2);
entitiesTable.setUpdatedAt(nowTime); entitiesTable.setUpdatedAt(nowTime);
KylinOrderTicketEntitiesVo kylinOrderTicketEntitiesVo = new KylinOrderTicketEntitiesVo(); KylinOrderTicketEntitiesVo kylinOrderTicketEntitiesVo = KylinOrderTicketEntitiesVo.getNew();
kylinOrderTicketEntitiesVo.setIsPayment(KylinTableStatusConst.ENTITIES_IS_PAYMENT2); kylinOrderTicketEntitiesVo.setIsPayment(KylinTableStatusConst.ENTITIES_IS_PAYMENT2);
kylinOrderTicketEntitiesVo.setUpdatedAt(nowTimeStr); kylinOrderTicketEntitiesVo.setUpdatedAt(nowTimeStr);
BasicDBObject entitiesObject = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(kylinOrderTicketEntitiesVo))); BasicDBObject entitiesObject = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(kylinOrderTicketEntitiesVo)));
LinkedList<Object[]> sqlsDataB = new LinkedList<>(); LinkedList<Object[]> sqlsDataB = CollectionUtil.linkedListObjectArr();
for (String v : ticketEntityIds) { for (String v : ticketEntityIds) {
sqlsDataB.add(new Object[]{ sqlsDataB.add(new Object[]{
entitiesTable.getIsPayment(), entitiesTable.getUpdatedAt(), v, orderInfo.getChangeDate(), orderInfo.getChangeDate() entitiesTable.getIsPayment(), entitiesTable.getUpdatedAt(), v, orderInfo.getChangeDate(), orderInfo.getChangeDate()
...@@ -140,7 +140,7 @@ public class KylinRefundsStatusServiceImpl { ...@@ -140,7 +140,7 @@ public class KylinRefundsStatusServiceImpl {
/*int rows = kylinOrderRefundsMapper.insert(kylinOrderRefunds);*/ /*int rows = kylinOrderRefundsMapper.insert(kylinOrderRefunds);*/
KylinOrderRefundsVo orderRefundsVo = new KylinOrderRefundsVo(); KylinOrderRefundsVo orderRefundsVo = KylinOrderRefundsVo.getNew();
BeanUtils.copyProperties(kylinOrderRefunds, orderRefundsVo); BeanUtils.copyProperties(kylinOrderRefunds, orderRefundsVo);
mongoTemplate.insert(orderRefundsVo, KylinOrderRefundsVo.class.getSimpleName()); mongoTemplate.insert(orderRefundsVo, KylinOrderRefundsVo.class.getSimpleName());
...@@ -148,7 +148,7 @@ public class KylinRefundsStatusServiceImpl { ...@@ -148,7 +148,7 @@ public class KylinRefundsStatusServiceImpl {
KylinOrderRefundEntities kylinOrderRefundEntities = new KylinOrderRefundEntities(); KylinOrderRefundEntities kylinOrderRefundEntities = new KylinOrderRefundEntities();
kylinOrderRefundEntities.setOrderRefundsId(orderRefundsId); kylinOrderRefundEntities.setOrderRefundsId(orderRefundsId);
kylinOrderRefundEntities.setCreatedAt(LocalDateTime.now()); kylinOrderRefundEntities.setCreatedAt(LocalDateTime.now());
LinkedList<Object[]> sqlsDataD = new LinkedList<>(); LinkedList<Object[]> sqlsDataD = CollectionUtil.linkedListObjectArr();
for (int i = 0; i <= ticketEntityIds.size() - 1; i++) { for (int i = 0; i <= ticketEntityIds.size() - 1; i++) {
String orderRefundsEntitiesId = IDGenerator.nextSnowId(); String orderRefundsEntitiesId = IDGenerator.nextSnowId();
kylinOrderRefundEntities.setOrderRefundsEntitiesId(orderRefundsEntitiesId); kylinOrderRefundEntities.setOrderRefundsEntitiesId(orderRefundsEntitiesId);
...@@ -161,15 +161,15 @@ public class KylinRefundsStatusServiceImpl { ...@@ -161,15 +161,15 @@ public class KylinRefundsStatusServiceImpl {
}); });
/*int rowsR = kylinOrderRefundsEntitiesMapper.insert(kylinOrderRefundEntities);*/ /*int rowsR = kylinOrderRefundsEntitiesMapper.insert(kylinOrderRefundEntities);*/
KylinOrderRefundEntitiesVo orderRefundEntitiesVo = new KylinOrderRefundEntitiesVo(); KylinOrderRefundEntitiesVo orderRefundEntitiesVo = KylinOrderRefundEntitiesVo.getNew();
BeanUtils.copyProperties(kylinOrderRefundEntities, orderRefundEntitiesVo); BeanUtils.copyProperties(kylinOrderRefundEntities, orderRefundEntitiesVo);
mongoTemplate.insert(orderRefundEntitiesVo, KylinOrderRefundEntitiesVo.class.getSimpleName()); mongoTemplate.insert(orderRefundEntitiesVo, KylinOrderRefundEntitiesVo.class.getSimpleName());
} }
//mq更改数据库 //mq更改数据库
LinkedList<String> sqls = new LinkedList<>(); LinkedList<String> sqls = CollectionUtil.linkedListString();
LinkedList<Object[]> sqlsDataA = new LinkedList<>(); LinkedList<Object[]> sqlsDataA = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> sqlsDataC = new LinkedList<>(); LinkedList<Object[]> sqlsDataC = CollectionUtil.linkedListObjectArr();
sqls.add(SqlMapping.get("kylin_order_ticket_status.overtimeRefund")); sqls.add(SqlMapping.get("kylin_order_ticket_status.overtimeRefund"));
sqls.add(SqlMapping.get("kylin_order_ticket_entities.overtimeRefund")); sqls.add(SqlMapping.get("kylin_order_ticket_entities.overtimeRefund"));
...@@ -214,7 +214,7 @@ public class KylinRefundsStatusServiceImpl { ...@@ -214,7 +214,7 @@ public class KylinRefundsStatusServiceImpl {
orderStatusTable.setUpdatedAt(time); orderStatusTable.setUpdatedAt(time);
KylinOrderTicketVo kylinOrderTicketVo = new KylinOrderTicketVo(); KylinOrderTicketVo kylinOrderTicketVo = KylinOrderTicketVo.getNew();
kylinOrderTicketVo.setStatus(KylinTableStatusConst.ORDER_STATUS3); kylinOrderTicketVo.setStatus(KylinTableStatusConst.ORDER_STATUS3);
kylinOrderTicketVo.setUpdatedAt(DateUtil.Formatter.yyyyMMddHHmmss.format(time)); kylinOrderTicketVo.setUpdatedAt(DateUtil.Formatter.yyyyMMddHHmmss.format(time));
BasicDBObject orderObject = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(kylinOrderTicketVo))); BasicDBObject orderObject = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(kylinOrderTicketVo)));
...@@ -232,7 +232,7 @@ public class KylinRefundsStatusServiceImpl { ...@@ -232,7 +232,7 @@ public class KylinRefundsStatusServiceImpl {
entitiesTable.setUpdatedAt(time); entitiesTable.setUpdatedAt(time);
KylinOrderTicketEntitiesVo kylinOrderTicketEntitiesVo = new KylinOrderTicketEntitiesVo(); KylinOrderTicketEntitiesVo kylinOrderTicketEntitiesVo = KylinOrderTicketEntitiesVo.getNew();
kylinOrderTicketEntitiesVo.setIsPayment(KylinTableStatusConst.ENTITIES_IS_PAYMENT2); kylinOrderTicketEntitiesVo.setIsPayment(KylinTableStatusConst.ENTITIES_IS_PAYMENT2);
kylinOrderTicketEntitiesVo.setUpdatedAt(strTime); kylinOrderTicketEntitiesVo.setUpdatedAt(strTime);
BasicDBObject entitiesObject = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(kylinOrderTicketEntitiesVo))); BasicDBObject entitiesObject = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(kylinOrderTicketEntitiesVo)));
...@@ -267,7 +267,7 @@ public class KylinRefundsStatusServiceImpl { ...@@ -267,7 +267,7 @@ public class KylinRefundsStatusServiceImpl {
} }
kylinOrderRefunds.setCreatedAt(time); kylinOrderRefunds.setCreatedAt(time);
KylinOrderRefundsVo orderRefundsVo = new KylinOrderRefundsVo(); KylinOrderRefundsVo orderRefundsVo = KylinOrderRefundsVo.getNew();
BeanUtils.copyProperties(kylinOrderRefunds, orderRefundsVo); BeanUtils.copyProperties(kylinOrderRefunds, orderRefundsVo);
orderRefundsVo.setCreatedAt(time); orderRefundsVo.setCreatedAt(time);
orderRefundsVo.setApplicantAt(time); orderRefundsVo.setApplicantAt(time);
...@@ -283,7 +283,7 @@ public class KylinRefundsStatusServiceImpl { ...@@ -283,7 +283,7 @@ public class KylinRefundsStatusServiceImpl {
kylinOrderRefundEntities.setOrderTicketEntitiesId(orderEntitiesId); kylinOrderRefundEntities.setOrderTicketEntitiesId(orderEntitiesId);
kylinOrderRefundEntities.setCreatedAt(time); kylinOrderRefundEntities.setCreatedAt(time);
KylinOrderRefundEntitiesVo orderRefundEntitiesVo = new KylinOrderRefundEntitiesVo(); KylinOrderRefundEntitiesVo orderRefundEntitiesVo = KylinOrderRefundEntitiesVo.getNew();
BeanUtils.copyProperties(kylinOrderRefundEntities, orderRefundEntitiesVo); BeanUtils.copyProperties(kylinOrderRefundEntities, orderRefundEntitiesVo);
orderRefundEntitiesVo.setCreatedAt(strTime); orderRefundEntitiesVo.setCreatedAt(strTime);
mongoTemplate.insert(orderRefundEntitiesVo, KylinOrderRefundEntitiesVo.class.getSimpleName()); mongoTemplate.insert(orderRefundEntitiesVo, KylinOrderRefundEntitiesVo.class.getSimpleName());
...@@ -302,12 +302,12 @@ public class KylinRefundsStatusServiceImpl { ...@@ -302,12 +302,12 @@ public class KylinRefundsStatusServiceImpl {
dataUtils.delOrderRefundVoByOrderId(orderInfo.getOrderTicketsId()); dataUtils.delOrderRefundVoByOrderId(orderInfo.getOrderTicketsId());
//MQ //MQ
LinkedList<String> sqls = new LinkedList<>(); LinkedList<String> sqls = CollectionUtil.linkedListString();
LinkedList<Object[]> sqlsDataA = new LinkedList<>(); LinkedList<Object[]> sqlsDataA = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> sqlsDataB = new LinkedList<>(); LinkedList<Object[]> sqlsDataB = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> sqlsDataC = new LinkedList<>(); LinkedList<Object[]> sqlsDataC = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> sqlsDataD = new LinkedList<>(); LinkedList<Object[]> sqlsDataD = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> sqlsDataE = new LinkedList<>(); LinkedList<Object[]> sqlsDataE = CollectionUtil.linkedListObjectArr();
sqls.add(SqlMapping.get("kylin_order_ticket_status.refund")); sqls.add(SqlMapping.get("kylin_order_ticket_status.refund"));
sqls.add(SqlMapping.get("kylin_order_ticket_entities.refund")); sqls.add(SqlMapping.get("kylin_order_ticket_entities.refund"));
......
package com.liquidnet.service.kylin.utils; package com.liquidnet.service.kylin.utils;
import com.liquidnet.common.cache.redis.util.RedisUtil; import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.DateUtil; import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.adam.constant.AdamRedisConst; import com.liquidnet.service.adam.constant.AdamRedisConst;
import com.liquidnet.service.kylin.constant.KylinRedisConst; import com.liquidnet.service.kylin.constant.KylinRedisConst;
...@@ -259,8 +260,7 @@ public class DataUtils { ...@@ -259,8 +260,7 @@ public class DataUtils {
Calendar cal = Calendar.getInstance(); Calendar cal = Calendar.getInstance();
cal.setTime((Date) toDayTime.get("end")); cal.setTime((Date) toDayTime.get("end"));
Date beforeDayEnd = DateUtil.getBeforeDayEnd(cal, 3); Date beforeDayEnd = DateUtil.getBeforeDayEnd(cal, 3);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String threeDaysLaterStr = DateUtil.SDF_YMD_HMS.format(beforeDayEnd);
String threeDaysLaterStr = sdf.format(beforeDayEnd);
queryT.addCriteria(Criteria.where("sellTime").gte(toDayEndTimeStr).lt(threeDaysLaterStr)); queryT.addCriteria(Criteria.where("sellTime").gte(toDayEndTimeStr).lt(threeDaysLaterStr));
queryT.fields().exclude("details"); queryT.fields().exclude("details");
...@@ -269,7 +269,7 @@ public class DataUtils { ...@@ -269,7 +269,7 @@ public class DataUtils {
queryT.fields().exclude("describeElectronic"); queryT.fields().exclude("describeElectronic");
List<KylinPerformanceVo> threeDaysList = mongoTemplate.find(queryT, KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName()); List<KylinPerformanceVo> threeDaysList = mongoTemplate.find(queryT, KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName());
HashMap<String, Object> info = new HashMap<>(); HashMap<String, Object> info = CollectionUtil.mapStringObject();
info.put("toDayList", toDayList); info.put("toDayList", toDayList);
info.put("threeDaysList", threeDaysList); info.put("threeDaysList", threeDaysList);
redisUtil.set(redisKey, info); redisUtil.set(redisKey, info);
...@@ -379,7 +379,7 @@ public class DataUtils { ...@@ -379,7 +379,7 @@ public class DataUtils {
if (obj != null) { if (obj != null) {
return (List<KylinOrderRefundsVo>) obj; return (List<KylinOrderRefundsVo>) obj;
} else { } else {
List<KylinOrderRefundsVo> orderRefundsVoList = new ArrayList<>(); List<KylinOrderRefundsVo> orderRefundsVoList = ObjectUtil.getKylinOrderRefundsVoArrayList();
List<KylinOrderRefundsVo> data = mongoTemplate.find(Query.query(Criteria.where("orderTicketsId").is(orderId)), KylinOrderRefundsVo.class, KylinOrderRefundsVo.class.getSimpleName()); List<KylinOrderRefundsVo> data = mongoTemplate.find(Query.query(Criteria.where("orderTicketsId").is(orderId)), KylinOrderRefundsVo.class, KylinOrderRefundsVo.class.getSimpleName());
for (KylinOrderRefundsVo item : data) { for (KylinOrderRefundsVo item : data) {
List<KylinOrderRefundEntitiesVo> kylinOrderTicketEntitiesVoList = mongoTemplate.find(Query.query(Criteria.where("orderRefundsId").is(item.getOrderRefundsId())), KylinOrderRefundEntitiesVo.class, KylinOrderRefundEntitiesVo.class.getSimpleName()); List<KylinOrderRefundEntitiesVo> kylinOrderTicketEntitiesVoList = mongoTemplate.find(Query.query(Criteria.where("orderRefundsId").is(item.getOrderRefundsId())), KylinOrderRefundEntitiesVo.class, KylinOrderRefundEntitiesVo.class.getSimpleName());
......
package com.liquidnet.service.kylin.utils;
import com.liquidnet.service.base.PagedResult;
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.mongo.KylinPerformanceVo;
import com.liquidnet.service.kylin.dto.vo.returns.*;
import com.mongodb.client.model.WriteModel;
import org.bson.Document;
import java.util.ArrayList;
public class ObjectUtil {
private static final ArrayList<KylinStationPerformanceVo> kylinStationPerformanceVoArrayList = new ArrayList<>();
private static final ArrayList<KylinTicketVo> kylinTicketVoArrayList = new ArrayList<>();
private static final ArrayList<KylinStationTicketVo> kylinStationTicketVoArrayList = new ArrayList<>();
private static final ArrayList<WriteModel<Document>> writeModelDocumentArrayList = new ArrayList<>();
private static final ArrayList<OrderRefundListVo> orderRefundListVoArrayList = new ArrayList<>();
private static final ArrayList<KylinOrderTicketEntitiesPreRefundVo> kylinOrderTicketEntitiesPreRefundVoArrayList = new ArrayList<>();
private static final ArrayList<KylinPerformanceVo> kylinPerformanceVoArrayList = new ArrayList<>();
private static final ArrayList<KylinTicketTimesVo> kylinTicketTimesVoArrayList = new ArrayList<>();
private static final ArrayList<KylinOrderRefundsVo> kylinOrderRefundsVoArrayList = new ArrayList<>();
private static final ArrayList<KylinOrderListVo> kylinOrderListVoArrayList = new ArrayList<>();
private static final PagedResult<KylinStationPerformanceVo> kylinStationPerformanceVoPagedResult = new PagedResult<>();
public static ArrayList<KylinStationPerformanceVo> getKylinStationPerformanceVoArrayList() {
return (ArrayList<KylinStationPerformanceVo>) kylinStationPerformanceVoArrayList.clone();
}
public static ArrayList<KylinTicketVo> getKylinTicketVoArrayList() {
return (ArrayList<KylinTicketVo>) kylinTicketVoArrayList.clone();
}
public static ArrayList<KylinStationTicketVo> getKylinStationTicketVoArrayList() {
return (ArrayList<KylinStationTicketVo>) kylinStationTicketVoArrayList.clone();
}
public static ArrayList<WriteModel<Document>> getWriteModelDocumentArrayList() {
return (ArrayList<WriteModel<Document>>) writeModelDocumentArrayList.clone();
}
public static ArrayList<OrderRefundListVo> getOrderRefundListVoArrayList() {
return (ArrayList<OrderRefundListVo>) orderRefundListVoArrayList.clone();
}
public static ArrayList<KylinOrderTicketEntitiesPreRefundVo> getKylinOrderTicketEntitiesPreRefundVoArrayList() {
return (ArrayList<KylinOrderTicketEntitiesPreRefundVo>) kylinOrderTicketEntitiesPreRefundVoArrayList.clone();
}
public static ArrayList<KylinPerformanceVo> getKylinPerformanceVoArrayList() {
return (ArrayList<KylinPerformanceVo>) kylinPerformanceVoArrayList.clone();
}
public static ArrayList<KylinTicketTimesVo> getKylinTicketTimesVoArrayList() {
return (ArrayList<KylinTicketTimesVo>) kylinTicketTimesVoArrayList.clone();
}
public static ArrayList<KylinOrderRefundsVo> getKylinOrderRefundsVoArrayList() {
return (ArrayList<KylinOrderRefundsVo>) kylinOrderRefundsVoArrayList.clone();
}
public static ArrayList<KylinOrderListVo> getKylinOrderListVoArrayList() {
return kylinOrderListVoArrayList;
}
public static PagedResult<KylinStationPerformanceVo> getKylinStationPerformanceVoPagedResult() {
return kylinStationPerformanceVoPagedResult.clone();
}
}
package com.liquidnet.service.kylin.utils; package com.liquidnet.service.kylin.utils;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.service.adam.constant.AdamRedisConst;
import com.liquidnet.service.adam.dto.vo.AdamAddressesVo;
import com.liquidnet.service.adam.dto.vo.AdamEntersVo;
import com.liquidnet.service.adam.dto.vo.AdamUserMemberVo;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketEntitiesVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo; import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo;
import com.liquidnet.service.kylin.dto.vo.returns.KylinOrderListVo; import com.liquidnet.service.kylin.dto.vo.returns.KylinOrderListVo;
import io.swagger.models.auth.In;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List; import java.util.List;
@Component @Component
...@@ -31,9 +20,9 @@ public class OrderUtils { ...@@ -31,9 +20,9 @@ public class OrderUtils {
* @param orderId 订单id [需要新增或者修改的订单id] * @param orderId 订单id [需要新增或者修改的订单id]
*/ */
public Boolean resetOrderListVo(String userId, Integer type, String orderId, KylinOrderTicketVo dataSingle) { public Boolean resetOrderListVo(String userId, Integer type, String orderId, KylinOrderTicketVo dataSingle) {
List<KylinOrderListVo> vo = new ArrayList<>(); List<KylinOrderListVo> vo = ObjectUtil.getKylinOrderListVoArrayList();
List<KylinOrderListVo> redisVo = new ArrayList(); List<KylinOrderListVo> redisVo = ObjectUtil.getKylinOrderListVoArrayList();
KylinOrderListVo voItem = new KylinOrderListVo(); KylinOrderListVo voItem = KylinOrderListVo.getNew();
KylinOrderTicketVo data; KylinOrderTicketVo data;
if (dataSingle == null) { if (dataSingle == null) {
data = dataUtils.getOrderTicketVo(orderId); data = dataUtils.getOrderTicketVo(orderId);
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#APP ERROR #APP ERROR
20001=验证码发送失败 20001=验证码发送失败
20002=验证码无效 20002=验证码错误,请重新输入
20003=无权查看 20003=无权查看
20004=参数错误 20004=参数错误
20005=手机号获取失败,请更换登录方式 20005=手机号获取失败,请更换登录方式
......
...@@ -328,8 +328,9 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ ...@@ -328,8 +328,9 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
private ResponseDto<PayInnerResultVo> order(PayOrderParam payOrderParam, String uid, boolean isMember, int isTrueName, KylinPerformanceVo performanceData, KylinTicketVo ticketData, List<AdamEntersVo> entersVoList, Integer isStudent, KylinTicketTimesVo ticketTimesData, Long currentTime) { private ResponseDto<PayInnerResultVo> order(PayOrderParam payOrderParam, String uid, boolean isMember, int isTrueName, KylinPerformanceVo performanceData, KylinTicketVo ticketData, List<AdamEntersVo> entersVoList, Integer isStudent, KylinTicketTimesVo ticketTimesData, Long currentTime) {
LinkedList<String> sqls = ObjectUtil.cloneLinkedListStr(); LinkedList<String> sqls = ObjectUtil.cloneLinkedListStr();
String source = CurrentUtil.getCliSource() == null ? "" : CurrentUtil.getCliSource(); String headerCliSource = CurrentUtil.getHeaderCliSource(), headerCliVersion = CurrentUtil.getHeaderCliVersion();
String version = CurrentUtil.getCliVersion() == null ? "" : CurrentUtil.getCliVersion(); String source = headerCliSource == null ? "" : headerCliSource;
String version = headerCliVersion == null ? "" : headerCliVersion;
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
//生成订单 order_ticket //生成订单 order_ticket
KylinOrderTickets orderTickets = KylinOrderTickets.getNew(); KylinOrderTickets orderTickets = KylinOrderTickets.getNew();
...@@ -457,8 +458,8 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ ...@@ -457,8 +458,8 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
orderTicketEntitiesVo.setTicketTitle(ticketData.getTitle()); orderTicketEntitiesVo.setTicketTitle(ticketData.getTitle());
orderTicketEntitiesVo.setUseStart(ticketData.getUseStart()); orderTicketEntitiesVo.setUseStart(ticketData.getUseStart());
orderTicketEntitiesVo.setUseEnd(ticketData.getUseEnd()); orderTicketEntitiesVo.setUseEnd(ticketData.getUseEnd());
orderTicketEntitiesVo.setTicketsmId(ticketData.getMid()); // orderTicketEntitiesVo.setTicketsmId(ticketData.getMid());
orderTicketEntitiesVo.setTimemId(ticketTimesData.getMid()); // orderTicketEntitiesVo.setTimemId(ticketTimesData.getMid());
orderTicketEntitiesVo.setCreatedAt(orderTicketEntities.getCreatedAt().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); orderTicketEntitiesVo.setCreatedAt(orderTicketEntities.getCreatedAt().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
orderTicketEntitiesVo.setUpdatedAt(null); orderTicketEntitiesVo.setUpdatedAt(null);
orderTicketEntitiesVo.setChangeDate(orderTicketEntities.getCreatedAt()); orderTicketEntitiesVo.setChangeDate(orderTicketEntities.getCreatedAt());
...@@ -499,8 +500,8 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ ...@@ -499,8 +500,8 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
orderTicketEntitiesVo.setTicketTitle(ticketData.getTitle()); orderTicketEntitiesVo.setTicketTitle(ticketData.getTitle());
orderTicketEntitiesVo.setUseStart(ticketData.getUseStart()); orderTicketEntitiesVo.setUseStart(ticketData.getUseStart());
orderTicketEntitiesVo.setUseEnd(ticketData.getUseEnd()); orderTicketEntitiesVo.setUseEnd(ticketData.getUseEnd());
orderTicketEntitiesVo.setTicketsmId(ticketData.getMid()); // orderTicketEntitiesVo.setTicketsmId(ticketData.getMid());
orderTicketEntitiesVo.setTimemId(ticketTimesData.getMid()); // orderTicketEntitiesVo.setTimemId(ticketTimesData.getMid());
orderTicketEntitiesVo.setCreatedAt(orderTicketEntities.getCreatedAt().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); orderTicketEntitiesVo.setCreatedAt(orderTicketEntities.getCreatedAt().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
orderTicketEntitiesVo.setUpdatedAt(null); orderTicketEntitiesVo.setUpdatedAt(null);
orderTicketEntitiesVo.setChangeDate(orderTicketEntities.getCreatedAt()); orderTicketEntitiesVo.setChangeDate(orderTicketEntities.getCreatedAt());
...@@ -600,7 +601,9 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ ...@@ -600,7 +601,9 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
//检查订单时间 是否关闭 //检查订单时间 是否关闭
KylinOrderTicketVo orderTicketData = dataUtils.getOrderTicketVo(payAgainParam.getOrderId()); KylinOrderTicketVo orderTicketData = dataUtils.getOrderTicketVo(payAgainParam.getOrderId());
if (!orderTicketData.getUserId().equals(uid)) { if (!orderTicketData.getUserId().equals(uid)) {
return null; log.debug("data uid = "+orderTicketData.getUserId());
log.debug("param uid = "+uid);
return ResponseDto.failure(ErrorMapping.get("20003"));
} }
if (orderTicketData == null) { if (orderTicketData == null) {
return ResponseDto.failure(ErrorMapping.get("20024")); return ResponseDto.failure(ErrorMapping.get("20024"));
...@@ -872,15 +875,15 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ ...@@ -872,15 +875,15 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
adTemplate = ticketData.getIsShowCode() == 1 ? SmsEnum.ADTemplate.SMS_171358560 : SmsEnum.ADTemplate.SMS_181500419; adTemplate = ticketData.getIsShowCode() == 1 ? SmsEnum.ADTemplate.SMS_171358560 : SmsEnum.ADTemplate.SMS_181500419;
} }
if (null != adTemplate) { // if (null != adTemplate) {
queueUtils.sendMsgByRedis(MQConst.KylinQueue.SMS_NOTICE.getKey(), // queueUtils.sendMsgByRedis(MQConst.KylinQueue.SMS_NOTICE.getKey(),
SmsMessage.builder().setPhone(orderTicketData.getUserMobile()) // SmsMessage.builder().setPhone(orderTicketData.getUserMobile())
.setSignName(SmsEnum.ADSignName.M02.getVal()) // .setSignName(SmsEnum.ADSignName.M02.getVal())
.setTemplateCode(adTemplate.name()) // .setTemplateCode(adTemplate.name())
.setTemplateParam("name", orderTicketData.getPerformanceTitle()) // .setTemplateParam("name", orderTicketData.getPerformanceTitle())
.setTemplateParam("time", time1 + " " + time2).toJson() // .setTemplateParam("time", time1 + " " + time2).toJson()
); // );
} // }
// 大麦回调 // 大麦回调
sycDamaiOrder(orderTickets.getOrderTicketsId()); sycDamaiOrder(orderTickets.getOrderTicketsId());
...@@ -956,9 +959,9 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ ...@@ -956,9 +959,9 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
obj3.setOrderUserMobile(item.getEnterMobile());//用户手机号 入场人手机号 obj3.setOrderUserMobile(item.getEnterMobile());//用户手机号 入场人手机号
obj3.setCertificateType(item.getEnterType().longValue());//证件内容 入场人证件type obj3.setCertificateType(item.getEnterType().longValue());//证件内容 入场人证件type
obj3.setPayTime(DateUtil.parse(orderData.getTimePay(), "yyyy-MM-dd HH:mm:ss"));//支付时间 obj3.setPayTime(DateUtil.parse(orderData.getTimePay(), "yyyy-MM-dd HH:mm:ss"));//支付时间
obj3.setPerformId(item.getTimemId().longValue());//场次id obj3.setPerformId(Long.valueOf(item.getTimeId().substring(0,5).concat(item.getTimeId().substring(7,12))));//场次id
obj3.setTicketItemId(item.getTicketsmId().longValue()); obj3.setTicketItemId(Long.valueOf(item.getTicketId().substring(0,5).concat(item.getTicketId().substring(7,12))));
obj3.setVoucherId(item.getMid().longValue());//票单号 入场人id obj3.setVoucherId(Long.valueOf(item.getOrderTicketEntitiesId().substring(0,5).concat(item.getOrderTicketEntitiesId().substring(7,12))));//票单号 入场人id
obj3.setOrderId(Long.parseLong(orderData.getOrderTicketsId()));//订单id orderId obj3.setOrderId(Long.parseLong(orderData.getOrderTicketsId()));//订单id orderId
obj3.setMediumType(orderData.getGetTicketType().equals("express") ? 1L : 2L);//票类型 快递 电子 obj3.setMediumType(orderData.getGetTicketType().equals("express") ? 1L : 2L);//票类型 快递 电子
......
...@@ -725,8 +725,8 @@ public class DataImpl { ...@@ -725,8 +725,8 @@ public class DataImpl {
entitiesVo.setUseEnd(useEnd); entitiesVo.setUseEnd(useEnd);
entitiesVo.setCreatedAt(DateUtil.Formatter.yyyyMMddHHmmss.format(orderTicketEntities.getCreatedAt())); entitiesVo.setCreatedAt(DateUtil.Formatter.yyyyMMddHHmmss.format(orderTicketEntities.getCreatedAt()));
entitiesVo.setUpdatedAt(DateUtil.Formatter.yyyyMMddHHmmss.format(orderTicketEntities.getUpdatedAt())); entitiesVo.setUpdatedAt(DateUtil.Formatter.yyyyMMddHHmmss.format(orderTicketEntities.getUpdatedAt()));
entitiesVo.setTicketsmId(0); // entitiesVo.setTicketsmId(0);
entitiesVo.setTimemId(0); // entitiesVo.setTimemId(0);
entitiesVo.setChangeDate(orderTicketEntities.getUpdatedAt() == null ? orderTicketEntities.getUpdatedAt() : orderTicketEntities.getCreatedAt()); entitiesVo.setChangeDate(orderTicketEntities.getUpdatedAt() == null ? orderTicketEntities.getUpdatedAt() : orderTicketEntities.getCreatedAt());
// mongoTemplate.insert(entitiesVo, KylinOrderTicketEntitiesVo.class.getSimpleName()); // mongoTemplate.insert(entitiesVo, KylinOrderTicketEntitiesVo.class.getSimpleName());
entitiesVosList.add(entitiesVo); entitiesVosList.add(entitiesVo);
......
...@@ -11,12 +11,9 @@ import com.netflix.zuul.ZuulFilter; ...@@ -11,12 +11,9 @@ import com.netflix.zuul.ZuulFilter;
import com.netflix.zuul.context.RequestContext; import com.netflix.zuul.context.RequestContext;
import io.jsonwebtoken.Claims; import io.jsonwebtoken.Claims;
import io.jsonwebtoken.ExpiredJwtException; import io.jsonwebtoken.ExpiredJwtException;
import lombok.Data;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import org.springframework.util.DigestUtils; import org.springframework.util.DigestUtils;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
...@@ -74,7 +71,7 @@ public class GlobalAuthFilter extends ZuulFilter { ...@@ -74,7 +71,7 @@ public class GlobalAuthFilter extends ZuulFilter {
// 解析没有异常则表示token验证通过,如有必要可根据自身需求增加验证逻辑 // 解析没有异常则表示token验证通过,如有必要可根据自身需求增加验证逻辑
Claims claims = jwtValidator.parse(token); Claims claims = jwtValidator.parse(token);
ctx.addZuulRequestHeader(CurrentUtil.uID, (String) claims.get(CurrentUtil.uID)); ctx.addZuulRequestHeader(CurrentUtil.TOKEN_SUB, (String) claims.get(CurrentUtil.TOKEN_SUB));
ctx.addZuulRequestHeader(CurrentUtil.uTag, JsonUtils.toJson(claims)); ctx.addZuulRequestHeader(CurrentUtil.uTag, JsonUtils.toJson(claims));
} catch (ExpiredJwtException expiredJwtEx) { } catch (ExpiredJwtException expiredJwtEx) {
ctx.addZuulRequestHeader(TOKEN_STATUS, TOKEN_INVALID); ctx.addZuulRequestHeader(TOKEN_STATUS, TOKEN_INVALID);
...@@ -115,7 +112,7 @@ public class GlobalAuthFilter extends ZuulFilter { ...@@ -115,7 +112,7 @@ public class GlobalAuthFilter extends ZuulFilter {
log.debug("lns.headers:{}", zuulRequestHeaders); log.debug("lns.headers:{}", zuulRequestHeaders);
String uToken = zuulRequestHeaders.get(CurrentUtil.uToken), uid; String uToken = zuulRequestHeaders.get(CurrentUtil.uToken), uid;
if (StringUtils.isEmpty(uToken) || StringUtils.isEmpty(uid = zuulRequestHeaders.get(CurrentUtil.uID))) { if (StringUtils.isEmpty(uToken) || StringUtils.isEmpty(uid = zuulRequestHeaders.get(CurrentUtil.TOKEN_SUB))) {
this.respHandler(ctx, zuulRequestHeaders.get(TOKEN_STATUS)); this.respHandler(ctx, zuulRequestHeaders.get(TOKEN_STATUS));
return null; return null;
......
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