Commit f6ee4cf0 authored by jiaorz's avatar jiaorz

Merge branch 'master-modify-cutAmount' into dev

parents 56e3a3f9 3a568907
...@@ -8,6 +8,7 @@ import com.github.wxiaoqi.security.admin.entity.AppUserLogin; ...@@ -8,6 +8,7 @@ import com.github.wxiaoqi.security.admin.entity.AppUserLogin;
import com.github.wxiaoqi.security.admin.vo.UserTeamMemberVo; import com.github.wxiaoqi.security.admin.vo.UserTeamMemberVo;
import com.github.wxiaoqi.security.common.vo.PageDataVO; import com.github.wxiaoqi.security.common.vo.PageDataVO;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -108,7 +109,9 @@ public class UserBusinessBiz { ...@@ -108,7 +109,9 @@ public class UserBusinessBiz {
promoteBO.setLeaderUsername(userIdAndUserLoginMap.get(leaderId).getUsername()); promoteBO.setLeaderUsername(userIdAndUserLoginMap.get(leaderId).getUsername());
} }
if (!userIdAndUserDetailMap.isEmpty()) { if (!userIdAndUserDetailMap.isEmpty()) {
promoteBO.setLeaderHeadUrl(userIdAndUserDetailMap.get(leaderId).getHeadimgurl()); AppUserDetail appUserDetail = userIdAndUserDetailMap.get(leaderId);
promoteBO.setLeaderHeadUrl(StringUtils.isEmpty(appUserDetail.getHeadimgurl()) ? "" : appUserDetail.getHeadimgurl());
promoteBO.setLeaderUsername(StringUtils.isEmpty(appUserDetail.getRealname()) ? promoteBO.getLeaderUsername() : appUserDetail.getRealname());
} }
} }
promoteBO.setInviteNumber(memberStateAndCountMap.get(0)); promoteBO.setInviteNumber(memberStateAndCountMap.get(0));
......
...@@ -33,25 +33,34 @@ FROM ...@@ -33,25 +33,34 @@ FROM
</select> </select>
<select id="selectSellerWalterByUserIdAndWating" resultType="com.github.wxiaoqi.security.admin.vo.SellingWalletVo"> <select id="selectSellerWalterByUserIdAndWating" resultType="com.github.wxiaoqi.security.admin.vo.SellingWalletVo">
<!-- SELECT <!--
* SELECT
FROM e.*,
( f.order_no AS `f_order`,
SELECT f.outcommission,
ausw.*, ( IFNULL( e.incommission, 0 ) - IFNULL( f.outcommission, 0 ) ) AS `final_commission` ,
IFNULL( ausw.commission, 0 ) - IFNULL( auswt.commission, 0 ) AS `commissionnm`, f.sellerStatus,
auswt.status AS sellerStatus, f.cancelTime
IFNULL(auswt.status,0) AS `isShow` FROM
FROM (
( SELECT * FROM `app_user_selling_water` WHERE STATUS = 0 AND `user_id`=#{userId} <if test="wating!=null"> SELECT
AND `waiting`=#{wating} &lt;!&ndash;AND `status`=0&ndash;&gt; a.*,
</if>) AS `ausw` b.incommission
LEFT JOIN ( SELECT * FROM `app_user_selling_water` WHERE STATUS = 1 AND `user_id`=#{userId} <if FROM
test="wating!=null"> ( SELECT * FROM `app_user_selling_water` WHERE STATUS = 0 and user_id=313 ) AS `a`
AND `waiting`=#{wating} &lt;!&ndash;AND `status`=0&ndash;&gt; INNER JOIN ( SELECT order_no, IFNULL( SUM( commission ), 0 ) AS `incommission` FROM `app_user_selling_water` WHERE `status` = 0 and user_id=313 GROUP BY `order_no` ) AS `b` ON a.order_no = b.order_no
</if>) AS `auswt` ON auswt.order_no = ausw.order_no ) AS `e`
) AS `auswres` LEFT JOIN (
ORDER BY crt_time DESC--> SELECT
c.order_no,
d.outcommission,
1 AS `sellerStatus`,
c.crt_time AS `cancelTime`
FROM
( SELECT * FROM `app_user_selling_water` WHERE STATUS = 1 and user_id=313 ) AS `c`
INNER JOIN ( SELECT order_no,IFNULL( SUM( commission ), 0 ) AS `outcommission` FROM `app_user_selling_water` WHERE `status` = 1 and user_id=313 GROUP BY `order_no` ) AS `d` ON c.order_no = d.order_no
) AS `f` ON e.order_no = f.order_no
-->
SELECT w.*,o.commission as commission ,o.type AS `sellerStatus` FROM ( SELECT w.*,o.commission as commission ,o.type AS `sellerStatus` FROM (
......
...@@ -9,12 +9,10 @@ import com.xxfc.platform.activity.vo.ActivityRuleVo; ...@@ -9,12 +9,10 @@ import com.xxfc.platform.activity.vo.ActivityRuleVo;
import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.beanutils.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.xxfc.platform.activity.entity.ActivityRule; import com.xxfc.platform.activity.entity.ActivityRule;
import com.xxfc.platform.activity.mapper.ActivityRuleMapper; import com.xxfc.platform.activity.mapper.ActivityRuleMapper;
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.entity.Example;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
...@@ -66,7 +64,11 @@ public class ActivityRuleBiz extends BaseBiz<ActivityRuleMapper,ActivityRule> { ...@@ -66,7 +64,11 @@ public class ActivityRuleBiz extends BaseBiz<ActivityRuleMapper,ActivityRule> {
Integer id=array.getJSONObject(i).getInteger("id"); Integer id=array.getJSONObject(i).getInteger("id");
Coupon coupon=couponBiz.selectById(id); Coupon coupon=couponBiz.selectById(id);
if (coupon!=null&&coupon.getIsDel()==0&&coupon.getStatus()==1){ if (coupon!=null&&coupon.getIsDel()==0&&coupon.getStatus()==1){
coupons.add(couponBiz.selectById(id)); if (coupon.getValidType()==2){
int days=coupon.getValidDays()==null?0:coupon.getValidDays();
coupon.setValidEndTime(System.currentTimeMillis()+(days*24*60*60*1000L));
}
coupons.add(coupon);
} }
} }
} }
......
...@@ -273,6 +273,8 @@ public class MsgBiz { ...@@ -273,6 +273,8 @@ public class MsgBiz {
BeanUtil.copyProperties(msg, msgVo, CopyOptions.create().setIgnoreNullValue(true).setIgnoreError(true)); BeanUtil.copyProperties(msg, msgVo, CopyOptions.create().setIgnoreNullValue(true).setIgnoreError(true));
//添加用户昵称和头像 //添加用户昵称和头像
ImiVo imiVo = userBiz.getUserInfo(msg.getUserId()); ImiVo imiVo = userBiz.getUserInfo(msg.getUserId());
log.info("获取用户头像和昵称 : 用户ID>>> {}", msg.getUserId());
log.info("获取用户头像和昵称 : imiVo>>> {}", imiVo);
if (imiVo != null) { if (imiVo != null) {
msgVo.setNickname(imiVo.getNickname()); msgVo.setNickname(imiVo.getNickname());
msgVo.setPicUrl(imiVo.getHeadimgurl()); msgVo.setPicUrl(imiVo.getHeadimgurl());
......
...@@ -310,12 +310,12 @@ public class OrderRentVehicleDetail implements Serializable { ...@@ -310,12 +310,12 @@ public class OrderRentVehicleDetail implements Serializable {
@Column(name = "fixed_loss_status") @Column(name = "fixed_loss_status")
private Integer fixedLossStatus; private Integer fixedLossStatus;
// /** /**
// * 返还的免费天数 * 返还的免费天数
// */ */
// @ApiModelProperty(value = "返回的免费天数") @ApiModelProperty(value = "返回的免费天数")
// @Column(name = "back_free_days") @Column(name = "back_free_days")
// Integer backFreeDays; Integer backFreeDays;
@ApiModelProperty(value = "违章金额") @ApiModelProperty(value = "违章金额")
@Column(name = "violate_traffic_amount") @Column(name = "violate_traffic_amount")
......
package com.xxfc.platform.order.biz; package com.xxfc.platform.order.biz;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.github.wxiaoqi.security.admin.dto.UserMemberDTO; import com.github.wxiaoqi.security.admin.dto.UserMemberDTO;
...@@ -265,10 +266,11 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> { ...@@ -265,10 +266,11 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> {
} }
} }
} }
//getDaysBetweenDateTimeHasStartEnd(endTime, nowTime) == 1--同一天;>1-- 延后;<1--提前;
/** /**
* 提前还车 * 提前还车
*/ */
if (orderPageVO.getOrderRentVehicleDetail().getEndTime() > nowTime.getMillis()) { if (getDaysBetweenDateTimeHasStartEnd(endTime, nowTime) < 1) {
StringBuilder stringBuilder = new StringBuilder(); StringBuilder stringBuilder = new StringBuilder();
//提前的天数, 当天就算使用一天 //提前的天数, 当天就算使用一天
int noUsedDay = getDaysBetweenDateTimeHasStartEnd(nowTime, endTime) - 1; int noUsedDay = getDaysBetweenDateTimeHasStartEnd(nowTime, endTime) - 1;
...@@ -287,14 +289,13 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> { ...@@ -287,14 +289,13 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> {
stringBuilder.append(" x "); stringBuilder.append(" x ");
stringBuilder.append(noUsedDay); stringBuilder.append(noUsedDay);
stringBuilder.append("天) = "); stringBuilder.append("天) = ");
BigDecimal cost = (inProgressVO.getExtraAmount()).add(inProgressVO.getViolateAmount()); stringBuilder.append(inProgressVO.getViolateAmount());
stringBuilder.append(cost); initDedDetail(dedDetailDTO, OrderViolateEnum.BEFORE.getCode(), inProgressVO.getViolateAmount(), stringBuilder);
initDedDetail(dedDetailDTO, OrderViolateEnum.BEFORE.getCode(), cost, stringBuilder);
} }
/** /**
* 延期还车 * 延期还车
*/ */
} else if (orderPageVO.getOrderRentVehicleDetail().getEndTime() < nowTime.getMillis()) { } else if (getDaysBetweenDateTimeHasStartEnd(endTime, nowTime) > 1) {
StringBuilder stringBuilder = new StringBuilder(); StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("违约金( ¥"); stringBuilder.append("违约金( ¥");
//延期的天数, 延期违约金是延期天数*200% //延期的天数, 延期违约金是延期天数*200%
...@@ -568,6 +569,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> { ...@@ -568,6 +569,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> {
if (updateSelectiveByIdRe(baseOrder) > 0) { if (updateSelectiveByIdRe(baseOrder) > 0) {
return selectById(baseOrder.getId()); return selectById(baseOrder.getId());
} else { } else {
log.error(StrUtil.format("数据更新失败:baseOrder: {}", JSONUtil.toJsonStr(baseOrder)));
throw new BaseException(ResultCode.DB_OPERATION_FAIL_CODE); throw new BaseException(ResultCode.DB_OPERATION_FAIL_CODE);
} }
} }
......
package com.xxfc.platform.order.biz; package com.xxfc.platform.order.biz;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.github.wxiaoqi.security.admin.feign.UserFeign; import com.github.wxiaoqi.security.admin.feign.UserFeign;
...@@ -9,6 +11,7 @@ import com.github.wxiaoqi.security.common.exception.BaseException; ...@@ -9,6 +11,7 @@ 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.IntervalUtil; import com.github.wxiaoqi.security.common.util.IntervalUtil;
import com.github.wxiaoqi.security.common.util.process.ResultCode; import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.activity.feign.ActivityFeign;
import com.xxfc.platform.order.biz.inner.OrderCalculateBiz; 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.*; import com.xxfc.platform.order.contant.enumerate.*;
...@@ -80,6 +83,9 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> { ...@@ -80,6 +83,9 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> {
@Autowired @Autowired
UserFeign userFeign; UserFeign userFeign;
@Autowired
ActivityFeign activityFeign;
/** /**
* 租车退款流程 * 租车退款流程
...@@ -208,7 +214,7 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> { ...@@ -208,7 +214,7 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> {
updateBaseOrder.setRefundTime(System.currentTimeMillis()); updateBaseOrder.setRefundTime(System.currentTimeMillis());
updateBaseOrder.setVersion(baseOrder.getVersion()); updateBaseOrder.setVersion(baseOrder.getVersion());
if(SYS_TRUE.equals(flag) && null != refundStatus) { if(SYS_TRUE.equals(flag) && null != refundStatus) {
BeanUtil.copyProperties(baseOrderBiz.updateSelectiveByIdReT(updateBaseOrder), baseOrder); BeanUtil.copyProperties(baseOrderBiz.updateSelectiveByIdReT(updateBaseOrder, Boolean.TRUE), baseOrder);
} }
} }
...@@ -355,11 +361,6 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> { ...@@ -355,11 +361,6 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> {
OrderAccountDetail oad = new OrderAccountDetail(); OrderAccountDetail oad = new OrderAccountDetail();
InProgressVO inProgressVO = orderCalculateBiz.calculateOrderComplete(orderMQDTO, orderMQDTO.getOrderRentVehicleDetail(), oad, orderItem, orderMQDTO.getOrderRentVehicleDetail().getUsedDay(), Boolean.FALSE); InProgressVO inProgressVO = orderCalculateBiz.calculateOrderComplete(orderMQDTO, orderMQDTO.getOrderRentVehicleDetail(), oad, orderItem, orderMQDTO.getOrderRentVehicleDetail().getUsedDay(), Boolean.FALSE);
//还车扣除款 剩余的 钱,再减去违章预备金
oad.getDeductions().add(
initDeduction(illegalReserve, "违章保证金", DeductionTypeEnum.VIOLATE_TRAFFIC_KEEP, OrderAccountDeduction.ORIGIN_DEPOSIT)
);
//设置定损金额 //设置定损金额
String handleDedRefundDesc = ""; String handleDedRefundDesc = "";
handleDedRefundDesc = handleDed(crosstown, handleDedRefundDesc, csv); handleDedRefundDesc = handleDed(crosstown, handleDedRefundDesc, csv);
...@@ -385,8 +386,42 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> { ...@@ -385,8 +386,42 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> {
refundDesc += ")"; refundDesc += ")";
refundTrigger(orderMQDTO, orderMQDTO.getOrderRentVehicleDetail(), illegalReserve, originalRefundAmount, refundAmont, refundDesc, RefundStatusEnum.RESIDUE_ILLEGAL.getCode(), AccountTypeEnum.OUT_PART_DEPOSIT, oad); refundTrigger(orderMQDTO, orderMQDTO.getOrderRentVehicleDetail(), illegalReserve, originalRefundAmount, refundAmont, refundDesc, RefundStatusEnum.RESIDUE_ILLEGAL.getCode(), AccountTypeEnum.OUT_PART_DEPOSIT, oad);
//修改押金退还记录状态
orderDepositRefundRecordBiz.completeRecordStatus(crosstown.getId(), depositRefundRecordStatus); orderDepositRefundRecordBiz.completeRecordStatus(crosstown.getId(), depositRefundRecordStatus);
//返回优惠券和免费天数
//取消租车免费天数使用
if(inProgressVO.getBackFreeDays() > 0) {
int result = userFeign.memberDays(orderMQDTO.getUserId(), inProgressVO.getBackFreeDays(), UserFeign.MEMBER_DAYS_WITHDRAW);
if(result < 0) {
throw new BaseException(ResultCode.FAILED_CODE);
}
}
//设置订单参数
BaseOrder updateBaseOrder = new BaseOrder();
updateBaseOrder.setId(orderMQDTO.getId());
//返还优惠券
if(inProgressVO.getBackCoupons().size() > 0) {
//设置订单参数
updateBaseOrder.setBackCoupon(CollUtil.join(inProgressVO.getBackCoupons(), ","));
for(String backCoupon : inProgressVO.getBackCoupons()) {
activityFeign.cancelUse(backCoupon);
}
}
//设置订单参数
updateBaseOrder.setDamagesAmount(csv.getDamagesAmount());
updateBaseOrder.setViolateAmount(csv.getViolateAmount());
updateBaseOrder.setExtraAmount(inProgressVO.getExtraAmount());
baseOrderBiz.updateSelectiveByIdReT(updateBaseOrder, Boolean.TRUE);
//还车扣除款 剩余的 钱,再减去违章预备金
oad.getDeductions().add(
initDeduction(illegalReserve, "违章保证金", DeductionTypeEnum.VIOLATE_TRAFFIC_KEEP, OrderAccountDeduction.ORIGIN_DEPOSIT)
);
//生成额外的费用明细 //生成额外的费用明细
csv.setConsumeAmount(inProgressVO.getConsumeAmount()); csv.setConsumeAmount(inProgressVO.getConsumeAmount());
csv.setModelAmount(orderItem.getUnitPrice()); csv.setModelAmount(orderItem.getUnitPrice());
...@@ -411,6 +446,7 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> { ...@@ -411,6 +446,7 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> {
orderRentVehicleBiz.updateSelectiveById(new OrderRentVehicleDetail(){{ orderRentVehicleBiz.updateSelectiveById(new OrderRentVehicleDetail(){{
setId(orderMQDTO.getDetailId()); setId(orderMQDTO.getDetailId());
handelCostDetailExtend(csv); handelCostDetailExtend(csv);
setBackFreeDays(inProgressVO.getBackFreeDays());
}}); }});
//捕捉异常 //捕捉异常
...@@ -485,7 +521,4 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> { ...@@ -485,7 +521,4 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> {
} }
\ No newline at end of file
...@@ -357,7 +357,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -357,7 +357,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
orderDepositRefundRecordBiz.saveFixLossRecord(depositRefundRecord); orderDepositRefundRecordBiz.saveFixLossRecord(depositRefundRecord);
//修改訂單狀態為定損 //修改訂單狀態為定損
baseOrder.setStatus(OrderStatusEnum.ORDER_FIXED_LOSS.getCode()); baseOrder.setStatus(OrderStatusEnum.ORDER_FIXED_LOSS.getCode());
baseOrderBiz.updateSelectiveByIdReT(baseOrder); baseOrder = baseOrderBiz.updateSelectiveByIdReT(baseOrder);
orderRentVehicleDetail.setFixedLossStatus(1); orderRentVehicleDetail.setFixedLossStatus(1);
orderRentVehicleBiz.updateSelectiveByIdRe(orderRentVehicleDetail); orderRentVehicleBiz.updateSelectiveByIdRe(orderRentVehicleDetail);
} else if (orderVehicleCrosstown.getType() == CrosstownTypeEnum.FIXED_LOSS_NOW.getCode()) { //直接定损还车 } else if (orderVehicleCrosstown.getType() == CrosstownTypeEnum.FIXED_LOSS_NOW.getCode()) { //直接定损还车
...@@ -370,7 +370,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -370,7 +370,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
orderDepositRefundRecordBiz.saveFixLossRecord(depositRefundRecord); orderDepositRefundRecordBiz.saveFixLossRecord(depositRefundRecord);
//修改訂單狀態為已完成 //修改訂單狀態為已完成
baseOrder.setStatus(OrderStatusEnum.ORDER_FINISH.getCode()); baseOrder.setStatus(OrderStatusEnum.ORDER_FINISH.getCode());
baseOrderBiz.updateSelectiveByIdReT(baseOrder); baseOrder = baseOrderBiz.updateSelectiveByIdReT(baseOrder);
orderRentVehicleDetail.setFixedLossStatus(1); orderRentVehicleDetail.setFixedLossStatus(1);
baseOrderBiz.sendOrderMq(orderRentVehicleDetail, null, null, baseOrder, OrderMQDTO.ORDER_FINISH); baseOrderBiz.sendOrderMq(orderRentVehicleDetail, null, null, baseOrder, OrderMQDTO.ORDER_FINISH);
orderRentVehicleBiz.updateSelectiveByIdRe(orderRentVehicleDetail); orderRentVehicleBiz.updateSelectiveByIdRe(orderRentVehicleDetail);
......
...@@ -115,20 +115,7 @@ public class OrderCalculateBiz { ...@@ -115,20 +115,7 @@ public class OrderCalculateBiz {
consumeAmount = consumeAmount.add(otherItemRealAmount); consumeAmount = consumeAmount.add(otherItemRealAmount);
inProgressVO.setConsumeAmount(consumeAmount); inProgressVO.setConsumeAmount(consumeAmount);
if(consumeAmount.compareTo(BigDecimal.ZERO) > 0) { refundAmount = handleConsumeAmount(oad, refundAmount, consumeAmount, goodsRealAmount, inProgressVO);
//消费金额 大于0 增加额外费用
OrderAccountDeduction extraDeduction = orderAccountBiz.initDeduction(consumeAmount, "消费金额", DeductionTypeEnum.CONSUME, OrderAccountDeduction.ORIGIN_ORDER_DEPOSIT);
oad.getDeductions().add(extraDeduction);
}
//消费金额 小于商品真实的金额 返回钱
if(consumeAmount.compareTo(goodsRealAmount) <= 0) {
//设置返回钱
refundAmount = refundAmount.add(goodsRealAmount.subtract(consumeAmount));
}else {
//设置额外扣减(押金里面扣)
inProgressVO.setExtraAmount(consumeAmount.subtract(goodsRealAmount));
}
}else { }else {
//设置免费天数 //设置免费天数
inProgressVO.setUsedfreeDays(useDays); inProgressVO.setUsedfreeDays(useDays);
...@@ -138,6 +125,18 @@ public class OrderCalculateBiz { ...@@ -138,6 +125,18 @@ public class OrderCalculateBiz {
refundAmount = refundAmount.add(goodsRealAmount); refundAmount = refundAmount.add(goodsRealAmount);
inProgressVO.setBackFreeDays(backFreeDays); inProgressVO.setBackFreeDays(backFreeDays);
//返回优惠券
if(StrUtil.isNotBlank(baseOrder.getCouponTickerNos())) {
//返回所有优惠券
inProgressVO.setBackCoupons(StrUtil.split(baseOrder.getCouponTickerNos(), ','));
}
//设置消费金额 由于返回了优惠券,所以添加优惠券之前减免的金额
consumeAmount = consumeAmount.add(otherItemRealAmount).add(baseOrder.getCouponAmount());
inProgressVO.setConsumeAmount(consumeAmount);
refundAmount = handleConsumeAmount(oad, refundAmount, consumeAmount, goodsRealAmount, inProgressVO);
} }
inProgressVO.setRefundOrderAmount(refundAmount); inProgressVO.setRefundOrderAmount(refundAmount);
...@@ -177,6 +176,24 @@ public class OrderCalculateBiz { ...@@ -177,6 +176,24 @@ public class OrderCalculateBiz {
return inProgressVO; return inProgressVO;
} }
private BigDecimal handleConsumeAmount(OrderAccountDetail oad, BigDecimal refundAmount, BigDecimal consumeAmount, BigDecimal goodsRealAmount, InProgressVO inProgressVO) {
if (consumeAmount.compareTo(BigDecimal.ZERO) > 0) {
//消费金额 大于0 增加额外费用
OrderAccountDeduction consumeDeduction = orderAccountBiz.initDeduction(consumeAmount, "消费金额", DeductionTypeEnum.CONSUME, OrderAccountDeduction.ORIGIN_ORDER_DEPOSIT);
oad.getDeductions().add(consumeDeduction);
}
//消费金额 小于商品真实的金额 返回钱
if (consumeAmount.compareTo(goodsRealAmount) <= 0) {
//设置返回钱
refundAmount = refundAmount.add(goodsRealAmount.subtract(consumeAmount));
} else {
//设置额外扣减(押金里面扣)
inProgressVO.setExtraAmount(consumeAmount.subtract(goodsRealAmount));
}
return refundAmount;
}
public InProgressVO inProgressCalculate(BaseOrder baseOrder, Integer useDays) { public InProgressVO inProgressCalculate(BaseOrder baseOrder, Integer useDays) {
OrderItem orderItem = orderItemBiz.selectOne(new OrderItem(){{ OrderItem orderItem = orderItemBiz.selectOne(new OrderItem(){{
setType(ItemTypeEnum.VEHICLE_MODEL.getCode()); setType(ItemTypeEnum.VEHICLE_MODEL.getCode());
......
...@@ -266,7 +266,7 @@ public class OrderCancelBiz { ...@@ -266,7 +266,7 @@ public class OrderCancelBiz {
} }
//退款流程 //退款流程
orderAccountBiz.rentRefundProcessCancel(baseOrder, adultItemAmount.add(childItemAmount), timeLag, APP_ORDER+ "_"+ key, BigDecimal.ZERO, BigDecimal.ZERO, oad, BigDecimal.ZERO ); orderAccountBiz.rentRefundProcessCancel(baseOrder, adultItemAmount.add(childItemAmount), timeLag, APP_ORDER+ "_"+ key, BigDecimal.ZERO, BigDecimal.ZERO, oad, adultItemAmount.add(childItemAmount) );
//如果有扣款项,则生成额外的费用明细 //如果有扣款项,则生成额外的费用明细
if(oad.getDeductions().size() > 0) { if(oad.getDeductions().size() > 0) {
......
...@@ -143,6 +143,8 @@ public class OrderRefundController extends BaseController<OrderRefundBiz,OrderRe ...@@ -143,6 +143,8 @@ public class OrderRefundController extends BaseController<OrderRefundBiz,OrderRe
, orderPageVO.getOrderTourDetail().getStartTime() - System.currentTimeMillis() , orderPageVO.getOrderTourDetail().getStartTime() - System.currentTimeMillis()
, DictionaryKey.APP_ORDER+ "_"+ key , DictionaryKey.APP_ORDER+ "_"+ key
, refundDescBuilder); , refundDescBuilder);
totalDeductAmount = deductionAmount;
totalRefundAmount = orderPageVO.getRealAmount().subtract(deductionAmount); totalRefundAmount = orderPageVO.getRealAmount().subtract(deductionAmount);
refundDesc = refundDescBuilder.toString(); refundDesc = refundDescBuilder.toString();
break; break;
......
...@@ -27,7 +27,7 @@ public class VehicleModelQueryCondition { ...@@ -27,7 +27,7 @@ public class VehicleModelQueryCondition {
@ApiModelProperty(value = "是否删除") @ApiModelProperty(value = "是否删除")
private Integer isDel; private Integer isDel;
@ApiModelProperty(value = "状态") @ApiModelProperty(value = "状态")
private Integer status=1; private Integer status;
@ApiModelProperty("分类逗号分割") @ApiModelProperty("分类逗号分割")
String catasStr; String catasStr;
@ApiModelProperty("排除的车型id") @ApiModelProperty("排除的车型id")
......
...@@ -49,8 +49,8 @@ public class VehicleModelBiz extends BaseBiz<VehicleModelMapper, VehicleModel> { ...@@ -49,8 +49,8 @@ public class VehicleModelBiz extends BaseBiz<VehicleModelMapper, VehicleModel> {
* @return * @return
*/ */
public ObjectRestResponse findVehicleModelPage(VehicleModelQueryCondition vmqc) { public ObjectRestResponse findVehicleModelPage(VehicleModelQueryCondition vmqc) {
if (vmqc.getPathType()==1) { if (vmqc.getPathType()==2) {
vmqc.setStatus(null); vmqc.setStatus(1);
} }
try { try {
PageDataVO<VehicleModelVo> mPageDataVO = PageDataVO.pageInfo(vmqc.getPage(), PageDataVO<VehicleModelVo> mPageDataVO = PageDataVO.pageInfo(vmqc.getPage(),
......
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