Commit 46c6d9ad authored by jiaorz's avatar jiaorz

Merge remote-tracking branch 'origin/dev' into dev

parents 8836911b 36f04349
......@@ -31,4 +31,8 @@ public class CommonBaseController {
public String getCurrentUserName(){
return BaseContextHandler.getUsername();
}
public String getCurrentUserId(){
return BaseContextHandler.getUserID();
}
}
......@@ -8,6 +8,7 @@ import tk.mybatis.mapper.code.IdentityDialect;
import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.math.BigInteger;
@Data
......@@ -61,4 +62,7 @@ public class ActivityPopup {
@Column(name = "time_type")
private Integer timeType;
@Column(name = "activity_id")
private Integer activityId;
}
......@@ -7,6 +7,7 @@ import com.xxfc.platform.activity.entity.ActivityPopup;
import com.xxfc.platform.activity.entity.ActivityPopupUser;
import com.xxfc.platform.activity.mapper.ActivityPopupMapper;
import com.xxfc.platform.activity.mapper.ActivityPopupUserMapper;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
......@@ -16,10 +17,8 @@ import tk.mybatis.mapper.weekend.WeekendSqls;
import javax.swing.plaf.synth.SynthEditorPaneUI;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Set;
import java.time.Instant;
import java.util.*;
import java.util.stream.Collectors;
/**
......@@ -38,6 +37,9 @@ public class ActivityPopupBiz extends BaseBiz<ActivityPopupMapper, ActivityPopup
@Autowired
private ActivityPopupUserBiz activityPopupUserBiz;
@Autowired
private ActivityPopularizeUserBiz activityPopularizeUserBiz;
/**
* 获取活动弹窗,根据是否登录
*
......@@ -50,7 +52,7 @@ public class ActivityPopupBiz extends BaseBiz<ActivityPopupMapper, ActivityPopup
if (activityPopups == null || activityPopups.size() == 0) {
return activityPopups;
}
List<Integer> collect = activityPopups.parallelStream().map(ActivityPopup::getId).collect(Collectors.toList());
/* List<Integer> collect = activityPopups.parallelStream().map(ActivityPopup::getId).collect(Collectors.toList());
Example exaple = Example.builder(ActivityPopupUser.class)
.where(WeekendSqls.<ActivityPopupUser>custom()
.andEqualTo(ActivityPopupUser::getUserId, userInfo.getUserid())
......@@ -60,13 +62,22 @@ public class ActivityPopupBiz extends BaseBiz<ActivityPopupMapper, ActivityPopup
if (activityPopupUsers == null || activityPopupUsers.size() == 0) {
return activityPopups;
}
Set<Integer> popupIdSet = activityPopupUsers.parallelStream().map(ActivityPopupUser::getPopupId).collect(Collectors.toSet());
Set<Integer> popupIdSet = activityPopupUsers.parallelStream().map(ActivityPopupUser::getPopupId).collect(Collectors.toSet());*/
List<ActivityPopup> result = new ArrayList<>();
List<Integer> activityIds = activityPopups.stream().map(ActivityPopup::getActivityId).collect(Collectors.toList());
activityIds = CollectionUtils.isEmpty(activityIds)? Collections.EMPTY_LIST:activityIds;
Map<Integer, Boolean> activityPopularizeUserMap = activityPopularizeUserBiz.getByUserIdAndPopularizeId(userInfo.getUserid(), activityIds);
for (ActivityPopup activityPopup : activityPopups) {
if (popupIdSet.add(activityPopup.getId())) {
/*if (popupIdSet.add(activityPopup.getId())) {*/
boolean flag = activityPopularizeUserMap.isEmpty() ||
activityPopularizeUserMap.get(activityPopup.getActivityId()) == null ||
activityPopularizeUserMap.get(activityPopup.getActivityId()).equals(Boolean.FALSE);
if (flag) {
result.add(activityPopup);
}
// }
}
return result;
} else {
......@@ -85,17 +96,34 @@ public class ActivityPopupBiz extends BaseBiz<ActivityPopupMapper, ActivityPopup
private List<ActivityPopup> getActivityPopupByTypes(String Types) {
long timeMillis = System.currentTimeMillis();
//获取有期限的弹窗timeType=1
Example exa = Example.builder(ActivityPopup.class)
.where(
Example exa = new Example(ActivityPopup.class);
/* .where(
WeekendSqls.<ActivityPopup>custom()
.andEqualTo(ActivityPopup::getTimeType, 1)
.andGreaterThanOrEqualTo(ActivityPopup::getEndTime, BigInteger.valueOf(timeMillis))
.andLessThanOrEqualTo(ActivityPopup::getStartTime, BigInteger.valueOf(timeMillis))
.andGreaterThanOrEqualTo(ActivityPopup::getStartTime, BigInteger.valueOf(timeMillis))
.andLessThanOrEqualTo(ActivityPopup::getEndTime, BigInteger.valueOf(timeMillis))
.andIn(ActivityPopup::getType, Arrays.asList(Types.split(",")))
.andEqualTo(ActivityPopup::getStatus, 1)
.andEqualTo(ActivityPopup::getIsDel, 0)
).orderByAsc("sort").build();
).orderByAsc("sort").build();*/
Example.Criteria criteria = exa.createCriteria();
exa.orderBy("sort").asc();
criteria.andEqualTo("timeType",1);
criteria.andIn("type",Arrays.asList(Types.split(",")));
criteria.andEqualTo("status",1);
criteria.andEqualTo("isDel",0);
criteria.orLessThanOrEqualTo("endTime",BigInteger.valueOf(timeMillis));
Example.Criteria exaCriteria = exa.createCriteria();
exa.orderBy("sort").asc();
criteria.andEqualTo("timeType",1);
criteria.andIn("type",Arrays.asList(Types.split(",")));
criteria.andEqualTo("status",1);
criteria.andEqualTo("isDel",0);
criteria.orGreaterThanOrEqualTo("startTime",BigInteger.valueOf(timeMillis));
exa.or(exaCriteria);
List<ActivityPopup> activityPopups = mapper.selectByExample(exa);
//获取永久的弹窗timeType=0
......
......@@ -357,21 +357,17 @@ public class OrderRentVehicleDetail implements Serializable {
@ApiModelProperty(value = "延期结束时间")
private Long delayAddEndTime;
public Long obtainRealEndTime() {
if(null != getDelayAddEndTime()) {
return getDelayAddEndTime();
}else {
return getEndTime();
}
@Column(name = "meta_end_time")
@ApiModelProperty(value = "原结束时间")
private Long metaEndTime;
public Long getEndTime() {
return endTime;
}
// public Integer obtainRealDayNum() {
// if(null != getDelayAddDays()) {
// return (getDelayAddDays() + getDayNum());
// }else {
// return getDayNum();
// }
// }
public void setEndTime(Long endTime) {
this.endTime = endTime;
}
public Integer obtainRealDayNum() {
return this.dayNum + this.delayAddDays;
......
......@@ -341,7 +341,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements
DedDetailDTO dedDetailDTO = new DedDetailDTO();
//提前还车,结束时间大于当前时间
Long nowTime = System.currentTimeMillis();
Long endTime = orderPageVO.getOrderRentVehicleDetail().obtainRealEndTime();
Long endTime = orderPageVO.getOrderRentVehicleDetail().getEndTime();
Long startTime = orderPageVO.getOrderRentVehicleDetail().getStartTime();
//设置使用天数
......
......@@ -237,7 +237,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
OrderRentVehicleDetail orderRentVehicleDetail = orderRentVehicleBiz.selectById(baseOrder.getDetailId());
if (orderVehicleCrosstownDto.getType() == CrosstownTypeEnum.DEPARTURE.getCode()) {
boolean flag = getTodayTime(orderRentVehicleDetail.getStartTime(), orderRentVehicleDetail.obtainRealEndTime());
boolean flag = getTodayTime(orderRentVehicleDetail.getStartTime(), orderRentVehicleDetail.getEndTime());
if (!flag) {
return ObjectRestResponse.createFailedResult(3502, "已超过预定还车时间,不能进行交车操作!");
}
......
......@@ -2,9 +2,6 @@ package com.xxfc.platform.order.biz.inner;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
......@@ -12,18 +9,13 @@ import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.activity.feign.ActivityFeign;
import com.xxfc.platform.order.biz.*;
import com.xxfc.platform.order.contant.enumerate.*;
import com.xxfc.platform.order.entity.*;
import com.xxfc.platform.order.pojo.account.OrderAccountDeduction;
import com.xxfc.platform.order.pojo.account.OrderAccountDetail;
import com.xxfc.platform.order.pojo.calculate.InProgressVO;
import com.xxfc.platform.order.pojo.mq.OrderMQDTO;
import com.xxfc.platform.order.contant.enumerate.ItemTypeEnum;
import com.xxfc.platform.order.contant.enumerate.OrderLogEnum;
import com.xxfc.platform.order.entity.OrderItem;
import com.xxfc.platform.order.entity.OrderRentVehicleDetail;
import com.xxfc.platform.order.pojo.order.DelayRentOrderDTO;
import com.xxfc.platform.order.pojo.order.OrderPageVO;
import com.xxfc.platform.order.pojo.order.VehicleItemDTO;
import com.xxfc.platform.order.pojo.price.CancelNoStartVO;
import com.xxfc.platform.order.pojo.price.CancelStartedVO;
import com.xxfc.platform.order.pojo.price.CostDetailExtend;
import com.xxfc.platform.order.pojo.price.DelayAddPriceVO;
import com.xxfc.platform.tour.feign.TourFeign;
import com.xxfc.platform.universal.constant.DictionaryKey;
......@@ -33,23 +25,18 @@ import com.xxfc.platform.vehicle.common.RestResponse;
import com.xxfc.platform.vehicle.feign.VehicleFeign;
import com.xxfc.platform.vehicle.pojo.BookVehicleVO;
import com.xxfc.platform.vehicle.pojo.dto.order.VMCalendarPriceCostDTO;
import io.swagger.annotations.ApiModelProperty;
import lombok.extern.slf4j.Slf4j;
import org.mockito.internal.util.collections.Sets;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.persistence.Column;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_JSON_TRUE;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_TRUE;
import static com.xxfc.platform.universal.constant.DictionaryKey.*;
import static com.xxfc.platform.universal.constant.DictionaryKey.APP_ORDER;
/**
* 订单退款记录表
......@@ -172,13 +159,14 @@ public class OrderDelayBiz {
//根据订单号获取订单
RestResponse restResponse = vehicleFeign.updateOrderBookRecord(new BookVehicleVO() {{
setVehicleId(orderPageVO.getOrderRentVehicleDetail().getVehicleId());
setBookStartDate(dto.getBookStartDate());
setBookEndDate(dto.getBookEndDate());
setBookStartDate(dto.getBookStartDateTime());
setBookEndDate(dto.getBookEndDateTime());
setBookStartDateTime(dto.getBookStartDateTime());
setBookEndDateTime(dto.getBookEndDateTime());
setBookType(BOOK_TYPE_RENT);
}});
if( !SYS_TRUE.equals(restResponse.getCode())) {
if( !SYS_JSON_TRUE.equals(restResponse.getStatus())) {
throw new BaseException(ResultCode.FAILED_CODE, Sets.newSet("延期失败"));
}
cloudTransact = 1;
......@@ -203,6 +191,8 @@ public class OrderDelayBiz {
orvd.setDelayAddDays(delayAddDays);
orvd.setDelayAddFreeDays(delayAddFreeDays);
orvd.setDelayAddEndTime(dto.getDelayEndTime());
//修改还车时间
orvd.setEndTime(dto.getDelayEndTime());
DelayAddPriceVO delayAddPriceVO = new DelayAddPriceVO(){{
setDamageSafePrice(new BigDecimal(dictionaryMap.get(APP_ORDER+ "_"+ DictionaryKey.DAMAGE_SAFE).getDetail()));
setDelayAddDays(orvd.getDelayAddDays());
......
......@@ -506,7 +506,7 @@ public class OrderMsgBiz {
private void handelSmsParam(OrderRentVehicleDetail orvd, BaseOrder baseOrder, List<String> smsParams, AppUserDTO appUserDTO, int handelType) {
if(RENT_DELIVERY == handelType) {
smsParams.add(appUserDTO.obtainRealname());
smsParams.add(DateUtil.formatDateTime(DateUtil.date(orvd.obtainRealEndTime())));
smsParams.add(DateUtil.formatDateTime(DateUtil.date(orvd.getEndTime())));
smsParams.add(orvd.getEndAddr());
smsParams.add(baseOrder.getName());
smsParams.add(appUserDTO.getUsername());
......@@ -516,7 +516,7 @@ public class OrderMsgBiz {
smsParams.add(orvd.getStartAddr());
smsParams.add(orvd.getEndAddr());
smsParams.add(DateUtil.formatDateTime(DateUtil.date(orvd.getStartTime())));
smsParams.add(DateUtil.formatDateTime(DateUtil.date(orvd.obtainRealEndTime())));
smsParams.add(DateUtil.formatDateTime(DateUtil.date(orvd.getEndTime())));
smsParams.add(orvd.obtainRealDayNum().toString());
smsParams.add(appUserDTO.getUsername());
}
......
......@@ -434,9 +434,9 @@ public class BackStageOrderController extends CommonBaseController implements Us
bo.setOrder(orderPageVO);
bo.setBookVehicleVO(new BookVehicleVO() {{
setBookStartDate(YMR_SLASH_FORMATTER.format(LocalDateTime.ofInstant(Instant.ofEpochMilli(bo.getStartTime()), ZoneOffset.ofHours(8))));
setBookEndDate(YMR_SLASH_FORMATTER.format(LocalDateTime.ofInstant(Instant.ofEpochMilli(bo.obtainRealEndTime()), ZoneOffset.ofHours(8))));
setBookEndDate(YMR_SLASH_FORMATTER.format(LocalDateTime.ofInstant(Instant.ofEpochMilli(bo.getEndTime()), ZoneOffset.ofHours(8))));
setBookStartDateTime(DATE_TIME_LINE_FORMATTER.format(LocalDateTime.ofInstant(Instant.ofEpochMilli(bo.getStartTime()), ZoneOffset.ofHours(8))));
setBookEndDateTime(DATE_TIME_LINE_FORMATTER.format(LocalDateTime.ofInstant(Instant.ofEpochMilli(bo.obtainRealEndTime()), ZoneOffset.ofHours(8))));
setBookEndDateTime(DATE_TIME_LINE_FORMATTER.format(LocalDateTime.ofInstant(Instant.ofEpochMilli(bo.getEndTime()), ZoneOffset.ofHours(8))));
}});
List<OrderAccompanyDTO> oads = JSONUtil.toList(JSONUtil.parseArray(orderItemBiz.selectOne(new OrderItem() {{
......@@ -457,12 +457,13 @@ public class BackStageOrderController extends CommonBaseController implements Us
return ObjectRestResponse.succ();
}
@ApiOperation("修改租车订单延")
@ApiOperation("修改租车订单延长时间")
@RequestMapping(value = "/baseOrder/bg/delay-rent-order", method = RequestMethod.POST)
@IgnoreClientToken
@ResponseBody
public ObjectRestResponse<OrderPageVO> delayRentOrder(@RequestBody DelayRentOrderDTO dto) {
checkAdminUser();
dto.setOperateId(Integer.valueOf("-1"+ getCurrentUserId()));
Query query = baseOrderBiz.initBgQuery(dto.getNo());
......
......@@ -207,6 +207,8 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
bo.getOrder().setCrtUser(bo.getCrtUser());
}
//
bo.setMetaEndTime(bo.getEndTime());
super.handleDetail(bo);
}catch (Exception e) {
//事务补偿处理
......
......@@ -186,4 +186,8 @@ public class VehicleModel implements Serializable {
@Column(name = "app_show")
@ApiModelProperty("是否在App展示")
private Integer appShow;
@Column(name = "panorama_url")
@ApiModelProperty("全景vr链接")
private String panoramaUrl;
}
......@@ -7,6 +7,9 @@ import java.util.Map;
@Data
public class BookVehicleVO {
//用途
public static final int BOOK_TYPE_RENT = 1;
/**
* 车辆id
*/
......@@ -18,13 +21,13 @@ public class BookVehicleVO {
/**
* 预定目标日期(开始)
*/
@ApiModelProperty("预定目标日期(开始)")
@ApiModelProperty("预定目标日期(开始) yyyy-MM-dd HH:mm:ss")
private String bookStartDate;
/**
* 预定目标日期(结束)
*/
@ApiModelProperty("预定目标日期(结束)")
@ApiModelProperty("预定目标日期(结束) yyyy-MM-dd HH:mm:ss")
private String bookEndDate;
/**
......
......@@ -240,7 +240,7 @@ public class VehicleController extends BaseController<VehicleBiz> implements Use
Integer operatorId = Integer.parseInt(BaseContextHandler.getUserID());
String userName = BaseContextHandler.getName();
bookVehicleVo.setStatus(VehicleBookRecordStatus.APPROVE.getCode());
bookVehicleVo.setNotCheckTimeLegal(Boolean.FALSE);
bookVehicleVo.setNotCheckTimeLegal(Boolean.TRUE);
baseBiz.applyVehicle(operatorId, bookVehicleVo, userName);
return RestResponse.suc();
}
......
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