Commit 2820495f authored by hezhen's avatar hezhen

Merge branch 'base-modify' of http://113.105.137.151:22280/youjj/cloud-platform into base-modify

parents 79652939 d7fffb3a
...@@ -203,11 +203,14 @@ public class AppUserRelationBiz extends BaseBiz<AppUserRelationMapper,AppUserRel ...@@ -203,11 +203,14 @@ public class AppUserRelationBiz extends BaseBiz<AppUserRelationMapper,AppUserRel
List<InviteMemberBO> inviteMemberBOS = new ArrayList<>(); List<InviteMemberBO> inviteMemberBOS = new ArrayList<>();
InviteMemberBO inviteMemberBO; InviteMemberBO inviteMemberBO;
for (AppUserRelation appUserRelation : appUserRelations) { for (AppUserRelation appUserRelation : appUserRelations) {
if (userIdAndUserLoginMap==null || userIdAndUserDetailMap==null){
continue;
}
inviteMemberBO = new InviteMemberBO(); inviteMemberBO = new InviteMemberBO();
inviteMemberBO.setBindTime(appUserRelation.getBindTime()); inviteMemberBO.setBindTime(appUserRelation.getBindTime());
inviteMemberBO.setJoinTime(appUserRelation.getBindTime()); inviteMemberBO.setJoinTime(appUserRelation.getBindTime());
inviteMemberBO.setUsername(userIdAndUserLoginMap.get(appUserRelation.getUserId()).getUsername()); inviteMemberBO.setUsername(userIdAndUserLoginMap==null?"":userIdAndUserLoginMap.get(appUserRelation.getUserId())==null?"":userIdAndUserLoginMap.get(appUserRelation.getUserId()).getUsername());
inviteMemberBO.setHeadUrl(userIdAndUserDetailMap.get(appUserRelation.getUserId()).getHeadimgurl()); inviteMemberBO.setHeadUrl(userIdAndUserDetailMap==null?"":userIdAndUserDetailMap.get(appUserRelation.getUserId())==null?"":userIdAndUserDetailMap.get(appUserRelation.getUserId()).getHeadimgurl());
inviteMemberBOS.add(inviteMemberBO); inviteMemberBOS.add(inviteMemberBO);
} }
inviteMemberVo.setTotalCount(pageDataVO.getTotalCount().intValue()); inviteMemberVo.setTotalCount(pageDataVO.getTotalCount().intValue());
......
...@@ -23,10 +23,10 @@ FROM ...@@ -23,10 +23,10 @@ FROM
(select id,user_id,source,amount,cono,itype,activity_id,activity_name,`crt_time` FROM `my_wallet_detail` <if test="sourceType != null"> (select id,user_id,source,amount,cono,itype,activity_id,activity_name,`crt_time` FROM `my_wallet_detail` <if test="sourceType != null">
WHERE `source`=#{sourceType} WHERE `source`=#{sourceType}
</if>) AS `wd` </if>) AS `wd`
LEFT JOIN (SELECT id,username FROM `app_user_login`<if test="phone != null and phone != ''"> INNER JOIN (SELECT id,username FROM `app_user_login`<if test="phone != null and phone != ''">
WHERE `username`=#{phone} WHERE `username`=#{phone}
</if>) AS `aul` ON aul.id = wd.user_id </if>) AS `aul` ON aul.id = wd.user_id
LEFT JOIN (SELECT userid,nickname,realname FROM `app_user_detail`<if test="userName != null and userName != ''"> INNER JOIN (SELECT userid,nickname,realname FROM `app_user_detail`<if test="userName != null and userName != ''">
WHERE `nickname`=#{userName} OR `realname`=#{userName} WHERE `nickname`=#{userName} OR `realname`=#{userName}
</if>) AS `aud` ON aud.userid = aul.id </if>) AS `aud` ON aud.userid = aul.id
LEFT JOIN (SELECT DISTINCT order_id,id,price,extract,waiting,title FROM `app_user_selling_water`) AS `ausw` ON ausw.order_id = wd.cono LEFT JOIN (SELECT DISTINCT order_id,id,price,extract,waiting,title FROM `app_user_selling_water`) AS `ausw` ON ausw.order_id = wd.cono
......
...@@ -108,12 +108,12 @@ public class IntegralSignRecordBiz extends BaseBiz<IntegralSignRecordMapper, Int ...@@ -108,12 +108,12 @@ public class IntegralSignRecordBiz extends BaseBiz<IntegralSignRecordMapper, Int
addPoint(objectRestResponse.getData(),integralSignRecord, appUserDTO, integralSignRecord.getSignDays()); addPoint(objectRestResponse.getData(),integralSignRecord, appUserDTO, integralSignRecord.getSignDays());
return ObjectRestResponse.succ(objectRestResponse.getData().getPoint()); return ObjectRestResponse.succ(objectRestResponse.getData().getPoint());
} }
return ObjectRestResponse.createFailedResult(1006,"签到次数已达到上限,请下次再来"); return ObjectRestResponse.createFailedResult(1006,"今日已签到!");
} }
} else { } else {
return ObjectRestResponse.createFailedResult(1003,"签到规则不存在!"); return ObjectRestResponse.createFailedResult(1003,"签到规则不存在!");
} }
} }
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} }
......
...@@ -58,10 +58,10 @@ public class IntegralUserRecordBiz extends BaseBiz<IntegralUserRecordMapper, Int ...@@ -58,10 +58,10 @@ public class IntegralUserRecordBiz extends BaseBiz<IntegralUserRecordMapper, Int
return ObjectRestResponse.createFailedResult(1202, "积分规则不存在"); return ObjectRestResponse.createFailedResult(1202, "积分规则不存在");
} }
Integer point = 0; Integer point = 0;
IntegralRule oldValue = ruleObjectRestResponse.getData();
if(ruleObjectRestResponse.getData().getPoint() == 0) {//没有基础分需要计算分数 if(oldValue.getPoint() == 0) {//没有基础分需要计算分数
Integer amount = Integer.parseInt(new BigDecimal(integralUserRecord.getAmount()).divide(new BigDecimal("100"), 0, BigDecimal.ROUND_DOWN).toString()); Integer amount = Integer.parseInt(new BigDecimal(integralUserRecord.getAmount()).divide(new BigDecimal("100"), 0, BigDecimal.ROUND_DOWN).toString());
JSONObject jsonObject = JSONObject.parseObject(ruleObjectRestResponse.getData().getOtherRule()); JSONObject jsonObject = JSONObject.parseObject(oldValue.getOtherRule());
log.info("查询的其他规则json信息:jsonObject = {}", jsonObject); log.info("查询的其他规则json信息:jsonObject = {}", jsonObject);
if(jsonObject == null) { if(jsonObject == null) {
point = ruleObjectRestResponse.getData().getPoint(); point = ruleObjectRestResponse.getData().getPoint();
......
...@@ -57,17 +57,23 @@ public class MsgBiz { ...@@ -57,17 +57,23 @@ public class MsgBiz {
Query query = null; Query query = null;
List<Msg> msgList = null; List<Msg> msgList = null;
if (type != null) { if (type != null) {
query = new Query(Criteria.where("body.type").is(type)).with(pageable); query = new Query(Criteria.where("body.type").is(type));
int totalSize = mongoTemplate.find(query, Msg.class, "s_msg").size();
query.with(pageable);
msgList = fetchAndAttach(mongoTemplate.find(query, Msg.class, "s_msg"), userId); msgList = fetchAndAttach(mongoTemplate.find(query, Msg.class, "s_msg"), userId);
PageInfo<MsgVo> goodPageInfo = new PageInfo<>(replaceMsgResult(msgList)); PageInfo<MsgVo> goodPageInfo = new PageInfo<>(replaceMsgResult(msgList));
goodPageInfo.setPageSize(totalSize%limit == 0 ?totalSize/limit : totalSize/limit + 1);
return ObjectRestResponse.succ(goodPageInfo); return ObjectRestResponse.succ(goodPageInfo);
} else { } else {
List<Integer> ids = new ArrayList<>(); List<Integer> ids = new ArrayList<>();
ids.add(2); ids.add(2);
ids.add(4); ids.add(4);
query = new Query(Criteria.where("body.type").in(ids)).with(pageable); query = new Query(Criteria.where("body.type").in(ids));
int totalSize = mongoTemplate.find(query, Msg.class, "s_msg").size();
query.with(pageable);
msgList = fetchAndAttach(mongoTemplate.find(query, Msg.class, "s_msg"), userId); msgList = fetchAndAttach(mongoTemplate.find(query, Msg.class, "s_msg"), userId);
PageInfo<MsgVo> goodPageInfo = new PageInfo<>(replaceMsgResult(msgList)); PageInfo<MsgVo> goodPageInfo = new PageInfo<>(replaceMsgResult(msgList));
goodPageInfo.setPageSize(totalSize%limit == 0 ?totalSize/limit : totalSize/limit + 1);
return ObjectRestResponse.succ(goodPageInfo); return ObjectRestResponse.succ(goodPageInfo);
} }
...@@ -81,10 +87,13 @@ public class MsgBiz { ...@@ -81,10 +87,13 @@ public class MsgBiz {
List<Integer> ids = new ArrayList<>(); List<Integer> ids = new ArrayList<>();
ids.add(2); ids.add(2);
ids.add(4); ids.add(4);
Query query = new Query(Criteria.where("body.type").in(ids)).with(pageable); Query query = new Query(Criteria.where("body.type").in(ids));
int totalSize = mongoTemplate.find(query, Msg.class, "s_msg").size();
query.with(pageable);
query.with(new Sort(Sort.Direction.DESC, "count.praise")); query.with(new Sort(Sort.Direction.DESC, "count.praise"));
List<Msg> msgList = mongoTemplate.find(query, Msg.class, "s_msg"); List<Msg> msgList = mongoTemplate.find(query, Msg.class, "s_msg");
PageInfo<MsgVo> goodPageInfo = new PageInfo<>(replaceMsgResult(msgList)); PageInfo<MsgVo> goodPageInfo = new PageInfo<>(replaceMsgResult(msgList));
goodPageInfo.setPageSize(totalSize%limit == 0 ?totalSize/limit : totalSize/limit + 1);
return ObjectRestResponse.succ(goodPageInfo); return ObjectRestResponse.succ(goodPageInfo);
} }
......
...@@ -4,8 +4,8 @@ import java.util.HashMap; ...@@ -4,8 +4,8 @@ import java.util.HashMap;
import java.util.Map; import java.util.Map;
public enum RefundTypeEnum { public enum RefundTypeEnum {
RentVehicle(1, "订单款"), ORDER_FUND(1, "订单款"),
TOUR(2, "押金"), DEPOSIT(2, "押金"),
; ;
/** /**
* 编码 * 编码
......
package com.xxfc.platform.order.entity; package com.xxfc.platform.order.entity;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.*;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.math.BigDecimal;
/** /**
* 租车订单详情 * 租车订单详情
...@@ -297,7 +300,7 @@ public class OrderRentVehicleDetail implements Serializable { ...@@ -297,7 +300,7 @@ public class OrderRentVehicleDetail implements Serializable {
/** /**
* 是否处理违章 0--未处理;1--已处理 * 是否处理违章 0--未处理;1--已处理
*/ */
@ApiModelProperty(value = "是否购买免赔") @ApiModelProperty(value = "是否处理违章")
@Column(name = "handel_violation") @Column(name = "handel_violation")
private Integer handelViolation; private Integer handelViolation;
......
...@@ -123,4 +123,7 @@ public class OrderVehicleCrosstown { ...@@ -123,4 +123,7 @@ public class OrderVehicleCrosstown {
* 驾驶人Id * 驾驶人Id
*/ */
private String userLicenseId; private String userLicenseId;
//操作人ID
private Integer orperaterId;
} }
\ No newline at end of file
...@@ -5,6 +5,7 @@ import javax.persistence.Column; ...@@ -5,6 +5,7 @@ import javax.persistence.Column;
import javax.persistence.GeneratedValue; import javax.persistence.GeneratedValue;
import javax.persistence.Id; import javax.persistence.Id;
import javax.persistence.Table; import javax.persistence.Table;
import java.math.BigDecimal;
import java.math.BigInteger; import java.math.BigInteger;
@Data @Data
...@@ -19,7 +20,7 @@ public class OrderViolation { ...@@ -19,7 +20,7 @@ public class OrderViolation {
* 违章总金额 * 违章总金额
*/ */
@Column(name="price") @Column(name="price")
private Double price; private BigDecimal price;
/** /**
......
...@@ -27,4 +27,6 @@ public class OrderVehicleCrosstownDto extends OrderVehicleCrosstown { ...@@ -27,4 +27,6 @@ public class OrderVehicleCrosstownDto extends OrderVehicleCrosstown {
private String licenseIdCard; private String licenseIdCard;
private String vehicleNumberPlat; private String vehicleNumberPlat;
private String username;
} }
...@@ -172,7 +172,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> { ...@@ -172,7 +172,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
OrderVehicleCrosstownDto orderVehicleCrosstownDto = new OrderVehicleCrosstownDto(); OrderVehicleCrosstownDto orderVehicleCrosstownDto = new OrderVehicleCrosstownDto();
orderVehicleCrosstownDto.setOrderId(orderPageVo.getId()); orderVehicleCrosstownDto.setOrderId(orderPageVo.getId());
orderVehicleCrosstownDto.setOrderNo(orderPageVo.getNo()); orderVehicleCrosstownDto.setOrderNo(orderPageVo.getNo());
List<OrderVehicleCrosstown> orderVehicleCrosstowns = orderVehicalCrosstownBiz.selectByOrderId(orderVehicleCrosstownDto); List<OrderVehicleCrosstownDto> orderVehicleCrosstowns = orderVehicalCrosstownBiz.selectByOrderId(orderVehicleCrosstownDto);
if(orderVehicleCrosstowns != null && orderVehicleCrosstowns.size() > 0) { if(orderVehicleCrosstowns != null && orderVehicleCrosstowns.size() > 0) {
List<OrderUserLicense> orderUserLicenses = orderUserLicenseBiz.selectByIds(orderVehicleCrosstowns.get(0).getUserLicenseId()).getData(); List<OrderUserLicense> orderUserLicenses = orderUserLicenseBiz.selectByIds(orderVehicleCrosstowns.get(0).getUserLicenseId()).getData();
if(orderUserLicenses != null && orderUserLicenses.size() > 0) { if(orderUserLicenses != null && orderUserLicenses.size() > 0) {
...@@ -326,7 +326,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> { ...@@ -326,7 +326,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
//退款金额 //退款金额
BigDecimal refundAmount = depositAmount.add(refundGoodsAmount); BigDecimal refundAmount = depositAmount.add(refundGoodsAmount);
//退款子流程: 订单基础,退款描述,退款金额 //退款子流程: 订单基础,退款描述,退款金额
refundSubProcess(baseOrder, refundDesc, refundAmount, RefundTypeEnum.RentVehicle.getCode(), RefundStatusEnum.ALL.getCode()); refundSubProcess(baseOrder, refundDesc, refundAmount, RefundTypeEnum.ORDER_FUND.getCode(), RefundStatusEnum.ALL.getCode());
} }
public BigDecimal calculateRefund(BigDecimal goodsAmount, Long timeLag, String dicParentKey, String refundDesc) { public BigDecimal calculateRefund(BigDecimal goodsAmount, Long timeLag, String dicParentKey, String refundDesc) {
...@@ -412,7 +412,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> { ...@@ -412,7 +412,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
setOrderId(orderId); setOrderId(orderId);
setRefundTime(System.currentTimeMillis()); setRefundTime(System.currentTimeMillis());
setTradeNo(refundTradeNo); setTradeNo(refundTradeNo);
setRefundType(RefundTypeEnum.RentVehicle.getCode()); setRefundType(RefundTypeEnum.ORDER_FUND.getCode());
}}; }};
orderRefund.setRefundAmount(refundAmount); orderRefund.setRefundAmount(refundAmount);
orderRefund.setRefundDesc(refundDesc); orderRefund.setRefundDesc(refundDesc);
...@@ -523,6 +523,18 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> { ...@@ -523,6 +523,18 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
* @return * @return
*/ */
public BaseOrder updateSelectiveByIdReT(BaseOrder baseOrder) { public BaseOrder updateSelectiveByIdReT(BaseOrder baseOrder) {
return updateSelectiveByIdReT(baseOrder, false);
}
/**
* 更新(不成功抛异常)
* @param baseOrder
* @return
*/
public BaseOrder updateSelectiveByIdReT(BaseOrder baseOrder, boolean needVersion) {
if(needVersion) {
baseOrder.setVersion(selectById(baseOrder.getId()).getVersion());
}
if(updateSelectiveByIdRe(baseOrder) > 0) { if(updateSelectiveByIdRe(baseOrder) > 0) {
return selectById(baseOrder.getId()); return selectById(baseOrder.getId());
}else { }else {
...@@ -530,6 +542,19 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> { ...@@ -530,6 +542,19 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
} }
} }
// /**
// * 更新(不成功抛异常)
// * @param baseOrder
// * @return
// */
// public BaseOrder updateSelectiveByIdReT(BaseOrder baseOrder) {
// if(updateSelectiveByIdRe(baseOrder) > 0) {
// return selectById(baseOrder.getId());
// }else {
// throw new BaseException(ResultCode.DB_OPERATION_FAIL_CODE);
// }
// }
public boolean getTodyTime(Long time) { public boolean getTodyTime(Long time) {
Long startTime = getDayStart(); Long startTime = getDayStart();
if(time > startTime && time < startTime + 24 * 60 * 60 * 1000 - 1) { if(time > startTime && time < startTime + 24 * 60 * 60 * 1000 - 1) {
......
...@@ -6,6 +6,7 @@ import com.xxfc.platform.order.entity.BaseOrder; ...@@ -6,6 +6,7 @@ import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.entity.OrderRentVehicleDetail; import com.xxfc.platform.order.entity.OrderRentVehicleDetail;
import com.xxfc.platform.order.entity.OrderVehicleCrosstown; import com.xxfc.platform.order.entity.OrderVehicleCrosstown;
import com.xxfc.platform.order.pojo.DedDetailDTO; import com.xxfc.platform.order.pojo.DedDetailDTO;
import com.xxfc.platform.order.pojo.mq.OrderMQDTO;
import com.xxfc.platform.universal.constant.DictionaryKey; import com.xxfc.platform.universal.constant.DictionaryKey;
import com.xxfc.platform.universal.entity.Dictionary; import com.xxfc.platform.universal.entity.Dictionary;
import com.xxfc.platform.universal.feign.ThirdFeign; import com.xxfc.platform.universal.feign.ThirdFeign;
...@@ -15,8 +16,6 @@ import org.springframework.stereotype.Service; ...@@ -15,8 +16,6 @@ import org.springframework.stereotype.Service;
import com.xxfc.platform.order.entity.OrderRefund; import com.xxfc.platform.order.entity.OrderRefund;
import com.xxfc.platform.order.mapper.OrderRefundMapper; import com.xxfc.platform.order.mapper.OrderRefundMapper;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import tk.mybatis.mapper.entity.Example;
import tk.mybatis.mapper.weekend.WeekendSqls;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List; import java.util.List;
...@@ -45,39 +44,35 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> { ...@@ -45,39 +44,35 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> {
@Autowired @Autowired
OrderVehicalCrosstownBiz crosstownBiz; OrderVehicalCrosstownBiz crosstownBiz;
public void refundDeposit(){ public void refundDeposit(OrderMQDTO orderMQDTO){
Map<String, Dictionary> dictionaryMap = thirdFeign.dictionaryGetAll4Map().getData(); Map<String, Dictionary> dictionaryMap = thirdFeign.dictionaryGetAll4Map().getData();
BigDecimal illegalReserve = new BigDecimal(dictionaryMap.get(APP_ORDER+ "_"+ DictionaryKey.ILLEGAL_RESERVE).getDetail()); BigDecimal illegalReserve = new BigDecimal(dictionaryMap.get(APP_ORDER+ "_"+ DictionaryKey.ILLEGAL_RESERVE).getDetail());
List<BaseOrder> lists = baseOrderBiz.selectByExample(new Example.Builder(BaseOrder.class) //未退还, 进行保留违章预备金 的退还
//订单已完成的租车订单 if(RefundStatusEnum.NONE.getCode().equals(orderMQDTO.getRefundStatus())) {
.where(WeekendSqls.<BaseOrder>custom().andEqualTo(BaseOrder::getType, OrderTypeEnum.RENT_VEHICLE) OrderVehicleCrosstown crosstown = crosstownBiz.selectOne(new OrderVehicleCrosstown(){{
.andEqualTo(BaseOrder::getStatus, OrderStatusEnum.ORDER_FINISH) setOrderId(orderMQDTO.getId());
// .andLike(BaseOrder::getId, "%"+ String.valueOf(i)) setType(CrosstownTypeEnum.TOUR.getCode());
).build());
//处理自动退押金
for(BaseOrder baseOrder : lists) {
OrderRentVehicleDetail orvd = orderRentVehicleBiz.selectOne(new OrderRentVehicleDetail() {{
setOrderId(baseOrder.getId());
}}); }});
//未退还, 进行保留违章预备金 的退还 //还车扣除款 剩余的 钱,再减去违章预备金
if(RefundStatusEnum.NONE.getCode().equals(baseOrder.getRefundStatus())) { BigDecimal refundAmont = crosstown.getRestDeposit().subtract(illegalReserve);
OrderVehicleCrosstown crosstown = crosstownBiz.selectOne(new OrderVehicleCrosstown(){{ List<DedDetailDTO> dddList = JSONUtil.toBean(crosstown.getDedDetail(), List.class);
setOrderId(baseOrder.getId()); String refundDesc = "退还押金:"+ refundAmont.toString()+ "(已扣除 违章预备金:"+ illegalReserve.toString();
setType(CrosstownTypeEnum.TOUR.getCode()); for(DedDetailDTO ddd : dddList) {
}}); refundDesc += ", "+ ddd.getDeductions()+ ":"+ ddd.getCost();
BigDecimal refundAmont = crosstown.getRestDeposit().subtract(illegalReserve);
List<DedDetailDTO> dddList = JSONUtil.toBean(crosstown.getDedDetail(), List.class);
String refundDesc = "退还押金:"+ refundAmont.toString()+ "(已扣除 违章预备金:"+ illegalReserve.toString();
for(DedDetailDTO ddd : dddList) {
refundDesc += ", "+ ddd.getDeductions()+ ":"+ ddd.getCost();
}
refundDesc += ")";
//退款子流程: 订单基础,退款描述,退款金额
baseOrderBiz.refundSubProcess(baseOrder, refundDesc, refundAmont, RefundTypeEnum.RentVehicle.getCode(), RefundStatusEnum.RESIDUE_ILLEGAL.getCode());
//设置剩余
} }
refundDesc += ")";
refundTrigger(orderMQDTO, orderMQDTO.getOrderRentVehicleDetail(), illegalReserve, refundAmont, refundDesc, RefundStatusEnum.RESIDUE_ILLEGAL.getCode());
} }
} }
public void refundTrigger(BaseOrder baseOrder, OrderRentVehicleDetail orvd, BigDecimal residueAmount, BigDecimal refundAmont, String refundDesc, Integer refundStatus) {
//退款子流程: 订单基础,退款描述,退款金额
baseOrderBiz.refundSubProcess(baseOrder, refundDesc, refundAmont, RefundTypeEnum.DEPOSIT.getCode(), refundStatus);
//设置剩余没有返还的钱
orderRentVehicleBiz.updateSelectiveById(new OrderRentVehicleDetail(){{
setId(orvd.getId());
setReturnPayResidue(residueAmount);
}});
}
} }
\ No newline at end of file
...@@ -2,8 +2,11 @@ package com.xxfc.platform.order.biz; ...@@ -2,8 +2,11 @@ package com.xxfc.platform.order.biz;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions; import cn.hutool.core.bean.copier.CopyOptions;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.activity.user.UserInfoBiz;
import com.xxfc.platform.order.entity.BaseOrder; import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.entity.OrderRentVehicleDetail; import com.xxfc.platform.order.entity.OrderRentVehicleDetail;
import com.xxfc.platform.order.entity.OrderUserLicense; import com.xxfc.platform.order.entity.OrderUserLicense;
...@@ -30,9 +33,12 @@ public class OrderVehicalCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -30,9 +33,12 @@ public class OrderVehicalCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
@Autowired @Autowired
OrderUserLicenseBiz orderUserLicenseBiz; OrderUserLicenseBiz orderUserLicenseBiz;
@Autowired
UserInfoBiz userInfoBiz;
@Autowired @Autowired
VehicleFeign vehicleFeign; VehicleFeign vehicleFeign;
@Autowired
UserFeign userFeign;
@Autowired @Autowired
private OrderRentVehicleBiz orderRentVehicleBiz; private OrderRentVehicleBiz orderRentVehicleBiz;
...@@ -43,21 +49,45 @@ public class OrderVehicalCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -43,21 +49,45 @@ public class OrderVehicalCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
return selectById(id); return selectById(id);
} }
public List<OrderVehicleCrosstown> selectByOrderId(OrderVehicleCrosstownDto orderVehicleCrosstownDto) { public List<OrderVehicleCrosstownDto> selectByOrderId(OrderVehicleCrosstownDto orderVehicleCrosstownDto) {
return mapper.selectByOrderId(orderVehicleCrosstownDto); List<OrderVehicleCrosstownDto> list = mapper.selectByOrderId(orderVehicleCrosstownDto);
for(OrderVehicleCrosstownDto value : list) {
if (value.getOrperaterId() != null) {
ObjectRestResponse<AppUserDTO> objectRestResponse = userFeign.userDetailById(value.getOrperaterId());
if(objectRestResponse.getData() != null) {
value.setUsername(objectRestResponse.getData().getNickname());
}
}
if(value.getUserLicenseId() != null) {
List<OrderUserLicense> orderUserLicenses = orderUserLicenseBiz.selectByIds(value.getUserLicenseId()).getData();
if(orderUserLicenses != null && orderUserLicenses.size() > 0) {
value.setLicenseIdCard(orderUserLicenses.get(0).getLicenseIdCard());
value.setLicenseImg(orderUserLicenses.get(0).getLicenseImg());
value.setLicenseName(orderUserLicenses.get(0).getLicenseName());
value.setLicensePhone(orderUserLicenses.get(0).getLicensePhone());
}
}
}
return list;
} }
public ObjectRestResponse<OrderVehicleCrosstownDto> add(OrderVehicleCrosstownDto orderVehicleCrosstownDto) { public ObjectRestResponse<OrderVehicleCrosstownDto> add(OrderVehicleCrosstownDto orderVehicleCrosstownDto) {
log.info("添加的参数:orderVehicaleCrosstown = {}", orderVehicleCrosstownDto); log.info("添加的参数:orderVehicaleCrosstown = {}", orderVehicleCrosstownDto);
AppUserDTO appUserDTO = userInfoBiz.getUserInfo();
if (appUserDTO == null) {
return ObjectRestResponse.createFailedResult(508, "token is null or invalid");
}
if (orderVehicleCrosstownDto == null || orderVehicleCrosstownDto.getOrderId() == null ) { if (orderVehicleCrosstownDto == null || orderVehicleCrosstownDto.getOrderId() == null ) {
return ObjectRestResponse.createFailedResult(500, "参数为空!"); return ObjectRestResponse.createFailedResult(500, "参数为空!");
} }
orderVehicleCrosstownDto.setOrperaterId(appUserDTO.getUserid());
BaseOrder baseOrder = baseOrderBiz.selectById(orderVehicleCrosstownDto.getOrderId()); BaseOrder baseOrder = baseOrderBiz.selectById(orderVehicleCrosstownDto.getOrderId());
if(baseOrder == null) { if(baseOrder == null) {
return ObjectRestResponse.createFailedResult(500,"订单不存在!"); return ObjectRestResponse.createFailedResult(500,"订单不存在!");
} }
OrderRentVehicleDetail orderRentVehicleDetail = orderRentVehicleBiz.selectById(baseOrder.getDetailId()); OrderRentVehicleDetail orderRentVehicleDetail = orderRentVehicleBiz.selectById(baseOrder.getDetailId());
List<OrderVehicleCrosstown> oldValue = orderVehicalCrosstownBiz.selectByOrderId(orderVehicleCrosstownDto); List<OrderVehicleCrosstownDto> oldValue = orderVehicalCrosstownBiz.selectByOrderId(orderVehicleCrosstownDto);
if (oldValue .size() == 1) { if (oldValue .size() == 1) {
//已有直接返回 //已有直接返回
//交车完成 设置订单状态为出行中 //交车完成 设置订单状态为出行中
......
...@@ -2,13 +2,12 @@ package com.xxfc.platform.order.jobhandler; ...@@ -2,13 +2,12 @@ package com.xxfc.platform.order.jobhandler;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.github.wxiaoqi.security.common.util.IntervalUtil; import com.github.wxiaoqi.security.common.util.IntervalUtil;
import com.xxfc.platform.order.biz.BaseOrderBiz; import com.xxfc.platform.order.biz.*;
import com.xxfc.platform.order.biz.OrderRentVehicleBiz;
import com.xxfc.platform.order.biz.OrderVehicalCrosstownBiz;
import com.xxfc.platform.order.contant.enumerate.*; import com.xxfc.platform.order.contant.enumerate.*;
import com.xxfc.platform.order.entity.BaseOrder; import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.entity.OrderRentVehicleDetail; import com.xxfc.platform.order.entity.OrderRentVehicleDetail;
import com.xxfc.platform.order.entity.OrderVehicleCrosstown; import com.xxfc.platform.order.entity.OrderVehicleCrosstown;
import com.xxfc.platform.order.entity.OrderViolation;
import com.xxfc.platform.order.pojo.DedDetailDTO; import com.xxfc.platform.order.pojo.DedDetailDTO;
import com.xxfc.platform.universal.constant.DictionaryKey; import com.xxfc.platform.universal.constant.DictionaryKey;
import com.xxfc.platform.universal.entity.Dictionary; import com.xxfc.platform.universal.entity.Dictionary;
...@@ -27,6 +26,7 @@ import java.math.BigDecimal; ...@@ -27,6 +26,7 @@ import java.math.BigDecimal;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_FALSE;
import static com.xxfc.platform.universal.constant.DictionaryKey.APP_ORDER; import static com.xxfc.platform.universal.constant.DictionaryKey.APP_ORDER;
/** /**
...@@ -37,7 +37,7 @@ import static com.xxfc.platform.universal.constant.DictionaryKey.APP_ORDER; ...@@ -37,7 +37,7 @@ import static com.xxfc.platform.universal.constant.DictionaryKey.APP_ORDER;
@JobHandler(value = "rentDepositHandler") @JobHandler(value = "rentDepositHandler")
@Component @Component
@Slf4j @Slf4j
public class RentDepositHandler extends IJobHandler { public class RentDepositJobHandler extends IJobHandler {
@Autowired @Autowired
BaseOrderBiz baseOrderBiz; BaseOrderBiz baseOrderBiz;
...@@ -48,50 +48,51 @@ public class RentDepositHandler extends IJobHandler { ...@@ -48,50 +48,51 @@ public class RentDepositHandler extends IJobHandler {
@Autowired @Autowired
OrderVehicalCrosstownBiz crosstownBiz; OrderVehicalCrosstownBiz crosstownBiz;
@Autowired
OrderViolationBiz orderViolationBiz;
@Autowired
OrderRefundBiz orderRefundBiz;
@Autowired @Autowired
ThirdFeign thirdFeign; ThirdFeign thirdFeign;
@Override @Override
public ReturnT<String> execute(String idLastNumInterval) throws Exception { public ReturnT<String> execute(String idLastNumInterval) throws Exception {
Map<String, Dictionary> dictionaryMap = thirdFeign.dictionaryGetAll4Map().getData(); Map<String, Dictionary> dictionaryMap = thirdFeign.dictionaryGetAll4Map().getData();
BigDecimal illegalReserve = new BigDecimal(dictionaryMap.get(APP_ORDER+ "_"+ DictionaryKey.ILLEGAL_RESERVE).getDetail()); Integer rentDepositAutoRefundTime = new Integer(dictionaryMap.get(APP_ORDER+ "_"+ DictionaryKey.RENT_DEPOSIT_AUTO_REFUND_TIME).getDetail());
try { try {
for(int i = 0; i < 10; i++) { for(int i = 0; i < 10; i++) {
if(IntervalUtil.staticIsInTheInterval(String.valueOf(i), idLastNumInterval)) { if(IntervalUtil.staticIsInTheInterval(String.valueOf(i), idLastNumInterval)) {
//三十天
List<BaseOrder> lists = baseOrderBiz.selectByExample(new Example.Builder(BaseOrder.class) List<BaseOrder> lists = baseOrderBiz.selectByExample(new Example.Builder(BaseOrder.class)
//订单已完成的租车订单 //订单已完成的租车订单
.where(WeekendSqls.<BaseOrder>custom().andEqualTo(BaseOrder::getType, OrderTypeEnum.RENT_VEHICLE) .where(WeekendSqls.<BaseOrder>custom().andEqualTo(BaseOrder::getType, OrderTypeEnum.RENT_VEHICLE)
.andEqualTo(BaseOrder::getStatus, OrderStatusEnum.ORDER_FINISH) .andEqualTo(BaseOrder::getStatus, OrderStatusEnum.ORDER_FINISH) //已完成的订单
.andLike(BaseOrder::getId, "%"+ String.valueOf(i))).build()); .andEqualTo(BaseOrder::getRefundStatus, RefundStatusEnum.RESIDUE_ILLEGAL) //已归还了部分押金
.andLessThanOrEqualTo(BaseOrder::getRefundTime, System.currentTimeMillis() - (rentDepositAutoRefundTime * 60 * 60 * 1000))
.andLike(BaseOrder::getId, "%"+ i)).build());
//处理自动退押金 //处理自动退剩余押金
for(BaseOrder baseOrder : lists) { for(BaseOrder baseOrder : lists) {
OrderRentVehicleDetail orvd = orderRentVehicleBiz.selectOne(new OrderRentVehicleDetail() {{ OrderRentVehicleDetail orvd = orderRentVehicleBiz.selectOne(new OrderRentVehicleDetail() {{
setOrderId(baseOrder.getId()); setOrderId(baseOrder.getId());
}}); }});
//未退还, 进行保留违章预备金 的退还
if(RefundStatusEnum.NONE.getCode().equals(baseOrder.getRefundStatus())) { OrderViolation orderViolation = orderViolationBiz.selectOne(new OrderViolation(){{
OrderVehicleCrosstown crosstown = crosstownBiz.selectOne(new OrderVehicleCrosstown(){{ setDetailId(orvd.getId());
setOrderId(baseOrder.getId()); setIsDel(SYS_FALSE);
setType(CrosstownTypeEnum.TOUR.getCode()); }});
}});
BigDecimal refundAmont = crosstown.getRestDeposit().subtract(illegalReserve); //还车扣除款 剩余的 钱,再减去违章预备金
List<DedDetailDTO> dddList = JSONUtil.toBean(crosstown.getDedDetail(), List.class); BigDecimal refundAmont = orvd.getReturnPayResidue().subtract(orderViolation.getPrice());
String refundDesc = "退还押金:"+ refundAmont.toString()+ "(已扣除 违章预备金:"+ illegalReserve.toString(); String refundDesc = "退还押金:"+ refundAmont.toString()+ "(已扣除 违章扣款:"+ refundAmont.toString();
for(DedDetailDTO ddd : dddList) { // for(DedDetailDTO ddd : dddList) {
refundDesc += ", "+ ddd.getDeductions()+ ":"+ ddd.getCost(); // refundDesc += ", "+ ddd.getDeductions()+ ":"+ ddd.getCost();
} // }
refundDesc += ")"; refundDesc += ")";
//退款子流程: 订单基础,退款描述,退款金额 orderRefundBiz.refundTrigger(baseOrder, orvd, refundAmont, refundAmont, refundDesc, RefundStatusEnum.REFUND_DEPOSIT.getCode());
baseOrderBiz.refundSubProcess(baseOrder, refundDesc, refundAmont, RefundTypeEnum.RentVehicle.getCode(), RefundStatusEnum.RESIDUE_ILLEGAL.getCode());
//设置剩余
}else if(RefundStatusEnum.RESIDUE_ILLEGAL.getCode().equals(baseOrder.getRefundStatus())){
//判断是否违章
//扣违章的钱
//baseOrderBiz.refundSubProcess(baseOrder, refundDesc, refundAmont, RefundTypeEnum.RENT_VEHICLE.getCode(), RefundStatusEnum.RESIDUE_ILLEGAL.getCode());
}
// baseOrderBiz.refundSubProcess(baseOrder, refundDesc, refundAmont);
} }
} }
......
...@@ -8,6 +8,6 @@ import java.util.List; ...@@ -8,6 +8,6 @@ import java.util.List;
public interface OrderVehicaleCrosstownMapper extends Mapper<OrderVehicleCrosstown> { public interface OrderVehicaleCrosstownMapper extends Mapper<OrderVehicleCrosstown> {
List<OrderVehicleCrosstown> selectByOrderId(OrderVehicleCrosstownDto orderVehicleCrosstownDto); List<OrderVehicleCrosstownDto> selectByOrderId(OrderVehicleCrosstownDto orderVehicleCrosstownDto);
} }
\ No newline at end of file
package com.xxfc.platform.order.mqhandler;
import cn.hutool.json.JSONUtil;
import com.github.wxiaoqi.security.admin.dto.OrderGoodsDTO;
import com.github.wxiaoqi.security.admin.dto.OrderWaterDTO;
import com.rabbitmq.client.Channel;
import com.xxfc.platform.order.biz.OrderRefundBiz;
import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum;
import com.xxfc.platform.order.pojo.mq.OrderMQDTO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.amqp.support.AmqpHeaders;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.messaging.handler.annotation.Headers;
import org.springframework.stereotype.Component;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Map;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import static com.xxfc.platform.order.config.RabbitOrderConfig.ORDER_DEPOSIT_REFUND_QUEUE;
import static com.xxfc.platform.order.pojo.mq.OrderMQDTO.*;
@Component
@Slf4j
public class RefundMQHandler {
@Autowired
OrderRefundBiz orderRefundBiz;
/**
* 佣金
* @param
*/
@RabbitListener(queues = ORDER_DEPOSIT_REFUND_QUEUE)
public void integralHandler(Message message, @Headers Map<String, Object> headers, Channel channel) {
ExecutorService executorService = Executors.newCachedThreadPool();
executorService.execute(new Runnable() {
@Override
public void run() {
try {
String messageId = message.getMessageProperties().getMessageId();
String msg = new String(message.getBody(), "UTF-8");
OrderMQDTO orderMQDTO = JSONUtil.toBean(msg, OrderMQDTO.class);
orderRefundBiz.refundDeposit(orderMQDTO);
executorService.shutdown();
Long deliveryTag = (Long) headers.get(AmqpHeaders.DELIVERY_TAG);
// 手动签收
channel.basicAck(deliveryTag, false);
} catch (Exception e) {
log.info("接收到的消息失败");
try {
channel.basicNack(message.getMessageProperties().getDeliveryTag(), false, false);
} catch (IOException i) {
i.printStackTrace();
}
e.printStackTrace();
}
}
});
}
}
...@@ -20,8 +20,11 @@ import com.github.wxiaoqi.security.common.util.process.ResultCode; ...@@ -20,8 +20,11 @@ import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.github.wxiaoqi.security.common.vo.PageDataVO; import com.github.wxiaoqi.security.common.vo.PageDataVO;
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.biz.OrderUserLicenseBiz;
import com.xxfc.platform.order.biz.OrderVehicalCrosstownBiz;
import com.xxfc.platform.order.contant.enumerate.OrderStatusEnum; import com.xxfc.platform.order.contant.enumerate.OrderStatusEnum;
import com.xxfc.platform.order.entity.BaseOrder; import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.entity.OrderUserLicense;
import com.xxfc.platform.order.mqhandler.RabbitProduct; import com.xxfc.platform.order.mqhandler.RabbitProduct;
import com.xxfc.platform.order.pojo.order.*; import com.xxfc.platform.order.pojo.order.*;
import com.xxfc.platform.order.pojo.pay.OrderPayDTO; import com.xxfc.platform.order.pojo.pay.OrderPayDTO;
...@@ -73,6 +76,10 @@ public class BaseOrderController extends CommonBaseController implements UserRes ...@@ -73,6 +76,10 @@ public class BaseOrderController extends CommonBaseController implements UserRes
@Autowired @Autowired
OrderMemberDetailBiz orderMemberDetailBiz; OrderMemberDetailBiz orderMemberDetailBiz;
@Autowired
OrderUserLicenseBiz orderUserLicenseBiz;
@Autowired
OrderVehicalCrosstownBiz orderVehicalCrosstownBiz;
@Override @Override
public UserFeign getUserFeign() { public UserFeign getUserFeign() {
...@@ -178,6 +185,19 @@ public class BaseOrderController extends CommonBaseController implements UserRes ...@@ -178,6 +185,19 @@ public class BaseOrderController extends CommonBaseController implements UserRes
if (restResponse.getData() != null) { if (restResponse.getData() != null) {
orderPageVO.setVehicleNumberPlat(restResponse.getData().getNumberPlate()); orderPageVO.setVehicleNumberPlat(restResponse.getData().getNumberPlate());
} }
if(StringUtils.isNotBlank(orderPageVO.getOrderRentVehicleDetail().getMyDriverIds())) {
List<OrderUserLicense> orderUserLicenses = orderUserLicenseBiz.selectByIds(orderPageVO.getOrderRentVehicleDetail().getMyDriverIds()).getData();
if(orderUserLicenses != null && orderUserLicenses.size() > 0) {
OrderVehicleCrosstownDto orderVehicleCrosstownDto = new OrderVehicleCrosstownDto();
orderVehicleCrosstownDto.setLicenseIdCard(orderUserLicenses.get(0).getLicenseIdCard());
orderVehicleCrosstownDto.setLicenseImg(orderUserLicenses.get(0).getLicenseImg());
orderVehicleCrosstownDto.setLicenseName(orderUserLicenses.get(0).getLicenseName());
orderVehicleCrosstownDto.setLicensePhone(orderUserLicenses.get(0).getLicensePhone());
orderPageVO.setOrderVehicleCrosstownDto(orderVehicleCrosstownDto);
}
}
} }
if(orderPageVO.getOrderRentVehicleDetail() != null && orderPageVO.getOrderRentVehicleDetail().getStartCompanyId()!= null && orderPageVO.getOrderRentVehicleDetail().getEndCompanyId() != null) { if(orderPageVO.getOrderRentVehicleDetail() != null && orderPageVO.getOrderRentVehicleDetail().getStartCompanyId()!= null && orderPageVO.getOrderRentVehicleDetail().getEndCompanyId() != null) {
ObjectRestResponse<CompanyDetail> startResponse = vehicleFeign.getCompanyDetail(orderPageVO.getOrderRentVehicleDetail().getStartCompanyId()); ObjectRestResponse<CompanyDetail> startResponse = vehicleFeign.getCompanyDetail(orderPageVO.getOrderRentVehicleDetail().getStartCompanyId());
...@@ -197,6 +217,8 @@ public class BaseOrderController extends CommonBaseController implements UserRes ...@@ -197,6 +217,8 @@ public class BaseOrderController extends CommonBaseController implements UserRes
orderPageVO.setStartCompanyName(startResponse.getData().getName()); orderPageVO.setStartCompanyName(startResponse.getData().getName());
} }
} }
} }
} }
......
...@@ -16,7 +16,7 @@ import org.springframework.web.bind.annotation.*; ...@@ -16,7 +16,7 @@ import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
@RestController @RestController
@RequestMapping(value = "/orderVehicle") @RequestMapping(value = "orderVehicle")
@Api(value = "交还车记录", tags = {"交还车记录"}) @Api(value = "交还车记录", tags = {"交还车记录"})
@Slf4j @Slf4j
public class OrderVehicleCrosstownController { public class OrderVehicleCrosstownController {
...@@ -34,6 +34,7 @@ public class OrderVehicleCrosstownController { ...@@ -34,6 +34,7 @@ public class OrderVehicleCrosstownController {
@ApiOperation(value = "添加交还车记录") @ApiOperation(value = "添加交还车记录")
@Transactional @Transactional
public ObjectRestResponse<OrderVehicleCrosstownDto> add(@RequestBody OrderVehicleCrosstownDto orderVehicleCrosstownDto) { public ObjectRestResponse<OrderVehicleCrosstownDto> add(@RequestBody OrderVehicleCrosstownDto orderVehicleCrosstownDto) {
return orderVehicalCrosstownBiz.add(orderVehicleCrosstownDto); return orderVehicalCrosstownBiz.add(orderVehicleCrosstownDto);
} }
...@@ -45,7 +46,7 @@ public class OrderVehicleCrosstownController { ...@@ -45,7 +46,7 @@ public class OrderVehicleCrosstownController {
@GetMapping(value = "/getByOrderId") @GetMapping(value = "/getByOrderId")
@ApiOperation(value = "根据订单Id获取所有记录信息") @ApiOperation(value = "根据订单Id获取所有记录信息")
public ObjectRestResponse<List<OrderVehicleCrosstown>> getByOrderId(OrderVehicleCrosstownDto orderVehicleCrosstownDto) { public ObjectRestResponse<List<OrderVehicleCrosstownDto>> getByOrderId(OrderVehicleCrosstownDto orderVehicleCrosstownDto) {
if (orderVehicleCrosstownDto == null) { if (orderVehicleCrosstownDto == null) {
return ObjectRestResponse.createFailedResult(500, "参数orderId为空"); return ObjectRestResponse.createFailedResult(500, "参数orderId为空");
} }
......
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
<result column="user_license_id" jdbcType="VARCHAR" property="userLicenseId"/> <result column="user_license_id" jdbcType="VARCHAR" property="userLicenseId"/>
</resultMap> </resultMap>
<select id="selectByOrderId" parameterType="com.xxfc.platform.order.pojo.order.OrderVehicleCrosstownDto" resultMap="BaseResultMap"> <select id="selectByOrderId" parameterType="com.xxfc.platform.order.pojo.order.OrderVehicleCrosstownDto" resultType="com.xxfc.platform.order.pojo.order.OrderVehicleCrosstownDto">
select * select *
from order_vehicle_crosstown from order_vehicle_crosstown
<where> <where>
......
...@@ -42,4 +42,9 @@ public class DictionaryKey { ...@@ -42,4 +42,9 @@ public class DictionaryKey {
* 支付价格减低 * 支付价格减低
*/ */
public static final String PAY_DEMOTION = "PAY_DEMOTION"; public static final String PAY_DEMOTION = "PAY_DEMOTION";
/**
* 自动退款保留押金的时间(小时)
*/
public static final String RENT_DEPOSIT_AUTO_REFUND_TIME = "RENT_DEPOSIT_AUTO_REFUND_TIME";
} }
...@@ -11,4 +11,5 @@ import java.util.List; ...@@ -11,4 +11,5 @@ import java.util.List;
public class VehicleAndModelInfoVo extends Vehicle { public class VehicleAndModelInfoVo extends Vehicle {
VehicleModel vehicleModel; VehicleModel vehicleModel;
List<VehicleBookRecord> vehicleBookRecord; List<VehicleBookRecord> vehicleBookRecord;
private String endCompanyName;
} }
package com.xxfc.platform.vehicle.pojo; package com.xxfc.platform.vehicle.pojo;
import com.xxfc.platform.vehicle.entity.VehicleWarningRule;
import lombok.Data; import lombok.Data;
import java.util.Date; import java.util.Date;
...@@ -9,7 +10,7 @@ import java.util.Date; ...@@ -9,7 +10,7 @@ import java.util.Date;
* *
*/ */
@Data @Data
public class VehicleWarningMsgQueryVo { public class VehicleWarningMsgQueryVo{
public Integer id; public Integer id;
/** /**
...@@ -66,4 +67,6 @@ public class VehicleWarningMsgQueryVo { ...@@ -66,4 +67,6 @@ public class VehicleWarningMsgQueryVo {
private Date createTime; private Date createTime;
private Date updateTime; private Date updateTime;
VehicleWarningRule vehicleWarningRule;
} }
...@@ -71,6 +71,13 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany ...@@ -71,6 +71,13 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany
return mapper.selectByPrimaryKey(id); return mapper.selectByPrimaryKey(id);
} }
public List<BranchCompany> selectByZoneId(Integer zoneId) {
if(zoneId == null) {
return null;
}
return mapper.selectByZoneId(zoneId);
}
/** /**
* 获取公司信息 * 获取公司信息
* @param id * @param id
......
...@@ -2,7 +2,6 @@ package com.xxfc.platform.vehicle.biz; ...@@ -2,7 +2,6 @@ package com.xxfc.platform.vehicle.biz;
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 com.ace.cache.annotation.Cache;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
...@@ -317,6 +316,8 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> { ...@@ -317,6 +316,8 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
Map<String,List<String>> yearMonthAndDate = Maps.newHashMap(); Map<String,List<String>> yearMonthAndDate = Maps.newHashMap();
DateTime startDay =DateTime.parse(bookVehicleVo.getBookStartDate(),DEFAULT_DATE_TIME_FORMATTER); DateTime startDay =DateTime.parse(bookVehicleVo.getBookStartDate(),DEFAULT_DATE_TIME_FORMATTER);
DateTime endDay =DateTime.parse(bookVehicleVo.getBookEndDate(), DEFAULT_DATE_TIME_FORMATTER); DateTime endDay =DateTime.parse(bookVehicleVo.getBookEndDate(), DEFAULT_DATE_TIME_FORMATTER);
//转换日期范围为列表,并检查是否合法 //转换日期范围为列表,并检查是否合法
fillDateList4DatePeriod(yearMonthAndDate,startDay,endDay); fillDateList4DatePeriod(yearMonthAndDate,startDay,endDay);
if(yearMonthAndDate.size()>3){//连续的日期最多夸3个月 if(yearMonthAndDate.size()>3){//连续的日期最多夸3个月
...@@ -1088,6 +1089,13 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> { ...@@ -1088,6 +1089,13 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
public PageDataVO<VehicleAndModelInfoVo> getAllVehicle(VehiclePlanDto vehiclePlanDto) { public PageDataVO<VehicleAndModelInfoVo> getAllVehicle(VehiclePlanDto vehiclePlanDto) {
Query query = new Query(vehiclePlanDto); Query query = new Query(vehiclePlanDto);
PageDataVO<VehicleAndModelInfoVo> pageDataVO = PageDataVO.pageInfo(query, () -> mapper.getAllVehicle(query.getSuper())); PageDataVO<VehicleAndModelInfoVo> pageDataVO = PageDataVO.pageInfo(query, () -> mapper.getAllVehicle(query.getSuper()));
for(VehicleAndModelInfoVo vehicleAndModelInfoVo : pageDataVO.getData()) {
CompanyDetail restResponse = branchCompanyBiz.getDetailById(vehicleAndModelInfoVo.getParkBranchCompanyId());
if(restResponse != null) {
vehicleAndModelInfoVo.setEndCompanyName(restResponse.getName());
}
}
return pageDataVO; return pageDataVO;
} }
......
package com.xxfc.platform.vehicle.biz; package com.xxfc.platform.vehicle.biz;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
...@@ -72,7 +70,6 @@ public class VehicleBookHourInfoBiz extends BaseBiz<VehicleBookHourInfoMapper, V ...@@ -72,7 +70,6 @@ public class VehicleBookHourInfoBiz extends BaseBiz<VehicleBookHourInfoMapper, V
} }
} }
return predictableHours; return predictableHours;
} }
// public static void main(String[] args) { // public static void main(String[] args) {
......
...@@ -14,6 +14,7 @@ import com.xxfc.platform.vehicle.entity.VehicleWarningRule; ...@@ -14,6 +14,7 @@ import com.xxfc.platform.vehicle.entity.VehicleWarningRule;
import com.xxfc.platform.vehicle.mapper.VehicleMapper; import com.xxfc.platform.vehicle.mapper.VehicleMapper;
import com.xxfc.platform.vehicle.mapper.VehicleWarningMsgMapper; import com.xxfc.platform.vehicle.mapper.VehicleWarningMsgMapper;
import com.xxfc.platform.vehicle.mapper.VehicleWarningRuleMapper; import com.xxfc.platform.vehicle.mapper.VehicleWarningRuleMapper;
import com.xxfc.platform.vehicle.pojo.VehicleWarningMsgQueryVo;
import com.xxfc.platform.vehicle.pojo.dto.VehiclePlanDto; import com.xxfc.platform.vehicle.pojo.dto.VehiclePlanDto;
import com.xxfc.platform.vehicle.util.JSUtil; import com.xxfc.platform.vehicle.util.JSUtil;
import com.xxfc.platform.vehicle.pojo.AddVehicleWarningMsgVo; import com.xxfc.platform.vehicle.pojo.AddVehicleWarningMsgVo;
...@@ -213,8 +214,9 @@ public class VehicleWarningMsgBiz extends BaseBiz<VehicleWarningMsgMapper, Vehic ...@@ -213,8 +214,9 @@ public class VehicleWarningMsgBiz extends BaseBiz<VehicleWarningMsgMapper, Vehic
} }
} }
public List<VehicleWarningMsg> getAllByParam(VehiclePlanDto vehiclePlanDto) { public List<VehicleWarningMsgQueryVo> getAllByParam(VehiclePlanDto vehiclePlanDto) {
return mapper.getAllByparam(vehiclePlanDto); List<VehicleWarningMsgQueryVo> list = mapper.getAllByparam(vehiclePlanDto);
return list;
} }
} }
...@@ -8,4 +8,5 @@ import java.util.List; ...@@ -8,4 +8,5 @@ import java.util.List;
public interface BranchCompanyMapper extends Mapper<BranchCompany> { public interface BranchCompanyMapper extends Mapper<BranchCompany> {
List<BranchCompany> search(@Param("lon") String lon, @Param("lat") String lat, @Param("addrCity") Integer addrCity); List<BranchCompany> search(@Param("lon") String lon, @Param("lat") String lat, @Param("addrCity") Integer addrCity);
List<BranchCompany> selectByZoneId(Integer zoneId);
} }
\ No newline at end of file
...@@ -2,6 +2,7 @@ package com.xxfc.platform.vehicle.mapper; ...@@ -2,6 +2,7 @@ package com.xxfc.platform.vehicle.mapper;
import com.xxfc.platform.vehicle.entity.VehicleWarningMsg; import com.xxfc.platform.vehicle.entity.VehicleWarningMsg;
import com.xxfc.platform.vehicle.pojo.QueryVehicleWarningMsgVo; import com.xxfc.platform.vehicle.pojo.QueryVehicleWarningMsgVo;
import com.xxfc.platform.vehicle.pojo.VehicleWarningMsgQueryVo;
import com.xxfc.platform.vehicle.pojo.dto.VehiclePlanDto; import com.xxfc.platform.vehicle.pojo.dto.VehiclePlanDto;
import tk.mybatis.mapper.common.Mapper; import tk.mybatis.mapper.common.Mapper;
...@@ -16,6 +17,6 @@ public interface VehicleWarningMsgMapper extends Mapper<VehicleWarningMsg> { ...@@ -16,6 +17,6 @@ public interface VehicleWarningMsgMapper extends Mapper<VehicleWarningMsg> {
public List<VehicleWarningMsg> getMsgByVehicle(String vehicleId); public List<VehicleWarningMsg> getMsgByVehicle(String vehicleId);
public List<VehicleWarningMsg> getAllByparam(VehiclePlanDto vehiclePlanDto); public List<VehicleWarningMsgQueryVo> getAllByparam(VehiclePlanDto vehiclePlanDto);
} }
...@@ -4,6 +4,5 @@ import com.xxfc.platform.vehicle.entity.VehicleWarningRule; ...@@ -4,6 +4,5 @@ import com.xxfc.platform.vehicle.entity.VehicleWarningRule;
import tk.mybatis.mapper.common.Mapper; import tk.mybatis.mapper.common.Mapper;
public interface VehicleWarningRuleMapper extends Mapper<VehicleWarningRule> { public interface VehicleWarningRuleMapper extends Mapper<VehicleWarningRule> {
VehicleWarningRule getOne(Integer id);
} }
...@@ -91,6 +91,11 @@ public class BranchCompanyController extends BaseController<BranchCompanyBiz> { ...@@ -91,6 +91,11 @@ public class BranchCompanyController extends BaseController<BranchCompanyBiz> {
return RestResponse.data(baseBiz.add(branchCompanyVo)); return RestResponse.data(baseBiz.add(branchCompanyVo));
} }
@RequestMapping(value ="/app/unauth/getByZone",method = RequestMethod.GET)
public RestResponse getByZoneId(Integer zoneId) {
return RestResponse.suc( baseBiz.selectByZoneId(zoneId));
}
@RequestMapping(value ="/upload/companyPic",method = RequestMethod.POST) @RequestMapping(value ="/upload/companyPic",method = RequestMethod.POST)
public RestResponse uploadCompanyPic(@RequestParam("file") MultipartFile file) public RestResponse uploadCompanyPic(@RequestParam("file") MultipartFile file)
throws Exception{ throws Exception{
......
...@@ -26,7 +26,6 @@ import com.xxfc.platform.vehicle.constant.VehicleBookRecordStatus; ...@@ -26,7 +26,6 @@ import com.xxfc.platform.vehicle.constant.VehicleBookRecordStatus;
import com.xxfc.platform.vehicle.entity.Vehicle; import com.xxfc.platform.vehicle.entity.Vehicle;
import com.xxfc.platform.vehicle.entity.VehicleBookInfo; import com.xxfc.platform.vehicle.entity.VehicleBookInfo;
import com.xxfc.platform.vehicle.entity.VehicleBookRecord; import com.xxfc.platform.vehicle.entity.VehicleBookRecord;
import com.xxfc.platform.vehicle.entity.VehicleWarningMsg;
import com.xxfc.platform.vehicle.pojo.*; import com.xxfc.platform.vehicle.pojo.*;
import com.xxfc.platform.vehicle.pojo.dto.VehiclePlanDto; import com.xxfc.platform.vehicle.pojo.dto.VehiclePlanDto;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -425,7 +424,7 @@ public class VehicleController extends BaseController<VehicleBiz> { ...@@ -425,7 +424,7 @@ public class VehicleController extends BaseController<VehicleBiz> {
//获取统计信息 //获取统计信息
List<VehicleCountVo> vehicleCountVos = baseBiz.countVehicleByParam(vehiclePlanDto); List<VehicleCountVo> vehicleCountVos = baseBiz.countVehicleByParam(vehiclePlanDto);
//获取警告信息 //获取警告信息
List<VehicleWarningMsg> vehicleWarningMsgs = vehicleWarningMsgBiz.getAllByParam(vehiclePlanDto); List<VehicleWarningMsgQueryVo> vehicleWarningMsgs = vehicleWarningMsgBiz.getAllByParam(vehiclePlanDto);
//获取列表 //获取列表
PageDataVO<VehicleAndModelInfoVo> pageDataVO = baseBiz.getAllVehicle(vehiclePlanDto); PageDataVO<VehicleAndModelInfoVo> pageDataVO = baseBiz.getAllVehicle(vehiclePlanDto);
Map<String, Object> map = Maps.newHashMap(); Map<String, Object> map = Maps.newHashMap();
......
...@@ -39,4 +39,8 @@ ...@@ -39,4 +39,8 @@
order by distance asc order by distance asc
</if> </if>
</select> </select>
<select id="selectByZoneId" parameterType="java.lang.Integer" resultType="com.xxfc.platform.vehicle.entity.BranchCompany">
select * from branch_company
where zone_id = #{zoneId}
</select>
</mapper> </mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xxfc.platform.vehicle.mapper.VehicleWarningMsgMapper"> <mapper namespace="com.xxfc.platform.vehicle.mapper.VehicleWarningMsgMapper">
<resultMap type="com.xxfc.platform.vehicle.pojo.VehicleWarningMsgQueryVo" id="vehicleListMap">
<result javaType="Integer" column="id" property="id"></result>
<association column="rule_id" property="vehicleWarningRule" select="com.xxfc.platform.vehicle.mapper.VehicleWarningRuleMapper.selectByPrimaryKey" javaType="com.xxfc.platform.vehicle.entity.VehicleWarningRule"></association>
</resultMap>
<select id="getByPage" resultType="com.xxfc.platform.vehicle.pojo.VehicleWarningMsgQueryVo" <select id="getByPage" resultType="com.xxfc.platform.vehicle.pojo.VehicleWarningMsgQueryVo"
parameterType="com.xxfc.platform.vehicle.pojo.QueryVehicleWarningMsgVo"> parameterType="com.xxfc.platform.vehicle.pojo.QueryVehicleWarningMsgVo">
select select
...@@ -25,7 +32,7 @@ ...@@ -25,7 +32,7 @@
where vehicle_id = #{_parameter} where vehicle_id = #{_parameter}
</select> </select>
<select id="getAllByparam" parameterType="com.xxfc.platform.vehicle.pojo.dto.VehiclePlanDto" resultType="com.xxfc.platform.vehicle.entity.VehicleWarningMsg" > <select id="getAllByparam" parameterType="com.xxfc.platform.vehicle.pojo.dto.VehiclePlanDto" resultMap="vehicleListMap" >
select w.* select w.*
from vehicle_warning_msg w from vehicle_warning_msg w
left join vehicle v on w.vehicle_id = v.id left join vehicle v on w.vehicle_id = v.id
......
...@@ -5,6 +5,8 @@ ...@@ -5,6 +5,8 @@
<select id="getByPage" parameterType="com.xxfc.platform.vehicle.pojo.QueryVehicleWarningMsgVo" resultType="com.xxfc.platform.vehicle.entity.VehicleWarningMsg" > <select id="getByPage" parameterType="com.xxfc.platform.vehicle.pojo.QueryVehicleWarningMsgVo" resultType="com.xxfc.platform.vehicle.entity.VehicleWarningMsg" >
</select> </select>
<select id="getOne" resultType="com.xxfc.platform.vehicle.entity.VehicleWarningRule" parameterType="java.lang.Integer">
select * from vehicle_warning_rule where id = #{id}
</select>
</mapper> </mapper>
\ No newline at end of file
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