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

Commit 0106091f authored by anjiabin's avatar anjiabin

修改dragon消费相关日志输出

parent 92af0477
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>liquidnet-bus-api</artifactId>
<groupId>com.liquidnet</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>liquidnet-service-chime-api</artifactId>
<dependencies>
<!-- <dependency>-->
<!-- <groupId>com.liquidnet</groupId>-->
<!-- <artifactId>liquidnet-service-chime-do</artifactId>-->
<!-- <version>1.0-SNAPSHOT</version>-->
<!-- <scope>compile</scope>-->
<!-- </dependency>-->
</dependencies>
</project>
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>liquidnet-service-chime</artifactId>
<groupId>com.liquidnet</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>liquidnet-service-chime-impl</artifactId>
<dependencies>
<dependency>
<groupId>com.liquidnet</groupId>
<artifactId>liquidnet-common-cache-redis</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.liquidnet</groupId>
<artifactId>liquidnet-common-cache-redisson</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
<groupId>com.liquidnet</groupId>
<artifactId>liquidnet-service-kylin-api</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.liquidnet</groupId>
<artifactId>liquidnet-service-adam-api</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.liquidnet</groupId>
<artifactId>liquidnet-service-chime-api</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.liquidnet</groupId>
<artifactId>liquidnet-common-third-easemob</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
package com.liquidnet.service;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.core.env.Environment;
import java.net.InetAddress;
import java.util.Arrays;
@Slf4j
@SpringBootApplication(scanBasePackages = {"com.liquidnet"})
public class ServiceChimeApplication implements CommandLineRunner {
@Autowired
private Environment environment;
public static void main(String[] args) {
SpringApplication.run(ServiceChimeApplication.class, args);
}
@Override
public void run(String... strings) {
try {
log.info("\n----------------------------------------------------------\n\t" +
"Application '{}' is running! Access URLs:\n\t" +
"Local: \t\thttp://127.0.0.1:{}\n\t" +
"External: \thttp://{}:{}{}/doc.html\n\t" +
"Profile(s): \t{}\n----------------------------------------------------------",
environment.getProperty("spring.application.name"),
environment.getProperty("server.port"),
InetAddress.getLocalHost().getHostAddress(),
environment.getProperty("server.port"),
environment.getProperty("server.servlet.context-path"),
Arrays.toString(environment.getActiveProfiles()));
} catch (Exception e) {
e.printStackTrace();
}
}
}
package com.liquidnet.service.chime.config;
import com.liquidnet.common.web.config.WebMvcConfig;
import com.liquidnet.common.web.filter.GlobalAuthorityInterceptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
@Configuration
public class OrderWebMvcConfig extends WebMvcConfig {
@Autowired
GlobalAuthorityInterceptor globalAuthorityInterceptor;
@Override
protected void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(globalAuthorityInterceptor).addPathPatterns("/**");
super.addInterceptors(registry);
}
}
package com.liquidnet.service.order.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 订单详情 前端控制器
* </p>
*
* @author liquidnet
* @since 2021-05-20
*/
@RestController
@RequestMapping("orderEnter")
public class KylinOrderTicketEntitiesController {
}
//package com.liquidnet.service.order.controller;
//
//
//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.SyncOrderParam;
//import com.liquidnet.service.kylin.dto.vo.returns.*;
//import com.liquidnet.service.kylin.service.IKylinOrderTicketsOrderService;
//import com.liquidnet.service.order.utils.ObjectUtil;
//import io.swagger.annotations.Api;
//import io.swagger.annotations.ApiOperation;
//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 javax.validation.Valid;
//import javax.validation.constraints.NotNull;
//import java.util.HashMap;
//
///**
// * <p>
// * 订单 前端控制器
// * </p>
// *
// * @author liquidnet
// * @since 2021-05-20
// */
//@Api(tags = "前端-订单相关")
//@RestController
//@RequestMapping("order")
//@Validated
//public class KylinOrderTicketsController {
//
// @Autowired
// IKylinOrderTicketsOrderService orderTicketsOrderService;
//
// @PostMapping("fc7bce6d6c2213b866f76493f92224b7")
// @ApiOperation("fc7bce6d6c2213b866f76493f92224b7")
// @ApiResponse(code = 200, message = "接口返回对象参数")
// public ResponseDto<PayInnerResultVo> checkCanOrder(@RequestBody @Valid PayOrderParam payOrderParam) {
// return orderTicketsOrderService.checkCanOrder(payOrderParam);
// }
//
// @DecryptAndVerify(decryptedClass = PayOrderParam.class)
// @PostMapping("pre")
// @ApiOperation("下单")
// @ApiResponse(code = 200, message = "接口返回对象参数")
// public ResponseDto<PayInnerResultVo> checkCanOrder(@RequestBody @Valid EncryptedReq<PayOrderParam> encryptedReq) {
// PayOrderParam payOrderParam = encryptedReq.getData();
// return orderTicketsOrderService.checkCanOrder(payOrderParam);
// }
//
// @PostMapping("payAgain")
// @ApiOperation("再次支付")
// @ApiResponse(code = 200, message = "接口返回对象参数")
// public ResponseDto<PayInnerResultVo> payAgain(@RequestBody @Valid PayAgainParam payAgainParam) {
// PayInnerResultVo vo = orderTicketsOrderService.payAgain(payAgainParam).getData();
// if (null == vo) {
// return ResponseDto.failure(ErrorMapping.get("20024"));
// } else {
// return ResponseDto.success(vo);
// }
// }
//
// @PostMapping("syncOrder")
// @ApiOperation("支付回调")
// @ApiResponse(code = 200, message = "接口返回对象参数")
// public String syncOrder(@ModelAttribute @Valid SyncOrderParam syncOrderParam) {
// return orderTicketsOrderService.syncOrder(syncOrderParam);
// }
//
// @GetMapping("checkPayment")
// @ApiOperation("订单状态")
// @ApiResponse(code = 200, message = "接口返回对象参数")
// public ResponseDto<HashMap> checkOrderResult(@RequestParam("orderId") @NotNull(message = "订单ID不能为空") String orderId) {
// Integer status = orderTicketsOrderService.checkOrderResult(orderId).getData();
// if (null == status) {
// return ResponseDto.failure(ErrorMapping.get("20003"));
// } else {
// HashMap<String, Integer> map = ObjectUtil.cloneHashMapStringAndInteger();
// map.put("status", status);
// return ResponseDto.success(map);
// }
// }
//}
package com.liquidnet.service.chime.utils;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.kylin.constant.KylinRedisConst;
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.*;
import com.liquidnet.service.kylin.dto.vo.returns.KylinOrderListVo;
import com.liquidnet.service.kylin.dto.vo.returns.KylinOrderRefundsVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.*;
import java.util.regex.Pattern;
@Component
public class DataUtils {
@Autowired
private MongoTemplate mongoTemplate;
@Autowired
private RedisUtil redisUtil;
/**
* 修改普通库存 并 返回修改后的数量
*
* @param ticketId 票id
* @param surplusGeneral 普通库存
* @return 普通剩余库存
*/
public int changeSurplusGeneral(String ticketId, int surplusGeneral) {
if (surplusGeneral > 0) {
return (int) redisUtil.incr(KylinRedisConst.PERFORMANCES_INVENTORY + ticketId + ":" + KylinRedisConst.SURPLUS_GENERAL, surplusGeneral);
} else {
return (int) redisUtil.decr(KylinRedisConst.PERFORMANCES_INVENTORY + ticketId + ":" + KylinRedisConst.SURPLUS_GENERAL, Math.abs(surplusGeneral));
}
}
public void setOrderList(String userId, List<KylinOrderListVo> vo) {
redisUtil.set(KylinRedisConst.ORDER_LIST + userId, vo);
}
public List<KylinOrderListVo> getOrderList(String 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;
}
}
/**
* 根据订单id 获取 订单vo 详情
*
* @param orderId
* @return
*/
public KylinOrderTicketVo getOrderTicketVo(String 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;
}
}
/**
* 删除订单redis
*
* @param orderId
*/
public void delOrderTicketRedis(String orderId) {
redisUtil.del(KylinRedisConst.ORDER + orderId);
}
/**
* @param performanceId 演出id
* @param ticketId 票种id
* @param buyCount 购买数量 大于 0 增加 小于 0 减少 对应 支付 退款表
*/
public void changeBuyInfo(String userId, String idCard, String performanceId, String ticketId, int buyCount) {
String redisKey;
int isTrueName = getPerformanceIsTrueName(performanceId);
// String useTime = "";
// HashMap<String, ArrayList<String>> allTicketId = new HashMap<>();
// for (int x = 0; x < vo.getTicketTimeList().size(); x++) {
// KylinTicketTimesVo timeItem = vo.getTicketTimeList().get(x);
// ArrayList<String> ticketList = ObjectUtil.cloneArrayListString();
// for (int y = 0; y < timeItem.getTicketList().size(); y++) {
// KylinTicketVo ticketItem = timeItem.getTicketList().get(y);
// if (ticketItem.getType() == 1) {
// ticketList.add(ticketItem.getTicketsId());
// }
// if (ticketItem.getTicketsId().equals(ticketId)) {
// useTime = ticketItem.getUseStart();
// }
// }
// allTicketId.put(timeItem.getUseStart(), ticketList);
// }
if (0 == isTrueName) {
redisKey = KylinRedisConst.USERID_BUY_INFO + userId;
} else {
redisKey = KylinRedisConst.IDCARD_BUY_INFO + idCard;
}
String performanceIdKey = redisKey + ":" + KylinRedisConst.PERFORMANCE_ID + ":" + performanceId;
String ticketIdKey = redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + ticketId;
// String ticketUseTimeKey = ticketIdKey + ":" + KylinRedisConst.USE_TIME;
// redisUtil.set(ticketUseTimeKey, useTime);
if (buyCount > 0) {
redisUtil.incr(ticketIdKey, buyCount);
redisUtil.incr(performanceIdKey, buyCount);
} else {
redisUtil.decr(ticketIdKey, Math.abs(buyCount));
redisUtil.decr(performanceIdKey, Math.abs(buyCount));
}
}
// 获取 用户维度 演出购买数量
public int getUserPBuyCount(String userId, String performanceId) {
try {
return (int) redisUtil.get(KylinRedisConst.USERID_BUY_INFO + userId + ":" + KylinRedisConst.PERFORMANCE_ID + ":" + performanceId);
} catch (Exception e) {
return 0;
}
}
// 获取 用户维度 票种购买数量
public int getUserTBuyCount(String userId, String ticketId) {
try {
return (int) redisUtil.get(KylinRedisConst.USERID_BUY_INFO + userId + ":" + KylinRedisConst.TICKET_ID + ":" + ticketId);
} catch (Exception e) {
return 0;
}
}
// 获取 证件维度 演出购买数量
public int getIdCardPBuyCount(String idCard, String performanceId) {
try {
return (int) redisUtil.get(KylinRedisConst.IDCARD_BUY_INFO + idCard + ":" + KylinRedisConst.PERFORMANCE_ID + ":" + performanceId);
} catch (Exception e) {
return 0;
}
}
// 获取 证件维度 票种购买数量
public int getIdCardTBuyCount(String idCard, String ticketId) {
try {
return (int) redisUtil.get(KylinRedisConst.IDCARD_BUY_INFO + idCard + ":" + KylinRedisConst.TICKET_ID + ":" + ticketId);
} catch (Exception e) {
return 0;
}
}
/**
* 删除订单redis
*
* @param orderEntitiesId
*/
public void delOrderTicketEntitiesRedis(String orderEntitiesId) {
redisUtil.del(KylinRedisConst.ORDER_ENTITIES + orderEntitiesId);
}
/**
* 根据演出id 获取 演出vo 详情
*
* @param performanceId
* @return
*/
public KylinPerformanceVo getPerformanceVo(String 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;
}
}
/**
* 演出是否实名
*
* @param performanceId
*/
public int getPerformanceIsTrueName(String performanceId) {
Object obj = redisUtil.get(KylinRedisConst.PERFORMANCES_TRUE_NAME + performanceId);
if (obj!=null) {
return (int)obj;
}else{
int isTrueName = getPerformanceVo(performanceId).getIsTrueName();
redisUtil.set(KylinRedisConst.PERFORMANCES_TRUE_NAME + performanceId,isTrueName);
return isTrueName;
}
}
public void delOrderRefundVoByOrderId(String orderId) {
redisUtil.del(KylinRedisConst.ORDER_REFUND_BY_ORDER_ID + orderId);
}
}
# begin-dev-这里是配置信息基本值
liquidnet:
cloudConfig:
profile: dev
security:
username: user
password: user123
eureka:
host: 127.0.0.1:7001
# end-dev-这里是配置信息基本值
spring:
profiles:
include: service-chime
# begin-dev-这里是配置信息基本值
liquidnet:
cloudConfig:
profile: prod
security:
username: user
password: user123
eureka:
host: 172.17.207.189:7001
# end-dev-这里是配置信息基本值
spring:
profiles:
include: service-chime
\ No newline at end of file
#eurekaServer配置
eureka:
client:
register-with-eureka: true
fetch-registry: true
serviceUrl:
defaultZone: http://${liquidnet.security.username}:${liquidnet.security.password}@${liquidnet.eureka.host}/eureka-server/eureka
#configServer配置
spring:
cloud:
config:
# uri: http://39.105.38.151:7002/support-config
# uri: http://39.106.122.201:7002/support-config
# uri: http://127.0.0.1:7002/support-config
profile: ${liquidnet.cloudConfig.profile}
name: ${spring.application.name} #默认为spring.application.name
discovery:
enabled: true
service-id: liquidnet-support-config
# begin-dev-这里是配置信息基本值
liquidnet:
cloudConfig:
profile: test
security:
username: user
password: user123
eureka:
host: 172.17.207.177:7001
# end-dev-这里是配置信息基本值
spring:
profiles:
include: service-chime
spring:
application:
name: liquidnet-service-chime
profiles:
active: dev
server:
tomcat:
max-threads: 2000
min-spare-threads: 200
max-connections: 20000
connection-timeout: 5000
package com.liquidnet.service.chime.test;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
* @version V1.0
* @Description: TODO
* @class: TestRedis
* @Package com.liquidnet.service.adam.test
* @Copyright: LightNet @ Copyright (c) 2021
* @date 2021/7/29 13:36
*/
@Slf4j
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest
public class TestRedis {
@Autowired
private RedisUtil redisUtil;
@Test
public void getPayCodeList() {
}
}
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