Commit 453289de authored by jiaorz's avatar jiaorz

Merge branch 'master-vehicle-status-limit' into base-modify

parents 8ddab7ad e98628e2
...@@ -8,6 +8,7 @@ public enum DeductionTypeEnum { ...@@ -8,6 +8,7 @@ public enum DeductionTypeEnum {
VIOLATE_CANCEL(101, "提前取消违约金"), VIOLATE_CANCEL(101, "提前取消违约金"),
VIOLATE_ADVANCE(102, "提前还车违约金"), VIOLATE_ADVANCE(102, "提前还车违约金"),
VIOLATE_DELAY(103, "延迟还车违约金"), VIOLATE_DELAY(103, "延迟还车违约金"),
VIOLATE_CHANGE_C(104, "更换还车公司费用"),
CONSUME(201, "消费金额"), CONSUME(201, "消费金额"),
DAMAGES(301, "赔偿金(定损)"), DAMAGES(301, "赔偿金(定损)"),
VIOLATE_TRAFFIC_DEDUCT(401, "违章扣款"), VIOLATE_TRAFFIC_DEDUCT(401, "违章扣款"),
......
...@@ -481,12 +481,18 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> { ...@@ -481,12 +481,18 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> {
private void handleCrosstownDetail(OrderVehicleCrosstown crosstown, OrderAccountDetail oad, CancelStartedVO csv) { private void handleCrosstownDetail(OrderVehicleCrosstown crosstown, OrderAccountDetail oad, CancelStartedVO csv) {
try{ try{
if(null != crosstown.getViolateDetail()) { if(null != crosstown.getViolateDetail()) {
DedDetailDTO vio = JSONUtil.toBean(crosstown.getViolateDetail(), DedDetailDTO.class); //修改代码
List<DedDetailDTO> vios = JSONUtil.toList(JSONUtil.parseArray(crosstown.getViolateDetail()), DedDetailDTO.class);
//DedDetailDTO vio = JSONUtil.toBean(crosstown.getViolateDetail(), DedDetailDTO.class);
for(DedDetailDTO vio : vios) {
if(OrderViolateEnum.BEFORE.getCode().equals(vio.getType())) { if(OrderViolateEnum.BEFORE.getCode().equals(vio.getType())) {
handleViolateDetail(DeductionTypeEnum.VIOLATE_ADVANCE, oad, vio, csv); handleViolateDetail(DeductionTypeEnum.VIOLATE_ADVANCE, oad, vio, csv);
}else if(OrderViolateEnum.AFTER.getCode().equals(vio.getType())) { }else if(OrderViolateEnum.AFTER.getCode().equals(vio.getType())) {
handleViolateDetail(DeductionTypeEnum.VIOLATE_DELAY, oad, vio, csv); handleViolateDetail(DeductionTypeEnum.VIOLATE_DELAY, oad, vio, csv);
}else if(OrderViolateEnum.CHANGE.getCode().equals(vio.getType())) {
handleViolateDetail(DeductionTypeEnum.VIOLATE_CHANGE_C, oad, vio, csv);
}
} }
} }
}catch (Exception e) { }catch (Exception e) {
...@@ -495,6 +501,7 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> { ...@@ -495,6 +501,7 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> {
} }
private void handleViolateDetail(DeductionTypeEnum dte, OrderAccountDetail oad, DedDetailDTO vio, CancelStartedVO csv) { private void handleViolateDetail(DeductionTypeEnum dte, OrderAccountDetail oad, DedDetailDTO vio, CancelStartedVO csv) {
Boolean flag = Boolean.FALSE;
for(OrderAccountDeduction deduction : oad.getDeductions()) { for(OrderAccountDeduction deduction : oad.getDeductions()) {
if(dte.getCode().equals(deduction.getType())) { if(dte.getCode().equals(deduction.getType())) {
deduction.setName(vio.getDeductions()); deduction.setName(vio.getDeductions());
...@@ -504,10 +511,24 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> { ...@@ -504,10 +511,24 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> {
deduction.setAmount(vio.getCost()); deduction.setAmount(vio.getCost());
//设置订单明细参数 //设置订单明细参数
csv.setViolateAmount(deduction.getAmount()); csv.setViolateAmount(csv.getViolateAmount().add(diff));
csv.setViolateDesc(deduction.getName()); csv.setViolateDesc(csv.getViolateDesc()+ deduction.getName());
flag = Boolean.TRUE;
break;
} }
} }
//如果没有修改,则添加
if(Boolean.FALSE.equals(flag)) {
OrderAccountDeduction oadNew = initDeduction(vio.getCost(), vio.getDeductions(), dte, OrderAccountDeduction.ORIGIN_DEPOSIT);
oad.getDeductions().add(oadNew);
//修改归还押金金额
oad.setDepositAmount(oad.getDepositAmount().subtract(oadNew.getAmount()));
//设置订单明细参数
csv.setViolateAmount(csv.getViolateAmount().add(oadNew.getAmount()));
csv.setViolateDesc(csv.getViolateDesc()+ oadNew.getName());
}
} }
......
...@@ -12,7 +12,6 @@ import com.github.wxiaoqi.security.common.exception.BaseException; ...@@ -12,7 +12,6 @@ import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.process.ResultCode; import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.activity.user.UserInfoBiz; import com.xxfc.platform.activity.user.UserInfoBiz;
import com.xxfc.platform.order.biz.inner.OrderCalculateBiz;
import com.xxfc.platform.order.biz.inner.OrderMsgBiz; import com.xxfc.platform.order.biz.inner.OrderMsgBiz;
import com.xxfc.platform.order.contant.enumerate.CrosstownTypeEnum; import com.xxfc.platform.order.contant.enumerate.CrosstownTypeEnum;
import com.xxfc.platform.order.contant.enumerate.DepositRefundStatus; import com.xxfc.platform.order.contant.enumerate.DepositRefundStatus;
...@@ -183,16 +182,19 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -183,16 +182,19 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
return ObjectRestResponse.createFailedResult(3503, "无收车权限"); return ObjectRestResponse.createFailedResult(3503, "无收车权限");
} }
} }
if (baseOrder.getStatus() != -1) {
Vehicle vehicle = null; Vehicle vehicle = null;
RestResponse<Vehicle> restResponse = vehicleFeign.findById(orderRentVehicleDetail.getVehicleId()); RestResponse<Vehicle> vehicleRestResponse = vehicleFeign.findById(orderRentVehicleDetail.getVehicleId());
log.info("获取车辆信息返回消息:{}", restResponse.getMessage()); log.info("获取车辆信息返回消息:{}", vehicleRestResponse.getMessage());
if (restResponse.getData() != null) { if (vehicleRestResponse.getData() != null) {
vehicle = restResponse.getData(); vehicle = vehicleRestResponse.getData();
} }
if (vehicle == null) { if (vehicle == null) {
return ObjectRestResponse.createFailedResult(ResCode.VEHICLE_DEPARTURE_VEHICLE_UNEXIST.getCode(), ResCode.VEHICLE_DEPARTURE_VEHICLE_UNEXIST.getDesc()); return ObjectRestResponse.createFailedResult(ResCode.VEHICLE_DEPARTURE_VEHICLE_UNEXIST.getCode(), ResCode.VEHICLE_DEPARTURE_VEHICLE_UNEXIST.getDesc());
} }
// if (vehicle.getStatus().equals(VehicleStatus.DEPARTURE.getCode())) {
// return ObjectRestResponse.createFailedResult(ResCode.VEHICLE_DEPARTURE_VEHICLE_DISABLE.getCode(), ResCode.VEHICLE_DEPARTURE_VEHICLE_DISABLE.getDesc());
// }
if (baseOrder.getStatus() != -1) {
if (vehicle.getMileageLastUpdate() != null) { if (vehicle.getMileageLastUpdate() != null) {
//判断车辆公里数 //判断车辆公里数
if (orderVehicleCrosstownDto.getMileage() == null || orderVehicleCrosstownDto.getMileage() < vehicle.getMileageLastUpdate()) { if (orderVehicleCrosstownDto.getMileage() == null || orderVehicleCrosstownDto.getMileage() < vehicle.getMileageLastUpdate()) {
......
...@@ -289,6 +289,15 @@ public class OrderCancelBiz { ...@@ -289,6 +289,15 @@ public class OrderCancelBiz {
//站点总人数减少 //站点总人数减少
tourFeign.updateTourGoodPersonNum(otd.getVerificationId(), TourFeign.TOTAL_PERSON, (otd.getTotalNumber() * -1)); tourFeign.updateTourGoodPersonNum(otd.getVerificationId(), TourFeign.TOTAL_PERSON, (otd.getTotalNumber() * -1));
//已付款的取消订单发送消息
try {
AppUserDTO appUserDTO = userFeign.userDetailById(baseOrder.getUserId()).getData();
//处理后台用户提醒短信的发送
orderMsgBiz.handelMsgCancel(orvd, otd, omd, baseOrder, appUserDTO);
}catch (Exception e) {
log.error(e.getMessage(), e);
}
} }
} }
......
...@@ -326,7 +326,7 @@ public class OrderMsgBiz { ...@@ -326,7 +326,7 @@ public class OrderMsgBiz {
//后台发送消息(客服) //后台发送消息(客服)
Cofig cofig = configFeign.getAllByType(ConfigFeign.TYPE_CUS_SER+ "").getData().get(0); Cofig cofig = configFeign.getAllByType(ConfigFeign.TYPE_CUS_SER+ "").getData().get(0);
smsParams.clear(); smsParams.clear();
sms2BgUser(cofig.getValue(), startCompanyDetailTour, null, orvd, otd, baseOrder, appUserDTO, SmsTemplateDTO.PAY_C, smsParams); sms2BgUser(cofig.getValue(), startCompanyDetailTour, null, orvd, otd, baseOrder, appUserDTO, SmsTemplateDTO.CANCEL_F, smsParams);
break; break;
case MEMBER: case MEMBER:
break; break;
...@@ -577,10 +577,14 @@ public class OrderMsgBiz { ...@@ -577,10 +577,14 @@ public class OrderMsgBiz {
smsParams.add(startCompanyDetail.getAddrDetail()); smsParams.add(startCompanyDetail.getAddrDetail());
break; break;
case SmsTemplateDTO.PAY_J : case SmsTemplateDTO.PAY_J :
String realName = appUserDTO.getRealname();
if(StrUtil.isBlank(realName)){
realName = "";
}
if(SYS_TRUE.equals(appUserDTO.getIsMember()) && !NONE.getCode().equals(appUserDTO.getMemberLevel()) ) { if(SYS_TRUE.equals(appUserDTO.getIsMember()) && !NONE.getCode().equals(appUserDTO.getMemberLevel()) ) {
smsParams.add(USER_M+ appUserDTO.getRealname()); smsParams.add(USER_M+ realName);
}else { }else {
smsParams.add(USER_N+ appUserDTO.getRealname()); smsParams.add(USER_N+ realName);
} }
smsParams.add(baseOrder.getName()); smsParams.add(baseOrder.getName());
smsParams.add(HOUR_MINUTE_FORMATTE_HUTOOL.format(DateUtil.date(otd.getStartTime()))); smsParams.add(HOUR_MINUTE_FORMATTE_HUTOOL.format(DateUtil.date(otd.getStartTime())));
...@@ -684,7 +688,11 @@ public class OrderMsgBiz { ...@@ -684,7 +688,11 @@ public class OrderMsgBiz {
smsParams.add(orvd.getDayNum().toString()); smsParams.add(orvd.getDayNum().toString());
break; break;
case SmsTemplateDTO.PAY_H : case SmsTemplateDTO.PAY_H :
smsParams.add(appUserDTO.getRealname()); String realName = appUserDTO.getRealname();
if(StrUtil.isBlank(realName)){
realName = "匿名";
}
smsParams.add(realName);
smsParams.add(appUserDTO.getUsername()); smsParams.add(appUserDTO.getUsername());
smsParams.add(baseOrder.getName()); smsParams.add(baseOrder.getName());
smsParams.add(sCompany.getName()); smsParams.add(sCompany.getName());
...@@ -692,7 +700,11 @@ public class OrderMsgBiz { ...@@ -692,7 +700,11 @@ public class OrderMsgBiz {
smsParams.add(DateUtil.formatDateTime(DateUtil.date(otd.getStartTime()))); smsParams.add(DateUtil.formatDateTime(DateUtil.date(otd.getStartTime())));
break; break;
case SmsTemplateDTO.CANCEL_F : case SmsTemplateDTO.CANCEL_F :
smsParams.add(appUserDTO.getRealname()); String realName2 = appUserDTO.getRealname();
if(StrUtil.isBlank(realName2)){
realName2 = "匿名";
}
smsParams.add(realName2);
smsParams.add(appUserDTO.getUsername()); smsParams.add(appUserDTO.getUsername());
smsParams.add(baseOrder.getName()); smsParams.add(baseOrder.getName());
smsParams.add(sCompany.getName()); smsParams.add(sCompany.getName());
......
...@@ -72,7 +72,7 @@ public class RentDepositJobHandler extends IJobHandler { ...@@ -72,7 +72,7 @@ public class RentDepositJobHandler extends IJobHandler {
@Override @Override
public ReturnT<String> execute(String idLastNumInterval) { public ReturnT<String> execute(String idLastNumInterval) {
Map<String, Dictionary> dictionaryMap = thirdFeign.dictionaryGetAll4Map().getData(); Map<String, Dictionary> dictionaryMap = thirdFeign.dictionaryGetAll4Map().getData();
Integer rentDepositAutoRefundTime = new Integer(dictionaryMap.get(APP_ORDER+ "_"+ DictionaryKey.RENT_DEPOSIT_AUTO_REFUND_TIME).getDetail()); Long rentDepositAutoRefundTime = new Long(dictionaryMap.get(APP_ORDER+ "_"+ DictionaryKey.RENT_DEPOSIT_AUTO_REFUND_TIME).getDetail());
try { try {
List<BaseOrder> lists = baseOrderBiz.selectByExample(new Example.Builder(BaseOrder.class) List<BaseOrder> lists = baseOrderBiz.selectByExample(new Example.Builder(BaseOrder.class)
...@@ -80,7 +80,7 @@ public class RentDepositJobHandler extends IJobHandler { ...@@ -80,7 +80,7 @@ public class RentDepositJobHandler extends IJobHandler {
.where(WeekendSqls.<BaseOrder>custom().andEqualTo(BaseOrder::getType, OrderTypeEnum.RENT_VEHICLE.getCode()) .where(WeekendSqls.<BaseOrder>custom().andEqualTo(BaseOrder::getType, OrderTypeEnum.RENT_VEHICLE.getCode())
.andEqualTo(BaseOrder::getStatus, OrderStatusEnum.ORDER_FINISH.getCode()) //已完成的订单 .andEqualTo(BaseOrder::getStatus, OrderStatusEnum.ORDER_FINISH.getCode()) //已完成的订单
.andEqualTo(BaseOrder::getRefundStatus, RefundStatusEnum.RESIDUE_ILLEGAL.getCode()) //已归还了部分押金 .andEqualTo(BaseOrder::getRefundStatus, RefundStatusEnum.RESIDUE_ILLEGAL.getCode()) //已归还了部分押金
.andLessThanOrEqualTo(BaseOrder::getCrtTime, DateUtil.date(System.currentTimeMillis() - (rentDepositAutoRefundTime * 60 * 1000))) .andLessThanOrEqualTo(BaseOrder::getCrtTime, DateUtil.date(System.currentTimeMillis() - (rentDepositAutoRefundTime * 60L * 1000L)))
// .andLike(BaseOrder::getId, "%"+ i) // .andLike(BaseOrder::getId, "%"+ i)
).build()); ).build());
...@@ -102,7 +102,7 @@ public class RentDepositJobHandler extends IJobHandler { ...@@ -102,7 +102,7 @@ public class RentDepositJobHandler extends IJobHandler {
setType(crosstownTypeEnum); setType(crosstownTypeEnum);
}}); }});
if(crosstown.getCrtTime().compareTo(System.currentTimeMillis() - (rentDepositAutoRefundTime * 60 * 1000)) < 0) { if(crosstown.getCrtTime().compareTo(System.currentTimeMillis() - (rentDepositAutoRefundTime * 60L * 1000L)) < 0) {
OrderViolation orderViolation = orderViolationBiz.selectOne(new OrderViolation(){{ OrderViolation orderViolation = orderViolationBiz.selectOne(new OrderViolation(){{
setDetailId(orvd.getId()); setDetailId(orvd.getId());
setIsDel(SYS_FALSE); setIsDel(SYS_FALSE);
......
package com.xxfc.platform.uccn.rest; package com.xxfc.platform.uccn.rest;
import com.github.pagehelper.PageInfo;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.campsite.vo.CampsiteShopPageVo;
import com.xxfc.platform.tour.entity.TourGood;
import com.xxfc.platform.uccn.biz.SearchBiz; import com.xxfc.platform.uccn.biz.SearchBiz;
import com.xxfc.platform.uccn.comstnt.ServiceConstant; import com.xxfc.platform.uccn.comstnt.ServiceConstant;
import com.xxfc.platform.uccn.entity.Article;
import com.xxfc.platform.uccn.vo.SearchResultVo; import com.xxfc.platform.uccn.vo.SearchResultVo;
import com.xxfc.platform.uccn.vo.ServiceResultVo;
import com.xxfc.platform.uccn.vo.SummitActivityVo;
import com.xxfc.platform.vehicle.entity.BranchCompany;
import com.xxfc.platform.vehicle.pojo.VehicleModelQueryCondition; import com.xxfc.platform.vehicle.pojo.VehicleModelQueryCondition;
import com.xxfc.platform.vehicle.pojo.VehicleModelVo;
import com.xxfc.platform.vehicle.pojo.dto.BranchCompanyFindDTO; import com.xxfc.platform.vehicle.pojo.dto.BranchCompanyFindDTO;
import com.xxfc.platform.vehicle.pojo.vo.BranchCompanyListVO;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List;
/** /**
* @author libin * @author libin
* @version 1.0 * @version 1.0
...@@ -48,24 +60,74 @@ public class SearchController { ...@@ -48,24 +60,74 @@ public class SearchController {
vehicleModelQueryCondition.setPage(page); vehicleModelQueryCondition.setPage(page);
vehicleModelQueryCondition.setLimit(limit); vehicleModelQueryCondition.setLimit(limit);
vehicleModelQueryCondition.setVehicleName(keyWord); vehicleModelQueryCondition.setVehicleName(keyWord);
return vehicleModelController.findVehicleModelPageUnauthfind(vehicleModelQueryCondition); ObjectRestResponse<PageDataVO<VehicleModelVo>> vehicleResult =vehicleModelController.findVehicleModelPageUnauthfind(vehicleModelQueryCondition);
List<VehicleModelVo> vehicleModelVoList = vehicleResult.getData().getData();
Long vehicleTotalCount = vehicleResult.getData().getTotalCount();
ServiceResultVo<VehicleModelVo> vehicleModelVoServiceResultVo = new ServiceResultVo<>();
vehicleModelVoServiceResultVo.setData(vehicleModelVoList);
vehicleModelVoServiceResultVo.setTotalCount(vehicleTotalCount);
SearchResultVo searchResultVo = new SearchResultVo();
searchResultVo.put(ServiceConstant.VEHICLE,vehicleModelVoServiceResultVo);
return ObjectRestResponse.succ(searchResultVo);
case ServiceConstant.BRANCH_COMPANY: case ServiceConstant.BRANCH_COMPANY:
BranchCompanyFindDTO branchCompanyFindDTO = new BranchCompanyFindDTO(); BranchCompanyFindDTO branchCompanyFindDTO = new BranchCompanyFindDTO();
branchCompanyFindDTO.setPage(page); branchCompanyFindDTO.setPage(page);
branchCompanyFindDTO.setLimit(limit); branchCompanyFindDTO.setLimit(limit);
branchCompanyFindDTO.setName(keyWord); branchCompanyFindDTO.setName(keyWord);
return branchCompanyController.listBranchCompanyWithPage(branchCompanyFindDTO); ObjectRestResponse<PageDataVO> branchResult = branchCompanyController.listBranchCompanyWithPage(branchCompanyFindDTO);
List branchCompanyList = branchResult.getData().getData();
Long branchCompanyTotalCount = branchResult.getData().getTotalCount();
ServiceResultVo<BranchCompanyListVO> companyServiceResultVo = new ServiceResultVo<>();
companyServiceResultVo.setData(branchCompanyList);
companyServiceResultVo.setTotalCount(branchCompanyTotalCount);
SearchResultVo branchCompanyResultVo = new SearchResultVo();
branchCompanyResultVo.put(ServiceConstant.BRANCH_COMPANY,companyServiceResultVo);
return ObjectRestResponse.succ(branchCompanyResultVo);
case ServiceConstant.TROUR: case ServiceConstant.TROUR:
return gwTourController.getGoodList(page, limit, null, keyWord); ObjectRestResponse goodresult = gwTourController.getGoodList(page, limit, null, keyWord);
PageDataVO<TourGood> data = (PageDataVO<TourGood>)goodresult.getData();
List<TourGood> tourGoodList = data.getData();
Long tourGoodTotalCount = data.getTotalCount();
ServiceResultVo<TourGood> tourGoodServiceResultVo = new ServiceResultVo<>();
tourGoodServiceResultVo.setData(tourGoodList);
tourGoodServiceResultVo.setTotalCount(tourGoodTotalCount);
SearchResultVo tourGoodSearchResult = new SearchResultVo();
tourGoodSearchResult.put(ServiceConstant.TROUR,tourGoodServiceResultVo);
return ObjectRestResponse.succ(tourGoodSearchResult);
case ServiceConstant.CAMPSITE: case ServiceConstant.CAMPSITE:
return campsiteUccnController.findCampsiteShopPageByType(null, page, limit, keyWord); ObjectRestResponse<PageDataVO<CampsiteShopPageVo>> campsiteResult = campsiteUccnController.findCampsiteShopPageByType(null, page, limit, keyWord);
List<CampsiteShopPageVo> campsiteShopPageVoList = campsiteResult.getData().getData();
Long campsiteTotalCount = campsiteResult.getData().getTotalCount();
ServiceResultVo<CampsiteShopPageVo> campsiteShopPageVoServiceResultVo = new ServiceResultVo<>();
campsiteShopPageVoServiceResultVo.setData(campsiteShopPageVoList);
campsiteShopPageVoServiceResultVo.setTotalCount(campsiteTotalCount);
SearchResultVo campsiteSearchResultVo = new SearchResultVo();
campsiteSearchResultVo.put(ServiceConstant.CAMPSITE,campsiteShopPageVoServiceResultVo);
return ObjectRestResponse.succ(campsiteSearchResultVo);
case ServiceConstant.NEWS: case ServiceConstant.NEWS:
return articleController.getArticleList(page, limit, null, keyWord); ObjectRestResponse articleresult = articleController.getArticleList(page, limit, 1, keyWord);
PageInfo<Article> articlePageDataVO = (PageInfo<Article>)articleresult.getData();
List<Article> articleList = articlePageDataVO.getList();
Long articleTotalCount = articlePageDataVO.getTotal();
ServiceResultVo<Article> articleServiceResultVo = new ServiceResultVo<>();
articleServiceResultVo.setTotalCount(articleTotalCount);
articleServiceResultVo.setData(articleList);
SearchResultVo articleSearchResult= new SearchResultVo();
articleSearchResult.put(ServiceConstant.NEWS,articleServiceResultVo);
return ObjectRestResponse.succ(articleSearchResult);
case ServiceConstant.ACTIVITY: case ServiceConstant.ACTIVITY:
return summitActivityController.findSummitActivityWithPage(page, limit, null, keyWord); ObjectRestResponse<PageDataVO<SummitActivityVo>> summitActivityWithPage = summitActivityController.findSummitActivityWithPage(page, limit, null, keyWord);
List<SummitActivityVo> summitActivityVos = summitActivityWithPage.getData().getData();
Long summitTotalCount = summitActivityWithPage.getData().getTotalCount();
ServiceResultVo<SummitActivityVo> summitActivityVoServiceResultVo = new ServiceResultVo<>();
summitActivityVoServiceResultVo.setData(summitActivityVos);
summitActivityVoServiceResultVo.setTotalCount(summitTotalCount);
SearchResultVo summitActivitySearchResult = new SearchResultVo();
summitActivitySearchResult.put(ServiceConstant.ACTIVITY,summitActivityVoServiceResultVo);
return ObjectRestResponse.succ(summitActivitySearchResult);
default: default:
SearchResultVo searchResultVo = searchBiz.searchWithKeyWords(keyWord); return ObjectRestResponse.succ(searchBiz.searchWithKeyWords(keyWord));
return ObjectRestResponse.succ(searchResultVo);
} }
} }
} }
...@@ -49,6 +49,8 @@ public enum ResCode { ...@@ -49,6 +49,8 @@ public enum ResCode {
VEHICLE_UPKEEP_VEHICLE_DISABLE(106002,"车辆不可用"), VEHICLE_UPKEEP_VEHICLE_DISABLE(106002,"车辆不可用"),
VEHICLE_UPKEEP_ITEM_UNEXIST(106003, "保养项目不存在"), VEHICLE_UPKEEP_ITEM_UNEXIST(106003, "保养项目不存在"),
VEHICLE_UPKEEP_VEHICLE_UNUPKEEP(106004, "车辆不在保养中"), VEHICLE_UPKEEP_VEHICLE_UNUPKEEP(106004, "车辆不在保养中"),
VEHICLE_STATUS_IS_NOT_NORMAL(106005, "上次的出行未做收车操作, 请先收车"),
VEHICLE_IS_BOOKED_TODAY(106006, "车辆当前时段已经被预定"), VEHICLE_IS_BOOKED_TODAY(106006, "车辆当前时段已经被预定"),
FIND_VEHICLE_PLAT_FAILE(106007, "获取车型列表失败"), FIND_VEHICLE_PLAT_FAILE(106007, "获取车型列表失败"),
......
...@@ -60,7 +60,7 @@ public class VehicleActiveService { ...@@ -60,7 +60,7 @@ public class VehicleActiveService {
*/ */
public void departure(VehicleDepartureVo departureVo) { public void departure(VehicleDepartureVo departureVo) {
log.info("出车参数: departureVo = {}", departureVo.toString()); log.info("出车参数: departureVo = {}", departureVo.toString());
Vehicle vehicle = vehicleMapper.selectByPrimaryKey(departureVo.getVehicleId()); Vehicle vehicle = vehicleBiz.selectById(departureVo.getVehicleId());
if (vehicle == null) { if (vehicle == null) {
throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_UNEXIST.getDesc(), throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_UNEXIST.getDesc(),
ResCode.VEHICLE_DEPARTURE_VEHICLE_UNEXIST.getCode()); ResCode.VEHICLE_DEPARTURE_VEHICLE_UNEXIST.getCode());
...@@ -69,9 +69,9 @@ public class VehicleActiveService { ...@@ -69,9 +69,9 @@ public class VehicleActiveService {
throw new BaseException(ResCode.CHECKUSER_AND_PHONE_NOT_NULL.getDesc(), throw new BaseException(ResCode.CHECKUSER_AND_PHONE_NOT_NULL.getDesc(),
ResCode.CHECKUSER_AND_PHONE_NOT_NULL.getCode()); ResCode.CHECKUSER_AND_PHONE_NOT_NULL.getCode());
} }
if (vehicle.getStatus().equals(VehicleStatus.DISCARD.getCode()) || vehicle.getIsDel() == 1) { if (vehicle.getStatus().equals(VehicleStatus.DISCARD.getCode()) || vehicle.getIsDel() == 1 || vehicle.getStatus().equals(VehicleStatus.DEPARTURE.getCode())) {
throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_DISABLE.getDesc() + ", 车辆状态是:" + getVehicleStatus(vehicle.getStatus(), vehicle.getId()), throw new BaseException(ResCode.VEHICLE_STATUS_IS_NOT_NORMAL.getDesc(),
ResCode.VEHICLE_DEPARTURE_VEHICLE_DISABLE.getCode()); ResCode.VEHICLE_STATUS_IS_NOT_NORMAL.getCode());
} }
//添加出车时间过滤 再出车开始时间前一天至结束时间内可以出车,并且预定记录为已审核状态 //添加出车时间过滤 再出车开始时间前一天至结束时间内可以出车,并且预定记录为已审核状态
checkDateInvalid(departureVo); checkDateInvalid(departureVo);
...@@ -84,17 +84,20 @@ public class VehicleActiveService { ...@@ -84,17 +84,20 @@ public class VehicleActiveService {
if (MileageLift == null || MileageLift1 >= MileageLift) { if (MileageLift == null || MileageLift1 >= MileageLift) {
// 写入车辆公里数,预计目的地 // 写入车辆公里数,预计目的地
vehicle.setMileageLastUpdate(MileageLift1); vehicle.setMileageLastUpdate(MileageLift1);
vehicleMapper.updateByPrimaryKeySelective(vehicle);
// 修改车辆状态,确认是空闲状态 // 修改车辆状态,确认是空闲状态
int result = vehicleMapper.updateStatusByIdAndStatus(departureVo.getVehicleId(), VehicleStatus.DEPARTURE.getCode(), int result = vehicleMapper.updateStatusByIdAndStatus(departureVo.getVehicleId(), VehicleStatus.DEPARTURE.getCode(),
VehicleStatus.NORMAL.getCode()); VehicleStatus.NORMAL.getCode());
//修改预约记录状态 //修改预约记录状态
VehicleBookRecord vehicleBookRecord = null; VehicleBookRecord vehicleBookRecord = null;
if (departureVo.getBookRecordId() != null) { if (departureVo.getBookRecordId() != null) {
vehicleBookRecord = vehicleBookRecordBiz.selectById(departureVo.getBookRecordId()); vehicleBookRecord = vehicleBookRecordBiz.selectById(departureVo.getBookRecordId());
updateBookRecordStatus(vehicleBookRecord, 1); updateBookRecordStatus(vehicleBookRecord, 1);
} }
if (vehicleBookRecord != null) {
vehicle.setParkBranchCompanyId(vehicleBookRecord.getRetCompany());
}
vehicleMapper.updateByPrimaryKeySelective(vehicle);
VehicleDepartureLogVo vehicleDepartureLogVo = vehicleDepartureLogMapper.selectByBookRecordId(departureVo.getBookRecordId()); VehicleDepartureLogVo vehicleDepartureLogVo = vehicleDepartureLogMapper.selectByBookRecordId(departureVo.getBookRecordId());
if (vehicleDepartureLogVo != null) { if (vehicleDepartureLogVo != null) {
BeanUtil.copyProperties(departureVo, vehicleDepartureLogVo, CopyOptions.create().setIgnoreNullValue(true).setIgnoreError(true)); BeanUtil.copyProperties(departureVo, vehicleDepartureLogVo, CopyOptions.create().setIgnoreNullValue(true).setIgnoreError(true));
...@@ -208,9 +211,6 @@ public class VehicleActiveService { ...@@ -208,9 +211,6 @@ public class VehicleActiveService {
} }
// 写入车辆公里数,还车分公司id // 写入车辆公里数,还车分公司id
vehicle.setMileageLastUpdate(MileageRest1); vehicle.setMileageLastUpdate(MileageRest1);
if (vehicleBookRecord != null) {
vehicle.setParkBranchCompanyId(vehicleBookRecord.getRetCompany());
}
vehicleMapper.updateByPrimaryKeySelective(vehicle); vehicleMapper.updateByPrimaryKeySelective(vehicle);
// 出车记录 // 出车记录
VehicleDepartureLogVo departureLogVo = vehicleDepartureLogMapper.selectByBookRecordId(arrivalVo.getBookRecordId()); VehicleDepartureLogVo departureLogVo = vehicleDepartureLogMapper.selectByBookRecordId(arrivalVo.getBookRecordId());
......
...@@ -489,6 +489,25 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR ...@@ -489,6 +489,25 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
return Boolean.TRUE; return Boolean.TRUE;
} }
/**
*
* @param vehicleId
* @return
*/
public ObjectRestResponse checkVehicleStatus(String vehicleId) {
if (StringUtils.isBlank(vehicleId)) {
return ObjectRestResponse.paramIsEmpty();
}
Vehicle vehicle = mapper.selectByPrimaryKey(vehicleId);
if (vehicle == null) {
return ObjectRestResponse.createFailedResult(ResCode.VEHICLE_UPKEEP_VEHICLE_UNEXIST.getCode(), ResCode.VEHICLE_UPKEEP_VEHICLE_UNUPKEEP.getDesc());
}
if (vehicle.getStatus().equals(VehicleStatus.DEPARTURE.getCode()) || vehicle.getStatus().equals(VehicleStatus.DISCARD.getCode()) || vehicle.getIsDel() != 0) {
return ObjectRestResponse.createFailedResult(ResCode.VEHICLE_STATUS_IS_NOT_NORMAL.getCode(), ResCode.VEHICLE_STATUS_IS_NOT_NORMAL.getDesc());
}
return ObjectRestResponse.succ();
}
public boolean filterHourInfoBooked(String vehicleId, Map<String, Integer> hourInfo) { public boolean filterHourInfoBooked(String vehicleId, Map<String, Integer> hourInfo) {
if (MapUtils.isEmpty(hourInfo)) { if (MapUtils.isEmpty(hourInfo)) {
......
...@@ -3,6 +3,7 @@ package com.xxfc.platform.vehicle.rest; ...@@ -3,6 +3,7 @@ package com.xxfc.platform.vehicle.rest;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken; import com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.vehicle.biz.VehicleActiveService; import com.xxfc.platform.vehicle.biz.VehicleActiveService;
import com.xxfc.platform.vehicle.biz.VehicleBiz;
import com.xxfc.platform.vehicle.common.RestResponse; import com.xxfc.platform.vehicle.common.RestResponse;
import com.xxfc.platform.vehicle.constant.ResCode.ResCode; import com.xxfc.platform.vehicle.constant.ResCode.ResCode;
import com.xxfc.platform.vehicle.pojo.*; import com.xxfc.platform.vehicle.pojo.*;
...@@ -17,7 +18,8 @@ public class VehicleActiveController { ...@@ -17,7 +18,8 @@ public class VehicleActiveController {
@Autowired @Autowired
VehicleActiveService vehicleActiveService; VehicleActiveService vehicleActiveService;
@Autowired
VehicleBiz vehicleBiz;
/** /**
* 发车 * 发车
...@@ -32,6 +34,7 @@ public class VehicleActiveController { ...@@ -32,6 +34,7 @@ public class VehicleActiveController {
return RestResponse.codeAndMessage(ResCode.INVALID_REST_REQ_PARAM.getCode(), return RestResponse.codeAndMessage(ResCode.INVALID_REST_REQ_PARAM.getCode(),
ResCode.INVALID_REST_REQ_PARAM.getDesc()); ResCode.INVALID_REST_REQ_PARAM.getDesc());
} }
vehicleActiveService.departure(departureVo); vehicleActiveService.departure(departureVo);
return RestResponse.suc(); return RestResponse.suc();
} }
......
...@@ -485,6 +485,12 @@ public class VehicleController extends BaseController<VehicleBiz> implements Use ...@@ -485,6 +485,12 @@ public class VehicleController extends BaseController<VehicleBiz> implements Use
return ObjectRestResponse.succ(map); return ObjectRestResponse.succ(map);
} }
@GetMapping(value = "/app/unauth/checkVehicleStatus")
@ApiOperation(value = "检车车辆状态是否是正常状态")
public ObjectRestResponse checkVehicleStatus(String vehicleId) {
return vehicleBiz.checkVehicleStatus(vehicleId);
}
/** /**
* 保存 * 保存
* *
......
...@@ -526,7 +526,7 @@ ...@@ -526,7 +526,7 @@
</if> </if>
<!--增加时间限制,已审核的未出车小于当前时间的不显示, 已出车的结束时间延后两天小于当前时间的不显示--> <!--增加时间限制,已审核的未出车小于当前时间的不显示, 已出车的结束时间延后两天小于当前时间的不显示-->
<if test="flag == true and status == 2"> <if test="flag == true and status == 2">
and ( v4.id IS NOT NULL OR (v4.id IS NULL AND v1.book_end_date &gt;= now())) and ( (v4.id IS NOT NULL and DATE_ADD(v1.book_end_date,INTERVAL '2' DAY) >= now()) OR (v4.id IS NULL AND v1.book_end_date &gt;= now()))
</if> </if>
and v1.book_user != -2 and v1.book_user != -2
</where> </where>
......
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