|
@@ -130,9 +130,10 @@ import static com.fs.hisStore.constants.StoreConstants.DELIVERY;
|
|
|
@Service
|
|
|
@EnableAspectJAutoProxy(proxyTargetClass = true,exposeProxy = true)
|
|
|
@Slf4j
|
|
|
-public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
+public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService
|
|
|
+{
|
|
|
|
|
|
- Logger logger = LoggerFactory.getLogger(getClass());
|
|
|
+ Logger logger= LoggerFactory.getLogger(getClass());
|
|
|
@Autowired
|
|
|
private CompanyMoneyLogsMapper moneyLogsMapper;
|
|
|
@Autowired
|
|
@@ -319,7 +320,8 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
* @return 订单
|
|
|
*/
|
|
|
@Override
|
|
|
- public FsStoreOrderScrm selectFsStoreOrderById(Long id) {
|
|
|
+ public FsStoreOrderScrm selectFsStoreOrderById(Long id)
|
|
|
+ {
|
|
|
return fsStoreOrderMapper.selectFsStoreOrderById(id);
|
|
|
}
|
|
|
|
|
@@ -330,7 +332,8 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
* @return 订单
|
|
|
*/
|
|
|
@Override
|
|
|
- public List<FsStoreOrderScrm> selectFsStoreOrderList(FsStoreOrderScrm fsStoreOrder) {
|
|
|
+ public List<FsStoreOrderScrm> selectFsStoreOrderList(FsStoreOrderScrm fsStoreOrder)
|
|
|
+ {
|
|
|
return fsStoreOrderMapper.selectFsStoreOrderList(fsStoreOrder);
|
|
|
}
|
|
|
|
|
@@ -341,7 +344,8 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
* @return 结果
|
|
|
*/
|
|
|
@Override
|
|
|
- public int insertFsStoreOrder(FsStoreOrderScrm fsStoreOrder) {
|
|
|
+ public int insertFsStoreOrder(FsStoreOrderScrm fsStoreOrder)
|
|
|
+ {
|
|
|
fsStoreOrder.setCreateTime(DateUtils.getNowDate());
|
|
|
return fsStoreOrderMapper.insertFsStoreOrder(fsStoreOrder);
|
|
|
}
|
|
@@ -353,7 +357,8 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
* @return 结果
|
|
|
*/
|
|
|
@Override
|
|
|
- public int updateFsStoreOrder(FsStoreOrderScrm fsStoreOrder) {
|
|
|
+ public int updateFsStoreOrder(FsStoreOrderScrm fsStoreOrder)
|
|
|
+ {
|
|
|
fsStoreOrder.setUpdateTime(DateUtils.getNowDate());
|
|
|
return fsStoreOrderMapper.updateFsStoreOrder(fsStoreOrder);
|
|
|
}
|
|
@@ -388,20 +393,21 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
* @return 结果
|
|
|
*/
|
|
|
@Override
|
|
|
- public int deleteFsStoreOrderById(Long id) {
|
|
|
+ public int deleteFsStoreOrderById(Long id)
|
|
|
+ {
|
|
|
return fsStoreOrderMapper.deleteFsStoreOrderById(id);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public List<FsStoreOrderVO> selectFsStoreOrderListVO(FsStoreOrderParam param) {
|
|
|
- List<FsStoreOrderVO> list = fsStoreOrderMapper.selectFsStoreOrderListVO(param);
|
|
|
- for (FsStoreOrderVO vo : list) {
|
|
|
+ List<FsStoreOrderVO> list= fsStoreOrderMapper.selectFsStoreOrderListVO(param);
|
|
|
+ for(FsStoreOrderVO vo:list){
|
|
|
String nickName = vo.getUserPhone().replaceAll("(\\d{3})\\d*(\\d{4})", "$1****$2");
|
|
|
vo.setNickname(nickName);
|
|
|
- if (StringUtils.isNotEmpty(vo.getItemJson())) {
|
|
|
- JSONArray jsonArray = JSONUtil.parseArray(vo.getItemJson());
|
|
|
- List<FsStoreOrderItemVO> items = JSONUtil.toList(jsonArray, FsStoreOrderItemVO.class);
|
|
|
- if (items.size() > 0) {
|
|
|
+ if(StringUtils.isNotEmpty(vo.getItemJson())){
|
|
|
+ JSONArray jsonArray=JSONUtil.parseArray(vo.getItemJson());
|
|
|
+ List<FsStoreOrderItemVO> items=JSONUtil.toList(jsonArray, FsStoreOrderItemVO.class);
|
|
|
+ if(items.size()>0){
|
|
|
vo.setItems(items);
|
|
|
}
|
|
|
}
|
|
@@ -413,14 +419,14 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
|
|
|
@Override
|
|
|
public List<FsStoreOrderVO> selectFsStoreOrderAllListVO(FsStoreOrderParam param) {
|
|
|
- List<FsStoreOrderVO> list = fsStoreOrderMapper.selectFsStoreOrderAllListVO(param);
|
|
|
- for (FsStoreOrderVO vo : list) {
|
|
|
+ List<FsStoreOrderVO> list= fsStoreOrderMapper.selectFsStoreOrderAllListVO(param);
|
|
|
+ for(FsStoreOrderVO vo:list){
|
|
|
String nickName = vo.getUserPhone().replaceAll("(\\d{3})\\d*(\\d{4})", "$1****$2");
|
|
|
vo.setNickname(nickName);
|
|
|
- if (StringUtils.isNotEmpty(vo.getItemJson())) {
|
|
|
- JSONArray jsonArray = JSONUtil.parseArray(vo.getItemJson());
|
|
|
- List<FsStoreOrderItemVO> items = JSONUtil.toList(jsonArray, FsStoreOrderItemVO.class);
|
|
|
- if (items.size() > 0) {
|
|
|
+ if(StringUtils.isNotEmpty(vo.getItemJson())){
|
|
|
+ JSONArray jsonArray=JSONUtil.parseArray(vo.getItemJson());
|
|
|
+ List<FsStoreOrderItemVO> items=JSONUtil.toList(jsonArray, FsStoreOrderItemVO.class);
|
|
|
+ if(items.size()>0){
|
|
|
vo.setItems(items);
|
|
|
}
|
|
|
}
|
|
@@ -430,14 +436,14 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
|
|
|
@Override
|
|
|
public List<FsStoreOrderVO> selectPayRemainListVO(FsStoreOrderParam param) {
|
|
|
- List<FsStoreOrderVO> list = fsStoreOrderMapper.selectFsPayRemainListVO(param);
|
|
|
- for (FsStoreOrderVO vo : list) {
|
|
|
+ List<FsStoreOrderVO> list= fsStoreOrderMapper.selectFsPayRemainListVO(param);
|
|
|
+ for(FsStoreOrderVO vo:list){
|
|
|
String nickName = vo.getUserPhone().replaceAll("(\\d{3})\\d*(\\d{4})", "$1****$2");
|
|
|
vo.setNickname(nickName);
|
|
|
- if (StringUtils.isNotEmpty(vo.getItemJson())) {
|
|
|
- JSONArray jsonArray = JSONUtil.parseArray(vo.getItemJson());
|
|
|
- List<FsStoreOrderItemVO> items = JSONUtil.toList(jsonArray, FsStoreOrderItemVO.class);
|
|
|
- if (items.size() > 0) {
|
|
|
+ if(StringUtils.isNotEmpty(vo.getItemJson())){
|
|
|
+ JSONArray jsonArray=JSONUtil.parseArray(vo.getItemJson());
|
|
|
+ List<FsStoreOrderItemVO> items=JSONUtil.toList(jsonArray, FsStoreOrderItemVO.class);
|
|
|
+ if(items.size()>0){
|
|
|
vo.setItems(items);
|
|
|
}
|
|
|
}
|
|
@@ -450,15 +456,15 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
@Override
|
|
|
public List<FsPromotionOrderVO> selectFsPromotionOrderListVO(FsStoreOrderParam param) {
|
|
|
List<FsPromotionOrderVO> list = fsStoreOrderMapper.selectFsPromotionOrderListVO(param);
|
|
|
- for (FsPromotionOrderVO vo : list) {
|
|
|
+ for(FsPromotionOrderVO vo:list){
|
|
|
String nickName = vo.getUserPhone().replaceAll("(\\d{3})\\d*(\\d{4})", "$1****$2");
|
|
|
String tuiNickName = vo.getTuiNickName().replaceAll("(\\d{3})\\d*(\\d{4})", "$1****$2");
|
|
|
vo.setNickname(nickName);
|
|
|
vo.setTuiNickName(tuiNickName);
|
|
|
- if (StringUtils.isNotEmpty(vo.getItemJson())) {
|
|
|
- JSONArray jsonArray = JSONUtil.parseArray(vo.getItemJson());
|
|
|
- List<FsStoreOrderItemVO> items = JSONUtil.toList(jsonArray, FsStoreOrderItemVO.class);
|
|
|
- if (items.size() > 0) {
|
|
|
+ if(StringUtils.isNotEmpty(vo.getItemJson())){
|
|
|
+ JSONArray jsonArray=JSONUtil.parseArray(vo.getItemJson());
|
|
|
+ List<FsStoreOrderItemVO> items=JSONUtil.toList(jsonArray, FsStoreOrderItemVO.class);
|
|
|
+ if(items.size()>0){
|
|
|
vo.setItems(items);
|
|
|
}
|
|
|
}
|
|
@@ -470,10 +476,10 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
@Override
|
|
|
public R confirmOrder(long uid, FsStoreConfirmOrderParam cartParam) {
|
|
|
//获取地址信息和购物车信息
|
|
|
- FsUserAddressScrm address = userAddressMapper.selectFsUserAddressByDefaultAddress(uid);
|
|
|
- List<FsStoreCartQueryVO> carts = cartMapper.selectFsStoreCartListByIds(cartParam.getCartIds());
|
|
|
+ FsUserAddressScrm address= userAddressMapper.selectFsUserAddressByDefaultAddress(uid);
|
|
|
+ List<FsStoreCartQueryVO> carts=cartMapper.selectFsStoreCartListByIds(cartParam.getCartIds());
|
|
|
for (FsStoreCartQueryVO cart : carts) {
|
|
|
- if (cart.getChangePrice() != null && BigDecimal.ZERO.compareTo(cart.getChangePrice()) < 0) {
|
|
|
+ if (cart.getChangePrice() != null && BigDecimal.ZERO.compareTo(cart.getChangePrice())<0){
|
|
|
cart.setPrice(cart.getChangePrice());
|
|
|
//删除改价
|
|
|
FsStoreCartScrm fsStoreCart = new FsStoreCartScrm();
|
|
@@ -483,9 +489,9 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
}
|
|
|
}
|
|
|
String uuid = IdUtil.randomUUID();
|
|
|
- redisCache.setCacheObject("orderKey:" + uuid, cartParam.getCartIds(), 300, TimeUnit.SECONDS);
|
|
|
- redisCache.setCacheObject("orderCarts:" + uuid, carts, 300, TimeUnit.SECONDS);
|
|
|
- return R.ok().put("orderKey", uuid).put("address", address).put("carts", carts);
|
|
|
+ redisCache.setCacheObject("orderKey:"+uuid, cartParam.getCartIds(), 300, TimeUnit.SECONDS);
|
|
|
+ redisCache.setCacheObject("orderCarts:"+uuid, carts, 300, TimeUnit.SECONDS);
|
|
|
+ return R.ok().put("orderKey",uuid).put("address",address).put("carts",carts);
|
|
|
|
|
|
}
|
|
|
|
|
@@ -493,49 +499,51 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
public FsStoreOrderComputeDTO computedOrder(long uid, FsStoreOrderComputedParam param) {
|
|
|
String cartIds = redisCache.getCacheObject("orderKey:" + param.getOrderKey());
|
|
|
if (ObjectUtil.isNull(cartIds)) {
|
|
|
- throw new CustomException("订单已过期", 501);
|
|
|
+ throw new CustomException("订单已过期",501);
|
|
|
}
|
|
|
List<FsStoreCartQueryVO> carts = redisCache.getCacheObject("orderCarts:" + param.getOrderKey());
|
|
|
- BigDecimal payPrice = getOrderSumPrice(carts, "truePrice");
|
|
|
- if (StringUtils.isNotEmpty(param.getCreateOrderKey())) {
|
|
|
- BigDecimal money = redisCache.getCacheObject("createOrderMoney:" + param.getCreateOrderKey());
|
|
|
- if (money != null) {
|
|
|
- payPrice = money;
|
|
|
+ BigDecimal payPrice=getOrderSumPrice(carts,"truePrice");
|
|
|
+ if(StringUtils.isNotEmpty(param.getCreateOrderKey()))
|
|
|
+ {
|
|
|
+ BigDecimal money=redisCache.getCacheObject("createOrderMoney:"+param.getCreateOrderKey());
|
|
|
+ if(money!=null){
|
|
|
+ payPrice=money;
|
|
|
}
|
|
|
}
|
|
|
- BigDecimal serviceFee = BigDecimal.ZERO;
|
|
|
- String configJson = configService.selectConfigByKey("store.config");
|
|
|
- StoreConfig config = JSONUtil.toBean(configJson, StoreConfig.class);
|
|
|
- if (config.getServiceFee() != null) {
|
|
|
- serviceFee = config.getServiceFee();
|
|
|
+ BigDecimal serviceFee=BigDecimal.ZERO;
|
|
|
+ String configJson=configService.selectConfigByKey("store.config");
|
|
|
+ StoreConfig config=JSONUtil.toBean(configJson,StoreConfig.class);
|
|
|
+ if(config.getServiceFee()!=null){
|
|
|
+ serviceFee=config.getServiceFee();
|
|
|
}
|
|
|
payPrice = payPrice.add(serviceFee);
|
|
|
FsUserAddressScrm userAddress = null;
|
|
|
- if (param.getAddressId() != null) {
|
|
|
+ if (param.getAddressId()!=null) {
|
|
|
userAddress = userAddressMapper.selectFsUserAddressById(param.getAddressId());
|
|
|
}
|
|
|
FsStoreOrderPriceDTO priceGroup = this.getOrderPriceGroup(carts, userAddress);
|
|
|
BigDecimal payPostage = priceGroup.getStorePostage();
|
|
|
payPrice = NumberUtil.add(payPrice, payPostage);
|
|
|
|
|
|
- FsUserScrm user = userService.selectFsUserById(uid);
|
|
|
+ FsUserScrm user=userService.selectFsUserById(uid);
|
|
|
// 积分抵扣
|
|
|
BigDecimal deductionPrice = BigDecimal.ZERO; //积分抵扣金额
|
|
|
double usedIntegral = 0; //使用了多少积分
|
|
|
- if (param.getUseIntegral() != null && param.getUseIntegral() == 1 && user.getIntegral().intValue() > 0) {
|
|
|
+ if (param.getUseIntegral()!=null&¶m.getUseIntegral()==1 && user.getIntegral().intValue() > 0) {
|
|
|
//如果积分总和小于用户积分 抵扣比例 计算抵扣价格
|
|
|
//默认配置
|
|
|
Double integralMax = Double.valueOf(100);
|
|
|
BigDecimal integralFull = new BigDecimal(100);
|
|
|
Double integralRatio = Double.valueOf(1);
|
|
|
- String json = configService.selectConfigByKey("store.integral");
|
|
|
- if (StringUtils.isEmpty(json)) {
|
|
|
+ String json=configService.selectConfigByKey("store.integral");
|
|
|
+ if(StringUtils.isEmpty(json)) {
|
|
|
|
|
|
- } else {
|
|
|
- StoreIntegralConfig integralConfig = JSONUtil.toBean(json, StoreIntegralConfig.class);
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ StoreIntegralConfig integralConfig=JSONUtil.toBean(json,StoreIntegralConfig.class);
|
|
|
integralMax = integralConfig.getIntegralMax();
|
|
|
integralFull = integralConfig.getIntegralFull();
|
|
|
- integralRatio = integralConfig.getIntegralRatio();
|
|
|
+ integralRatio =integralConfig.getIntegralRatio();
|
|
|
|
|
|
}
|
|
|
if (priceGroup.getTotalPrice().compareTo(integralFull) >= 0) {
|
|
@@ -560,11 +568,11 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
payPrice = BigDecimal.ZERO;
|
|
|
}
|
|
|
//优惠券
|
|
|
- if (param.getCouponUserId() != null) {
|
|
|
- FsStoreCouponUserScrm couponUser = couponUserService.selectFsStoreCouponUserById(param.getCouponUserId());
|
|
|
- if (couponUser != null && couponUser.getStatus() == 0) {
|
|
|
- if (couponUser.getUseMinPrice().compareTo(priceGroup.getTotalPrice()) == -1) {
|
|
|
- payPrice = payPrice.subtract(couponUser.getCouponPrice());
|
|
|
+ if(param.getCouponUserId()!=null){
|
|
|
+ FsStoreCouponUserScrm couponUser=couponUserService.selectFsStoreCouponUserById(param.getCouponUserId());
|
|
|
+ if(couponUser!=null&&couponUser.getStatus()==0){
|
|
|
+ if(couponUser.getUseMinPrice().compareTo(priceGroup.getTotalPrice())==-1){
|
|
|
+ payPrice=payPrice.subtract(couponUser.getCouponPrice());
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -584,42 +592,42 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
@Override
|
|
|
@Transactional
|
|
|
public R createOrder(long userId, FsStoreOrderCreateParam param) {
|
|
|
- FsStoreOrderComputedParam computedParam = new FsStoreOrderComputedParam();
|
|
|
+ FsStoreOrderComputedParam computedParam=new FsStoreOrderComputedParam();
|
|
|
BeanUtils.copyProperties(param, computedParam);
|
|
|
//计算金额
|
|
|
- FsStoreOrderComputeDTO dto = this.computedOrder(userId, computedParam);
|
|
|
+ FsStoreOrderComputeDTO dto=this.computedOrder(userId, computedParam);
|
|
|
String cartIds = redisCache.getCacheObject("orderKey:" + param.getOrderKey());
|
|
|
// Integer totalNum = 0;
|
|
|
BigDecimal integral = BigDecimal.ZERO;
|
|
|
- if (cartIds != null) {
|
|
|
+ if(cartIds!=null){
|
|
|
//获取购物车列表
|
|
|
List<FsStoreCartQueryVO> carts = redisCache.getCacheObject("orderCarts:" + param.getOrderKey());
|
|
|
//获取地址
|
|
|
- FsUserAddressScrm address = userAddressMapper.selectFsUserAddressById(param.getAddressId());
|
|
|
+ FsUserAddressScrm address=userAddressMapper.selectFsUserAddressById(param.getAddressId());
|
|
|
//生成分布式唯一值
|
|
|
String orderSn = IdUtil.getSnowflake(0, 0).nextIdStr();
|
|
|
//是否使用积分
|
|
|
- Boolean isIntegral = false;
|
|
|
+ Boolean isIntegral=false;
|
|
|
//组合数据
|
|
|
FsStoreOrderScrm storeOrder = new FsStoreOrderScrm();
|
|
|
storeOrder.setStoreHouseCode("CK01");
|
|
|
storeOrder.setCompanyId(param.getCompanyId());
|
|
|
storeOrder.setCompanyUserId(param.getCompanyUserId());
|
|
|
//绑定销售
|
|
|
- FsUserScrm fsuser = userService.selectFsUserById(userId);
|
|
|
- if (param.getCompanyUserId() != null) {
|
|
|
- if (ObjectUtil.isNotEmpty(fsuser.getCompanyUserId()) && !Objects.equals(fsuser.getCompanyUserId(), param.getCompanyUserId())) {
|
|
|
- CompanyUser companyUser = companyUserService.selectCompanyUserById(fsuser.getCompanyUserId());
|
|
|
- return R.error(String.format("请联系%s销售进行购买商品!", companyUser.getNickName()));
|
|
|
- } else {
|
|
|
+ FsUserScrm fsuser= userService.selectFsUserById(userId);
|
|
|
+ if(param.getCompanyUserId()!=null){
|
|
|
+ if (ObjectUtil.isNotEmpty(fsuser.getCompanyUserId())&& !Objects.equals(fsuser.getCompanyUserId(), param.getCompanyUserId())){
|
|
|
+ CompanyUser companyUser=companyUserService.selectCompanyUserById(fsuser.getCompanyUserId());
|
|
|
+ return R.error(String.format("请联系%s销售进行购买商品!",companyUser.getNickName()));
|
|
|
+ }else {
|
|
|
fsuser.setCompanyUserId(param.getCompanyUserId());
|
|
|
userService.updateFsUser(fsuser);
|
|
|
}
|
|
|
- CompanyUser companyUser = companyUserService.selectCompanyUserById(param.getCompanyUserId());
|
|
|
- if (companyUser != null) {
|
|
|
+ CompanyUser companyUser=companyUserService.selectCompanyUserById(param.getCompanyUserId());
|
|
|
+ if(companyUser!=null){
|
|
|
storeOrder.setDeptId(companyUser.getDeptId());
|
|
|
}
|
|
|
- } else {
|
|
|
+ }else {
|
|
|
storeOrder.setCompanyUserId(fsuser.getCompanyUserId());
|
|
|
}
|
|
|
storeOrder.setUserId(userId);
|
|
@@ -634,9 +642,9 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
storeOrder.setTotalPostage(dto.getPayPostage());
|
|
|
|
|
|
//优惠券处理
|
|
|
- if (param.getCouponUserId() != null) {
|
|
|
- FsStoreCouponUserScrm couponUser = couponUserService.selectFsStoreCouponUserById(param.getCouponUserId());
|
|
|
- if (couponUser != null && couponUser.getStatus() == 0) {
|
|
|
+ if(param.getCouponUserId()!=null){
|
|
|
+ FsStoreCouponUserScrm couponUser=couponUserService.selectFsStoreCouponUserById(param.getCouponUserId());
|
|
|
+ if(couponUser!=null&&couponUser.getStatus()==0){
|
|
|
storeOrder.setCouponId(couponUser.getId());
|
|
|
storeOrder.setCouponPrice(couponUser.getCouponPrice());
|
|
|
//更新优惠券状态
|
|
@@ -646,13 +654,14 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
}
|
|
|
}
|
|
|
//处理推荐人
|
|
|
- FsUserScrm user = userService.selectFsUserById(storeOrder.getUserId());
|
|
|
- if (user.getSpreadUserId() != null && user.getSpreadUserId() > 0) {
|
|
|
+ FsUserScrm user= userService.selectFsUserById(storeOrder.getUserId());
|
|
|
+ if(user.getSpreadUserId()!=null&&user.getSpreadUserId()>0){
|
|
|
storeOrder.setTuiUserId(user.getSpreadUserId());
|
|
|
- } else {
|
|
|
- if (param.getTuiUserId() != null) {
|
|
|
- FsUserScrm tuiUser = userService.selectFsUserById(param.getTuiUserId());
|
|
|
- if (tuiUser != null && tuiUser.getIsPromoter() == 1) {
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ if(param.getTuiUserId()!=null){
|
|
|
+ FsUserScrm tuiUser= userService.selectFsUserById(param.getTuiUserId());
|
|
|
+ if(tuiUser!=null&&tuiUser.getIsPromoter()==1){
|
|
|
storeOrder.setTuiUserId(param.getTuiUserId());
|
|
|
}
|
|
|
}
|
|
@@ -675,42 +684,45 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
storeOrder.setShippingType(1);
|
|
|
storeOrder.setCreateTime(new Date());
|
|
|
|
|
|
- String json = configService.selectConfigByKey("store.config");
|
|
|
- StoreConfig config = JSONUtil.toBean(json, StoreConfig.class);
|
|
|
- if (config.getServiceFee() != null) {
|
|
|
+ String json=configService.selectConfigByKey("store.config");
|
|
|
+ StoreConfig config=JSONUtil.toBean(json,StoreConfig.class);
|
|
|
+ if(config.getServiceFee()!=null){
|
|
|
storeOrder.setServiceFee(config.getServiceFee());
|
|
|
}
|
|
|
|
|
|
//后台制单处理
|
|
|
- if (param.getPayPrice() != null && param.getPayPrice().compareTo(BigDecimal.ZERO) > 0) {
|
|
|
+ if(param.getPayPrice()!=null&¶m.getPayPrice().compareTo(BigDecimal.ZERO)>0){
|
|
|
if (param.getPayPrice().compareTo(dto.getTotalPrice()) > 0) {
|
|
|
return R.error("改价价格不能大于商品总价");
|
|
|
}
|
|
|
storeOrder.setPayPrice(param.getPayPrice());
|
|
|
- } else {
|
|
|
+ }
|
|
|
+ else{
|
|
|
storeOrder.setPayPrice(dto.getPayPrice());
|
|
|
}
|
|
|
|
|
|
//付款方式
|
|
|
- if (param.getPayType().equals("1")) {
|
|
|
+ if(param.getPayType().equals("1")){
|
|
|
//全款支付
|
|
|
storeOrder.setStatus(0);
|
|
|
- } else if (param.getPayType().equals("2")) {
|
|
|
+ }
|
|
|
+ else if(param.getPayType().equals("2")){
|
|
|
//物流代收
|
|
|
storeOrder.setStatus(1);
|
|
|
- } else if (param.getPayType().equals("3")) {
|
|
|
+ }
|
|
|
+ else if(param.getPayType().equals("3")){
|
|
|
//货到付款
|
|
|
BigDecimal amount = param.getAmount(); //货到付款 自定义代收金额
|
|
|
- if (amount != null && amount.compareTo(BigDecimal.ZERO) > 0) {
|
|
|
+ if (amount != null && amount.compareTo(BigDecimal.ZERO) > 0){
|
|
|
storeOrder.setStatus(0);
|
|
|
storeOrder.setPayMoney(amount);
|
|
|
- storeOrder.setPayDelivery(storeOrder.getPayPrice().subtract(amount));
|
|
|
+ storeOrder.setPayDelivery(storeOrder.getPayPrice().subtract(amount) );
|
|
|
} else {
|
|
|
storeOrder.setStatus(1);
|
|
|
}
|
|
|
}
|
|
|
Boolean isPay = true;
|
|
|
- if (param.getOrderCreateType() != null && param.getOrderCreateType() == 3 && param.getCompanyId() != null) {
|
|
|
+ if (param.getOrderCreateType() != null && param.getOrderCreateType() == 3 && param.getCompanyId()!=null){
|
|
|
//后台制单 判断是否需要付款
|
|
|
Company company = companyMapper.selectCompanyById(param.getCompanyId());
|
|
|
if(company!=null){
|
|
@@ -722,17 +734,17 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
}
|
|
|
}
|
|
|
storeOrder.setOrderCreateType(param.getOrderCreateType());
|
|
|
- Long prescribe = carts.stream().filter(item -> item.getProductType() != null && item.getProductType() == 2).count();
|
|
|
- if (prescribe > 0) {
|
|
|
+ Long prescribe = carts.stream().filter(item -> item.getProductType()!=null&&item.getProductType()==2).count();
|
|
|
+ if(prescribe>0){
|
|
|
storeOrder.setIsPrescribe(1);
|
|
|
} else {
|
|
|
storeOrder.setIsPrescribe(0);
|
|
|
}
|
|
|
- if (storeOrder.getCustomerId() == null) {
|
|
|
+ if (storeOrder.getCustomerId() == null){
|
|
|
storeOrder.setCustomerId(param.getCustomerId());//6.13 添加客户id
|
|
|
}
|
|
|
FsStoreOrderScrm tempOrder = redisCache.getCacheObject("orderInfo:" + param.getCreateOrderKey());
|
|
|
- if (tempOrder != null) {
|
|
|
+ if (tempOrder != null){
|
|
|
storeOrder.setOrderType(tempOrder.getOrderType());
|
|
|
storeOrder.setOrderMedium(tempOrder.getOrderMedium());
|
|
|
redisCache.deleteObject("orderInfo:" + param.getCreateOrderKey());
|
|
@@ -740,25 +752,25 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
storeOrder.setOrderType(param.getOrderType());
|
|
|
storeOrder.setOrderMedium(param.getOrderMedium());
|
|
|
}
|
|
|
- Integer flag = fsStoreOrderMapper.insertFsStoreOrder(storeOrder);
|
|
|
- if (flag == 0) {
|
|
|
+ Integer flag=fsStoreOrderMapper.insertFsStoreOrder(storeOrder);
|
|
|
+ if (flag==0) {
|
|
|
return R.error("订单创建失败");
|
|
|
}
|
|
|
- if (!isPay) {
|
|
|
+ if (!isPay){
|
|
|
// 添加订单审核
|
|
|
addOrderAudit(storeOrder);
|
|
|
}
|
|
|
//使用了积分扣积分
|
|
|
if (dto.getUsedIntegral() > 0) {
|
|
|
- this.decIntegral(userId, dto.getUsedIntegral(), dto.getDeductionPrice().doubleValue(), storeOrder.getId().toString());
|
|
|
+ this.decIntegral(userId, dto.getUsedIntegral(), dto.getDeductionPrice().doubleValue(),storeOrder.getId().toString());
|
|
|
}
|
|
|
//减库存加销量
|
|
|
this.deStockIncSale(carts);
|
|
|
//保存OrderItem
|
|
|
- List<FsStoreOrderItemScrm> listOrderItem = new ArrayList<>();
|
|
|
+ List<FsStoreOrderItemScrm> listOrderItem=new ArrayList<>();
|
|
|
//保存购物车商品信息
|
|
|
- for (FsStoreCartQueryVO vo : carts) {
|
|
|
- FsStoreCartDTO fsStoreCartDTO = new FsStoreCartDTO();
|
|
|
+ for(FsStoreCartQueryVO vo:carts){
|
|
|
+ FsStoreCartDTO fsStoreCartDTO=new FsStoreCartDTO();
|
|
|
fsStoreCartDTO.setProductId(vo.getProductId());
|
|
|
fsStoreCartDTO.setPrice(vo.getPrice());
|
|
|
fsStoreCartDTO.setSku(vo.getProductAttrName());
|
|
@@ -769,13 +781,14 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
fsStoreCartDTO.setBrokerage(vo.getBrokerage());
|
|
|
fsStoreCartDTO.setBrokerageTwo(vo.getBrokerageTwo());
|
|
|
fsStoreCartDTO.setBrokerageThree(vo.getBrokerageThree());
|
|
|
- if (StringUtils.isEmpty(vo.getProductAttrImage())) {
|
|
|
+ if(StringUtils.isEmpty(vo.getProductAttrImage())){
|
|
|
fsStoreCartDTO.setImage(vo.getProductImage());
|
|
|
- } else {
|
|
|
+ }
|
|
|
+ else{
|
|
|
fsStoreCartDTO.setImage(vo.getProductAttrImage());
|
|
|
}
|
|
|
|
|
|
- FsStoreOrderItemScrm item = new FsStoreOrderItemScrm();
|
|
|
+ FsStoreOrderItemScrm item=new FsStoreOrderItemScrm();
|
|
|
item.setOrderId(storeOrder.getId());
|
|
|
item.setOrderCode(orderSn);
|
|
|
item.setCartId(vo.getId());
|
|
@@ -784,14 +797,14 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
item.setNum(vo.getCartNum());
|
|
|
item.setIsAfterSales(0);
|
|
|
//处方药
|
|
|
- if (vo.getProductType().equals(2)) {
|
|
|
+ if(vo.getProductType().equals(2)){
|
|
|
item.setIsPrescribe(1);
|
|
|
}
|
|
|
fsStoreOrderItemMapper.insertFsStoreOrderItem(item);
|
|
|
listOrderItem.add(item);
|
|
|
}
|
|
|
- if (listOrderItem.size() > 0) {
|
|
|
- String itemJson = JSONUtil.toJsonStr(listOrderItem);
|
|
|
+ if(listOrderItem.size()>0){
|
|
|
+ String itemJson=JSONUtil.toJsonStr(listOrderItem);
|
|
|
storeOrder.setItemJson(itemJson);
|
|
|
fsStoreOrderMapper.updateFsStoreOrder(storeOrder);
|
|
|
}
|
|
@@ -812,23 +825,24 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
String redisKey = String.valueOf(StrUtil.format("{}{}",
|
|
|
StoreConstants.REDIS_ORDER_OUTTIME_UNPAY, storeOrder.getId()));
|
|
|
|
|
|
- if (config.getUnPayTime() != null && config.getUnPayTime() > 0) {
|
|
|
- redisCache.setCacheObject(redisKey, storeOrder.getId(), config.getUnPayTime(), TimeUnit.MINUTES);
|
|
|
- } else {
|
|
|
- redisCache.setCacheObject(redisKey, storeOrder.getId(), 30, TimeUnit.MINUTES);
|
|
|
+ if(config.getUnPayTime()!=null&&config.getUnPayTime()>0){
|
|
|
+ redisCache.setCacheObject(redisKey,storeOrder.getId(),config.getUnPayTime(), TimeUnit.MINUTES);
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ redisCache.setCacheObject(redisKey,storeOrder.getId(),30, TimeUnit.MINUTES);
|
|
|
}
|
|
|
//添加支付到期时间
|
|
|
Calendar calendar = Calendar.getInstance();
|
|
|
calendar.setTime(storeOrder.getCreateTime());
|
|
|
- if (config.getUnPayTime() != null) {
|
|
|
- calendar.add(Calendar.MINUTE, config.getUnPayTime());
|
|
|
+ if (config.getUnPayTime() != null){
|
|
|
+ calendar.add(Calendar.MINUTE,config.getUnPayTime());
|
|
|
}
|
|
|
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
- String payLimitTime = format.format(calendar.getTime());
|
|
|
- redisCache.setCacheObject("orderAmount:" + storeOrder.getId(), storeOrder.getPayMoney(), 24, TimeUnit.HOURS);//物流代收自定义金额
|
|
|
+ String payLimitTime = format.format(calendar.getTime() );
|
|
|
+ redisCache.setCacheObject("orderAmount:"+storeOrder.getId(), storeOrder.getPayMoney(), 24, TimeUnit.HOURS);//物流代收自定义金额
|
|
|
//删除推荐订单KEY
|
|
|
String createOrderKey = param.getCreateOrderKey();
|
|
|
- if (StringUtils.isNotEmpty(createOrderKey)) {
|
|
|
+ if(StringUtils.isNotEmpty(createOrderKey)){
|
|
|
if (config.getIsBrushOrders() == null || !(config.getIsBrushOrders() && param.getCompanyUserId() != null)) {//未开启刷单
|
|
|
redisCache.deleteObject("createOrderKey:" + createOrderKey);
|
|
|
redisCache.deleteObject("orderCarts:" + createOrderKey);
|
|
@@ -836,9 +850,9 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
}
|
|
|
|
|
|
//货到付款自定义金额 key改为id存储
|
|
|
- BigDecimal amount = redisCache.getCacheObject("createOrderAmount:" + createOrderKey);
|
|
|
+ BigDecimal amount=redisCache.getCacheObject("createOrderAmount:"+createOrderKey);
|
|
|
redisCache.deleteObject("createOrderAmount:" + createOrderKey);
|
|
|
- redisCache.setCacheObject("orderAmount:" + storeOrder.getId(), amount, 24, TimeUnit.HOURS);//物流代收自定义金额
|
|
|
+ redisCache.setCacheObject("orderAmount:"+storeOrder.getId(), amount, 24, TimeUnit.HOURS);//物流代收自定义金额
|
|
|
}
|
|
|
return R.ok().put("order", storeOrder).put("payLimitTime", payLimitTime);
|
|
|
} else {
|
|
@@ -950,29 +964,29 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
/**
|
|
|
* 积分抵扣
|
|
|
*/
|
|
|
- private void decIntegral(Long uid, double usedIntegral, double deductionPrice, String busId) {
|
|
|
+ private void decIntegral(Long uid, double usedIntegral, double deductionPrice,String busId) {
|
|
|
userService.decIntegral(uid, usedIntegral);
|
|
|
- FsUserScrm user = userService.selectFsUserById(uid);
|
|
|
+ FsUserScrm user=userService.selectFsUserById(uid);
|
|
|
//积分记录
|
|
|
- billService.addBill(uid, BillDetailEnum.CATEGORY_2.getValue(), 0, BillDetailEnum.TYPE_1.getDesc(), usedIntegral, user.getIntegral().doubleValue(),
|
|
|
- "购买商品使用" + usedIntegral + "积分抵扣" + deductionPrice + "元", busId, 0l);
|
|
|
+ billService.addBill(uid, BillDetailEnum.CATEGORY_2.getValue(),0, BillDetailEnum.TYPE_1.getDesc(), usedIntegral, user.getIntegral().doubleValue(),
|
|
|
+ "购买商品使用" + usedIntegral + "积分抵扣" + deductionPrice + "元",busId,0l);
|
|
|
|
|
|
}
|
|
|
|
|
|
public void deStockIncSale(List<FsStoreCartQueryVO> cartInfo) {
|
|
|
for (FsStoreCartQueryVO storeCartVO : cartInfo) {
|
|
|
productService.decProductStock(storeCartVO.getProductId(),
|
|
|
- storeCartVO.getProductAttrValueId(), storeCartVO.getCartNum());
|
|
|
+ storeCartVO.getProductAttrValueId(),storeCartVO.getCartNum());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//未支付取消订单
|
|
|
@Override
|
|
|
public void cancelOrder(Long orderId) {
|
|
|
- FsStoreOrderScrm order = fsStoreOrderMapper.selectFsStoreOrderById(orderId);
|
|
|
- if (order.getStatus() == OrderInfoEnum.STATUS_0.getValue()) {
|
|
|
- if (!StringUtils.isEmpty(order.getExtendOrderId())) {
|
|
|
- redisCache.deleteObject(DELIVERY + ":" + order.getExtendOrderId());
|
|
|
+ FsStoreOrderScrm order= fsStoreOrderMapper.selectFsStoreOrderById(orderId);
|
|
|
+ if(order.getStatus()==OrderInfoEnum.STATUS_0.getValue()){
|
|
|
+ if(!StringUtils.isEmpty(order.getExtendOrderId())){
|
|
|
+ redisCache.deleteObject(DELIVERY+":"+order.getExtendOrderId());
|
|
|
}
|
|
|
//退回积分
|
|
|
this.refundIntegral(order);
|
|
@@ -1006,37 +1020,38 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
@Override
|
|
|
@Transactional
|
|
|
public void refundPrescribeOrder(Long orderId) {
|
|
|
- FsStoreOrderScrm order = fsStoreOrderMapper.selectFsStoreOrderById(orderId);
|
|
|
- if (order != null && order.getStatus() == OrderInfoEnum.STATUS_1.getValue() && order.getRefundStatus() == 0) {
|
|
|
+ FsStoreOrderScrm order= fsStoreOrderMapper.selectFsStoreOrderById(orderId);
|
|
|
+ if(order!=null&&order.getStatus()==OrderInfoEnum.STATUS_1.getValue()&&order.getRefundStatus()==0){
|
|
|
//退回积分
|
|
|
this.refundIntegral(order);
|
|
|
//退回库存
|
|
|
this.refundStock(order);
|
|
|
fsStoreOrderMapper.cancelOrder(orderId);
|
|
|
//退佣金
|
|
|
- if (order.getTuiUserId() != null && order.getTuiUserId() > 0) {
|
|
|
+ if(order.getTuiUserId()!=null&&order.getTuiUserId()>0){
|
|
|
userService.subTuiMoney(order);
|
|
|
}
|
|
|
- if (order.getPayType().equals(3)) {
|
|
|
+ if(order.getPayType().equals(3)){
|
|
|
//货到付款
|
|
|
- } else {
|
|
|
- FsStoreOrderScrm orderMap = new FsStoreOrderScrm();
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ FsStoreOrderScrm orderMap=new FsStoreOrderScrm();
|
|
|
orderMap.setId(order.getId());
|
|
|
orderMap.setRefundPrice(order.getPayMoney());
|
|
|
orderMap.setRefundReason("拒绝开方自动退款");
|
|
|
orderMap.setRefundReasonTime(new Date());
|
|
|
fsStoreOrderMapper.updateFsStoreOrder(orderMap);
|
|
|
//将钱退还给用户
|
|
|
- List<FsStorePaymentScrm> payments = paymentService.selectFsStorePaymentByOrderId(order.getId());
|
|
|
- if (payments != null) {
|
|
|
- for (FsStorePaymentScrm payment : payments) {
|
|
|
+ List<FsStorePaymentScrm> payments=paymentService.selectFsStorePaymentByOrderId(order.getId());
|
|
|
+ if(payments!=null){
|
|
|
+ for(FsStorePaymentScrm payment:payments){
|
|
|
//易宝退款
|
|
|
RefundDTO refundDTO = new RefundDTO();
|
|
|
refundDTO.setRefundMoney(payment.getPayMoney().toString());
|
|
|
- refundDTO.setLowRefundNo("refund-" + payment.getPayCode());
|
|
|
+ refundDTO.setLowRefundNo("refund-"+payment.getPayCode());
|
|
|
refundDTO.setUpOrderId(payment.getTradeNo());
|
|
|
- RefundResult result = ybPayService.refund(refundDTO);
|
|
|
- if (result.getState().equals("5") || result.getState().equals("6")) {
|
|
|
+ RefundResult result=ybPayService.refund(refundDTO);
|
|
|
+ if(result.getState().equals("5")||result.getState().equals("6")){
|
|
|
payment.setRefundMoney(payment.getPayMoney());
|
|
|
payment.setStatus(-1);
|
|
|
payment.setRefundTime(new Date());
|
|
@@ -1065,9 +1080,9 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
|
|
|
|
|
|
private void refundCoupon(FsStoreOrderScrm order) {
|
|
|
- if (order.getCouponId() != null) {
|
|
|
- FsStoreCouponUserScrm couponUser = couponUserService.selectFsStoreCouponUserById(order.getCouponId());
|
|
|
- if (couponUser != null) {
|
|
|
+ if(order.getCouponId()!=null){
|
|
|
+ FsStoreCouponUserScrm couponUser=couponUserService.selectFsStoreCouponUserById(order.getCouponId());
|
|
|
+ if(couponUser!=null){
|
|
|
couponUser.setStatus(0);
|
|
|
couponUser.setUseTime(null);
|
|
|
couponUserService.updateFsStoreCouponUser(couponUser);
|
|
@@ -1079,8 +1094,8 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
@Override
|
|
|
public void refundOrder(Long orderId) {
|
|
|
|
|
|
- FsStoreOrderScrm order = fsStoreOrderMapper.selectFsStoreOrderById(orderId);
|
|
|
- if (order != null && order.getStatus() == OrderInfoEnum.STATUS_1.getValue() && order.getRefundStatus() == 0) {
|
|
|
+ FsStoreOrderScrm order= fsStoreOrderMapper.selectFsStoreOrderById(orderId);
|
|
|
+ if(order!=null&&order.getStatus()==OrderInfoEnum.STATUS_1.getValue()&&order.getRefundStatus()==0){
|
|
|
//退回积分
|
|
|
this.refundIntegral(order);
|
|
|
//退回库存
|
|
@@ -1090,11 +1105,11 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void deliveryOrder(String orderCode, String deliveryId, String deliverCode, String deliverName) {
|
|
|
- FsStoreOrderScrm order = fsStoreOrderMapper.selectFsStoreOrderByOrderCode(orderCode);
|
|
|
- if (order != null && order.getStatus() == OrderInfoEnum.STATUS_1.getValue()) {
|
|
|
- FsExpressScrm express = expressService.selectFsExpressByOmsCode(deliverCode);
|
|
|
- if (express != null) {
|
|
|
+ public void deliveryOrder(String orderCode,String deliveryId,String deliverCode,String deliverName) {
|
|
|
+ FsStoreOrderScrm order= fsStoreOrderMapper.selectFsStoreOrderByOrderCode(orderCode);
|
|
|
+ if(order!=null&&order.getStatus()==OrderInfoEnum.STATUS_1.getValue()){
|
|
|
+ FsExpressScrm express=expressService.selectFsExpressByOmsCode(deliverCode);
|
|
|
+ if(express!=null){
|
|
|
order.setDeliveryName(deliverName);
|
|
|
order.setDeliverySn(express.getCode());
|
|
|
}
|
|
@@ -1113,7 +1128,7 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
lastFourNumber = StrUtil.sub(lastFourNumber, lastFourNumber.length(), -4);
|
|
|
}
|
|
|
}
|
|
|
- expressService.subscribeEspress(order.getOrderCode(), order.getDeliverySn(), order.getDeliveryId(), lastFourNumber);
|
|
|
+ expressService.subscribeEspress(order.getOrderCode(),order.getDeliverySn(),order.getDeliveryId(),lastFourNumber);
|
|
|
|
|
|
TemplateBean templateBean = TemplateBean.builder()
|
|
|
.orderId(order.getId().toString())
|
|
@@ -1128,27 +1143,27 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void updateDeliveryOrder(Long id, String deliveryId, String deliverCode, String deliverName) {
|
|
|
- FsStoreOrderScrm order = fsStoreOrderMapper.selectFsStoreOrderById(id);
|
|
|
- if (order != null) {
|
|
|
- FsExpressScrm express = expressService.selectFsExpressByOmsCode(deliverCode);
|
|
|
- if (express != null) {
|
|
|
- order.setDeliveryName(deliverName);
|
|
|
- order.setDeliverySn(express.getCode());
|
|
|
- order.setDeliveryId(deliveryId);
|
|
|
- order.setDeliverySendTime(new Date());
|
|
|
- fsStoreOrderMapper.updateFsStoreOrder(order);
|
|
|
- orderStatusService.create(order.getId(), OrderLogEnum.DELIVERY_GOODS.getValue(),
|
|
|
- OrderLogEnum.DELIVERY_GOODS.getDesc());
|
|
|
- //订阅物流回调
|
|
|
- String lastFourNumber = "";
|
|
|
- if (express.getCode().equals(ShipperCodeEnum.SF.getValue())) {
|
|
|
- lastFourNumber = order.getUserPhone();
|
|
|
- if (lastFourNumber.length() == 11) {
|
|
|
- lastFourNumber = StrUtil.sub(lastFourNumber, lastFourNumber.length(), -4);
|
|
|
- }
|
|
|
+ public void updateDeliveryOrder(Long id,String deliveryId,String deliverCode,String deliverName) {
|
|
|
+ FsStoreOrderScrm order= fsStoreOrderMapper.selectFsStoreOrderById(id);
|
|
|
+ if(order!=null){
|
|
|
+ FsExpressScrm express=expressService.selectFsExpressByOmsCode(deliverCode);
|
|
|
+ if(express!=null){
|
|
|
+ order.setDeliveryName(deliverName);
|
|
|
+ order.setDeliverySn(express.getCode());
|
|
|
+ order.setDeliveryId(deliveryId);
|
|
|
+ order.setDeliverySendTime(new Date());
|
|
|
+ fsStoreOrderMapper.updateFsStoreOrder(order);
|
|
|
+ orderStatusService.create(order.getId(), OrderLogEnum.DELIVERY_GOODS.getValue(),
|
|
|
+ OrderLogEnum.DELIVERY_GOODS.getDesc());
|
|
|
+ //订阅物流回调
|
|
|
+ String lastFourNumber = "";
|
|
|
+ if (express.getCode().equals(ShipperCodeEnum.SF.getValue())) {
|
|
|
+ lastFourNumber = order.getUserPhone();
|
|
|
+ if (lastFourNumber.length() == 11) {
|
|
|
+ lastFourNumber = StrUtil.sub(lastFourNumber, lastFourNumber.length(), -4);
|
|
|
}
|
|
|
- expressService.subscribeEspress(order.getOrderCode(), express.getCode(), deliveryId, lastFourNumber);
|
|
|
+ }
|
|
|
+ expressService.subscribeEspress(order.getOrderCode(),express.getCode(),deliveryId,lastFourNumber);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -1156,36 +1171,37 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
|
|
|
@Override
|
|
|
public List<FsMyStoreOrderListQueryVO> selectFsMyStoreOrderListVO(FsMyStoreOrderQueryParam param) {
|
|
|
- List<FsMyStoreOrderListQueryVO> list = fsStoreOrderMapper.selectFsMyStoreOrderListVO(param);
|
|
|
- for (FsMyStoreOrderListQueryVO vo : list) {
|
|
|
+ List<FsMyStoreOrderListQueryVO> list= fsStoreOrderMapper.selectFsMyStoreOrderListVO(param);
|
|
|
+ for(FsMyStoreOrderListQueryVO vo:list){
|
|
|
// List<FsStoreOrderItemVO> items=fsStoreOrderItemMapper.selectMyFsStoreOrderItemListByOrderId(vo.getId());
|
|
|
// vo.setItems(items);
|
|
|
- if (StringUtils.isNotEmpty(vo.getItemJson())) {
|
|
|
- JSONArray jsonArray = JSONUtil.parseArray(vo.getItemJson());
|
|
|
- List<FsStoreOrderItemVO> items = JSONUtil.toList(jsonArray, FsStoreOrderItemVO.class);
|
|
|
- if (items.size() > 0) {
|
|
|
+ if(StringUtils.isNotEmpty(vo.getItemJson())){
|
|
|
+ JSONArray jsonArray=JSONUtil.parseArray(vo.getItemJson());
|
|
|
+ List<FsStoreOrderItemVO> items=JSONUtil.toList(jsonArray, FsStoreOrderItemVO.class);
|
|
|
+ if(items.size()>0){
|
|
|
vo.setItems(items);
|
|
|
}
|
|
|
}
|
|
|
//处理是否可以申请售后
|
|
|
vo.setIsAfterSales(0);
|
|
|
- if (vo.getStatus().equals(OrderInfoEnum.STATUS_3.getValue())) {
|
|
|
+ if(vo.getStatus().equals(OrderInfoEnum.STATUS_3.getValue())){
|
|
|
//已完成订单
|
|
|
vo.setIsAfterSales(1);
|
|
|
- if (vo.getFinishTime() != null) {
|
|
|
- String json = configService.selectConfigByKey("store.config");
|
|
|
- StoreConfig storeConfig = JSONUtil.toBean(json, StoreConfig.class);
|
|
|
- if (storeConfig.getStoreAfterSalesDay() != null && storeConfig.getStoreAfterSalesDay() > 0) {
|
|
|
+ if(vo.getFinishTime()!=null){
|
|
|
+ String json=configService.selectConfigByKey("store.config");
|
|
|
+ StoreConfig storeConfig=JSONUtil.toBean(json,StoreConfig.class);
|
|
|
+ if(storeConfig.getStoreAfterSalesDay()!=null&&storeConfig.getStoreAfterSalesDay()>0){
|
|
|
//判断完成时间是否超过指定时间
|
|
|
Calendar calendar = new GregorianCalendar();
|
|
|
calendar.setTime(vo.getFinishTime());
|
|
|
- calendar.add(calendar.DATE, storeConfig.getStoreAfterSalesDay()); //把日期往后增加一天,整数 往后推,负数往前移动
|
|
|
- if (calendar.getTime().getTime() < new Date().getTime()) {
|
|
|
+ calendar.add(calendar.DATE,storeConfig.getStoreAfterSalesDay()); //把日期往后增加一天,整数 往后推,负数往前移动
|
|
|
+ if(calendar.getTime().getTime()<new Date().getTime()){
|
|
|
vo.setIsAfterSales(0);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- } else if (vo.getStatus() == 1 || vo.getStatus() == 2) {
|
|
|
+ }
|
|
|
+ else if(vo.getStatus()==1||vo.getStatus()==2){
|
|
|
vo.setIsAfterSales(1);
|
|
|
}
|
|
|
}
|
|
@@ -1207,10 +1223,10 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
lastFourNumber = StrUtil.sub(lastFourNumber, lastFourNumber.length(), -4);
|
|
|
}
|
|
|
}
|
|
|
- ExpressInfoDTO dto = expressService.getExpressInfo(order.getOrderCode(), order.getDeliverySn(), order.getDeliveryId(), lastFourNumber);
|
|
|
+ ExpressInfoDTO dto=expressService.getExpressInfo(order.getOrderCode(),order.getDeliverySn(),order.getDeliveryId(),lastFourNumber);
|
|
|
dto.setShipperName(order.getDeliveryName());
|
|
|
- FsExpressScrm express = expressService.selectFsExpressByName(order.getDeliveryName());
|
|
|
- return R.ok().put("data", dto).put("express", express).put("deliveryId", order.getDeliveryId());
|
|
|
+ FsExpressScrm express=expressService.selectFsExpressByName(order.getDeliveryName());
|
|
|
+ return R.ok().put("data", dto).put("express",express).put("deliveryId",order.getDeliveryId());
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -1486,7 +1502,11 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
}
|
|
|
Calendar calendar = Calendar.getInstance();
|
|
|
calendar.setTime(storeOrder.getCreateTime());
|
|
|
- calendar.add(Calendar.MINUTE, config.getUnPayTime());
|
|
|
+ if(ObjectUtil.isNotEmpty(config.getUnPayTime())){
|
|
|
+ calendar.add(Calendar.MINUTE,config.getUnPayTime());
|
|
|
+ }else {
|
|
|
+ calendar.add(Calendar.MINUTE,30);
|
|
|
+ }
|
|
|
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
String payLimitTime = format.format(calendar.getTime());
|
|
|
return R.ok().put("order", storeOrder).put("payLimitTime", payLimitTime);
|
|
@@ -1673,7 +1693,6 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
|
|
|
/**
|
|
|
* 获取是否需要订单审核
|
|
|
- *
|
|
|
* @return boolean
|
|
|
*/
|
|
|
private boolean getAuditSwitch() {
|