|
@@ -1,21 +1,26 @@
|
|
package com.qs.mp.common.service.impl;
|
|
package com.qs.mp.common.service.impl;
|
|
|
|
|
|
|
|
+import cn.hutool.core.util.NumberUtil;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.qs.mp.admin.domain.param.ShippingTemplateParam;
|
|
import com.qs.mp.admin.domain.param.ShippingTemplateParam;
|
|
import com.qs.mp.admin.domain.param.ShippingTemplateRuleAreaParam;
|
|
import com.qs.mp.admin.domain.param.ShippingTemplateRuleAreaParam;
|
|
import com.qs.mp.admin.domain.param.ShippingTemplateRuleParam;
|
|
import com.qs.mp.admin.domain.param.ShippingTemplateRuleParam;
|
|
|
|
+import com.qs.mp.admin.domain.vo.ShippingTemplateCalculateVO;
|
|
import com.qs.mp.admin.domain.vo.ShippingTemplateRuleAreaVO;
|
|
import com.qs.mp.admin.domain.vo.ShippingTemplateRuleAreaVO;
|
|
import com.qs.mp.admin.domain.vo.ShippingTemplateRuleVO;
|
|
import com.qs.mp.admin.domain.vo.ShippingTemplateRuleVO;
|
|
import com.qs.mp.admin.domain.vo.ShippingTemplateVO;
|
|
import com.qs.mp.admin.domain.vo.ShippingTemplateVO;
|
|
|
|
+import com.qs.mp.channel.domain.vo.ChannelOrderSettleVO;
|
|
import com.qs.mp.common.domain.ShippingTemplate;
|
|
import com.qs.mp.common.domain.ShippingTemplate;
|
|
import com.qs.mp.common.domain.ShippingTemplateRule;
|
|
import com.qs.mp.common.domain.ShippingTemplateRule;
|
|
import com.qs.mp.common.domain.ShippingTemplateRuleArea;
|
|
import com.qs.mp.common.domain.ShippingTemplateRuleArea;
|
|
|
|
+import com.qs.mp.common.enums.ShippingTemplateRuleTypeEnum;
|
|
import com.qs.mp.common.exception.ServiceException;
|
|
import com.qs.mp.common.exception.ServiceException;
|
|
import com.qs.mp.common.mapper.ShippingTemplateMapper;
|
|
import com.qs.mp.common.mapper.ShippingTemplateMapper;
|
|
import com.qs.mp.common.service.IShippingTemplateRuleAreaService;
|
|
import com.qs.mp.common.service.IShippingTemplateRuleAreaService;
|
|
import com.qs.mp.common.service.IShippingTemplateRuleService;
|
|
import com.qs.mp.common.service.IShippingTemplateRuleService;
|
|
import com.qs.mp.common.service.IShippingTemplateService;
|
|
import com.qs.mp.common.service.IShippingTemplateService;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
+import com.qs.mp.user.domain.UserAddr;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -45,6 +50,18 @@ public class ShippingTemplateServiceImpl extends ServiceImpl<ShippingTemplateMap
|
|
@Autowired
|
|
@Autowired
|
|
private IShippingTemplateRuleAreaService shippingTemplateRuleAreaService;
|
|
private IShippingTemplateRuleAreaService shippingTemplateRuleAreaService;
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public int calculateFreightAmt(Integer num, ShippingTemplateCalculateVO shippingTemplateCalculateVO) {
|
|
|
|
+ int freightAmt = shippingTemplateCalculateVO.getDefaultPrice();
|
|
|
|
+ if (num - shippingTemplateCalculateVO.getDefaultNumber() >= shippingTemplateCalculateVO.getCreateNumber()) {
|
|
|
|
+ // 运费:首件价格 + ((商品数量 - 首件数量) / 续件数量)向上取整 * 续件价格
|
|
|
|
+ int createNumber = shippingTemplateCalculateVO.getCreateNumber();
|
|
|
|
+ freightAmt += ((int) Math.ceil(NumberUtil.div(num - shippingTemplateCalculateVO.getDefaultNumber(), createNumber))) * shippingTemplateCalculateVO.getCreatePrice();
|
|
|
|
+ }
|
|
|
|
+ return freightAmt;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public boolean deleteShippingTemplate(Long id) {
|
|
public boolean deleteShippingTemplate(Long id) {
|