Commit db5593d3 authored by jiaorz's avatar jiaorz

Merge branch 'feature-delay-add' into dev

# Conflicts:
#	xx-vehicle/xx-vehicle-api/src/main/java/com/xxfc/platform/vehicle/feign/VehicleFeign.java
parents 146b16c0 5bcbb36d
......@@ -10,6 +10,7 @@ import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.admin.vo.ImiVo;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.RandomUtil;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.mongodb.client.result.DeleteResult;
......@@ -24,6 +25,7 @@ import com.xxfc.platform.universal.constant.DictionaryKey;
import com.xxfc.platform.universal.entity.Dictionary;
import com.xxfc.platform.universal.feign.ThirdFeign;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.bson.types.ObjectId;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -124,6 +126,37 @@ public class MsgBiz {
return ObjectRestResponse.succ(goodPageInfo);
}
public ObjectRestResponse getHotMsgListWithoutOne(String messageId, Integer number) {
AppUserDTO appUserDTO = userBiz.getUserInfo();
Integer userId = null;
if (appUserDTO != null) {
userId = appUserDTO.getImUserid();
}
number = number == null ? 10 : number;
Query query = new Query(Criteria.where("body.type").is(4).and("count.praise").gt(getNumber()).and("visible").is(1));
query.with(new Sort(Sort.Direction.DESC, "count.praise"));
List<Msg> msgList = fetchAndAttach(mongoTemplate.find(query, Msg.class, "s_msg"), userId);
if (StringUtils.isNotBlank(messageId)) {
query = new Query(Criteria.where("_id").is(new ObjectId(messageId)));
Msg msg = mongoTemplate.findOne(query, Msg.class, "s_msg");
if (msg != null && msgList.contains(msg)) {
msgList.remove(msg);
}
}
Set<Msg> resultList = new HashSet<>();
if(CollectionUtils.isNotEmpty(msgList)) {
if(number >= msgList.size()) {
return ObjectRestResponse.succ(msgList);
}
Set<Integer> set = new HashSet<>();
RandomUtil.randomSet(msgList.size(), number, set, number);
for(Integer i : set) {
resultList.add(msgList.get(i));
}
}
return ObjectRestResponse.succ(resultList);
}
public ObjectRestResponse get(String id) {
//获取所有朋友圈
AppUserDTO appUserDTO = userBiz.getUserInfo();
......
......@@ -61,5 +61,8 @@ public class MsgController {
return msgBiz.getMsgList(msgQueryDto);
}
@GetMapping(value = "/app/unauth/getHostMsgList")
public ObjectRestResponse getHostMsgList(String messageId, Integer number) {
return msgBiz.getHotMsgListWithoutOne(messageId, number);
}
}
......@@ -8,6 +8,7 @@ public enum OrderViolateEnum {
BEFORE(1, "提前"),
AFTER(2, "延期"),
CHANGE(3, "更换还车公司"),
DELAY_VEHICLE(4, "延长还车不计免赔")
;
/**
* 编码
......
......@@ -52,7 +52,7 @@ public class OrderLog implements Serializable {
* 操作者id,另外 -1为系统
*/
@Column(name = "log_user_id")
@ApiModelProperty(value = "操作者id,另外 -1为系统")
@ApiModelProperty(value = "操作者id,另外 -1为系统 -1+id 为后台人员")
private Integer logUserId;
/**
......@@ -70,11 +70,25 @@ public class OrderLog implements Serializable {
private Long crtTime;
/**
* 日志类型 11--创建订单;12--创建订单;
* 更新时间
*/
@Column(name = "upd_time")
@ApiModelProperty(value = "更新时间", hidden = true )
private Long updTime;
/**
* 日志类型 101--创建订单;102--;
*/
@Column(name = "type")
@ApiModelProperty(value = "日志类型 11--创建订单;12--创建订单;")
@ApiModelProperty(value = "日志类型 101--创建订单;102--创建订单;201--")
private Integer type;
/**
* 详情
*/
@Column(name = "detail")
@ApiModelProperty(value = "详情")
private Integer detail;
}
......@@ -112,6 +112,12 @@ public class OrderVehicleCrosstown {
@Column(name = "violate_amount_detail")
private String violateDetail;
/**
* 延期还车,不计免赔额计算
*/
@Column(name = "delay_vehicle_detail")
private String delayVehicleDetail;
/**
* 1、交车, 2、还车, 3、定损还车
*/
......
......@@ -33,6 +33,7 @@ public class DedDetailDTO {
//作为:DedDetail :2、车辆损坏 3、其他
//作为:violate_amount_detail 1--提前还车 2--延期还车 3--更换还车公司费用
//作为:delay_vehicle_detail
Integer type;
//小雨都不知道什么东西
......
package com.xxfc.platform.order.pojo.calculate;
import cn.hutool.core.collection.CollUtil;
import com.xxfc.platform.order.pojo.price.DelayAddPriceVO;
import com.xxfc.platform.vehicle.pojo.dto.order.VMCalendarPriceCostDTO;
import lombok.Data;
import org.assertj.core.util.Lists;
......@@ -96,4 +97,10 @@ public class InProgressVO {
* 违约金 费用详情列表
*/
List<VMCalendarPriceCostDTO> violateAmountList = CollUtil.newArrayList();
/**
* 添加的延期费用
*/
DelayAddPriceVO delayAddPriceVO = new DelayAddPriceVO();
}
......@@ -40,6 +40,8 @@ public class OrderPageVO extends BaseOrder {
private String positionName;
//订单违约金
private String dedDetailDTO;
//订单延长还车,不计免赔额
private String delayVehicleDetail;
/**
* 車輛編碼
*/
......
package com.xxfc.platform.order.pojo.price;
import cn.hutool.core.collection.CollUtil;
import com.xxfc.platform.vehicle.pojo.dto.order.VMCalendarPriceCostDTO;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
@Data
public class DelayAddPriceVO {
/**
* 延期增加的天数
*/
Integer delayAddDays = 0;
/**
* 不计免赔单价
*/
BigDecimal damageSafePrice = BigDecimal.ZERO;
/**
* 延期不记免赔费用
*/
BigDecimal delayDamageSafeAmount = BigDecimal.ZERO;
/**
* 使用(消耗)详情列表
*/
List<VMCalendarPriceCostDTO> delayAmountList = CollUtil.newArrayList();
}
......@@ -348,6 +348,18 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
}
}
}
//延期扣除费用
if (StringUtils.isNotBlank(orderVehicleCrosstownDto.getDelayVehicleDetail())) {
JSONArray jsonArray = JSONArray.parseArray(orderVehicleCrosstownDto.getDelayVehicleDetail());
if (jsonArray != null && jsonArray.size() > 0) {
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject jsonObject = JSONObject.parseObject(jsonArray.get(i).toString());
if (jsonObject.getString("cost") != null) {
cost += Double.parseDouble(jsonObject.getString("cost"));
}
}
}
}
orderVehicleCrosstownDto.setUserLicenseImg(orderVehicleCrosstownDto.getLicenseImg());
//扣除费用,每次都是重新计算
BigDecimal amount = new BigDecimal(cost.toString()).divide(new BigDecimal("1"), 2, BigDecimal.ROUND_UP);
......
......@@ -62,7 +62,7 @@ import static com.github.wxiaoqi.security.common.constant.CommonConstants.DATE_T
import static com.github.wxiaoqi.security.common.constant.CommonConstants.YMR_SLASH_FORMATTER;
@Controller
@RequestMapping("baseOrder")
//@RequestMapping("baseOrder")
@Api(value = "订单后台相关", tags = {"订单后台相关"})
@Slf4j
public class BackStageOrderController extends CommonBaseController implements UserRestInterface {
......@@ -102,7 +102,7 @@ public class BackStageOrderController extends CommonBaseController implements Us
return userFeign;
}
@RequestMapping(value = "/getOrderList", method = RequestMethod.GET)
@RequestMapping(value = "/baseOrder/getOrderList", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "获取后台订单列表")
@IgnoreClientToken
......@@ -278,7 +278,7 @@ public class BackStageOrderController extends CommonBaseController implements Us
return new ObjectRestResponse<>().data(pageDataVO);
}
@RequestMapping(value = "/getVehicleList", method = RequestMethod.GET)
@RequestMapping(value = "/baseOrder/getVehicleList", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "交还车租车订单列表")
@IgnoreClientToken
......@@ -341,7 +341,7 @@ public class BackStageOrderController extends CommonBaseController implements Us
return new ObjectRestResponse<>().data(pageDataVO);
}
@RequestMapping(value = "/getTourList", method = RequestMethod.GET)
@RequestMapping(value = "/baseOrder/getTourList", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "交还车旅游订单列表")
@IgnoreClientToken
......@@ -356,7 +356,7 @@ public class BackStageOrderController extends CommonBaseController implements Us
return new ObjectRestResponse<>().data(pageDataVO);
}
@GetMapping(value = "/orderDetail")
@GetMapping(value = "/baseOrder/orderDetail")
@ApiOperation(value = "交还车获取订单详情,带驾驶人信息")
@IgnoreClientToken
@ResponseBody
......@@ -377,7 +377,7 @@ public class BackStageOrderController extends CommonBaseController implements Us
@ApiOperation("结合后台人员所属公司查询订单详情")
@RequestMapping(value = "/company/{no}", method = RequestMethod.GET)
@RequestMapping(value = "/baseOrder/company/{no}", method = RequestMethod.GET)
@IgnoreClientToken
@ResponseBody
public ObjectRestResponse<OrderPageVO> companyGet(@PathVariable String no) {
......@@ -395,7 +395,7 @@ public class BackStageOrderController extends CommonBaseController implements Us
}
@ApiOperation("更換車輛")
@RequestMapping(value = "/bg/change-vehicle", method = RequestMethod.POST)
@RequestMapping(value = "/baseOrder/bg/change-vehicle", method = RequestMethod.POST)
@IgnoreClientToken
@ResponseBody
public ObjectRestResponse<OrderPageVO> changeVehicle(@RequestBody ChangeVehicleDTO dto) {
......@@ -438,13 +438,25 @@ public class BackStageOrderController extends CommonBaseController implements Us
return ObjectRestResponse.succ();
}
@PostMapping("/updateEndCompany")
@ApiOperation("修改租车订单延期")
@RequestMapping(value = "/baseOrder/bg/delay-rent-order", method = RequestMethod.POST)
@IgnoreClientToken
@ResponseBody
public ObjectRestResponse<OrderPageVO> delayRentOrder(@RequestBody delayRentOrderDTO dto) {
checkAdminUser();
//根据订单号获取订单
return ObjectRestResponse.succ();
}
@PostMapping("/baseOrder/updateEndCompany")
@ResponseBody
public ObjectRestResponse updateEndCompany(@RequestBody OrderRentVehicleDetail orderRentVehicleDetail) {
return baseOrderBiz.save(orderRentVehicleDetail);
}
@GetMapping(value = "/getAll")
@GetMapping(value = "/baseOrder/getAll")
@ResponseBody
public ObjectRestResponse getAllOrderList(BaseOrderController.QueryOrderList dto) {
return backgroundBaseOrderBiz.getAllOrderList(dto);
......@@ -456,6 +468,12 @@ public class BackStageOrderController extends CommonBaseController implements Us
String numberPlate;
}
@Data
public static class delayRentOrderDTO {
Integer no;
Long delayEndTime;
}
private Query initCompanyQuery(String no) {
BackStageOrderController.QueryOrderDetailDTO qodd = new BackStageOrderController.QueryOrderDetailDTO();
//查询公司id
......
......@@ -204,4 +204,12 @@ public interface VehicleFeign {
@GetMapping("/branchCompany/company_info")
Map<Integer, String> findCompanyMap();
/**
* 订单修改订单时间,同时需要修改预定记录
* * @param bookVehicleVo
* @return
*/
@RequestMapping(value = "/vehicleInfo/bookRecord/order-update", method = RequestMethod.POST)
public RestResponse updateOrderBookRecord(@RequestBody BookVehicleVO bookVehicleVo) throws Exception;
}
......@@ -229,6 +229,24 @@ public class VehicleController extends BaseController<VehicleBiz> implements Use
return RestResponse.suc();
}
/**
* 订单修改订单时间,同时需要修改预定记录
* * @param bookVehicleVo
* @return
*/
@RequestMapping(value = "/bookRecord/order-update", method = RequestMethod.POST)
@ApiOperation(value = "订单修改订单时间")
public RestResponse updateOrderBookRecord(@RequestBody BookVehicleVO bookVehicleVo) throws Exception {
Integer operatorId = Integer.parseInt(BaseContextHandler.getUserID());
String userName = BaseContextHandler.getName();
bookVehicleVo.setStatus(VehicleBookRecordStatus.APPROVE.getCode());
bookVehicleVo.setNotCheckTimeLegal(Boolean.FALSE);
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