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

Commit 88a594a2 authored by 胡佳晨's avatar 胡佳晨

xxl-job 提交

parent da662cdb
package com.liquidnet.service.feign.kylin.api;
import com.liquidnet.service.base.ResponseDto;
import feign.hystrix.FallbackFactory;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
@Component
@FeignClient(name = "liquidnet-service-kylin",
contextId = "FeignKylinOrderRefundClient", path = "",
fallback = FallbackFactory.Default.class)
public interface FeignKylinOrderRefundClient {
@PostMapping("admin/refund/apply")
ResponseDto<Object> refundApply(
@RequestBody String orderTicketsId,
@RequestBody String orderRefundBatchesId,
@RequestBody String refundData,
@RequestBody String reason
);
@PostMapping("admin/refund/cancel")
@ApiOperation("取消退款")
ResponseDto<Object> refundApply(@RequestBody List orderRefundsIdList);
@PostMapping("admin/refund/reapply")
@ApiOperation("再次提交审核")
ResponseDto<Object> refundReapply(@RequestBody List orderRefundsIdList);
@PostMapping("admin/refund/review")
@ApiOperation("一审运营 审核/驳回")
ResponseDto<Object> refundReview(@RequestBody List orderRefundsIdList, @RequestBody Integer status, @RequestBody String reject);
@PostMapping("admin/refund/execute")
@ApiOperation("二审财务 审核(执行退款)/驳回")
ResponseDto<Object> refundExecute(@RequestBody List orderRefundsIdList, @RequestBody Integer status, @RequestBody String refuse);
}
......@@ -24,5 +24,5 @@ public interface FeignKylinTaskClient {
ResponseDto<Boolean> checkOrderTime();
@PostMapping("performance/checkPerformanceTime")
void checkPerformanceTime();
ResponseDto<String> checkPerformanceTime();
}
......@@ -4,10 +4,13 @@ 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.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration;
import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration;
import org.springframework.boot.autoconfigure.data.redis.RedisRepositoriesAutoConfiguration;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.cloud.bus.BusAutoConfiguration;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.core.env.Environment;
......@@ -20,6 +23,7 @@ import java.util.Arrays;
@SpringBootApplication(
scanBasePackages = {"com.liquidnet"}
)
@EnableAutoConfiguration(exclude = {BusAutoConfiguration.class,RabbitAutoConfiguration.class})
public class ServiceExecutorMainApplication implements CommandLineRunner {
@Autowired
private Environment environment;
......
......@@ -27,7 +27,8 @@ public class KylinTaskHandler {
@XxlJob(value = "sev-kylin:checkOrderTimeHandler")
public ReturnT<String> checkOrderTimeHandler() {
try {
feignKylinTaskClient.checkOrderTime();
boolean result = feignKylinTaskClient.checkOrderTime().getData();
log.info("checkOrderTimeHandler:结果:"+result);
return ReturnT.SUCCESS;
} catch (Exception e) {
return ReturnT.FAIL;
......@@ -37,7 +38,8 @@ public class KylinTaskHandler {
@XxlJob(value = "sev-kylin:checkPerformanceTimeHandler")
public ReturnT<String> checkPerformanceTimeHandler() {
try {
feignKylinTaskClient.checkPerformanceTime();
String result = feignKylinTaskClient.checkPerformanceTime().getData();
log.info("checkPerformanceTimeHandler:结果:"+result);
return ReturnT.SUCCESS;
} catch (Exception e) {
return ReturnT.FAIL;
......
......@@ -83,7 +83,7 @@ public class KylinOrderTicketsController {
@GetMapping("checkOrderTime")
@PostMapping("checkOrderTime")
@ApiOperation("订单过期脚本")
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<Boolean> checkOrderTime() {
......
......@@ -215,7 +215,7 @@ public class KylinPerformancesController {
}
@PostMapping("/checkPerformanceTime")
public void checkPerformanceTime(){
kylinPerformancesService.checkPerformanceTime();
public ResponseDto<String> checkPerformanceTime(){
return ResponseDto.success(kylinPerformancesService.checkPerformanceTime());
}
}
......@@ -787,44 +787,45 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
@Override
public boolean checkOrderTime(String userId) {
Query query = new Query();
query.addCriteria(Criteria.where("status").is(0).and("overdueAt").lte(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))));
if (null != userId) {
query.addCriteria(Criteria.where("userId").is(userId));
}
List<KylinOrderTicketVo> orderTicketVo = mongoTemplate.find(query,
KylinOrderTicketVo.class, KylinOrderTicketVo.class.getSimpleName());
for (KylinOrderTicketVo item : orderTicketVo) {
if(!RedisLockUtil.tryLock("order_lock:" + item.getOrderCode(),240,240)){
continue;
try {
Query query = new Query();
query.addCriteria(Criteria.where("status").is(0).and("overdueAt").lte(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))));
if (null != userId) {
query.addCriteria(Criteria.where("userId").is(userId));
}
RLock lock = redisLockUtil.lock("order_lock:" + item.getOrderCode(), 240);
KylinOrderTicketVo itemData = dataUtils.getOrderTicketVo(item.getOrderTicketsId());
if (itemData.getStatus() == 0) {
LocalDateTime now = LocalDateTime.now();
try {
//mysql
KylinOrderTickets orderTickets = new KylinOrderTickets();
orderTickets.setOrderTicketsId(item.getOrderTicketsId());
orderTickets.setUpdatedAt(now);
KylinOrderTicketStatus orderTicketStatus = new KylinOrderTicketStatus();
orderTicketStatus.setOrderId(item.getOrderTicketsId());
orderTicketStatus.setStatus(2);
orderTicketStatus.setUpdatedAt(now);
//vo
HashMap<String, Object> map = new HashMap<>();
map.put("status", 2);
map.put("updatedAt", now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
mongoTemplate.getCollection(KylinOrderTicketVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("orderTicketsId").is(orderTickets.getOrderTicketsId())).getQueryObject(),
new BasicDBObject("$set", mongoConverter.convertToMongoType(map))
);
dataUtils.delOrderTicketRedis(orderTickets.getOrderTicketsId());
dataUtils.changeSurplusGeneral(itemData.getTicketId(), itemData.getNumber());
List<KylinOrderTicketVo> orderTicketVo = mongoTemplate.find(query,
KylinOrderTicketVo.class, KylinOrderTicketVo.class.getSimpleName());
for (KylinOrderTicketVo item : orderTicketVo) {
if (!RedisLockUtil.tryLock("order_lock:" + item.getOrderCode(), 240, 240)) {
continue;
}
RLock lock = redisLockUtil.lock("order_lock:" + item.getOrderCode(), 240);
KylinOrderTicketVo itemData = dataUtils.getOrderTicketVo(item.getOrderTicketsId());
if (itemData.getStatus() == 0) {
LocalDateTime now = LocalDateTime.now();
try {
//mysql
KylinOrderTickets orderTickets = new KylinOrderTickets();
orderTickets.setOrderTicketsId(item.getOrderTicketsId());
orderTickets.setUpdatedAt(now);
KylinOrderTicketStatus orderTicketStatus = new KylinOrderTicketStatus();
orderTicketStatus.setOrderId(item.getOrderTicketsId());
orderTicketStatus.setStatus(2);
orderTicketStatus.setUpdatedAt(now);
//vo
HashMap<String, Object> map = new HashMap<>();
map.put("status", 2);
map.put("updatedAt", now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
mongoTemplate.getCollection(KylinOrderTicketVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("orderTicketsId").is(orderTickets.getOrderTicketsId())).getQueryObject(),
new BasicDBObject("$set", mongoConverter.convertToMongoType(map))
);
dataUtils.delOrderTicketRedis(orderTickets.getOrderTicketsId());
dataUtils.changeSurplusGeneral(itemData.getTicketId(), itemData.getNumber());
// rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
......@@ -832,16 +833,20 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
// rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
// SqlMapping.get("kylin_order_ticket_status.close", orderTicketStatus.getCloseOrderObject()));
} catch (Exception e) {
} catch (Exception e) {
lock.unlock();
e.printStackTrace();
return false;
}
} else {
lock.unlock();
e.printStackTrace();
return false;
}
} else {
lock.unlock();
}
return true;
}catch (Exception e){
e.printStackTrace();
return false;
}
return true;
}
@Override
......
......@@ -440,7 +440,13 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM
return payDetailVo;
}
public void checkPerformanceTime(){
task.performanceVoStatus(null);
public String checkPerformanceTime(){
try {
task.performanceVoStatus(null);
return "成功";
}catch (Exception e){
e.printStackTrace();
return "失败";
}
}
}
......@@ -92,7 +92,7 @@ public class PerformanceVoTask {
LocalDateTime timeNow = LocalDateTime.now();
List<String> performanceIdList = new ArrayList<>();
if (performanceSingleId.isEmpty()) {
if (performanceSingleId==null) {
List<KylinPerformanceVo> kylinPerformanceVoList = mongoTemplate.findAll(KylinPerformanceVo.class);
for (KylinPerformanceVo kylinPerformanceVoItem : kylinPerformanceVoList) {
performanceIdList.add(kylinPerformanceVoItem.getPerformancesId());
......
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