记得上下班打卡 | 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 { ...@@ -24,5 +24,5 @@ public interface FeignKylinTaskClient {
ResponseDto<Boolean> checkOrderTime(); ResponseDto<Boolean> checkOrderTime();
@PostMapping("performance/checkPerformanceTime") @PostMapping("performance/checkPerformanceTime")
void checkPerformanceTime(); ResponseDto<String> checkPerformanceTime();
} }
...@@ -4,10 +4,13 @@ import lombok.extern.slf4j.Slf4j; ...@@ -4,10 +4,13 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner; import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication; 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.RedisAutoConfiguration;
import org.springframework.boot.autoconfigure.data.redis.RedisRepositoriesAutoConfiguration; import org.springframework.boot.autoconfigure.data.redis.RedisRepositoriesAutoConfiguration;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.cloud.bus.BusAutoConfiguration;
import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.core.env.Environment; import org.springframework.core.env.Environment;
...@@ -20,6 +23,7 @@ import java.util.Arrays; ...@@ -20,6 +23,7 @@ import java.util.Arrays;
@SpringBootApplication( @SpringBootApplication(
scanBasePackages = {"com.liquidnet"} scanBasePackages = {"com.liquidnet"}
) )
@EnableAutoConfiguration(exclude = {BusAutoConfiguration.class,RabbitAutoConfiguration.class})
public class ServiceExecutorMainApplication implements CommandLineRunner { public class ServiceExecutorMainApplication implements CommandLineRunner {
@Autowired @Autowired
private Environment environment; private Environment environment;
......
...@@ -27,7 +27,8 @@ public class KylinTaskHandler { ...@@ -27,7 +27,8 @@ public class KylinTaskHandler {
@XxlJob(value = "sev-kylin:checkOrderTimeHandler") @XxlJob(value = "sev-kylin:checkOrderTimeHandler")
public ReturnT<String> checkOrderTimeHandler() { public ReturnT<String> checkOrderTimeHandler() {
try { try {
feignKylinTaskClient.checkOrderTime(); boolean result = feignKylinTaskClient.checkOrderTime().getData();
log.info("checkOrderTimeHandler:结果:"+result);
return ReturnT.SUCCESS; return ReturnT.SUCCESS;
} catch (Exception e) { } catch (Exception e) {
return ReturnT.FAIL; return ReturnT.FAIL;
...@@ -37,7 +38,8 @@ public class KylinTaskHandler { ...@@ -37,7 +38,8 @@ public class KylinTaskHandler {
@XxlJob(value = "sev-kylin:checkPerformanceTimeHandler") @XxlJob(value = "sev-kylin:checkPerformanceTimeHandler")
public ReturnT<String> checkPerformanceTimeHandler() { public ReturnT<String> checkPerformanceTimeHandler() {
try { try {
feignKylinTaskClient.checkPerformanceTime(); String result = feignKylinTaskClient.checkPerformanceTime().getData();
log.info("checkPerformanceTimeHandler:结果:"+result);
return ReturnT.SUCCESS; return ReturnT.SUCCESS;
} catch (Exception e) { } catch (Exception e) {
return ReturnT.FAIL; return ReturnT.FAIL;
......
...@@ -83,7 +83,7 @@ public class KylinOrderTicketsController { ...@@ -83,7 +83,7 @@ public class KylinOrderTicketsController {
@GetMapping("checkOrderTime") @PostMapping("checkOrderTime")
@ApiOperation("订单过期脚本") @ApiOperation("订单过期脚本")
@ApiResponse(code = 200, message = "接口返回对象参数") @ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<Boolean> checkOrderTime() { public ResponseDto<Boolean> checkOrderTime() {
......
...@@ -215,7 +215,7 @@ public class KylinPerformancesController { ...@@ -215,7 +215,7 @@ public class KylinPerformancesController {
} }
@PostMapping("/checkPerformanceTime") @PostMapping("/checkPerformanceTime")
public void checkPerformanceTime(){ public ResponseDto<String> checkPerformanceTime(){
kylinPerformancesService.checkPerformanceTime(); return ResponseDto.success(kylinPerformancesService.checkPerformanceTime());
} }
} }
...@@ -787,44 +787,45 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM ...@@ -787,44 +787,45 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
@Override @Override
public boolean checkOrderTime(String userId) { public boolean checkOrderTime(String userId) {
Query query = new Query(); try {
query.addCriteria(Criteria.where("status").is(0).and("overdueAt").lte(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")))); Query query = new Query();
if (null != userId) { query.addCriteria(Criteria.where("status").is(0).and("overdueAt").lte(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))));
query.addCriteria(Criteria.where("userId").is(userId)); 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;
} }
RLock lock = redisLockUtil.lock("order_lock:" + item.getOrderCode(), 240); List<KylinOrderTicketVo> orderTicketVo = mongoTemplate.find(query,
KylinOrderTicketVo itemData = dataUtils.getOrderTicketVo(item.getOrderTicketsId()); KylinOrderTicketVo.class, KylinOrderTicketVo.class.getSimpleName());
if (itemData.getStatus() == 0) {
LocalDateTime now = LocalDateTime.now(); for (KylinOrderTicketVo item : orderTicketVo) {
try { if (!RedisLockUtil.tryLock("order_lock:" + item.getOrderCode(), 240, 240)) {
//mysql continue;
KylinOrderTickets orderTickets = new KylinOrderTickets(); }
orderTickets.setOrderTicketsId(item.getOrderTicketsId()); RLock lock = redisLockUtil.lock("order_lock:" + item.getOrderCode(), 240);
orderTickets.setUpdatedAt(now); KylinOrderTicketVo itemData = dataUtils.getOrderTicketVo(item.getOrderTicketsId());
if (itemData.getStatus() == 0) {
KylinOrderTicketStatus orderTicketStatus = new KylinOrderTicketStatus(); LocalDateTime now = LocalDateTime.now();
orderTicketStatus.setOrderId(item.getOrderTicketsId()); try {
orderTicketStatus.setStatus(2); //mysql
orderTicketStatus.setUpdatedAt(now); KylinOrderTickets orderTickets = new KylinOrderTickets();
orderTickets.setOrderTicketsId(item.getOrderTicketsId());
//vo orderTickets.setUpdatedAt(now);
HashMap<String, Object> map = new HashMap<>();
map.put("status", 2); KylinOrderTicketStatus orderTicketStatus = new KylinOrderTicketStatus();
map.put("updatedAt", now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); orderTicketStatus.setOrderId(item.getOrderTicketsId());
mongoTemplate.getCollection(KylinOrderTicketVo.class.getSimpleName()).updateOne( orderTicketStatus.setStatus(2);
Query.query(Criteria.where("orderTicketsId").is(orderTickets.getOrderTicketsId())).getQueryObject(), orderTicketStatus.setUpdatedAt(now);
new BasicDBObject("$set", mongoConverter.convertToMongoType(map))
); //vo
dataUtils.delOrderTicketRedis(orderTickets.getOrderTicketsId()); HashMap<String, Object> map = new HashMap<>();
map.put("status", 2);
dataUtils.changeSurplusGeneral(itemData.getTicketId(), itemData.getNumber()); 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, // rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
...@@ -832,16 +833,20 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM ...@@ -832,16 +833,20 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
// rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL, // rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
// SqlMapping.get("kylin_order_ticket_status.close", orderTicketStatus.getCloseOrderObject())); // SqlMapping.get("kylin_order_ticket_status.close", orderTicketStatus.getCloseOrderObject()));
} catch (Exception e) { } catch (Exception e) {
lock.unlock();
e.printStackTrace();
return false;
}
} else {
lock.unlock(); lock.unlock();
e.printStackTrace();
return false;
} }
} else {
lock.unlock();
} }
return true;
}catch (Exception e){
e.printStackTrace();
return false;
} }
return true;
} }
@Override @Override
......
...@@ -440,7 +440,13 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM ...@@ -440,7 +440,13 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM
return payDetailVo; return payDetailVo;
} }
public void checkPerformanceTime(){ public String checkPerformanceTime(){
task.performanceVoStatus(null); try {
task.performanceVoStatus(null);
return "成功";
}catch (Exception e){
e.printStackTrace();
return "失败";
}
} }
} }
...@@ -92,7 +92,7 @@ public class PerformanceVoTask { ...@@ -92,7 +92,7 @@ public class PerformanceVoTask {
LocalDateTime timeNow = LocalDateTime.now(); LocalDateTime timeNow = LocalDateTime.now();
List<String> performanceIdList = new ArrayList<>(); List<String> performanceIdList = new ArrayList<>();
if (performanceSingleId.isEmpty()) { if (performanceSingleId==null) {
List<KylinPerformanceVo> kylinPerformanceVoList = mongoTemplate.findAll(KylinPerformanceVo.class); List<KylinPerformanceVo> kylinPerformanceVoList = mongoTemplate.findAll(KylinPerformanceVo.class);
for (KylinPerformanceVo kylinPerformanceVoItem : kylinPerformanceVoList) { for (KylinPerformanceVo kylinPerformanceVoItem : kylinPerformanceVoList) {
performanceIdList.add(kylinPerformanceVoItem.getPerformancesId()); 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