Commit 0ea8dd8d authored by 周健威's avatar 周健威

修改优惠券和会员bug

parent 36aa95e9
...@@ -14,12 +14,10 @@ public class AddRentVehicleDTO{ ...@@ -14,12 +14,10 @@ public class AddRentVehicleDTO{
public static final DateTimeFormatter DEFAULT_DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd"); public static final DateTimeFormatter DEFAULT_DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd");
//开始时间 //开始时间
@Column(name = "start_time")
@ApiModelProperty(value = "开始时间") @ApiModelProperty(value = "开始时间")
private Long startTime; private Long startTime;
//结束时间 //结束时间
@Column(name = "end_time")
@ApiModelProperty(value = "结束时间") @ApiModelProperty(value = "结束时间")
private Long endTime; private Long endTime;
...@@ -36,12 +34,10 @@ public class AddRentVehicleDTO{ ...@@ -36,12 +34,10 @@ public class AddRentVehicleDTO{
private String bookEndDate; private String bookEndDate;
//天数 //天数
@Column(name = "day_num")
@ApiModelProperty(value = "天数") @ApiModelProperty(value = "天数")
private Integer dayNum; private Integer dayNum;
//取车地点 //取车地点
@Column(name = "start_addr")
@ApiModelProperty(value = "取车地点") @ApiModelProperty(value = "取车地点")
private String startAddr; private String startAddr;
...@@ -51,7 +47,6 @@ public class AddRentVehicleDTO{ ...@@ -51,7 +47,6 @@ public class AddRentVehicleDTO{
private String endAddr; private String endAddr;
//取车城市编号 //取车城市编号
@Column(name = "start_city")
@ApiModelProperty(value = "取车城市编号") @ApiModelProperty(value = "取车城市编号")
private Integer startCity; private Integer startCity;
...@@ -61,7 +56,6 @@ public class AddRentVehicleDTO{ ...@@ -61,7 +56,6 @@ public class AddRentVehicleDTO{
private Integer endCity; private Integer endCity;
//取车城市名称 //取车城市名称
@Column(name = "start_city_name")
@ApiModelProperty(value = "取车城市名称") @ApiModelProperty(value = "取车城市名称")
private String startCityName; private String startCityName;
...@@ -71,30 +65,34 @@ public class AddRentVehicleDTO{ ...@@ -71,30 +65,34 @@ public class AddRentVehicleDTO{
private String endCityName; private String endCityName;
//司机类型 1--公司司机;2--自己司机 //司机类型 1--公司司机;2--自己司机
@Column(name = "driver_type")
@ApiModelProperty(value = "司机类型 1--公司司机;2--自己司机") @ApiModelProperty(value = "司机类型 1--公司司机;2--自己司机")
private Integer driverType; private Integer driverType;
//自己司机ids //自己司机ids
@Column(name = "my_driver_ids")
@ApiModelProperty(value = "自己司机ids") @ApiModelProperty(value = "自己司机ids")
private String myDriverIds; private String myDriverIds;
//出发公司Id //出发公司Id
@Column(name = "start_company_id")
@ApiModelProperty(value = "出发公司Id") @ApiModelProperty(value = "出发公司Id")
private Integer startCompanyId; private Integer startCompanyId;
//结束公司Id //结束公司Id
@Column(name = "end_company_id")
@ApiModelProperty(value = "结束公司Id") @ApiModelProperty(value = "结束公司Id")
private Integer endCompanyId; private Integer endCompanyId;
//车型id //车型id
@Column(name = "model_id")
@ApiModelProperty(value = "车型id") @ApiModelProperty(value = "车型id")
private Integer modelId; private Integer modelId;
//车型id
@ApiModelProperty(value = "是否购买免赔")
private Integer damageSafe;
/**
* 是否使用出租免费天数
*/
private Integer rentFreeDay;
public void setStartTime(Long startTime) { public void setStartTime(Long startTime) {
this.startTime = startTime; this.startTime = startTime;
this.bookStartDate = DEFAULT_DATE_TIME_FORMATTER.format(LocalDateTime.ofInstant(Instant.ofEpochMilli(startTime), ZoneOffset.ofHours(8))); this.bookStartDate = DEFAULT_DATE_TIME_FORMATTER.format(LocalDateTime.ofInstant(Instant.ofEpochMilli(startTime), ZoneOffset.ofHours(8)));
......
...@@ -129,12 +129,13 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> { ...@@ -129,12 +129,13 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
*/ */
public void cancel(BaseOrder baseOrder) { public void cancel(BaseOrder baseOrder) {
if(cancelAble.get(baseOrder.getType()).contains(baseOrder.getStatus())) { if(cancelAble.get(baseOrder.getType()).contains(baseOrder.getStatus())) {
int updateResult = this.updateSelectiveByIdRe(new BaseOrder(){{ BaseOrder updateOrder = new BaseOrder(){{
setId(baseOrder.getId()); setId(baseOrder.getId());
setStatus(OrderStatusEnum.ORDER_CANCEL.getCode()); setStatus(OrderStatusEnum.ORDER_CANCEL.getCode());
setCancelReason(baseOrder.getCancelReason()); setCancelReason(baseOrder.getCancelReason());
setVersion(baseOrder.getVersion()); setVersion(baseOrder.getVersion());
}}); }};
int updateResult = this.updateSelectiveByIdRe(updateOrder);
//如果取消失败,则抛异常 //如果取消失败,则抛异常
if(updateResult <= 0) { if(updateResult <= 0) {
......
...@@ -56,7 +56,7 @@ public class RabbitConsumer { ...@@ -56,7 +56,7 @@ public class RabbitConsumer {
* 其中的参数如果为true是把消息退回到queue但是有可能被其它的consumer(集群)接收到, * 其中的参数如果为true是把消息退回到queue但是有可能被其它的consumer(集群)接收到,
* 设置为false是只补发给当前的consumer * 设置为false是只补发给当前的consumer
*/ */
channel.basicRecover(false); channel.basicRecover(true);
} }
} }
} }
...@@ -87,30 +87,11 @@ public abstract class AbstractOrderHandle<Biz extends BaseBiz, Detail extends Or ...@@ -87,30 +87,11 @@ public abstract class AbstractOrderHandle<Biz extends BaseBiz, Detail extends Or
detail.setOrderId(detail.getOrder().getId()); detail.setOrderId(detail.getOrder().getId());
detailBiz.insertSelective(detail); detailBiz.insertSelective(detail);
detail.getOrder().setDetailId(detail.getId()); detail.getOrder().setDetailId(detail.getId());
baseOrderBiz.updateSelectiveById(detail.getOrder()); int updateResult =baseOrderBiz.updateSelectiveByIdRe(detail.getOrder());
if(updateResult > 0) {
detail.getOrder().setVersion(detail.getOrder().getVersion() + 1);
}
} }
// /**
// * 创建订单及其多子项
// * @param details
// */
// public void createOrder(List<Detail> details) {
// BaseOrder order = createOrder();
// for(Detail detail : details) {
// preHandleDetail(order, detail);
// }
// handleDetail(details);
// }
//
// /**
// * 处理订单多子项
// * @param details
// */
// public void handleDetail(List<Detail> details){
// for(Detail detail : details) {
// detailBiz.insertSelective(detail);
// }
// }
/** /**
* 计算价格 * 计算价格
......
...@@ -92,7 +92,8 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl ...@@ -92,7 +92,8 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
super.handleDetail(bo); super.handleDetail(bo);
//发送定时取消订单(30分钟) //发送定时取消订单(30分钟)
rabbitProduct.sendDelayMessage(bo.getOrder(), 1000L * 60 * 30); //rabbitProduct.sendDelayMessage(bo.getOrder(), 1000L * 60 * 30);
rabbitProduct.sendDelayMessage(bo.getOrder(), 100L * 6 * 3);
} }
@Override @Override
...@@ -136,7 +137,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl ...@@ -136,7 +137,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
String[] prices = StrUtil.isBlank(vehicleModel.getRentDiscountPrice()) String[] prices = StrUtil.isBlank(vehicleModel.getRentDiscountPrice())
?new String[]{vehicleModel.getPrice().toString(),vehicleModel.getPrice().toString(),vehicleModel.getPrice().toString()} ?new String[]{vehicleModel.getPrice().toString(),vehicleModel.getPrice().toString(),vehicleModel.getPrice().toString()}
:vehicleModel.getRentDiscountPrice().split(","); :vehicleModel.getRentDiscountPrice().split(",");
switch (MemberEnum.getByCode(detail.getAppUserDTO().getIsMember())) { switch (MemberEnum.getByCode(detail.getAppUserDTO().getMemberLevel())) {
case NORMAL: case NORMAL:
modelAmount = handleDiscount(vehicleModel, prices, NORMAL); modelAmount = handleDiscount(vehicleModel, prices, NORMAL);
break; break;
...@@ -199,7 +200,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl ...@@ -199,7 +200,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
private BigDecimal handleDiscount(VehicleModel vehicleModel, String[] prices, MemberEnum memberEnum) { private BigDecimal handleDiscount(VehicleModel vehicleModel, String[] prices, MemberEnum memberEnum) {
BigDecimal modelAmount;//会员比例 BigDecimal modelAmount;//会员比例
if(DISCOUNT_STATUS_MEMBER.equals(vehicleModel.getRentDiscountStatus())) { if(DISCOUNT_STATUS_MEMBER.equals(vehicleModel.getRentDiscountStatus())) {
modelAmount = new BigDecimal(String.valueOf((memberEnum.getPercent()/100))).multiply(vehicleModel.getPrice()); modelAmount = new BigDecimal(String.valueOf((memberEnum.getPercent()/100d))).multiply(vehicleModel.getPrice()).setScale(2, BigDecimal.ROUND_HALF_UP);
}else { }else {
//会员固定价列表 //会员固定价列表
modelAmount = new BigDecimal(prices[(memberEnum.getCode() - 1)]); modelAmount = new BigDecimal(prices[(memberEnum.getCode() - 1)]);
...@@ -220,7 +221,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl ...@@ -220,7 +221,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
childrenStr.append(",${tem_0104}"); childrenStr.append(",${tem_0104}");
} }
if(childrenStr.length() > 0){ if(childrenStr.length() > 0){
childrenStr.deleteCharAt(1); childrenStr.deleteCharAt(0);
} }
return childrenStr.toString(); return childrenStr.toString();
} }
...@@ -242,6 +243,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl ...@@ -242,6 +243,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
private void acquireVehicle(RentVehicleBO detail) { private void acquireVehicle(RentVehicleBO detail) {
//根据车型、时间、距离,门店,预定车辆 //根据车型、时间、距离,门店,预定车辆
RentVehicleBookDTO rentVehicleBookDTO = BeanUtil.toBean(detail.getBookVehicleVO(), RentVehicleBookDTO.class); RentVehicleBookDTO rentVehicleBookDTO = BeanUtil.toBean(detail.getBookVehicleVO(), RentVehicleBookDTO.class);
rentVehicleBookDTO.setModelId(detail.getModelId());
rentVehicleBookDTO.setUserName(BaseContextHandler.getName()); rentVehicleBookDTO.setUserName(BaseContextHandler.getName());
ObjectRestResponse<VehicleBookRecord> orr = vehicleFeign.rentApplyVehicle(rentVehicleBookDTO); ObjectRestResponse<VehicleBookRecord> orr = vehicleFeign.rentApplyVehicle(rentVehicleBookDTO);
detail.setVehicleId(orr.getData().getVehicleId()); detail.setVehicleId(orr.getData().getVehicleId());
......
...@@ -209,11 +209,10 @@ public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, To ...@@ -209,11 +209,10 @@ public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, To
childrenStr.append(",${tem_0203}"); childrenStr.append(",${tem_0203}");
} }
String str = childrenStr.toString(); if(childrenStr.length() > 0){
if(str.length() > 0) { childrenStr.deleteCharAt(0);
str = str.substring(1, str.length());
} }
return str; return childrenStr.toString();
} }
/** /**
......
...@@ -66,7 +66,7 @@ ...@@ -66,7 +66,7 @@
left join left join
vehicle_book_info vbi on v.`id` = vbi.vehicle vehicle_book_info vbi on v.`id` = vbi.vehicle
</if> </if>
LEFT JOIN branch_company bc ON v.park_branch_company_id = bc.id 58 left join branch_company bc on v.`subordinate_branch` = bc.id LEFT JOIN branch_company bc ON v.park_branch_company_id = bc.id
LEFT JOIN branch_company bc1 ON v.expect_destination_branch_company_id = bc1.id LEFT JOIN branch_company bc1 ON v.expect_destination_branch_company_id = bc1.id
where where
v.is_del=0 v.is_del=0
......
...@@ -59,6 +59,8 @@ public class RegionTest { ...@@ -59,6 +59,8 @@ public class RegionTest {
public class NewData{ public class NewData{
Long id; Long id;
String name; String name;
String lat;
String lon;
} }
@Data @Data
...@@ -131,34 +133,34 @@ public class RegionTest { ...@@ -131,34 +133,34 @@ public class RegionTest {
System.out.println("test"); System.out.println("test");
} }
@Test // @Test
public void test1() { // public void test1() {
int i = DateTime.now().getMinuteOfDay() / 5; // int i = DateTime.now().getMinuteOfDay() / 5;
System.out.println("DateTime.now().getMinuteOfDay() / 5++++++++++++"+i); // System.out.println("DateTime.now().getMinuteOfDay() / 5++++++++++++"+i);
String redisLockKey = RedisKey.SYS_REGION_REFRESH_LOCK +i;//同一日每5分钟只刷新一次 // String redisLockKey = RedisKey.SYS_REGION_REFRESH_LOCK +i;//同一日每5分钟只刷新一次
System.out.println("redisLockKey++++++++++++++++"+redisLockKey); // System.out.println("redisLockKey++++++++++++++++"+redisLockKey);
String s = String.valueOf(DateTime.now().getMillis()); // String s = String.valueOf(DateTime.now().getMillis());
System.out.println("s++++++++++++++++++"+s); // System.out.println("s++++++++++++++++++"+s);
Boolean suc = customRedisTemplate.opsForValue().setIfAbsent(redisLockKey, s); // Boolean suc = customRedisTemplate.opsForValue().setIfAbsent(redisLockKey, s);
Boolean test1 = customRedisTemplate.opsForValue().setIfAbsent("1", "2"); // Boolean test1 = customRedisTemplate.opsForValue().setIfAbsent("1", "2");
Boolean test2 = customRedisTemplate.opsForValue().setIfAbsent("1", "3"); // Boolean test2 = customRedisTemplate.opsForValue().setIfAbsent("1", "3");
System.out.println("test1///////////////////////////////"+test1); // System.out.println("test1///////////////////////////////"+test1);
System.out.println("test2///////////////////////////////"+test2); // System.out.println("test2///////////////////////////////"+test2);
System.out.println("suc++++++++++++++++++++"+suc); // System.out.println("suc++++++++++++++++++++"+suc);
} // }
//
@Test // @Test
public void testRedis() { // public void testRedis() {
SysRegion sysRegion = getSysRegion(1); // SysRegion sysRegion = getSysRegion(1);
System.out.println("sysRegion+++++++++"+sysRegion); // System.out.println("sysRegion+++++++++"+sysRegion);
System.out.println("TEST_REDIS_KEY+++++++++++" + TEST_REDIS_KEY); // System.out.println("TEST_REDIS_KEY+++++++++++" + TEST_REDIS_KEY);
} // }
//
@Cache(key = TEST_REDIS_KEY) // @Cache(key = TEST_REDIS_KEY)
private SysRegion getSysRegion(int id){ // private SysRegion getSysRegion(int id){
SysRegion sysRegion = sysRegionBiz.selectById(2); // SysRegion sysRegion = sysRegionBiz.selectById(2);
return sysRegion; // return sysRegion;
} // }
} }
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