|
@@ -19,12 +19,11 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.fasterxml.jackson.databind.JsonNode;
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
import com.fasterxml.jackson.databind.node.ObjectNode;
|
|
|
+import com.qmrb.parking.fee.ParkingFeeCalculator;
|
|
|
import com.qmrb.system.converter.PayOrderConverter;
|
|
|
+import com.qmrb.system.mapper.CouponMapper;
|
|
|
import com.qmrb.system.mapper.OrderMapper;
|
|
|
-import com.qmrb.system.pojo.entity.CarPark;
|
|
|
-import com.qmrb.system.pojo.entity.ContractPlaceNumberRel;
|
|
|
-import com.qmrb.system.pojo.entity.Order;
|
|
|
-import com.qmrb.system.pojo.entity.ToolWxConfig;
|
|
|
+import com.qmrb.system.pojo.entity.*;
|
|
|
import com.qmrb.system.pojo.form.BarnRecordForm;
|
|
|
import com.qmrb.system.pojo.form.PayOrderForm;
|
|
|
import com.qmrb.system.pojo.query.PayOrderQuery;
|
|
@@ -33,10 +32,7 @@ import com.qmrb.system.pojo.vo.PayOrderVO;
|
|
|
import com.qmrb.system.pojo.vo.ReCreateOrderVO;
|
|
|
import com.qmrb.system.pojo.vo.ToCreateOrderVO;
|
|
|
import com.qmrb.system.pojo.vo.WxLoginVO;
|
|
|
-import com.qmrb.system.service.IBarnRecordService;
|
|
|
-import com.qmrb.system.service.ICarParkService;
|
|
|
-import com.qmrb.system.service.OrderService;
|
|
|
-import com.qmrb.system.service.ToolWxConfigService;
|
|
|
+import com.qmrb.system.service.*;
|
|
|
import com.qmrb.system.utils.WxPayUtil;
|
|
|
import com.qmrb.system.wxpayback.Enum.WxApiType;
|
|
|
import com.qmrb.system.wxpayback.Enum.WxPayStatusEnum;
|
|
@@ -64,6 +60,7 @@ import java.math.BigDecimal;
|
|
|
import java.net.URISyntaxException;
|
|
|
import java.nio.charset.StandardCharsets;
|
|
|
import java.security.PrivateKey;
|
|
|
+import java.time.LocalDateTime;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
import java.util.Date;
|
|
|
import java.util.HashMap;
|
|
@@ -100,6 +97,12 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
@Autowired
|
|
|
private ICarParkService carParkService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private CouponMapper couponMapper;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IContractPlaceNumberRelService contractPlaceNumberRelService;
|
|
|
+
|
|
|
/**分页查询
|
|
|
* */
|
|
|
@Override
|
|
@@ -319,6 +322,28 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
BigDecimal amountsPayable = new BigDecimal(order.getAmountsPayable()).divide(new BigDecimal(100));
|
|
|
barnRecordForm.setReceivedAmount(barnRecordForm.getReceivedAmount().add(amountsPayable));
|
|
|
barnRecordForm.setBillingStartTime(new Date());
|
|
|
+ // 查询优惠券
|
|
|
+ List<Coupon> coupons = couponMapper.selectList(new LambdaQueryWrapper<Coupon>().eq(Coupon::getGoodsId, barnRecordForm.getId()));
|
|
|
+ log.info("查询优惠券:{}",coupons.size());
|
|
|
+ if(CollectionUtil.isNotEmpty(coupons)){
|
|
|
+ Coupon coupon = coupons.get(0);
|
|
|
+ // 1 扫码抵用金额 2扫码抵用时长
|
|
|
+ if(1 == coupon.getCouponType()){
|
|
|
+ barnRecordForm.setDiscountAmount(coupon.getDenomination());
|
|
|
+ }else if(2 == coupon.getCouponType()){
|
|
|
+ barnRecordForm.setDiscountMinute(coupon.getDenomination());
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ // 判断是否否存在包租协议
|
|
|
+ Map<String,Object> map = contractPlaceNumberRelService.getDenomination(barnRecordForm.getId());
|
|
|
+ if(CollectionUtil.isNotEmpty(map)){
|
|
|
+
|
|
|
+ Double denomination = (Double) map.get("denomination");
|
|
|
+ BigDecimal discountMinute = new BigDecimal(denomination);
|
|
|
+ barnRecordForm.setDiscountMinute(discountMinute);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
barnRecordService.updateForm(barnRecordForm.getId(),barnRecordForm);
|
|
|
}
|
|
|
//支付成功 就返回true
|