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

Commit 222abf1f authored by jiangxiulong's avatar jiangxiulong

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

parents 5572cf87 047e7660
......@@ -55,7 +55,6 @@ public class KylinOrderTicketEntitiesVo implements Serializable, Cloneable {
}
private static final KylinOrderTicketEntitiesVo obj = new KylinOrderTicketEntitiesVo();
public static KylinOrderTicketEntitiesVo getNew() {
try {
return (KylinOrderTicketEntitiesVo) obj.clone();
......
......@@ -16,7 +16,7 @@ import java.util.List;
@ApiModel(value = "KylinOrderTicketVo", description = "订单数据")
@Data
public class KylinOrderTicketVo implements Serializable {
public class KylinOrderTicketVo implements Serializable,Cloneable {
private Integer mid;
private static final long serialVersionUID = 5325511589667456213L;
@ApiModelProperty(position = 10, value = "ID")
......@@ -124,4 +124,13 @@ public class KylinOrderTicketVo implements Serializable {
public void setOrderTicketRelation(KylinOrderTicketRelations orderTicketRelation) {
BeanUtils.copyProperties(orderTicketRelation,this);
}
private static final KylinOrderTicketVo obj = new KylinOrderTicketVo();
public static KylinOrderTicketVo getNew() {
try {
return (KylinOrderTicketVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new KylinOrderTicketVo();
}
}
}
......@@ -285,7 +285,7 @@ public class PerformanceVoUtils {
ticketTimes.setUpdatedAt(updatedAt);
ticketTimeRelation.setPerformanceId(performancesId);
ticketTimeRelation.setTicketTimeRelationId(IDGenerator.nextSnowId().toString());
ticketTimeRelation.setTicketTimeRelationId(IDGenerator.nextSnowId());
ticketTimeRelation.setTimesId(ticketTimes.getTicketTimesId());
ticketTimeRelation.setCreatedAt(null);
ticketTimeRelation.setUpdatedAt(updatedAt);
......@@ -309,7 +309,8 @@ public class PerformanceVoUtils {
}
//修改票
for (KylinTicketPartnerVo ticketItem : getTicketMongoList(ticketTimeItem.getTicketTimesId())) {
List<KylinTicketPartnerVo> kylinTicketPartnerVoList = getTicketMongoList(ticketTimeItem.getTicketTimesId());
for (KylinTicketPartnerVo ticketItem : kylinTicketPartnerVoList) {
KylinTicketPartnerVo kylinTicketPartnerVo;
kylinTicketPartnerVo = mongoTemplate.findOne(
Query.query(Criteria.where("ticketsId").is(ticketItem.getTicketsId())),
......@@ -338,7 +339,7 @@ public class PerformanceVoUtils {
tickets.setSaleRemindMinute(60);
tickets.setUpdatedAt(updatedAt);
ticketStatus.setTicketStatusId(IDGenerator.nextSnowId().toString());
ticketStatus.setTicketStatusId(IDGenerator.nextSnowId());
ticketStatus.setTicketId(tickets.getTicketsId());
ticketStatus.setStatusExchange(7);
......@@ -348,14 +349,13 @@ public class PerformanceVoUtils {
ticketRelations.setUpdatedAt(updatedAt);
ticketRelations.setTicketRelationsId(IDGenerator.nextSnowId().toString());
ticketRelations.setTicketRelationsId(IDGenerator.nextSnowId());
ticketRelations.setTicketId(tickets.getTicketsId());
ticketRelations.setUpdatedAt(updatedAt);
if (ticketItem.getStatus() == -2) {
tickets.setAdvanceMinuteMember(5);
ticketStatus.setIsMember(1);
KylinTicketPartnerVo item = kylinTicketPartnerVoList.get(0);
tickets.setAdvanceMinuteMember(ticketsMapper.selectOne(new UpdateWrapper<KylinTickets>().eq("tickets_id", item.getTicketsId())).getAdvanceMinuteMember());
ticketStatus.setIsMember(item.getIsMember());
ticketRelations.setCreatedAt(LocalDateTime.now());
tickets.setCreatedAt(LocalDateTime.now());
......
package com.liquidnet.commons.lang.config;
import org.apache.http.Header;
import org.apache.http.client.HttpClient;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.impl.client.DefaultConnectionKeepAliveStrategy;
import org.apache.http.impl.client.DefaultHttpRequestRetryHandler;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
import org.apache.http.message.BasicHeader;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.client.ClientHttpRequestFactory;
import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.StringHttpMessageConverter;
import org.springframework.web.client.RestTemplate;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.TimeUnit;
@Configuration
public class RestTemplateConfig {
private static final Logger logger = LoggerFactory.getLogger(RestTemplateConfig.class);
@Bean
public RestTemplate restTemplate() {
// 添加内容转换器,使用默认的内容转换器
RestTemplate restTemplate = new RestTemplate(httpRequestFactory());
// 设置编码格式为UTF-8
List<HttpMessageConverter<?>> converterList = restTemplate.getMessageConverters();
HttpMessageConverter<?> converterTarget = null;
for (HttpMessageConverter<?> item : converterList) {
if (item.getClass() == StringHttpMessageConverter.class) {
converterTarget = item;
break;
}
}
if (converterTarget != null) {
converterList.remove(converterTarget);
}
HttpMessageConverter<?> converter = new StringHttpMessageConverter(StandardCharsets.UTF_8);
converterList.add(1, converter);
return restTemplate;
}
@Bean
public ClientHttpRequestFactory httpRequestFactory() {
return new HttpComponentsClientHttpRequestFactory(httpClient());
}
@Bean
public HttpClient httpClient() {
// 长连接保持30秒
PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager(30, TimeUnit.SECONDS);
//设置整个连接池最大连接数 根据自己的场景决定
connectionManager.setMaxTotal(500);
//同路由的并发数,路由是对maxTotal的细分
connectionManager.setDefaultMaxPerRoute(500);
//requestConfig
RequestConfig requestConfig = RequestConfig.custom()
//服务器返回数据(response)的时间,超过该时间抛出read timeout
.setSocketTimeout(10000)
//连接上服务器(握手成功)的时间,超出该时间抛出connect timeout
.setConnectTimeout(5000)
//从连接池中获取连接的超时时间,超过该时间未拿到可用连接,会抛出org.apache.http.conn.ConnectionPoolTimeoutException: Timeout waiting for connection from pool
.setConnectionRequestTimeout(500)
.build();
//headers
List<Header> headers = new ArrayList<>();
headers.add(new BasicHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.16 Safari/537.36"));
headers.add(new BasicHeader("Accept-Encoding", "gzip,deflate"));
headers.add(new BasicHeader("Accept-Language", "zh-CN"));
headers.add(new BasicHeader("Connection", "Keep-Alive"));
headers.add(new BasicHeader("Content-type", "application/json;charset=UTF-8"));
return HttpClientBuilder.create()
.setDefaultRequestConfig(requestConfig)
.setConnectionManager(connectionManager)
.setDefaultHeaders(headers)
// 保持长连接配置,需要在头添加Keep-Alive
.setKeepAliveStrategy(new DefaultConnectionKeepAliveStrategy())
//重试次数,默认是3次,没有开启
.setRetryHandler(new DefaultHttpRequestRetryHandler(2, true))
.build();
}
}
......@@ -5,7 +5,6 @@
package com.liquidnet.commons.lang.util;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Predicate;
/**
......@@ -13,73 +12,58 @@ import java.util.function.Predicate;
* @version 1.0 2015年12月01日 11:42:00
*/
public class CollectionUtil {
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 LinkedList<String> STRING_LINKED_LIST = new LinkedList<>();
private static final LinkedList<Object[]> OBJECTS_LINKED_LIST = new LinkedList<>();
private static final ArrayList<Object> OBJECT_ARRAY_LIST = new ArrayList<>();
/**
* 构建泛型类型的HashMap,该Map的初始容量是0
*
* @param <K>
* @param <V>
* @return
*/
public static <K, V> Map<K, V> hashMap() {
return new HashMap<K, V>(0);
}
public static <K, V> Map<K, V> concurrentMap() {
return new ConcurrentHashMap<K, V>();
}
public static <E> List<E> arrayList () {
return new ArrayList<E>();
}
public static <E> List<E> arrayList (E obj) {
List<E> _list = arrayList();
_list.add(obj);
return _list;
public static HashMap<String, String> mapStringString() {
return (HashMap<String, String>) STRING_STRING_HASH_MAP.clone();
}
public static <E> LinkedList<E> linkedList () {
return new LinkedList<E>();
public static HashMap<String, Object> mapStringObject() {
return (HashMap<String, Object>) STRING_OBJECT_HASH_MAP.clone();
}
public static <E> Set<E> hashSet () {
return new HashSet<E>();
public static LinkedList<String> linkedListString() {
return (LinkedList<String>) STRING_LINKED_LIST.clone();
}
public static <E> List<E> arrayList (Collection<E> c) {
return new ArrayList<E>(c);
public static LinkedList<Object[]> linkedListObjectArr() {
return (LinkedList<Object[]>) OBJECTS_LINKED_LIST.clone();
}
public static <E> Set<E> hashSet (Collection<E> c) {
return new HashSet<E>(c);
public static ArrayList<Object> arrayListObject() {
return (ArrayList<Object>) OBJECT_ARRAY_LIST.clone();
}
@SuppressWarnings("unchecked")
public static <T> T get (Map<?, ?> map, Object obj, Class<T> clazz) {
return (T)map.get(obj);
public static <T> T get(Map<?, ?> map, Object obj, Class<T> clazz) {
return (T) map.get(obj);
}
public static <E> boolean isEmpty (Collection<E> c) {
public static <E> boolean isEmpty(Collection<E> c) {
return c == null || c.isEmpty();
}
/**
* 移除集合中符合条件的元素
*
* @param list List集合
* @param test 移除条件
* @param breakIfFind 是否在第一次移除后就停止查找
* @param <T>
*/
public static <T> void remove(List<T> list,Predicate<T> test,boolean breakIfFind){
if(list == null) {
public static <T> void remove(List<T> list, Predicate<T> test, boolean breakIfFind) {
if (list == null) {
return;
}
Iterator<T> it = list.iterator();
while (it.hasNext()){
if(test.test(it.next())){
while (it.hasNext()) {
if (test.test(it.next())) {
it.remove();
if (breakIfFind) {
break;
......@@ -90,16 +74,18 @@ public class CollectionUtil {
/**
* 遍历全部元素,并移除其中符合条件的元素
*
* @param list List集合
* @param test 移除条件
* @param <T>
*/
public static <T> void remove(List<T> list,Predicate<T> test){
remove(list,test,false);
public static <T> void remove(List<T> list, Predicate<T> test) {
remove(list, test, false);
}
/**
* 遍历全部元素,并移除其中与目标对象相同的元素
*
* @param list List集合
* @param targetElement 目标对象
* @param <T>
......@@ -110,6 +96,7 @@ public class CollectionUtil {
/**
* 遍历全部元素,并移除其中的null元素
*
* @param list List集合
* @param <T>
*/
......@@ -120,12 +107,13 @@ public class CollectionUtil {
/**
* 遍历map中的全部value,并且移除符合条件的元素
*
* @param map Map集合
* @param test 移除条件
* @param <V>
*/
public static <V> void remove(Map<?, V> map, Predicate<V> test) {
if(map == null) {
if (map == null) {
return;
}
Iterator<V> it = map.values().iterator();
......@@ -138,6 +126,7 @@ public class CollectionUtil {
/**
* 遍历map中的全部value,并且移除与目标对象相同的元素
*
* @param map Map集合
* @param targetElement 目标对象
* @param <V>
......@@ -148,6 +137,7 @@ public class CollectionUtil {
/**
* 遍历map中的全部value,并且移除其中的null值元素
*
* @param map Map集合
* @param <V>
*/
......
package com.liquidnet.commons.lang.util;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.*;
import org.springframework.stereotype.Component;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.List;
import java.util.Map;
@Component
public class HttpOrderUtil {
@Autowired
private RestTemplate restTemplate;
/**
* get请求
*
* @param url
* @param params 请求参数
* @return
*/
public String get(String url, MultiValueMap<String, String> params) {
return get(url, params, null);
}
/**
* get请求
*
* @param url
* @param params 请求参数
* @param headers 请求头
* @return
*/
public String get(String url, MultiValueMap<String, String> params, MultiValueMap<String, String> headers) {
return request(url, params, headers, HttpMethod.GET);
}
/**
* post请求
*
* @param url
* @param params 请求参数
* @return
*/
public String post(String url, MultiValueMap<String, String> params) {
return post(url, params, null);
}
/**
* post请求
*
* @param url
* @param params 请求参数
* @param headers 请求头
* @return
*/
public String post(String url, MultiValueMap<String, String> params, MultiValueMap<String, String> headers) {
return request(url, params, headers, HttpMethod.POST);
}
/**
* put请求
*
* @param url
* @param params 请求参数
* @return
*/
public String put(String url, MultiValueMap<String, String> params) {
return put(url, params, null);
}
/**
* put请求
*
* @param url
* @param params 请求参数
* @param headers 请求头
* @return
*/
public String put(String url, MultiValueMap<String, String> params, MultiValueMap<String, String> headers) {
return request(url, params, headers, HttpMethod.PUT);
}
/**
* delete请求
*
* @param url
* @param params 请求参数
* @return
*/
public String delete(String url, MultiValueMap<String, String> params) {
return delete(url, params, null);
}
/**
* delete请求
*
* @param url
* @param params 请求参数
* @param headers 请求头
* @return
*/
public String delete(String url, MultiValueMap<String, String> params, MultiValueMap<String, String> headers) {
return request(url, params, headers, HttpMethod.DELETE);
}
/**
* 表单请求
*
* @param url
* @param params 请求参数
* @param headers 请求头
* @param method 请求方式
* @return
*/
public String request(String url, MultiValueMap<String, String> params, MultiValueMap<String, String> headers, HttpMethod method) {
if (params == null) {
params = new LinkedMultiValueMap<>();
}
return request(url, params, headers, method, MediaType.APPLICATION_FORM_URLENCODED);
}
/**
* http请求
*
* @param url
* @param params 请求参数
* @param headers 请求头
* @param method 请求方式
* @param mediaType 参数类型
* @return
*/
public String request(String url, Object params, MultiValueMap<String, String> headers, HttpMethod method, MediaType mediaType) {
if (url == null || url.trim().isEmpty()) {
return null;
}
// header
HttpHeaders httpHeaders = new HttpHeaders();
if (headers != null) {
httpHeaders.addAll(headers);
}
HttpEntity<Object> httpEntity;
if (headers != null) {
// header
httpHeaders = new HttpHeaders();
httpHeaders.addAll(headers);
httpHeaders.setContentType(mediaType);
httpEntity = new HttpEntity(params, httpHeaders);
} else {
httpEntity = new HttpEntity(params, null);
}
// 提交方式:表单、json
ResponseEntity<String> response = restTemplate.exchange(url, method, httpEntity, String.class);
return response.getBody();
}
private final String PHP_API_KEY = "R7tXY9smPQPG9Ku5yI0u6sfnlckmk04V";
public String postToPhpApi(String url, MultiValueMap<String, String> params) {
params.add("sign", processForPhpApi(params).concat("&key=").concat(PHP_API_KEY).toUpperCase());
return post(url, params, null);
}
private String processForPhpApi(MultiValueMap<String, String> map) {
StringBuilder sb = new StringBuilder();
for (Map.Entry<String, List<String>> entry : map.entrySet()) {
sb.append(entry.getKey()).append("=").append(entry.getValue().get(0)).append("&");
}
String targetStr = sb.substring(0, sb.length() - 1);
try {
targetStr = URLDecoder.decode(targetStr, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
targetStr = targetStr.replace("%3D", "=").replace("%26", "&");
return targetStr;
}
}
......@@ -11,6 +11,11 @@ import java.util.List;
import java.util.Map;
public class HttpUtil {
private static RestTemplate restTemplate;
static {
restTemplate = new RestTemplate();
}
/**
* get请求
......@@ -142,7 +147,7 @@ public class HttpUtil {
}
HttpEntity<Object> httpEntity = new HttpEntity(params, httpHeaders);
RestTemplate restTemplate = new RestTemplate();
// RestTemplate restTemplate = new RestTemplate();
// 提交方式:表单、json
ResponseEntity<String> response = restTemplate.exchange(url, method, httpEntity, String.class);
return response.getBody();
......@@ -170,4 +175,9 @@ public class HttpUtil {
targetStr = targetStr.replace("%3D", "=").replace("%26", "&");
return targetStr;
}
public static void main(String[] args) {
String s = HttpUtil.get("www.baidu.com", null);
System.out.println(s);
}
}
......@@ -18,7 +18,7 @@ import java.time.LocalDateTime;
* @date 2021/7/13 19:36
*/
@Data
public class DragonOrdersDto implements Serializable {
public class DragonOrdersDto implements Serializable, Cloneable {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
......@@ -103,4 +103,14 @@ public class DragonOrdersDto implements Serializable {
* deleted_at
*/
private LocalDateTime deletedAt;
private static final DragonOrdersDto obj = new DragonOrdersDto();
public static DragonOrdersDto getNew() {
try {
return (DragonOrdersDto) obj.clone();
} catch (CloneNotSupportedException e) {
return new DragonOrdersDto();
}
}
}
......@@ -19,10 +19,9 @@ import java.time.LocalDateTime;
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class DragonOrders implements Serializable {
private static final long serialVersionUID = 1L;
public class DragonOrders implements Serializable, Cloneable {
private static final long serialVersionUID = -4897000205961106873L;
@TableId(value = "mid", type = IdType.AUTO)
private Long mid;
......@@ -116,5 +115,15 @@ public class DragonOrders implements Serializable {
*/
private LocalDateTime deletedAt;
private static final DragonOrders obj = new DragonOrders();
public static DragonOrders getNew() {
try {
return (DragonOrders) obj.clone();
} catch (CloneNotSupportedException e) {
return new DragonOrders();
}
}
}
......@@ -140,4 +140,13 @@ public class KylinOrderTicketEntities implements Serializable {
isPayment, updatedAt, orderId,updateTime,createTime
};
}
private static final KylinOrderTicketEntities obj = new KylinOrderTicketEntities();
public static KylinOrderTicketEntities getNew() {
try {
return (KylinOrderTicketEntities) obj.clone();
} catch (CloneNotSupportedException e) {
return new KylinOrderTicketEntities();
}
}
}
......@@ -92,4 +92,12 @@ public class KylinOrderTicketRelations implements Serializable {
};
}
private static final KylinOrderTicketRelations obj = new KylinOrderTicketRelations();
public static KylinOrderTicketRelations getNew() {
try {
return (KylinOrderTicketRelations) obj.clone();
} catch (CloneNotSupportedException e) {
return new KylinOrderTicketRelations();
}
}
}
......@@ -19,7 +19,7 @@ import lombok.EqualsAndHashCode;
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class KylinOrderTicketStatus implements Serializable {
public class KylinOrderTicketStatus implements Serializable,Cloneable {
private static final long serialVersionUID = 1L;
......@@ -103,4 +103,13 @@ public class KylinOrderTicketStatus implements Serializable {
status, updatedAt, orderId
};
}
private static final KylinOrderTicketStatus obj = new KylinOrderTicketStatus();
public static KylinOrderTicketStatus getNew() {
try {
return (KylinOrderTicketStatus) obj.clone();
} catch (CloneNotSupportedException e) {
return new KylinOrderTicketStatus();
}
}
}
......@@ -21,7 +21,7 @@ import lombok.EqualsAndHashCode;
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class KylinOrderTickets implements Serializable {
public class KylinOrderTickets implements Serializable ,Cloneable {
private static final long serialVersionUID = 1L;
......@@ -259,4 +259,13 @@ public class KylinOrderTickets implements Serializable {
updatedAt, orderTicketsId
};
}
private static final KylinOrderTickets obj = new KylinOrderTickets();
public static KylinOrderTickets getNew() {
try {
return (KylinOrderTickets) obj.clone();
} catch (CloneNotSupportedException e) {
return new KylinOrderTickets();
}
}
}
......@@ -174,7 +174,7 @@ public class AdamLoginController {
// rabbitTemplate.convertAndSend(MQConst.EX_LNS_SMS_SENDER, MQConst.RK_SMS_CODE, smsMessage.toJson());
ObjectNode msgNode = JsonUtils.OM().createObjectNode();
msgNode.put("code", smsCode);
boolean sendRst = smsProcessor.send(mobile, SmsEnum.ADSignName.M02.getVal(), SmsEnum.ADTemplate.SMS_109535335.name(), msgNode.asText());
boolean sendRst = smsProcessor.send(mobile, SmsEnum.ADSignName.M02.getVal(), SmsEnum.ADTemplate.SMS_109535335.name(), msgNode.toString());
if (sendRst) {
adamRdmService.setSmsCodeByMobile(mobile, smsCode);
......@@ -443,7 +443,7 @@ public class AdamLoginController {
}
private String ssoProcess(AdamUserInfoVo userInfoVo) {
Map<String, Object> claimsMap = new HashMap<>();
Map<String, Object> claimsMap = CollectionUtil.mapStringObject();
claimsMap.put("sub", userInfoVo.getUid());
claimsMap.put("mobile", userInfoVo.getMobile());
claimsMap.put("nickname", userInfoVo.getNickname());
......
......@@ -4,10 +4,7 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.liquidnet.commons.lang.constant.LnsEnum;
import com.liquidnet.commons.lang.constant.LnsRegex;
import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.commons.lang.util.HttpUtil;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.commons.lang.util.SensitizeUtil;
import com.liquidnet.commons.lang.util.*;
import com.liquidnet.service.adam.dto.AdamThirdPartParam;
import com.liquidnet.service.adam.dto.AdamUserInfoParam;
import com.liquidnet.service.adam.dto.vo.*;
......@@ -288,7 +285,7 @@ public class AdamUserController {
public ResponseDto<Map<String, Object>> info() {
String currentUid = CurrentUtil.getCurrentUid();
Map<String, Object> map = new HashMap<>();
Map<String, Object> map = CollectionUtil.mapStringObject();
AdamUserInfoVo userInfoVo = adamRdmService.getUserInfoVoByUid(currentUid);
userInfoVo.setMobile(SensitizeUtil.custom(userInfoVo.getMobile(), 3, 4));
map.put("userInfo", userInfoVo);
......
......@@ -197,8 +197,9 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
* 2-使用会员码(购买的) 仅限从未购买过会员的用户使用,需要填写地址
* 3-使用礼包码(赠送的) 仅限从未购买过会员的用户使用,不需要填写地址
*/
LinkedList<String> toMqSqls = new LinkedList<>();
LinkedList<Object[]> operationObjs = new LinkedList<>(), updateMemberOrderObjs = new LinkedList<>();
LinkedList<String> toMqSqls = CollectionUtil.linkedListString();
LinkedList<Object[]> operationObjs = CollectionUtil.linkedListObjectArr(),
updateMemberOrderObjs = CollectionUtil.linkedListObjectArr();
LocalDateTime now = LocalDateTime.now();
if (0 == handleMemberOrderVo.getMode()) {// 购买会员回调
AdamUserMemberVo existUserMemberVo = adamRdmService.getUserMemberVoByUid(handleMemberOrderVo.getUid());
......@@ -347,9 +348,10 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
initMemberOrderVo.setSource(CurrentUtil.getCliSource());
initMemberOrderVo.setVersion(CurrentUtil.getCliVersion());
LinkedList<String> toMqSqls = new LinkedList<>();
LinkedList<Object[]> updateMemberCodeObjs = new LinkedList<>(),
initMemberOrderObjs = new LinkedList<>(), upsertUserMemberObjs = new LinkedList<>();
LinkedList<String> toMqSqls = CollectionUtil.linkedListString();
LinkedList<Object[]> updateMemberCodeObjs = CollectionUtil.linkedListObjectArr(),
initMemberOrderObjs = CollectionUtil.linkedListObjectArr(),
upsertUserMemberObjs = CollectionUtil.linkedListObjectArr();
AdamUserMemberVo upsertUserMemberVo = adamRdmService.getUserMemberVoByUid(initMemberOrderVo.getUid());
if (null != upsertUserMemberVo) {
upsertUserMemberVo.setState(1);
......
package com.liquidnet.service.adam.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.common.mq.constant.MQConst;
import com.liquidnet.commons.lang.core.JwtValidator;
import com.liquidnet.commons.lang.util.BsonUtil;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.adam.dto.vo.AdamUserInfoVo;
import com.liquidnet.service.adam.entity.AdamUserInfo;
import com.liquidnet.service.adam.mapper.AdamUserInfoMapper;
import com.liquidnet.service.adam.service.AdamRdmService;
import com.liquidnet.service.adam.service.IAdamUserInfoService;
import com.liquidnet.service.base.SqlMapping;
......@@ -27,7 +25,6 @@ import org.springframework.util.DigestUtils;
import java.nio.charset.StandardCharsets;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.Map;
......@@ -73,8 +70,9 @@ public class AdamUserInfoServiceImpl implements IAdamUserInfoService {
adamRdmService.setUserInfoVoByUid(userInfoVo.getUid(), userInfoVo);
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
LinkedList<String> toMqSqls = new LinkedList<>();
LinkedList<Object[]> updateUserObjs = new LinkedList<>(), updateUserInfoObjs = new LinkedList<>();
LinkedList<String> toMqSqls = CollectionUtil.linkedListString();
LinkedList<Object[]> updateUserObjs = CollectionUtil.linkedListObjectArr(),
updateUserInfoObjs = CollectionUtil.linkedListObjectArr();
s = System.currentTimeMillis();
toMqSqls.add(SqlMapping.get("adam_user.complete"));
......@@ -134,7 +132,7 @@ public class AdamUserInfoServiceImpl implements IAdamUserInfoService {
}
private String flushSsoProcess(AdamUserInfoVo userInfoVo) {
Map<String, Object> claimsMap = new HashMap<>();
Map<String, Object> claimsMap = CollectionUtil.mapStringObject();
claimsMap.put("sub", userInfoVo.getUid());
claimsMap.put("mobile", userInfoVo.getMobile());
claimsMap.put("nickname", userInfoVo.getNickname());
......
......@@ -37,9 +37,7 @@ import org.springframework.util.CollectionUtils;
import org.springframework.util.LinkedMultiValueMap;
import java.time.LocalDateTime;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.*;
import static com.liquidnet.service.adam.constant.AdamRedisConst.LOCK_KEY_UREGISTER;
......@@ -96,8 +94,9 @@ public class AdamUserServiceImpl implements IAdamUserService {
adamRdmService.setUidByMobile(mobile, userInfoVo.getUid());
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
LinkedList<String> toMqSqls = new LinkedList<>();
LinkedList<Object[]> initUserObjs = new LinkedList<>(), initUserInfoObjs = new LinkedList<>();
LinkedList<String> toMqSqls = CollectionUtil.linkedListString();
LinkedList<Object[]> initUserObjs = CollectionUtil.linkedListObjectArr(),
initUserInfoObjs = CollectionUtil.linkedListObjectArr();
s = System.currentTimeMillis();
toMqSqls.add(SqlMapping.get("adam_user.add"));
......@@ -129,8 +128,9 @@ public class AdamUserServiceImpl implements IAdamUserService {
long s = System.currentTimeMillis();
uid = adamRdmService.getUidByMobile(param.getMobile());
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
LinkedList<String> toMqSqls = new LinkedList<>();
LinkedList<Object[]> initUserObjs = new LinkedList<>(), initThirdPartObjs = new LinkedList<>();
LinkedList<String> toMqSqls = CollectionUtil.linkedListString();
LinkedList<Object[]> initUserObjs = CollectionUtil.linkedListObjectArr(),
initThirdPartObjs = CollectionUtil.linkedListObjectArr();
if (StringUtils.isEmpty(uid)) {// 手机号未注册
userInfoVo = AdamUserInfoVo.getNew();
......@@ -289,10 +289,10 @@ public class AdamUserServiceImpl implements IAdamUserService {
// @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public void close(String uid) {
LocalDateTime now = LocalDateTime.now();
LinkedList<String> toMqSqls = new LinkedList<>();
LinkedList<Object[]> objsUser = new LinkedList<>(),
objsThirdPart = new LinkedList<>(),
objsAddresses = new LinkedList<>();
LinkedList<String> toMqSqls = CollectionUtil.linkedListString();
LinkedList<Object[]> objsUser = CollectionUtil.linkedListObjectArr(),
objsThirdPart = CollectionUtil.linkedListObjectArr(),
objsAddresses = CollectionUtil.linkedListObjectArr();
long s = System.currentTimeMillis();
AdamUserInfoVo userInfoVo = adamRdmService.getUserInfoVoByUid(uid);
......
......@@ -38,7 +38,7 @@ public class DragonServiceCommonBiz {
public DragonOrders buildPayOrders(DragonPayBaseReqDto dragonPayBaseReqDto, DragonPayBaseRespDto respDto){
//构造订单
DragonOrders orders = new DragonOrders();
DragonOrders orders = DragonOrders.getNew();
// orders.setMid();
orders.setOrderId(IDGenerator.nextTimeId());
orders.setStatus(Integer.valueOf(DragonConstant.PayStatusEnum.STATUS_UNPAID.getCode()));
......@@ -58,7 +58,7 @@ public class DragonServiceCommonBiz {
orders.setCreatedAt(LocalDateTime.now());
// orders.setUpdatedAt();
DragonOrdersDto ordersDto = new DragonOrdersDto();
DragonOrdersDto ordersDto = DragonOrdersDto.getNew();
BeanUtil.copy(orders,ordersDto);
long startTime = System.currentTimeMillis();
//放到redis缓存中
......
......@@ -14,6 +14,7 @@ import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.commons.lang.util.StringUtil;
import com.liquidnet.service.dragon.channel.alipay.req.AlipayTradePayReq;
import com.liquidnet.service.dragon.channel.alipay.sign.MD5;
import com.liquidnet.service.dragon.utils.ObjectUtil;
import com.liquidnet.service.dragon.utils.PayAlipayUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
......@@ -37,7 +38,7 @@ public class AlipayBiz{
* @param alipayTradePayReq
* @return
*/
public static Map<String, Object> tradeWapPay(AlipayTradePayReq alipayTradePayReq) {
public static Map<String, Object> tradeWapPay_yace(AlipayTradePayReq alipayTradePayReq) {
log.info("AlipayBiz.tradeWapPay-->> req : {}",alipayTradePayReq.toString());
String timeExpress = "5m";// 支付超时,线下扫码交易定义为5分钟
......@@ -78,13 +79,13 @@ public class AlipayBiz{
}
}
public static Map<String, Object> tradeWapPay_backup(AlipayTradePayReq alipayTradePayReq) {
public static Map<String, Object> tradeWapPay(AlipayTradePayReq alipayTradePayReq) {
log.info("AlipayBiz.tradeWapPay-->> req : {}",alipayTradePayReq.toString());
String timeExpress = "5m";// 支付超时,线下扫码交易定义为5分钟
AlipayClient alipayClient = PayAlipayUtils.getInstance().getHttpClient();
SortedMap<String, Object> paramMap = new TreeMap<>();
SortedMap<String, Object> paramMap = ObjectUtil.cloneSortedMapStringAndObj();
paramMap.put("product_code", alipayTradePayReq.getProductCode());
paramMap.put("total_amount", alipayTradePayReq.getTotalAmount().toString());
paramMap.put("subject", alipayTradePayReq.getSubject());
......@@ -96,8 +97,8 @@ public class AlipayBiz{
AlipayTradeWapPayRequest request = new AlipayTradeWapPayRequest();
request.setNotifyUrl(alipayTradePayReq.getNotifyUrl());
// request.setTimestamp(DateUtil.now());
log.info("bizContent :{}", JSONObject.toJSONString(paramMap));
request.setBizContent(JSONObject.toJSONString(paramMap));
log.info("bizContent :{}", JsonUtils.toJson(paramMap));
request.setBizContent(JsonUtils.toJson(paramMap));
try {
long startTime = System.currentTimeMillis();
AlipayTradeWapPayResponse response = alipayClient.sdkExecute(request);
......@@ -109,7 +110,7 @@ public class AlipayBiz{
return responseJSON;
} catch (AlipayApiException e) {
log.error("支付宝支付异常:{}", e);
JSONObject resultJSON = new JSONObject();
JSONObject resultJSON = ObjectUtil.cloneJsonObjectObj();
resultJSON.put("outTradeNo", alipayTradePayReq.getOutTradeNo());
resultJSON.put("totalAmount", alipayTradePayReq.getTotalAmount().toString());
resultJSON.put("errorCode", "9999");
......
......@@ -14,14 +14,13 @@ public class DataUtils {
private long keyExpireTime = 3600*24*7;
public void createPayOrder(String code, DragonOrdersDto ordersDto) {
if (!redisUtil.hasKey(DragonConstant.REDIS_KET_PAY_CODE + code)) {
redisUtil.set(DragonConstant.REDIS_KET_PAY_CODE + code, ordersDto,keyExpireTime);
}
}
public DragonOrdersDto getPayOrderByCode(String code) {
if (redisUtil.hasKey(DragonConstant.REDIS_KET_PAY_CODE + code)) {
return (DragonOrdersDto) redisUtil.get(DragonConstant.REDIS_KET_PAY_CODE + code);
Object obj = redisUtil.get(DragonConstant.REDIS_KET_PAY_CODE + code);
if(obj!=null){
return (DragonOrdersDto) obj;
}
return null;
}
......
......@@ -32,7 +32,7 @@ public class MqHandleUtil {
*/
public boolean sendNotifyErrorQueue(PayNotifyReqBo payNotifyReqBo,String queueKey) {
try {
HashMap<String, String> map = new HashMap<>();
HashMap<String, String> map = ObjectUtil.hashMapStringAndString;
map.put("message", payNotifyReqBo.toString());
MapRecord<String, String, String> record = StreamRecords.mapBacked(map).withStreamKey(queueKey);
stringRedisTemplate.opsForStream().add(record);
......@@ -52,13 +52,13 @@ public class MqHandleUtil {
*/
public boolean sendMySqlRedis(String sql, Object[] data , String redisKey) {
try {
LinkedList<String> sqls = new LinkedList<>();
LinkedList<String> sqls = ObjectUtil.cloneLinkedListStr();
sqls.add(sql);
LinkedList<Object[]> sqlsData = new LinkedList();
LinkedList<Object[]> sqlsData = ObjectUtil.cloneLinkedListObj();
sqlsData.add(data);
String sqlData = SqlMapping.gets(sqls, sqlsData);
HashMap<String, String> map = new HashMap<>();
HashMap<String, String> map = ObjectUtil.cloneHashMapStringAndString();
map.put("message", sqlData);
MapRecord<String, String, String> record = StreamRecords.mapBacked(map).withStreamKey(redisKey);
stringRedisTemplate.opsForStream().add(record);
......
package com.liquidnet.service.dragon.utils;
import com.alibaba.fastjson.JSONObject;
import com.alipay.api.request.AlipayTradeWapPayRequest;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.SortedMap;
import java.util.TreeMap;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
* @version V1.0
* @Description: TODO
* @class: ObjectUtil
* @Package com.liquidnet.service.dragon.utils
* @Copyright: LightNet @ Copyright (c) 2021
* @date 2021/7/21 16:00
*/
@Component
public class ObjectUtil {
public static final LinkedList<Object[]> linkedListObj = new LinkedList<Object[]>();
public static final LinkedList<String> linkedListStr = new LinkedList<String>();
public static final HashMap<String, String> hashMapStringAndString = new HashMap<>();
public static final SortedMap<String, Object> sortedMapStringAndObj = new TreeMap<>();
public static final AlipayTradeWapPayRequest alipayTradeWapPayRequest = new AlipayTradeWapPayRequest();
public static final JSONObject jsonObjectObj = new JSONObject();
public static LinkedList<Object[]> cloneLinkedListObj() {
linkedListObj.clear();
return linkedListObj;
}
public static LinkedList<String> cloneLinkedListStr() {
linkedListStr.clear();
return linkedListStr;
}
public static HashMap<String, String> cloneHashMapStringAndString() {
hashMapStringAndString.clear();
return hashMapStringAndString;
}
public static SortedMap<String, Object> cloneSortedMapStringAndObj() {
sortedMapStringAndObj.clear();
return sortedMapStringAndObj;
}
public static AlipayTradeWapPayRequest cloneAlipayTradeWapPayRequest() {
return alipayTradeWapPayRequest;
}
public static JSONObject cloneJsonObjectObj() {
return jsonObjectObj;
}
}
......@@ -21,18 +21,18 @@
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.liquidnet</groupId>
<artifactId>liquidnet-api-feign-account</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.liquidnet</groupId>
<artifactId>liquidnet-api-feign-sequence</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<!-- <dependency>-->
<!-- <groupId>com.liquidnet</groupId>-->
<!-- <artifactId>liquidnet-api-feign-account</artifactId>-->
<!-- <version>1.0-SNAPSHOT</version>-->
<!-- <scope>compile</scope>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>com.liquidnet</groupId>-->
<!-- <artifactId>liquidnet-api-feign-sequence</artifactId>-->
<!-- <version>1.0-SNAPSHOT</version>-->
<!-- <scope>compile</scope>-->
<!-- </dependency>-->
<dependency>
<groupId>com.liquidnet</groupId>
<artifactId>liquidnet-common-cache-redisson</artifactId>
......
......@@ -61,14 +61,17 @@ public class DataUtils {
}
public List<KylinOrderListVo> getOrderList(String userId) {
if (redisUtil.hasKey(KylinRedisConst.ORDER_LIST + userId)) {
Object obj = redisUtil.get(KylinRedisConst.ORDER_LIST + userId);
;
if (obj != null) {
return (List<KylinOrderListVo>) obj;
} else {
List<KylinOrderListVo> voList = mongoTemplate.find(Query.query(Criteria.where("userId").is(userId))
.with(Sort.by(Sort.Direction.DESC, "createdAt")).limit(40),
KylinOrderListVo.class, KylinOrderTicketVo.class.getSimpleName());
redisUtil.set(KylinRedisConst.ORDER_LIST + userId, voList);
return voList;
}
return (List<KylinOrderListVo>) redisUtil.get(KylinRedisConst.ORDER_LIST + userId);
}
/**
......@@ -78,14 +81,16 @@ public class DataUtils {
* @return
*/
public KylinOrderTicketVo getOrderTicketVo(String orderId) {
if (redisUtil.hasKey(KylinRedisConst.ORDER + orderId)) {
Object obj = redisUtil.get(KylinRedisConst.ORDER + orderId);
if (obj != null) {
return (KylinOrderTicketVo) obj;
} else {
KylinOrderTicketVo ticketData = mongoTemplate.findOne(Query.query(Criteria.where("orderTicketsId").is(orderId)), KylinOrderTicketVo.class, KylinOrderTicketVo.class.getSimpleName());
List<KylinOrderTicketEntitiesVo> kylinOrderTicketEntitiesVoList = mongoTemplate.find(Query.query(Criteria.where("orderId").is(orderId)), KylinOrderTicketEntitiesVo.class, KylinOrderTicketEntitiesVo.class.getSimpleName());
ticketData.setEntitiesVoList(kylinOrderTicketEntitiesVoList);
redisUtil.set(KylinRedisConst.ORDER + orderId, ticketData);
return ticketData;
}
return (KylinOrderTicketVo) redisUtil.get(KylinRedisConst.ORDER + orderId);
}
/**
......@@ -105,12 +110,14 @@ public class DataUtils {
* @return
*/
public KylinCheckUserPerformanceVo getCheckUserRelationVo(String checkUserId) {
if (redisUtil.hasKey(KylinRedisConst.CHECK_USER_RELATION + checkUserId)) {
Object obj = redisUtil.get(KylinRedisConst.CHECK_USER_RELATION + checkUserId);
if (obj != null) {
return (KylinCheckUserPerformanceVo) obj;
} else {
KylinCheckUserPerformanceVo ticketData = mongoTemplate.findOne(Query.query(Criteria.where("checkUserId").is(checkUserId)), KylinCheckUserPerformanceVo.class, KylinCheckUserPerformanceVo.class.getSimpleName());
redisUtil.set(KylinRedisConst.CHECK_USER_RELATION + checkUserId, ticketData);
return ticketData;
}
return (KylinCheckUserPerformanceVo) redisUtil.get(KylinRedisConst.CHECK_USER_RELATION + checkUserId);
}
/**
......@@ -120,11 +127,12 @@ public class DataUtils {
* @return
*/
public String getEnterInfo(String enterInfoId) {
if (redisUtil.hasKey(KylinRedisConst.ENTER_INFO + enterInfoId)) {
Object obj = redisUtil.get(KylinRedisConst.ENTER_INFO + enterInfoId);
if (obj != null) {
return (String) obj;
} else {
return "入场须知";
}
return (String) redisUtil.get(KylinRedisConst.ENTER_INFO + enterInfoId);
}
......@@ -144,12 +152,14 @@ public class DataUtils {
* @return
*/
public KylinPerformanceVo getPerformanceVo(String performanceId) {
if (redisUtil.hasKey(KylinRedisConst.PERFORMANCES + performanceId)) {
Object obj = redisUtil.get(KylinRedisConst.PERFORMANCES + performanceId);
if (obj != null) {
return (KylinPerformanceVo) obj;
} else {
KylinPerformanceVo performanceData = mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performanceId)), KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName());
redisUtil.set(KylinRedisConst.PERFORMANCES + performanceId, performanceData);
return performanceData;
}
return (KylinPerformanceVo) redisUtil.get(KylinRedisConst.PERFORMANCES + performanceId);
}
/**
......@@ -172,7 +182,9 @@ public class DataUtils {
*/
public List<KylinPerformanceVo> getPerformancesListOfcityName(String cityName) {
String redisKey = KylinRedisConst.PERFORMANCES_LIST_CITYNAME.concat(cityName);
if (!redisUtil.hasKey(redisKey)) {
Object object = redisUtil.get(redisKey);
if (object == null) {
// 固定查询条件
Query query = getCommonWhere();
// 其他条件
......@@ -188,8 +200,9 @@ public class DataUtils {
query.fields().exclude("describeElectronic");
List<KylinPerformanceVo> performancesList = mongoTemplate.find(query, KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName());
redisUtil.set(redisKey, performancesList);
return performancesList;
}
return (List<KylinPerformanceVo>) redisUtil.get(redisKey);
return (List<KylinPerformanceVo>) object;
}
/**
......@@ -197,7 +210,8 @@ public class DataUtils {
*/
public List<KylinPerformanceVo> getPerformancesListIsSystemRecommend() {
String redisKey = KylinRedisConst.PERFORMANCES_LIST_SYSTEM_RECOMMEND;
if (!redisUtil.hasKey(redisKey)) {
Object obj = redisUtil.get(redisKey);
if (obj == null) {
// 固定条件
Query query = getCommonWhere();
// 排序
......@@ -212,8 +226,9 @@ public class DataUtils {
// 推荐
List<KylinPerformanceVo> systemRecommendList = mongoTemplate.find(query, KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName());
redisUtil.set(redisKey, systemRecommendList);
return systemRecommendList;
}
return (List<KylinPerformanceVo>) redisUtil.get(redisKey);
return (List<KylinPerformanceVo>) obj;
}
/**
......@@ -221,7 +236,8 @@ public class DataUtils {
*/
public HashMap<String, Object> getPerformancesListNotice() {
String redisKey = KylinRedisConst.PERFORMANCES_LIST_NOTICE;
if (!redisUtil.hasKey(redisKey)) {
Object obj = redisUtil.get(redisKey);
if (obj == null) {
// 固定条件
Query query = getCommonWhere();
......@@ -257,8 +273,9 @@ public class DataUtils {
info.put("toDayList", toDayList);
info.put("threeDaysList", threeDaysList);
redisUtil.set(redisKey, info);
return info;
}
return (HashMap<String, Object>) redisUtil.get(redisKey);
return (HashMap<String, Object>) obj;
}
/**
......@@ -266,7 +283,8 @@ public class DataUtils {
*/
public List<KylinPerformanceVo> getPerformancesListIsRecommend() {
String redisKey = KylinRedisConst.PERFORMANCES_LIST_RECOMMEND;
if (!redisUtil.hasKey(redisKey)) {
Object obj = redisUtil.get(redisKey);
if (obj == null) {
// 固定条件
Query query = getCommonWhere();
// 排序
......@@ -281,8 +299,9 @@ public class DataUtils {
query.addCriteria(Criteria.where("isRecommend").gte(1));
List<KylinPerformanceVo> recommendList = mongoTemplate.find(query, KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName());
redisUtil.set(redisKey, recommendList);
return recommendList;
}
return (List<KylinPerformanceVo>) redisUtil.get(redisKey);
return (List<KylinPerformanceVo>) obj;
}
/**
......@@ -290,7 +309,8 @@ public class DataUtils {
*/
public List<KylinPerformanceVo> getPerformancesListIsExclusive() {
String redisKey = KylinRedisConst.PERFORMANCES_LIST_EXCLUSIVE;
if (!redisUtil.hasKey(redisKey)) {
Object obj = redisUtil.get(redisKey);
if (obj == null) {
// 固定条件
Query query = getCommonWhere();
// 不要查询的字段
......@@ -302,8 +322,9 @@ public class DataUtils {
query.addCriteria(Criteria.where("isExclusive").is(1));
List<KylinPerformanceVo> exclusiveList = mongoTemplate.find(query, KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName());
redisUtil.set(redisKey, exclusiveList);
return exclusiveList;
}
return (List<KylinPerformanceVo>) redisUtil.get(redisKey);
return (List<KylinPerformanceVo>) obj;
}
/**
......@@ -311,15 +332,17 @@ public class DataUtils {
*/
public List<KylinPerformanceVo> getRoadList(String roadShowId) {
String redisKey = KylinRedisConst.PERFORMANCES_ROADLIST.concat(roadShowId);
if (!redisUtil.hasKey(redisKey)) {
Object obj = redisUtil.get(redisKey);
if (obj == null) {
List<KylinPerformanceVo> roadList = mongoTemplate.find(
Query.query(Criteria.where("roadShowId").is(roadShowId)),
KylinPerformanceVo.class,
KylinPerformanceVo.class.getSimpleName()
);
redisUtil.set(redisKey, roadList);
return roadList;
}
return (List<KylinPerformanceVo>) redisUtil.get(redisKey);
return (List<KylinPerformanceVo>) obj;
}
/**
......@@ -336,21 +359,25 @@ public class DataUtils {
return query;
}
public KylinOrderRefundsVo getOrderRefundVo(String orderRefundsId){
if (redisUtil.hasKey(KylinRedisConst.ORDER_REFUND + orderRefundsId)) {
public KylinOrderRefundsVo getOrderRefundVo(String orderRefundsId) {
Object obj = redisUtil.get(KylinRedisConst.ORDER_REFUND + orderRefundsId);
if (obj != null) {
return (KylinOrderRefundsVo) obj;
} else {
KylinOrderRefundsVo orderRefundsVo = mongoTemplate.findOne(Query.query(Criteria.where("orderRefundsId").is(orderRefundsId)), KylinOrderRefundsVo.class, KylinOrderRefundsVo.class.getSimpleName());
List<KylinOrderRefundEntitiesVo> kylinOrderTicketEntitiesVoList = mongoTemplate.find(Query.query(Criteria.where("orderRefundsId").is(orderRefundsId)), KylinOrderRefundEntitiesVo.class, KylinOrderRefundEntitiesVo.class.getSimpleName());
List<KylinOrderRefundPicVo> picVos = mongoTemplate.find(Query.query(Criteria.where("orderRefundsId").is(orderRefundsId)),KylinOrderRefundPicVo.class,KylinOrderRefundPicVo.class.getSimpleName());
List<KylinOrderRefundPicVo> picVos = mongoTemplate.find(Query.query(Criteria.where("orderRefundsId").is(orderRefundsId)), KylinOrderRefundPicVo.class, KylinOrderRefundPicVo.class.getSimpleName());
orderRefundsVo.setOrderRefundEntitiesVoList(kylinOrderTicketEntitiesVoList);
orderRefundsVo.setOrderRefundPicVos(picVos);
redisUtil.set(KylinRedisConst.ORDER_REFUND + orderRefundsId, orderRefundsVo);
return orderRefundsVo;
}
return (KylinOrderRefundsVo) redisUtil.get(KylinRedisConst.ORDER_REFUND + orderRefundsId);
}
public List<KylinOrderRefundsVo> getOrderRefundVoByOrderId(String orderId){
if (redisUtil.hasKey(KylinRedisConst.ORDER_REFUND_BY_ORDER_ID + orderId)) {
public List<KylinOrderRefundsVo> getOrderRefundVoByOrderId(String orderId) {
Object obj = redisUtil.get(KylinRedisConst.ORDER_REFUND_BY_ORDER_ID + orderId);
if (obj != null) {
return (List<KylinOrderRefundsVo>) obj;
} else {
List<KylinOrderRefundsVo> orderRefundsVoList = new ArrayList<>();
List<KylinOrderRefundsVo> data = mongoTemplate.find(Query.query(Criteria.where("orderTicketsId").is(orderId)), KylinOrderRefundsVo.class, KylinOrderRefundsVo.class.getSimpleName());
......@@ -360,40 +387,41 @@ public class DataUtils {
// continue;
// }
item.setOrderRefundEntitiesVoList(kylinOrderTicketEntitiesVoList);
List<KylinOrderRefundPicVo> picVos = mongoTemplate.find(Query.query(Criteria.where("orderRefundsId").is(item.getOrderRefundsId())),KylinOrderRefundPicVo.class,KylinOrderRefundPicVo.class.getSimpleName());
List<KylinOrderRefundPicVo> picVos = mongoTemplate.find(Query.query(Criteria.where("orderRefundsId").is(item.getOrderRefundsId())), KylinOrderRefundPicVo.class, KylinOrderRefundPicVo.class.getSimpleName());
item.setOrderRefundPicVos(picVos);
orderRefundsVoList.add(item);
}
redisUtil.set(KylinRedisConst.ORDER_REFUND_BY_ORDER_ID + orderId, orderRefundsVoList);
return orderRefundsVoList;
}
return (List<KylinOrderRefundsVo>) redisUtil.get(KylinRedisConst.ORDER_REFUND_BY_ORDER_ID + orderId);
}
public void delOrderRefundVo(String orderRefundsId){
public void delOrderRefundVo(String orderRefundsId) {
redisUtil.del(KylinRedisConst.ORDER_REFUND + orderRefundsId);
}
public void delOrderRefundVoByOrderId(String orderId){
public void delOrderRefundVoByOrderId(String orderId) {
redisUtil.del(KylinRedisConst.ORDER_REFUND_BY_ORDER_ID + orderId);
}
/**
* 获取可退款票单价格
*
* @param orderTicketVo 订单vo数据
* @param orderTicketEntitiesId 票单id
* @return
*/
public BigDecimal getCanRefundOrderEntitiesPrice(KylinOrderTicketVo orderTicketVo, List<KylinOrderRefundsVo> kylinOrderRefundsVoBaseList, String orderTicketEntitiesId){
public BigDecimal getCanRefundOrderEntitiesPrice(KylinOrderTicketVo orderTicketVo, List<KylinOrderRefundsVo> kylinOrderRefundsVoBaseList, String orderTicketEntitiesId) {
//单票实付价格
BigDecimal singlePrice = orderTicketVo.getPriceActual().subtract(orderTicketVo.getPriceExpress()).divide(BigDecimal.valueOf(orderTicketVo.getNumber()));
//单票剩余未退款金额
BigDecimal canRefundSinglePrice = new BigDecimal("0.00");
for (KylinOrderTicketEntitiesVo item : orderTicketVo.getEntitiesVoList()) {
if (item.getOrderTicketEntitiesId().equals(orderTicketEntitiesId)) {
canRefundSinglePrice = singlePrice.subtract(item.getRefundPrice()==null?BigDecimal.valueOf(0.00):item.getRefundPrice());
canRefundSinglePrice = singlePrice.subtract(item.getRefundPrice() == null ? BigDecimal.valueOf(0.00) : item.getRefundPrice());
}
}
System.out.println("单票剩余未退款金额 : "+canRefundSinglePrice);
System.out.println("单票剩余未退款金额 : " + canRefundSinglePrice);
//订单锁定金额
BigDecimal orderLockPrice = new BigDecimal("0.00");
for (KylinOrderRefundsVo refundVo : kylinOrderRefundsVoBaseList) {
......@@ -407,10 +435,10 @@ public class DataUtils {
}
}
}
System.out.println("订单锁定金额 : "+orderLockPrice);
System.out.println("订单锁定金额 : " + orderLockPrice);
//订单可退金额
BigDecimal refundSinglePrice = canRefundSinglePrice.subtract(orderLockPrice);
System.out.println("订单可退金额 : "+refundSinglePrice);
System.out.println("订单可退金额 : " + refundSinglePrice);
//是否包含快递费
if (orderTicketVo.getPriceActual().subtract(orderTicketVo.getPriceExpress()).subtract(orderTicketVo.getPriceRefund()).compareTo(canRefundSinglePrice) == 0) {
refundSinglePrice = refundSinglePrice.add(orderTicketVo.getPriceExpress());
......@@ -423,10 +451,11 @@ public class DataUtils {
*/
public Integer getOrderExpressInfo(String orderId) {
String redisKey = KylinRedisConst.ORDER_EXPRESS_INFO.concat(orderId);
if (!redisUtil.hasKey(redisKey)) {
Object obj = redisUtil.get(redisKey);
if (obj == null) {
return 1;
} else {
KylinOrderExpressVo expressInfo = (KylinOrderExpressVo) redisUtil.get(redisKey);
KylinOrderExpressVo expressInfo = (KylinOrderExpressVo) obj;
return expressInfo.getExpressStatus();
}
}
......@@ -441,14 +470,16 @@ public class DataUtils {
*/
public List<KylinOrderExpressRouteVo> getOrderExpressRoute(String orderTicketsId) { // 获取
String redisKey = KylinRedisConst.ORDER_ROUTE_INFO.concat(orderTicketsId);
if (!redisUtil.hasKey(redisKey)) {
Object obj = redisUtil.get(redisKey);
if (obj==null) {
List<KylinOrderExpressRouteVo> routeVoList = mongoTemplate.find(
Query.query(Criteria.where("orderTicketsId").is(orderTicketsId)),
KylinOrderExpressRouteVo.class, KylinOrderExpressRouteVo.class.getSimpleName()
);
redisUtil.set(redisKey, routeVoList);
return routeVoList;
}
return (List<KylinOrderExpressRouteVo>) redisUtil.get(redisKey);
return (List<KylinOrderExpressRouteVo>)obj;
}
public KylinOrderExpressVo getOrderExpressInfos(String orderId) {
......
......@@ -35,28 +35,6 @@
20029=未选择支付方式
20030=查看失败
#APP PARTNER
20101=添加失败
20102=删除失败
20103=修改失败
20104=查询失败
20105=创建失败
20106=不可删除
20107=复制失败
20108=上线失败
20109=下线失败
20110=不可上线
20111=不可下线
20112=不可修改
20113=未创建场次
20114=有场次未创建票种
20115=提交失败
20116=不可撤回
20117=撤回失败
20118=日期有误
#APP JDM
20201=
......
package com.liquidnet.service.order.controller;
import com.liquidnet.commons.lang.util.HttpOrderUtil;
import com.liquidnet.commons.lang.util.HttpUtil;
import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.base.codec.annotation.DecryptAndVerify;
import com.liquidnet.service.base.codec.vo.EncryptedReq;
import com.liquidnet.service.kylin.dto.param.PayAgainParam;
import com.liquidnet.service.kylin.dto.param.PayOrderParam;
import com.liquidnet.service.kylin.dto.param.SyncOrderDtoParam;
import com.liquidnet.service.kylin.dto.param.SyncOrderParam;
import com.liquidnet.service.kylin.dto.vo.returns.*;
import com.liquidnet.service.kylin.service.IKylinOrderTicketsOrderService;
......@@ -19,7 +16,6 @@ import io.swagger.annotations.ApiResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import sun.net.www.http.HttpClient;
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
......
......@@ -28,6 +28,7 @@ import com.liquidnet.service.kylin.entity.KylinOrderTicketStatus;
import com.liquidnet.service.kylin.entity.KylinOrderTickets;
import com.liquidnet.service.kylin.service.IKylinOrderTicketsOrderService;
import com.liquidnet.service.order.utils.DataUtils;
import com.liquidnet.service.order.utils.ObjectUtil;
import com.liquidnet.service.order.utils.OrderUtils;
import com.liquidnet.service.order.utils.TaobaoTicketUtils;
import com.mongodb.BasicDBObject;
......@@ -78,8 +79,6 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
@Autowired
private RedisUtil redisUtil;
@Autowired
private HttpOrderUtil httpOrderUtil;
@Autowired
private OrderUtils orderUtils;
@Autowired
private RedisLockUtil redisLockUtil;
......@@ -105,7 +104,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
public ResponseDto<PayInnerResultVo> checkCanOrder(PayOrderParam payOrderParam) {
Long currentTime;
boolean isDownGeneral = false;
List<AdamEntersVo> entersVoList = new ArrayList<>();
List<AdamEntersVo> entersVoList = ObjectUtil.cloneArrayListObject();
String uid = CurrentUtil.getCurrentUid();
String lock = "userId:" + uid;
// if (!redisLockUtil.tryLock(lock, 1, 5)) {
......@@ -257,7 +256,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
isDownGeneral = true;
//学生票 判断
entersVoList = new ArrayList<>();
entersVoList = ObjectUtil.cloneArrayListObject();
if (isTrueName == 1) {
currentTime = System.currentTimeMillis();
for (String enterId : payOrderParam.getEnterIdList()) {
......@@ -313,8 +312,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
return resultData;
}
} catch (Exception e) {
e.printStackTrace();
log.error("Kylin Order Pay Error = " + e);
log.error("Kylin Order Pay Error = ", e);
if (isDownGeneral) {
currentTime = System.currentTimeMillis();
dataUtils.changeSurplusGeneral(payOrderParam.getTicketId(), payOrderParam.getNumber());
......@@ -336,12 +334,12 @@ 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) {
LinkedList<String> sqls = new LinkedList<>();
LinkedList<String> sqls = ObjectUtil.cloneLinkedListStr();
String source = CurrentUtil.getCliSource() == null ? "" : CurrentUtil.getCliSource();
String version = CurrentUtil.getCliVersion() == null ? "" : CurrentUtil.getCliVersion();
LocalDateTime now = LocalDateTime.now();
//生成订单 order_ticket
KylinOrderTickets orderTickets = new KylinOrderTickets();
KylinOrderTickets orderTickets = KylinOrderTickets.getNew();
String orderTicketId = IDGenerator.nextSnowId();
orderTickets.setOrderTicketsId(orderTicketId);
orderTickets.setUserId(uid);
......@@ -358,15 +356,14 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
orderTickets.setPrice(ticketData.getPrice());
orderTickets.setPriceMember(ticketData.getMemberPrice());
if (isMember) {
orderTickets.setPriceTotal(ticketData.getMemberPrice().multiply(new BigDecimal(payOrderParam.getNumber())).add(payOrderParam.getIsExpress() == 1 ? ticketData.getPriceExpress() : new BigDecimal("0")));
orderTickets.setPriceTotal(ticketData.getMemberPrice().multiply(BigDecimal.valueOf(payOrderParam.getNumber())).add(payOrderParam.getIsExpress() == 1 ? ticketData.getPriceExpress() : BigDecimal.valueOf(0)));
} else {
orderTickets.setPriceTotal(ticketData.getPrice().multiply(new BigDecimal(payOrderParam.getNumber())).add(payOrderParam.getIsExpress() == 1 ? ticketData.getPriceExpress() : new BigDecimal("0")));
orderTickets.setPriceTotal(ticketData.getPrice().multiply(BigDecimal.valueOf(payOrderParam.getNumber())).add(payOrderParam.getIsExpress() == 1 ? ticketData.getPriceExpress() : BigDecimal.valueOf(0)));
}
orderTickets.setPriceActual(orderTickets.getPriceTotal());
orderTickets.setPriceVoucher(new BigDecimal("0.0"));
orderTickets.setPriceVoucher(BigDecimal.valueOf(0.0));
orderTickets.setPriceExpress(ticketData.getPriceExpress());
orderTickets.setPriceRefund(new BigDecimal(0.0));
orderTickets.setPriceRefund(BigDecimal.valueOf(0.0));
orderTickets.setRefundNumber(0);
orderTickets.setPayType(payOrderParam.getPayType());
orderTickets.setPaymentType(null);
......@@ -400,8 +397,8 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
//生成订单 order_ticket_status
KylinOrderTicketStatus orderTicketStatus = new KylinOrderTicketStatus();
String orderTicketStatusId = IDGenerator.nextSnowId().toString();
KylinOrderTicketStatus orderTicketStatus = KylinOrderTicketStatus.getNew();
String orderTicketStatusId = IDGenerator.nextSnowId();
orderTicketStatus.setOrderTicketStatusId(orderTicketStatusId);
orderTicketStatus.setOrderId(orderTicketId);
orderTicketStatus.setExpressType(payOrderParam.getExpressType());
......@@ -412,11 +409,11 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
orderTicketStatus.setCreatedAt(now);
orderTicketStatus.setUpdatedAt(null);
sqls.add(SqlMapping.get("kylin_order_ticket_status.add"));
LinkedList<Object[]> sqlsDataB = new LinkedList<Object[]>();
LinkedList<Object[]> sqlsDataB = ObjectUtil.cloneLinkedListObj();
sqlsDataB.add(orderTicketStatus.getAddObject());
//生成订单 order_ticket_relation
KylinOrderTicketRelations orderTicketRelations = new KylinOrderTicketRelations();
KylinOrderTicketRelations orderTicketRelations = KylinOrderTicketRelations.getNew();
String orderTicketRelationId = IDGenerator.nextSnowId();
orderTicketRelations.setOrderTicketRelationsId(orderTicketRelationId);
orderTicketRelations.setOrderId(orderTicketId);
......@@ -430,18 +427,17 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
orderTicketRelations.setCreatedAt(now);
orderTicketRelations.setUpdatedAt(null);
sqls.add(SqlMapping.get("kylin_order_ticket_relation.add"));
LinkedList<Object[]> sqlsDataC = new LinkedList<Object[]>();
LinkedList<Object[]> sqlsDataC = ObjectUtil.cloneLinkedListObj();
sqlsDataC.add(orderTicketRelations.getAddObject());
//生成票
KylinOrderTicketEntities orderTicketEntities = new KylinOrderTicketEntities();
LinkedList<Object[]> sqlsDataD = null;
sqlsDataD = new LinkedList<Object[]>();
KylinOrderTicketEntities orderTicketEntities = KylinOrderTicketEntities.getNew();
LinkedList<Object[]> sqlsDataD = ObjectUtil.cloneLinkedListObj();
sqls.add(SqlMapping.get("kylin_order_ticket_entities.add"));
if (isTrueName == 1) {
for (AdamEntersVo enters : entersVoList) {
String orderTicketEntitiesId = IDGenerator.nextSnowId().toString();
String orderTicketEntitiesId = IDGenerator.nextSnowId();
orderTicketEntities.setOrderTicketEntitiesId(orderTicketEntitiesId);
orderTicketEntities.setOrderId(orderTicketId);
orderTicketEntities.setTicketId(payOrderParam.getTicketId());
......@@ -462,7 +458,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
orderTicketEntities.setUpdatedAt(null);
sqlsDataD.add(orderTicketEntities.getAddObject());
// 生成vo
KylinOrderTicketEntitiesVo orderTicketEntitiesVo = new KylinOrderTicketEntitiesVo();
KylinOrderTicketEntitiesVo orderTicketEntitiesVo = KylinOrderTicketEntitiesVo.getNew();
BeanUtils.copyProperties(orderTicketEntities, orderTicketEntitiesVo);
orderTicketEntitiesVo.setPerformanceTitle(performanceData.getTitle());
orderTicketEntitiesVo.setTicketTitle(ticketData.getTitle());
......@@ -504,7 +500,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
orderTicketEntities.setUpdatedAt(null);
sqlsDataD.add(orderTicketEntities.getAddObject());
// 生成vo
KylinOrderTicketEntitiesVo orderTicketEntitiesVo = new KylinOrderTicketEntitiesVo();
KylinOrderTicketEntitiesVo orderTicketEntitiesVo = KylinOrderTicketEntitiesVo.getNew();
BeanUtils.copyProperties(orderTicketEntities, orderTicketEntitiesVo);
orderTicketEntitiesVo.setPerformanceTitle(performanceData.getTitle());
orderTicketEntitiesVo.setTicketTitle(ticketData.getTitle());
......@@ -531,7 +527,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
String useTime = ticketData.getType() == 2 ? time1 + "~" + time2 : time2;
LinkedMultiValueMap<String, String> httpData = new LinkedMultiValueMap<String, String>();
LinkedMultiValueMap<String, String> httpData = ObjectUtil.cloneLinkedMultiValueMapStringAndString();
httpData.add("type", "TICKET");
httpData.add("price", orderTickets.getPriceActual().toString());
httpData.add("name", useTime + ticketData.getTitle() + "-" + performanceData.getTitle());
......@@ -554,16 +550,16 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
}
currentTime = System.currentTimeMillis();
String returnData = httpOrderUtil.post(payUrl, httpData);
// log.debug("httpData = " + JSON.toJSONString(httpData));
String returnData = HttpUtil.post(payUrl, httpData);
currentTime = System.currentTimeMillis() - currentTime;
log.debug("调用 PHP 支付 -> time:" + (currentTime) + "毫秒");
log.debug("调用 DRAGON 支付 -> time:" + (currentTime) + "毫秒");
log.debug("调用 DRAGON 结果 = " + returnData);
PayResultVo payResultVo = JsonUtils.fromJson(returnData, PayResultVo.class);
payResultVo.getData().setOrderId(orderTicketId);
payResultVo.getData().setPrice(orderTickets.getPriceActual());
orderTickets.setPayCode(payResultVo.getData().getCode());
sqls.add(SqlMapping.get("kylin_order_ticket.add"));
LinkedList<Object[]> sqlsDataA = new LinkedList<>();
LinkedList<Object[]> sqlsDataA = ObjectUtil.cloneLinkedListObj();
sqlsDataA.add(orderTickets.getAddObject());
if (payOrderParam.getPayType().equals("alipay") && payOrderParam.getDeviceFrom().equals("wap")) {
......@@ -571,7 +567,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
payResultVo.getData().setReturnUrl(payOrderParam.getReturnUrl() + orderTicketId);
}
// 生成vo
KylinOrderTicketVo orderTicketVo = new KylinOrderTicketVo();
KylinOrderTicketVo orderTicketVo = KylinOrderTicketVo.getNew();
orderTicketVo.setOrderTicket(orderTickets);
orderTicketVo.setOrderTicketStatus(orderTicketStatus);
orderTicketVo.setOrderTicketRelation(orderTicketRelations);
......@@ -636,7 +632,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
}
KylinOrderTicketEntitiesVo entitiesData = orderTicketData.getEntitiesVoList().get(0);
LinkedMultiValueMap<String, String> httpData = new LinkedMultiValueMap<String, String>();
LinkedMultiValueMap<String, String> httpData = ObjectUtil.cloneLinkedMultiValueMapStringAndString();
httpData.add("type", "TICKET");
httpData.add("price", orderTicketData.getPriceActual().toString());
httpData.add("name", entitiesData.getUseStart() + "" + entitiesData.getPerformanceTitle());
......@@ -668,39 +664,54 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
payResultVo.getData().setReturnUrl(payAgainParam.getReturnUrl());
}
KylinOrderTickets orderTickets = new KylinOrderTickets();
KylinOrderTickets orderTickets = KylinOrderTickets.getNew();
orderTickets.setOrderTicketsId(payAgainParam.getOrderId());
orderTickets.setUpdatedAt(LocalDateTime.now());
orderTickets.setPayCode(payResultVo.getCode());
orderTickets.setPayType(payAgainParam.getPayType());
//改vo
HashMap<String, Object> map = new HashMap<>();
HashMap<String, Object> map = ObjectUtil.cloneHashMapStringAndObject();
map.put("payType", payAgainParam.getPayType());
map.put("payCode", payResultVo.getCode());
map.put("updatedAt", DateUtil.Formatter.yyyyMMddHHmmss.format(orderTickets.getUpdatedAt()));
map.put("changeDate", orderTickets.getUpdatedAt());
mongoTemplate.getCollection(KylinOrderTicketVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("orderTicketsId").is(payAgainParam.getOrderId())).getQueryObject(),
new BasicDBObject("$set", mongoConverter.convertToMongoType(map))
ObjectUtil.cloneBasicDBObject().append("$set", mongoConverter.convertToMongoType(map))
);
LocalDateTime strTime = orderTicketData.getChangeDate();
dataUtils.delOrderTicketRedis(orderTickets.getOrderTicketsId());
LinkedList<String> sqls = new LinkedList<>();
LinkedList<String> sqls = ObjectUtil.cloneLinkedListStr();
sqls.add(SqlMapping.get("kylin_order_ticket.payAgain"));
LinkedList<Object[]> sqlsDataA = new LinkedList<>();
LinkedList<Object[]> sqlsDataA = ObjectUtil.cloneLinkedListObj();
sqlsDataA.add(orderTickets.getPayAgainObject(strTime, strTime));
sqls.add(SqlMapping.get("kylin_order_ticket_status.payAgain"));
LinkedList<Object[]> sqlsDataB = new LinkedList<>();
sqlsDataB.add(new Object[]{orderTickets.getUpdatedAt(), orderTickets.getOrderTicketsId(), strTime, strTime});
LinkedList<Object[]> sqlsDataB = ObjectUtil.cloneLinkedListObj();
Object[] objectB= ObjectUtil.cloneObjectsArray();
objectB[0]= orderTickets.getUpdatedAt();
objectB[1]= orderTickets.getOrderTicketsId();
objectB[2]= strTime;
objectB[3]= strTime;
sqlsDataB.add(objectB);
sqls.add(SqlMapping.get("kylin_order_ticket_relation.payAgain"));
LinkedList<Object[]> sqlsDataC = new LinkedList<>();
sqlsDataC.add(new Object[]{orderTickets.getUpdatedAt(), orderTickets.getOrderTicketsId(), strTime, strTime});
LinkedList<Object[]> sqlsDataC = ObjectUtil.cloneLinkedListObj();
Object[] objectC = ObjectUtil.cloneObjectsArray();
objectC[0]= orderTickets.getUpdatedAt();
objectC[1]= orderTickets.getOrderTicketsId();
objectC[2]= strTime;
objectC[3]= strTime;
sqlsDataC.add(objectC);
sqls.add(SqlMapping.get("kylin_order_ticket_entities.payAgain"));
LinkedList<Object[]> sqlsDataD = new LinkedList<>();
sqlsDataD.add(new Object[]{orderTickets.getUpdatedAt(), orderTickets.getOrderTicketsId(), strTime, strTime});
LinkedList<Object[]> sqlsDataD = ObjectUtil.cloneLinkedListObj();
Object[] objectD = ObjectUtil.cloneObjectsArray();
objectD[0]= orderTickets.getUpdatedAt();
objectD[1]= orderTickets.getOrderTicketsId();
objectD[2]= strTime;
objectD[3]= strTime;
sqlsDataD.add(objectD);
String sqlData = SqlMapping.gets(sqls, sqlsDataA, sqlsDataB, sqlsDataC, sqlsDataD);
rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_AGAIN, MQConst.ROUTING_KEY_SQL_ORDER_AGAIN, sqlData);
......@@ -750,17 +761,17 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
return "fail";//价格不符
}
LinkedList<String> sqls = new LinkedList<>();
LinkedList<Object[]> sqlsDataA = new LinkedList<>();
LinkedList<Object[]> sqlsDataB = new LinkedList<>();
LinkedList<Object[]> sqlsDataC = new LinkedList<>();
LinkedList<Object[]> sqlsDataD = new LinkedList<>();
LinkedList<String> sqls = ObjectUtil.cloneLinkedListStr();
LinkedList<Object[]> sqlsDataA = ObjectUtil.cloneLinkedListObj();
LinkedList<Object[]> sqlsDataB = ObjectUtil.cloneLinkedListObj();
LinkedList<Object[]> sqlsDataC = ObjectUtil.cloneLinkedListObj();
LinkedList<Object[]> sqlsDataD = ObjectUtil.cloneLinkedListObj();
LocalDateTime strTime = orderTicketData.getChangeDate();
KylinOrderTickets orderTickets = new KylinOrderTickets();
KylinOrderTicketStatus orderTicketStatus = new KylinOrderTicketStatus();
KylinOrderTicketEntities orderTicketEntities = new KylinOrderTicketEntities();
KylinOrderTickets orderTickets = KylinOrderTickets.getNew();
KylinOrderTicketStatus orderTicketStatus = KylinOrderTicketStatus.getNew();
KylinOrderTicketEntities orderTicketEntities = KylinOrderTicketEntities.getNew();
if (orderTicketData.getStatus() == 2) {
orderUtils.resetOrderListVo(orderTicketData.getUserId(), 2, orderTicketData.getOrderTicketsId(), null);
......@@ -787,7 +798,12 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
sqlsDataB.add(orderTicketStatus.getSynOrderObject(strTime, strTime));
sqls.add(SqlMapping.get("kylin_order_ticket_relation.synPay"));
sqlsDataC.add(new Object[]{orderTickets.getUpdatedAt(), orderTickets.getOrderTicketsId(), strTime, strTime});
Object[] objectC = ObjectUtil.cloneObjectsArray();
objectC[0]= orderTickets.getUpdatedAt();
objectC[1]= orderTickets.getOrderTicketsId();
objectC[2]= strTime;
objectC[3]= strTime;
sqlsDataC.add(objectC);
orderTicketEntities.setOrderId(orderTicketData.getOrderTicketsId());
orderTicketEntities.setIsPayment(KylinTableStatusConst.ENTITIES_IS_PAYMENT1);
......@@ -796,7 +812,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
sqlsDataD.add(orderTicketEntities.getSynOrderObject(strTime, strTime));
//vo
HashMap<String, Object> orderTicketVo = new HashMap<>();
HashMap<String, Object> orderTicketVo = ObjectUtil.cloneHashMapStringAndObject();
orderTicketVo.put("paymentType", orderTickets.getPaymentType());
orderTicketVo.put("payCode", orderTickets.getPayCode());
orderTicketVo.put("timePay", orderTickets.getTimePay());
......@@ -807,17 +823,17 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
orderTicketVo.put("changeDate", now);
mongoTemplate.getCollection(KylinOrderTicketVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("orderTicketsId").is(orderTickets.getOrderTicketsId())).getQueryObject(),
new BasicDBObject("$set", mongoConverter.convertToMongoType(orderTicketVo))
ObjectUtil.cloneBasicDBObject().append("$set", mongoConverter.convertToMongoType(orderTicketVo))
);
HashMap<String, Object> orderTicketEntitiesVo = new HashMap<>();
HashMap<String, Object> orderTicketEntitiesVo = ObjectUtil.cloneHashMapStringAndObject();
orderTicketEntitiesVo.put("isPayment", KylinTableStatusConst.ENTITIES_IS_PAYMENT1);
orderTicketEntitiesVo.put("updatedAt", timePay);
orderTicketEntitiesVo.put("changeDate", now);
mongoTemplate.getCollection(KylinOrderTicketEntitiesVo.class.getSimpleName()).updateMany(
Query.query(Criteria.where("orderId").is(orderTicketData.getOrderTicketsId())).getQueryObject(),
new BasicDBObject("$set", mongoConverter.convertToMongoType(orderTicketEntitiesVo))
ObjectUtil.cloneBasicDBObject().append("$set", mongoConverter.convertToMongoType(orderTicketEntitiesVo))
);
rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_PAY, MQConst.ROUTING_KEY_SQL_ORDER_PAY,
......@@ -846,25 +862,17 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
}
}
// MessageDataVo dataVo = new MessageDataVo();
// dataVo.setName(orderTicketData.getPerformanceTitle());
String time1 = DateUtil.format(DateUtil.Formatter.yyyyMMddHHmmss.parse(ticketData.getUseStart()), DateUtil.Formatter.yyyy_MM_dd);
String time2 = DateUtil.format(DateUtil.Formatter.yyyyMMddHHmmss.parse(performanceData.getTimeStart()), DateUtil.Formatter.HHmm);
// dataVo.setTime(time1 + " " + time2);
// MessageConfigVo configVo = new MessageConfigVo();
// configVo.setStatus(true);
SmsEnum.ADTemplate adTemplate = null;
if (orderTicketData.getGetTicketType().equals("express")) {
// configVo.setId("SMS_181490473");
adTemplate = SmsEnum.ADTemplate.SMS_181490473;
} else if (orderTicketData.getGetTicketType().equals("electronic")) {
// configVo.setId(ticketData.getIsShowCode() == 1 ? "SMS_171358560" : "SMS_181500419");
adTemplate = ticketData.getIsShowCode() == 1 ? SmsEnum.ADTemplate.SMS_171358560 : SmsEnum.ADTemplate.SMS_181500419;
}
// otherUtils.sendMessage(orderTicketData.getUserMobile(), dataVo, configVo, 1);
if (null != adTemplate) {
rabbitTemplate.convertAndSend(MQConst.EX_LNS_SMS_SENDER, MQConst.RK_SMS_NOTICE,
......@@ -940,7 +948,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
KylinOrderTicketVo orderVo = dataUtils.getOrderTicketVo(orderId);
List<KylinOrderTicketEntitiesVo> listData = orderVo.getEntitiesVoList();
AlibabaDamaiMevOpenBatchpushticketRequest req = new AlibabaDamaiMevOpenBatchpushticketRequest();
List<AlibabaDamaiMevOpenBatchpushticketRequest.ThirdTicketPushOpenParam> list2 = new ArrayList<AlibabaDamaiMevOpenBatchpushticketRequest.ThirdTicketPushOpenParam>();
List<AlibabaDamaiMevOpenBatchpushticketRequest.ThirdTicketPushOpenParam> list2 = new ArrayList<>();
for (int i = 0; i < listData.size(); i++) {
KylinOrderTicketEntitiesVo item = listData.get(i);
AlibabaDamaiMevOpenBatchpushticketRequest.ThirdTicketPushOpenParam obj3 = new AlibabaDamaiMevOpenBatchpushticketRequest.ThirdTicketPushOpenParam();
......@@ -949,7 +957,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
obj3.setCertificateNo(item.getEnterIdCode());//证件号 入场人身份证
obj3.setOrderUserMobile(item.getEnterMobile());//用户手机号 入场人手机号
obj3.setCertificateType(item.getEnterType().longValue());//证件内容 入场人证件type
obj3.setPayTime(DateUtils.parseDate(orderData.getTimePay(), new String[]{"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.setTicketItemId(item.getTicketsmId().longValue());
obj3.setVoucherId(item.getMid().longValue());//票单号 入场人id
......
......@@ -53,14 +53,16 @@ public class DataUtils {
}
public List<KylinOrderListVo> getOrderList(String userId) {
if (redisUtil.hasKey(KylinRedisConst.ORDER_LIST + userId)) {
Object obj = redisUtil.get(KylinRedisConst.ORDER_LIST + userId);
if (obj!=null) {
return (List<KylinOrderListVo>)obj;
} else {
List<KylinOrderListVo> voList = mongoTemplate.find(Query.query(Criteria.where("userId").is(userId))
.with(Sort.by(Sort.Direction.DESC, "createdAt")).limit(40),
KylinOrderListVo.class, KylinOrderTicketVo.class.getSimpleName());
redisUtil.set(KylinRedisConst.ORDER_LIST + userId, voList);
return voList;
}
return (List<KylinOrderListVo>) redisUtil.get(KylinRedisConst.ORDER_LIST + userId);
}
/**
......@@ -70,14 +72,16 @@ public class DataUtils {
* @return
*/
public KylinOrderTicketVo getOrderTicketVo(String orderId) {
if (redisUtil.hasKey(KylinRedisConst.ORDER + orderId)) {
Object obj = redisUtil.get(KylinRedisConst.ORDER + orderId);
if (obj!=null) {
return (KylinOrderTicketVo) obj;
} else {
KylinOrderTicketVo ticketData = mongoTemplate.findOne(Query.query(Criteria.where("orderTicketsId").is(orderId)), KylinOrderTicketVo.class, KylinOrderTicketVo.class.getSimpleName());
List<KylinOrderTicketEntitiesVo> kylinOrderTicketEntitiesVoList = mongoTemplate.find(Query.query(Criteria.where("orderId").is(orderId)), KylinOrderTicketEntitiesVo.class, KylinOrderTicketEntitiesVo.class.getSimpleName());
ticketData.setEntitiesVoList(kylinOrderTicketEntitiesVoList);
redisUtil.set(KylinRedisConst.ORDER + orderId, ticketData);
return ticketData;
}
return (KylinOrderTicketVo) redisUtil.get(KylinRedisConst.ORDER + orderId);
}
/**
......@@ -190,12 +194,14 @@ public class DataUtils {
* @return
*/
public KylinPerformanceVo getPerformanceVo(String performanceId) {
if (redisUtil.hasKey(KylinRedisConst.PERFORMANCES + performanceId)) {
Object obj = redisUtil.get(KylinRedisConst.PERFORMANCES + performanceId);
if (obj!=null) {
return (KylinPerformanceVo)obj;
} else {
KylinPerformanceVo performanceData = mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performanceId)), KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName());
redisUtil.set(KylinRedisConst.PERFORMANCES + performanceId, performanceData);
return performanceData;
}
return (KylinPerformanceVo) redisUtil.get(KylinRedisConst.PERFORMANCES + performanceId);
}
public void delOrderRefundVoByOrderId(String orderId) {
......
package com.liquidnet.service.order.utils;
import com.liquidnet.service.adam.dto.vo.AdamEntersVo;
import com.mongodb.BasicDBObject;
import org.springframework.stereotype.Component;
import org.springframework.util.LinkedMultiValueMap;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
* @version V1.0
* @Description: TODO
* @class: ObjectUtil
* @Package com.liquidnet.service.dragon.utils
* @Copyright: LightNet @ Copyright (c) 2021
* @date 2021/7/21 16:00
*/
@Component
public class ObjectUtil {
public static final LinkedList<Object[]> linkedListObj = new LinkedList<Object[]>();
public static final LinkedList<String> linkedListStr = new LinkedList<String>();
public static final HashMap<String, String> hashMapStringAndString = new HashMap<String, String>();
public static final HashMap<String, Object> hashMapStringAndObject = new HashMap<String, Object>();
public static final List<AdamEntersVo> arrayListObject = new ArrayList<>();
public static final LinkedMultiValueMap<String, String> linkedMultiValueMapStringAndString = new LinkedMultiValueMap<String, String>();
public static final BasicDBObject basicDBObject = new BasicDBObject();
public static final Object[] objectsArray = new Object[100];
public static LinkedList<Object[]> cloneLinkedListObj() {
linkedListObj.clear();
return linkedListObj;
}
public static LinkedList<String> cloneLinkedListStr() {
linkedListStr.clear();
return linkedListStr;
}
public static HashMap<String, String> cloneHashMapStringAndString() {
hashMapStringAndString.clear();
return hashMapStringAndString;
}
public static HashMap<String, Object> cloneHashMapStringAndObject() {
hashMapStringAndObject.clear();
return hashMapStringAndObject;
}
public static List<AdamEntersVo> cloneArrayListObject() {
arrayListObject.clear();
return arrayListObject;
}
public static LinkedMultiValueMap<String, String> cloneLinkedMultiValueMapStringAndString() {
linkedMultiValueMapStringAndString.clear();
return linkedMultiValueMapStringAndString;
}
public static Object[] cloneObjectsArray() {
return objectsArray.clone();
}
public static BasicDBObject cloneBasicDBObject() {
basicDBObject.clear();
return basicDBObject;
}
}
......@@ -142,14 +142,16 @@ public class DataUtils {
}
public List<KylinOrderListVo> getOrderList(String userId) {
if (redisUtil.hasKey(KylinRedisConst.ORDER_LIST + userId)) {
Object obj = redisUtil.get(KylinRedisConst.ORDER_LIST + userId);
if (obj!=null) {
return (List<KylinOrderListVo>)obj;
} else {
List<KylinOrderListVo> voList = mongoTemplate.find(Query.query(Criteria.where("userId").is(userId))
.with(Sort.by(Sort.Direction.DESC, "createdAt")).limit(40),
KylinOrderListVo.class, KylinOrderTicketVo.class.getSimpleName());
redisUtil.set(KylinRedisConst.ORDER_LIST + userId, voList);
return voList;
}
return (List<KylinOrderListVo>) redisUtil.get(KylinRedisConst.ORDER_LIST + userId);
}
/**
......@@ -159,14 +161,16 @@ public class DataUtils {
* @return
*/
public KylinOrderTicketVo getOrderTicketVo(String orderId) {
if (redisUtil.hasKey(KylinRedisConst.ORDER + orderId)) {
Object obj = redisUtil.get(KylinRedisConst.ORDER + orderId);
if (obj!=null) {
return (KylinOrderTicketVo)obj;
} else {
KylinOrderTicketVo ticketData = mongoTemplate.findOne(Query.query(Criteria.where("orderTicketsId").is(orderId)), KylinOrderTicketVo.class, KylinOrderTicketVo.class.getSimpleName());
List<KylinOrderTicketEntitiesVo> kylinOrderTicketEntitiesVoList = mongoTemplate.find(Query.query(Criteria.where("orderId").is(orderId)), KylinOrderTicketEntitiesVo.class, KylinOrderTicketEntitiesVo.class.getSimpleName());
ticketData.setEntitiesVoList(kylinOrderTicketEntitiesVoList);
redisUtil.set(KylinRedisConst.ORDER + orderId, ticketData);
return ticketData;
}
return (KylinOrderTicketVo) redisUtil.get(KylinRedisConst.ORDER + orderId);
}
/**
......@@ -178,20 +182,6 @@ public class DataUtils {
redisUtil.del(KylinRedisConst.ORDER + orderId);
}
/**
* 获取 验票账号 vo
*
* @param checkUserId
* @return
*/
public KylinCheckUserVo getCheckUserVo(String checkUserId) {
if (redisUtil.hasKey(KylinRedisConst.CHECK_USER + checkUserId)) {
} else {
KylinCheckUserVo ticketData = mongoTemplate.findOne(Query.query(Criteria.where("checkUserId").is(checkUserId)), KylinCheckUserVo.class, KylinCheckUserVo.class.getSimpleName());
redisUtil.set(KylinRedisConst.CHECK_USER + checkUserId, ticketData);
}
return (KylinCheckUserVo) redisUtil.get(KylinRedisConst.CHECK_USER + checkUserId);
}
/**
* 删除 验票账号 redis
......@@ -202,20 +192,6 @@ public class DataUtils {
redisUtil.del(KylinRedisConst.CHECK_USER + checkUserId);
}
/**
* 获取 验票账号关系 vo
*
* @param checkUserId
* @return
*/
public KylinCheckUserPerformanceVo getCheckUserRelationVo(String checkUserId) {
if (redisUtil.hasKey(KylinRedisConst.CHECK_USER_RELATION + checkUserId)) {
} else {
KylinCheckUserPerformanceVo ticketData = mongoTemplate.findOne(Query.query(Criteria.where("checkUserId").is(checkUserId)), KylinCheckUserPerformanceVo.class, KylinCheckUserPerformanceVo.class.getSimpleName());
redisUtil.set(KylinRedisConst.CHECK_USER_RELATION + checkUserId, ticketData);
}
return (KylinCheckUserPerformanceVo) redisUtil.get(KylinRedisConst.CHECK_USER_RELATION + checkUserId);
}
/**
* 删除 验票账号关系 vo
......@@ -226,19 +202,6 @@ public class DataUtils {
redisUtil.del(KylinRedisConst.CHECK_USER_RELATION + checkUserId);
}
/**
* 获取入场须知
*
* @param enterInfoId
* @return
*/
public String getEnterInfo(String enterInfoId) {
if (redisUtil.hasKey(KylinRedisConst.ENTER_INFO + enterInfoId)) {
} else {
return "入场须知";
}
return (String) redisUtil.get(KylinRedisConst.ENTER_INFO + enterInfoId);
}
public void updatePerformanceMongo(String performanceIds, KylinPerformanceVo paramVo) {
......@@ -382,209 +345,14 @@ public class DataUtils {
* @return
*/
public KylinPerformanceVo getPerformanceVo(String performanceId) {
if (redisUtil.hasKey(KylinRedisConst.PERFORMANCES + performanceId)) {
Object obj = redisUtil.get(KylinRedisConst.PERFORMANCES + performanceId);
if (obj!=null) {
return (KylinPerformanceVo)obj;
} else {
KylinPerformanceVo performanceData = mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performanceId)), KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName());
redisUtil.set(KylinRedisConst.PERFORMANCES + performanceId, performanceData);
return performanceData;
}
return (KylinPerformanceVo) redisUtil.get(KylinRedisConst.PERFORMANCES + performanceId);
}
/**
* 获取分销用户名字
*
* @param agentId
* @return
*/
public String getAgentInfoName(String agentId) {
String redisKey = KylinRedisConst.PERFORMANCES_AGENT_INFO.concat(agentId);
// String name = (String) redisUtil.hget(redisKey, "name");
String name = "";
return name;
}
/**
* 获取演出列表redis
*
* @param cityName
*/
public List<KylinPerformanceVo> getPerformancesListOfcityName(String cityName) {
String redisKey = KylinRedisConst.PERFORMANCES_LIST_CITYNAME.concat(cityName);
if (!redisUtil.hasKey(redisKey)) {
// 固定查询条件
Query query = getCommonWhere();
// 其他条件
Pattern cityNameCompile = Pattern.compile("^.*" + cityName + ".*$", Pattern.CASE_INSENSITIVE);
query.addCriteria(Criteria.where("cityName").regex(cityNameCompile));
// 排序
Sort sortName = Sort.by(Sort.Direction.ASC, "timeStart");
query.with(sortName);
// 不要查询的字段
query.fields().exclude("details");
query.fields().exclude("noticeImage");
query.fields().exclude("ticketTimeList");
query.fields().exclude("describeElectronic");
List<KylinPerformanceVo> performancesList = mongoTemplate.find(query, KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName());
redisUtil.set(redisKey, performancesList);
}
return (List<KylinPerformanceVo>) redisUtil.get(redisKey);
}
/**
* 获取系统推荐演出列表redis
*/
public List<KylinPerformanceVo> getPerformancesListIsSystemRecommend() {
String redisKey = KylinRedisConst.PERFORMANCES_LIST_SYSTEM_RECOMMEND;
if (!redisUtil.hasKey(redisKey)) {
// 固定条件
Query query = getCommonWhere();
// 排序
Sort sortName = Sort.by(Sort.Direction.ASC, "timeStart");
Pageable pageable = PageRequest.of(0, 8, sortName);
query.with(pageable);
// 不要查询的字段
query.fields().exclude("details");
query.fields().exclude("noticeImage");
query.fields().exclude("ticketTimeList");
query.fields().exclude("describeElectronic");
// 推荐
List<KylinPerformanceVo> systemRecommendList = mongoTemplate.find(query, KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName());
redisUtil.set(redisKey, systemRecommendList);
}
return (List<KylinPerformanceVo>) redisUtil.get(redisKey);
}
/**
* 获取演出预告列表redis
*/
public HashMap<String, Object> getPerformancesListNotice() {
String redisKey = KylinRedisConst.PERFORMANCES_LIST_NOTICE;
if (!redisUtil.hasKey(redisKey)) {
// 固定条件
Query query = getCommonWhere();
// 今天的
HashMap toDayTime = DateUtil.oneDayStartEnd();
String nowTimeTStr = (String) toDayTime.get("startStr");
String toDayEndTimeStr = (String) toDayTime.get("endStr");
query.addCriteria(Criteria.where("sellTime").gte(nowTimeTStr).lt(toDayEndTimeStr));
query.fields().exclude("details");
query.fields().exclude("noticeImage");
query.fields().exclude("ticketTimeList");
query.fields().exclude("describeElectronic");
List<KylinPerformanceVo> toDayList = mongoTemplate.find(query, KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName());
// 固定条件
Query queryT = getCommonWhere();
// 三天的
Calendar cal = Calendar.getInstance();
cal.setTime((Date) toDayTime.get("end"));
Date beforeDayEnd = DateUtil.getBeforeDayEnd(cal, 3);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String threeDaysLaterStr = sdf.format(beforeDayEnd);
queryT.addCriteria(Criteria.where("sellTime").gte(toDayEndTimeStr).lt(threeDaysLaterStr));
queryT.fields().exclude("details");
queryT.fields().exclude("noticeImage");
queryT.fields().exclude("ticketTimeList");
queryT.fields().exclude("describeElectronic");
List<KylinPerformanceVo> threeDaysList = mongoTemplate.find(queryT, KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName());
HashMap<String, Object> info = new HashMap<>();
info.put("toDayList", toDayList);
info.put("threeDaysList", threeDaysList);
redisUtil.set(redisKey, info);
}
return (HashMap<String, Object>) redisUtil.get(redisKey);
}
/**
* 获取推荐演出列表redis
*/
public List<KylinPerformanceVo> getPerformancesListIsRecommend() {
String redisKey = KylinRedisConst.PERFORMANCES_LIST_RECOMMEND;
if (!redisUtil.hasKey(redisKey)) {
// 固定条件
Query query = getCommonWhere();
// 排序
Sort sortName = Sort.by(Sort.Direction.DESC, "isRecommend");
query.with(sortName);
// 不要查询的字段
query.fields().exclude("details");
query.fields().exclude("noticeImage");
query.fields().exclude("ticketTimeList");
query.fields().exclude("describeElectronic");
// 推荐
query.addCriteria(Criteria.where("isRecommend").gte(1));
List<KylinPerformanceVo> recommendList = mongoTemplate.find(query, KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName());
redisUtil.set(redisKey, recommendList);
}
return (List<KylinPerformanceVo>) redisUtil.get(redisKey);
}
/**
* 获取会员专属演出列表redis
*/
public List<KylinPerformanceVo> getPerformancesListIsExclusive() {
String redisKey = KylinRedisConst.PERFORMANCES_LIST_EXCLUSIVE;
if (!redisUtil.hasKey(redisKey)) {
// 固定条件
Query query = getCommonWhere();
// 不要查询的字段
query.fields().exclude("details");
query.fields().exclude("noticeImage");
query.fields().exclude("ticketTimeList");
query.fields().exclude("describeElectronic");
// 推荐
query.addCriteria(Criteria.where("isExclusive").is(1));
List<KylinPerformanceVo> exclusiveList = mongoTemplate.find(query, KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName());
redisUtil.set(redisKey, exclusiveList);
}
return (List<KylinPerformanceVo>) redisUtil.get(redisKey);
}
/**
* 获取所有城市演出列表redis
*/
public List<KylinPerformanceVo> getPerformancesListAll() {
List<KylinPerformanceVo> list = new ArrayList<>();
Set<String> keys = redisTemplate.keys(KylinRedisConst.PERFORMANCES_LIST_ALL);
for (String key : keys) {
List<KylinPerformanceVo> OneCityList = (List<KylinPerformanceVo>) redisUtil.get(key);
list.addAll(OneCityList);
}
return list;
}
/**
* 获取巡演列表redis
*/
public List<KylinPerformanceVo> getRoadList(String roadShowId) {
String redisKey = KylinRedisConst.PERFORMANCES_ROADLIST.concat(roadShowId);
if (!redisUtil.hasKey(redisKey)) {
List<KylinPerformanceVo> roadList = mongoTemplate.find(
Query.query(Criteria.where("roadShowId").is(roadShowId)),
KylinPerformanceVo.class,
KylinPerformanceVo.class.getSimpleName()
);
redisUtil.set(redisKey, roadList);
}
return (List<KylinPerformanceVo>) redisUtil.get(redisKey);
}
/**
* 演出搜索固定参数
*/
public Query getCommonWhere() {
// 固定条件
Query query = new Query();
LocalDateTime nowTime = LocalDateTime.now();
String nowTimeStr = DateUtil.Formatter.yyyyMMddHHmmss.format(nowTime);
query.addCriteria(Criteria.where("timeEnd").gte(nowTimeStr));
query.addCriteria(Criteria.where("appStatus").in(3, 6, 8, 9, 10));
query.addCriteria(Criteria.where("isShow").is(1));
return query;
}
......
......@@ -9,4 +9,24 @@
#APP PARTNER
20101=添加失败
20102=删除失败
20103=修改失败
20104=查询失败
20105=创建失败
20106=不可删除
20107=复制失败
20108=上线失败
20109=下线失败
20110=不可上线
20111=不可下线
20112=不可修改
20113=未创建场次
20114=有场次未创建票种
20115=提交失败
20116=不可撤回
20117=撤回失败
20118=日期有误
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