Commit efcdfd23 authored by 周健威's avatar 周健威

修改代码

parent 7b44128e
package com.xxfc.platform.order.mqhandler;
import com.rabbitmq.client.Channel;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.io.IOException;
import java.time.LocalDateTime;
import java.util.List;
/**
* activeMq消费者类
* @author zhanghang
* @date 2017/12/19
*/
@Slf4j
@Component
public class RabbitConsumer {
// @Autowired
// private CcqCustomerCfgService ccqCustomerCfgService;
/**
* 默认情况下,如果没有配置手动ACK, 那么Spring Data AMQP 会在消息消费完毕后自动帮我们去ACK
* 存在问题:如果报错了,消息不会丢失,但是会无限循环消费,一直报错,如果开启了错误日志很容易就吧磁盘空间耗完
* 解决方案:手动ACK,或者try-catch 然后在 catch 里面将错误的消息转移到其它的系列中去
* spring.rabbitmq.listener.simple.acknowledge-mode = manual
* @param list 监听的内容
*/
@RabbitListener(queues = "delay_queue")
public void cfgUserReceiveDealy(List<Integer> list, Message message, Channel channel) throws IOException {
log.info("===============接收队列接收消息====================");
log.info("接收时间:{},接受内容:{}", LocalDateTime.now(), list.toString());
//通知 MQ 消息已被接收,可以ACK(从队列中删除)了
channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
try {
} catch (Exception e) {
log.error("============消费失败,尝试消息补发再次消费!==============");
log.error(e.getMessage());
/**
* basicRecover方法是进行补发操作,
* 其中的参数如果为true是把消息退回到queue但是有可能被其它的consumer(集群)接收到,
* 设置为false是只补发给当前的consumer
*/
channel.basicRecover(false);
}
}
}
package com.xxfc.platform.order.mqhandler;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.time.LocalDateTime;
import java.util.List;
/**
* rabbitMq生产者类
* @author zhanghang
* @date 2018/12/13
*/
@Slf4j
@Component
public class RabbitProduct {
@Autowired
private RabbitTemplate rabbitTemplate;
public void sendDelayMessage(List<Integer> list) {
//这里的消息可以是任意对象,无需额外配置,直接传即可
log.info("===============延时队列生产消息====================");
log.info("发送时间:{},发送内容:{}", LocalDateTime.now(), list.toString());
this.rabbitTemplate.convertAndSend(
"delay_exchange",
"delay_key",
list,
message -> {
//注意这里时间可以使long,而且是设置header
message.getMessageProperties().setHeader("x-delay", 60000);
return message;
}
);
log.info("{}ms后执行", 60000);
}
}
...@@ -3,8 +3,6 @@ package com.xxfc.platform.order.rest; ...@@ -3,8 +3,6 @@ package com.xxfc.platform.order.rest;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.github.wxiaoqi.security.admin.dto.UserMemberDTO;
import com.github.wxiaoqi.security.admin.entity.AppUserDetail;
import com.github.wxiaoqi.security.admin.feign.UserFeign; import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.dto.UserDTO; import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
import com.github.wxiaoqi.security.admin.vo.AppUserVo; import com.github.wxiaoqi.security.admin.vo.AppUserVo;
...@@ -22,9 +20,7 @@ import com.github.wxiaoqi.security.common.vo.PageParam; ...@@ -22,9 +20,7 @@ import com.github.wxiaoqi.security.common.vo.PageParam;
import com.xxfc.platform.order.biz.BaseOrderBiz; import com.xxfc.platform.order.biz.BaseOrderBiz;
import com.xxfc.platform.order.biz.OrderMemberDetailBiz; import com.xxfc.platform.order.biz.OrderMemberDetailBiz;
import com.xxfc.platform.order.contant.enumerate.OrderStatusEnum; import com.xxfc.platform.order.contant.enumerate.OrderStatusEnum;
import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum;
import com.xxfc.platform.order.entity.BaseOrder; import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.entity.OrderMemberDetail;
import com.xxfc.platform.order.pojo.order.CancelOrderDTO; import com.xxfc.platform.order.pojo.order.CancelOrderDTO;
import com.xxfc.platform.order.pojo.order.OrderPageVO; import com.xxfc.platform.order.pojo.order.OrderPageVO;
import com.xxfc.platform.order.pojo.pay.RentVehicleOrderPayVO; import com.xxfc.platform.order.pojo.pay.RentVehicleOrderPayVO;
...@@ -51,9 +47,6 @@ import java.util.Date; ...@@ -51,9 +47,6 @@ import java.util.Date;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_FALSE;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_TRUE;
@Controller @Controller
@RequestMapping("baseOrder") @RequestMapping("baseOrder")
@Api(value = "订单", tags = {"订单"}) @Api(value = "订单", tags = {"订单"})
...@@ -160,20 +153,6 @@ public class BaseOrderController extends CommonBaseController { ...@@ -160,20 +153,6 @@ public class BaseOrderController extends CommonBaseController {
return new ObjectRestResponse<>().data(pageDataVO); return new ObjectRestResponse<>().data(pageDataVO);
} }
// @RequestMapping(value = "/company/page",method = RequestMethod.GET)
// @ResponseBody
// @ApiOperation(value = "结合后台人员所属公司查询订单列表")
// @IgnoreClientToken
// public ObjectRestResponse<PageDataVO<OrderPageVO>> companyList(QueryOrderDTO dto){
// //查询列表数据
// if(StringUtils.isBlank(BaseContextHandler.getUserID())) {
// throw new BaseException(ResultCode.AJAX_WECHAT_NOTEXIST_CODE);
// }
// dto.setCrtCompanyId(userFeign.userinfoByToken(BaseContextHandler.getToken()).getData().getCompanyId());
// Query query = new Query(dto);
// return new ObjectRestResponse<>().data(PageDataVO.pageInfo(query, () -> baseOrderBiz.pageByParm(query.getSuper())));
// }
@ApiOperation("订单详情") @ApiOperation("订单详情")
@RequestMapping(value = "/{no}", method = RequestMethod.GET) @RequestMapping(value = "/{no}", method = RequestMethod.GET)
@IgnoreClientToken @IgnoreClientToken
...@@ -210,23 +189,6 @@ public class BaseOrderController extends CommonBaseController { ...@@ -210,23 +189,6 @@ public class BaseOrderController extends CommonBaseController {
return new ObjectRestResponse<>().data(page.getData().get(0)); return new ObjectRestResponse<>().data(page.getData().get(0));
} }
// @ApiOperation("根据订单详情处理信息")
// @RequestMapping(value = "/handle/{no}",method = RequestMethod.GET)
// @IgnoreClientToken
// @ResponseBody
// public ObjectRestResponse<OrderPageVO> get(@PathVariable String no){
// //查询列表数据
// if(StringUtils.isBlank(BaseContextHandler.getUserID())) {
// throw new BaseException(ResultCode.AJAX_WECHAT_NOTEXIST_CODE);
// }
// Query query = initQuery(no);
// PageDataVO<OrderPageVO> page = PageDataVO.pageInfo(query, () -> baseOrderBiz.pageByParm(query.getSuper()));
// if(page.getData().isEmpty()) {
// throw new BaseException(ResultCode.NOTEXIST_CODE);
// }
// return new ObjectRestResponse<>().data(page.getData().get(0));
// }
private Query initQuery(String no) { private Query initQuery(String no) {
QueryOrderDetailDTO qodd = new QueryOrderDetailDTO(); QueryOrderDetailDTO qodd = new QueryOrderDetailDTO();
qodd.setCrtUser(Integer.valueOf(BaseContextHandler.getUserID())); qodd.setCrtUser(Integer.valueOf(BaseContextHandler.getUserID()));
......
...@@ -772,7 +772,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> { ...@@ -772,7 +772,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
* @return * @return
*/ */
private List<String> convertDatePeriod2List(String startDate,String endDate){ private List<String> convertDatePeriod2List(String startDate,String endDate){
DateTime startDay =DateTime.parse(startDate, DEFAULT_DATE_TIME_FORMATTER); DateTime startDay =DateTime.parse(startDate, DateTimeFormat.forPattern("yyyy-MM-dd"));
DateTime endDay =DateTime.parse(endDate, DEFAULT_DATE_TIME_FORMATTER); DateTime endDay =DateTime.parse(endDate, DEFAULT_DATE_TIME_FORMATTER);
List<String> rs = Lists.newArrayList(); List<String> rs = Lists.newArrayList();
for( DateTime curDate = startDay;curDate.compareTo(endDay)<=0;curDate=curDate.plusDays(1)){ for( DateTime curDate = startDay;curDate.compareTo(endDay)<=0;curDate=curDate.plusDays(1)){
......
package com.xxfc.platform.vehicle;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.file.FileWriter;
import cn.hutool.json.JSONUtil;
import com.github.wxiaoqi.security.common.msg.TableResultResponse;
import com.github.wxiaoqi.security.common.util.Query;
import com.xxfc.platform.vehicle.biz.SysRegionBiz;
import com.xxfc.platform.vehicle.entity.SysRegion;
import lombok.Data;
import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
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;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes={VehicleApplication.class})
public class TimeTest {
public static final DateTimeFormatter DEFAULT_DATE_TIME_FORMATTER = DateTimeFormat.forPattern("yyyy-MM-dd");
@Test
public void test() throws Exception {
DateTime startDay =DateTime.parse("2019-06-04", DEFAULT_DATE_TIME_FORMATTER);
System.out.println("test");
}
}
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