运费设置业务类 添加相关方法

This commit is contained in:
Jack 2024-11-25 00:27:31 +08:00
parent 046aff7463
commit 1d6c4bdf5b
13 changed files with 157 additions and 33 deletions

View File

@ -3,11 +3,13 @@ package com.suisung.mall.common.modules.store;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
@ -75,9 +77,13 @@ public class ShopStorePrinter implements Serializable {
@ApiModelProperty(value = "更新用户ID") @ApiModelProperty(value = "更新用户ID")
private Integer updated_by; private Integer updated_by;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty(value = "新增时间") @ApiModelProperty(value = "新增时间")
private Date created_at; private Date created_at;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty(value = "修改时间") @ApiModelProperty(value = "修改时间")
private Date updated_at; private Date updated_at;
} }

View File

@ -3,6 +3,7 @@ package com.suisung.mall.common.modules.store;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@ -10,6 +11,7 @@ import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
@ -85,9 +87,13 @@ public class ShopStorePrinterLog implements Serializable {
@ApiModelProperty(value = "更新用户ID") @ApiModelProperty(value = "更新用户ID")
private Integer updated_by; private Integer updated_by;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty(value = "新增时间") @ApiModelProperty(value = "新增时间")
private Date created_at; private Date created_at;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty(value = "修改时间") @ApiModelProperty(value = "修改时间")
private Date updated_at; private Date updated_at;
} }

View File

@ -3,11 +3,13 @@ package com.suisung.mall.common.modules.store;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
@ -57,9 +59,13 @@ public class ShopStorePrinterModel implements Serializable {
@ApiModelProperty(value = "更新用户ID") @ApiModelProperty(value = "更新用户ID")
private Integer updated_by; private Integer updated_by;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty(value = "新增时间") @ApiModelProperty(value = "新增时间")
private Date created_at; private Date created_at;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty(value = "修改时间") @ApiModelProperty(value = "修改时间")
private Date updated_at; private Date updated_at;
} }

View File

@ -3,11 +3,13 @@ package com.suisung.mall.common.modules.store;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
@ -48,9 +50,13 @@ public class ShopStorePrinterRegion implements Serializable {
@ApiModelProperty(value = "更新用户ID") @ApiModelProperty(value = "更新用户ID")
private Integer updated_by; private Integer updated_by;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty(value = "新增时间") @ApiModelProperty(value = "新增时间")
private Date created_at; private Date created_at;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty(value = "修改时间") @ApiModelProperty(value = "修改时间")
private Date updated_at; private Date updated_at;
} }

View File

@ -3,11 +3,13 @@ package com.suisung.mall.common.modules.store;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
@ -60,9 +62,13 @@ public class ShopStorePrinterTemplate implements Serializable {
@ApiModelProperty(value = "更新用户ID") @ApiModelProperty(value = "更新用户ID")
private Integer updated_by; private Integer updated_by;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty(value = "新增时间") @ApiModelProperty(value = "新增时间")
private Date created_at; private Date created_at;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty(value = "修改时间") @ApiModelProperty(value = "修改时间")
private Date updated_at; private Date updated_at;
} }

View File

@ -11,11 +11,13 @@ package com.suisung.mall.common.modules.store;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
@ -74,9 +76,13 @@ public class ShopStoreSameCityTransport implements Serializable {
@ApiModelProperty(value = "更新用户ID") @ApiModelProperty(value = "更新用户ID")
private Integer updated_by; private Integer updated_by;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty(value = "新增时间") @ApiModelProperty(value = "新增时间")
private Date created_at; private Date created_at;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty(value = "修改时间") @ApiModelProperty(value = "修改时间")
private Date updated_at; private Date updated_at;
} }

View File

@ -11,11 +11,13 @@ package com.suisung.mall.common.modules.store;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
@ -89,9 +91,13 @@ public class ShopStoreSameCityTransportBase implements Serializable {
@ApiModelProperty(value = "更新用户ID") @ApiModelProperty(value = "更新用户ID")
private Integer updated_by; private Integer updated_by;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty(value = "新增时间") @ApiModelProperty(value = "新增时间")
private Date created_at; private Date created_at;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty(value = "修改时间") @ApiModelProperty(value = "修改时间")
private Date updated_at; private Date updated_at;
} }

View File

@ -31,4 +31,24 @@ public class ShopStoreSameCityTransportBaseDTO implements Serializable {
@ApiModelProperty(value = "店铺同城快递运费设置(起送条件+优惠条件)") @ApiModelProperty(value = "店铺同城快递运费设置(起送条件+优惠条件)")
public List<ShopStoreSameCityTransport> transportList; public List<ShopStoreSameCityTransport> transportList;
public void rebuildTransportList() {
if (this.transportBase == null || this.transportList.isEmpty()) {
return;
}
for (ShopStoreSameCityTransport transport : this.transportList) {
transport.setTransport_base_id(this.transportBase.getTransport_base_id());
transport.setUpdated_by(this.transportBase.getUpdated_by());
transport.setUpdated_at(this.transportBase.getUpdated_at());
if (transport.getCreated_by() == null) {
transport.setCreated_by(transport.getUpdated_by());
}
if (transport.getCreated_at() == null) {
transport.setCreated_at(transport.getUpdated_at());
}
}
}
} }

View File

@ -1,20 +1,21 @@
package com.suisung.mall.shop.store.controller.admin; package com.suisung.mall.shop.store.controller.admin;
import cn.hutool.json.JSONUtil;
import com.suisung.mall.common.api.CommonResult; import com.suisung.mall.common.api.CommonResult;
import com.suisung.mall.common.modules.store.ShopStorePrinter; import com.suisung.mall.common.modules.store.ShopStorePrinter;
import com.suisung.mall.common.modules.store.ShopStoreSameCityTransportBase;
import com.suisung.mall.common.pojo.dto.ShopStoreSameCityTransportBaseDTO;
import com.suisung.mall.common.utils.JsonUtil;
import com.suisung.mall.shop.store.service.ShopStorePrinterService; import com.suisung.mall.shop.store.service.ShopStorePrinterService;
import com.suisung.mall.shop.store.service.ShopStoreSameCityTransportBaseService; import com.suisung.mall.shop.store.service.ShopStoreSameCityTransportBaseService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
@Api(tags = "门店打票机打印业务") @Api(tags = "同城配送运费设置控制器")
@RestController @RestController
@RequestMapping("/admin/shop/store/same-city-transport") @RequestMapping("/admin/shop/store/same-city-transport")
public class ShopStoreSameCityTransportBaseController { public class ShopStoreSameCityTransportBaseController {
@ -22,10 +23,16 @@ public class ShopStoreSameCityTransportBaseController {
@Resource @Resource
private ShopStoreSameCityTransportBaseService transportBaseService; private ShopStoreSameCityTransportBaseService transportBaseService;
@ApiOperation(value = "同城配送运费设置详情", notes = "同城配送运费设置详情") @ApiOperation(value = "获取同城配送运费设置详情", notes = "获取同城配送运费设置详情")
@RequestMapping(value = "/detail", method = {RequestMethod.GET}) @RequestMapping(value = "/detail", method = {RequestMethod.GET})
public CommonResult shopStorePrinterDetail() { public CommonResult shopStoreSameCityTransportBaseDetail() {
return transportBaseService.ShopStoreSameCityTransportBaseDetail(); return transportBaseService.ShopStoreSameCityTransportBaseDetail();
} }
@ApiOperation(value = "保存(新增或修改)同城配送运费设置", notes = "保存(新增或修改)同城配送运费设置")
@RequestMapping(value = "/save", method = {RequestMethod.POST})
public CommonResult shopStoreSameCityTransportBaseSettingDetail(@RequestBody(required = true) String requestBody) {
ShopStoreSameCityTransportBaseDTO params = JsonUtil.json2object(requestBody, ShopStoreSameCityTransportBaseDTO.class);
return transportBaseService.saveOrUpdateSameCityTransport(params);
}
} }

View File

@ -11,17 +11,20 @@ package com.suisung.mall.shop.store.service;
import com.suisung.mall.common.api.CommonResult; import com.suisung.mall.common.api.CommonResult;
import com.suisung.mall.common.modules.store.ShopStoreSameCityTransportBase; import com.suisung.mall.common.modules.store.ShopStoreSameCityTransportBase;
import com.suisung.mall.common.pojo.dto.ShopStoreSameCityTransportBaseDTO; import com.suisung.mall.common.pojo.dto.ShopStoreSameCityTransportBaseDTO;
import org.springframework.data.util.Pair;
public interface ShopStoreSameCityTransportBaseService { public interface ShopStoreSameCityTransportBaseService {
/** /**
* 获取同城配送设置详情信息 * 获取同城配送设置详情信息
*
* @return * @return
*/ */
CommonResult ShopStoreSameCityTransportBaseDetail(); CommonResult ShopStoreSameCityTransportBaseDetail();
/** /**
* 保存或更新同城配送各项设置 * 保存或更新同城配送各项设置
*
* @param shopStoreSameCityTransportBaseDTO * @param shopStoreSameCityTransportBaseDTO
* @return * @return
*/ */
@ -29,6 +32,7 @@ public interface ShopStoreSameCityTransportBaseService {
/** /**
* 根据店铺 Id 获取同城配送设置详情信息 * 根据店铺 Id 获取同城配送设置详情信息
*
* @param storeId * @param storeId
* @return * @return
*/ */
@ -37,8 +41,9 @@ public interface ShopStoreSameCityTransportBaseService {
/** /**
* 保存同城配送基础设置存在更新不存在新增 * 保存同城配送基础设置存在更新不存在新增
*
* @param shopStoreSameCityTransportBase * @param shopStoreSameCityTransportBase
* @return * @return
*/ */
Boolean saveOrUpdateShopStoreSameCityTransportBase(ShopStoreSameCityTransportBase shopStoreSameCityTransportBase); Pair<Long, String> saveOrUpdateShopStoreSameCityTransportBase(ShopStoreSameCityTransportBase shopStoreSameCityTransportBase);
} }

View File

@ -26,9 +26,8 @@ public interface ShopStoreSameCityTransportService {
/** /**
* 保存同城配送扩展设置列表存在就更新不存在就新增 * 保存同城配送扩展设置列表存在就更新不存在就新增
* @param transportBaseId
* @param transportList * @param transportList
* @return 成功的记录数 * @return 成功的记录数
*/ */
Integer saveOrUpdateShopStoreSameCityTransportList(Long transportBaseId, List<ShopStoreSameCityTransport> transportList); Integer saveOrUpdateShopStoreSameCityTransportList(List<ShopStoreSameCityTransport> transportList);
} }

View File

@ -25,6 +25,7 @@ import com.suisung.mall.shop.store.service.ShopStoreBaseService;
import com.suisung.mall.shop.store.service.ShopStoreSameCityTransportBaseService; import com.suisung.mall.shop.store.service.ShopStoreSameCityTransportBaseService;
import com.suisung.mall.shop.store.service.ShopStoreSameCityTransportService; import com.suisung.mall.shop.store.service.ShopStoreSameCityTransportService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.util.Pair;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -76,12 +77,12 @@ public class ShopStoreSameCityTransportBaseServiceImpl extends BaseServiceImpl<S
@Override @Override
public CommonResult saveOrUpdateSameCityTransport(ShopStoreSameCityTransportBaseDTO shopStoreSameCityTransportBaseDTO) { public CommonResult saveOrUpdateSameCityTransport(ShopStoreSameCityTransportBaseDTO shopStoreSameCityTransportBaseDTO) {
// 判断有没有权限 // 判断有没有权限
UserDto user = getCurrentUser(); // UserDto user = getCurrentUser();
if (user == null || !user.isStore()) { // if (user == null || !user.isStore()) {
return CommonResult.failed("无权限操作!"); // return CommonResult.failed("无权限操作!");
} // }
Integer userId = user.getId(); Integer userId = 3;//user.getId();
if (shopStoreSameCityTransportBaseDTO == null || shopStoreSameCityTransportBaseDTO.getTransportBase() == null) { if (shopStoreSameCityTransportBaseDTO == null || shopStoreSameCityTransportBaseDTO.getTransportBase() == null) {
return CommonResult.failed("参数有误"); return CommonResult.failed("参数有误");
@ -90,16 +91,18 @@ public class ShopStoreSameCityTransportBaseServiceImpl extends BaseServiceImpl<S
ShopStoreSameCityTransportBase transportBase = shopStoreSameCityTransportBaseDTO.getTransportBase(); ShopStoreSameCityTransportBase transportBase = shopStoreSameCityTransportBaseDTO.getTransportBase();
transportBase.setUpdated_by(userId); transportBase.setUpdated_by(userId);
// 新增或更新同城配送基础设置 // 新增或更新同城配送基础设置
boolean success = saveOrUpdateShopStoreSameCityTransportBase(transportBase); Pair<Long,String> pair = saveOrUpdateShopStoreSameCityTransportBase(transportBase);
// 新增或更新同城配送扩展设置列表 // 新增或更新同城配送扩展设置列表
shopStoreSameCityTransportService.saveOrUpdateShopStoreSameCityTransportList(transportBase.getTransport_base_id(), shopStoreSameCityTransportBaseDTO.getTransportList()); shopStoreSameCityTransportBaseDTO.setTransportBase(transportBase);
shopStoreSameCityTransportBaseDTO.rebuildTransportList();
shopStoreSameCityTransportService.saveOrUpdateShopStoreSameCityTransportList(shopStoreSameCityTransportBaseDTO.getTransportList());
if (success) { if (pair.getFirst()>0) {
CommonResult.success(); return CommonResult.success(null, pair.getSecond());
} }
return CommonResult.failed("操作失败!"); return CommonResult.failed(pair.getSecond());
} }
/** /**
@ -160,26 +163,50 @@ public class ShopStoreSameCityTransportBaseServiceImpl extends BaseServiceImpl<S
return shopStoreSameCityTransportBaseDTO; return shopStoreSameCityTransportBaseDTO;
} }
public Boolean saveOrUpdateShopStoreSameCityTransportBase(ShopStoreSameCityTransportBase transportBase) { public Pair<Long,String> saveOrUpdateShopStoreSameCityTransportBase(ShopStoreSameCityTransportBase transportBase) {
if (transportBase == null || transportBase.getStore_id() == null || transportBase.getStore_id() <= 0) { if (transportBase == null || transportBase.getStore_id() == null || transportBase.getStore_id() <= 0) {
return false; return Pair.of(0L, "缺少店铺Id必要参数");
}
if (transportBase.getDistance_base() == null || transportBase.getDistance_base() <= 0) {
return Pair.of(0L, "请输入距离!");
}
if (transportBase.getWeight_base() == null || transportBase.getWeight_base() <= 0) {
return Pair.of(0L, "请输入重量!");
}
if (transportBase.getDelivery_base_fee() == null || BigDecimal.ZERO.compareTo(transportBase.getDelivery_base_fee()) >= 0) {
return Pair.of(0L, "请输入配送运费!");
} }
QueryWrapper<ShopStoreSameCityTransportBase> queryWrapper = new QueryWrapper<>(); QueryWrapper<ShopStoreSameCityTransportBase> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("store_id", transportBase.getStore_id()); queryWrapper.eq("store_id", transportBase.getStore_id());
ShopStoreSameCityTransportBase transportBaseExist = getOne(queryWrapper); ShopStoreSameCityTransportBase transportBaseExist = getOne(queryWrapper);
if (transportBase == null) { if (transportBaseExist == null) {
// 新增记录 // 新增记录
transportBase.setCreated_by(transportBase.getUpdated_by()); transportBase.setCreated_by(transportBase.getUpdated_by());
return save(transportBase); if (save(transportBase)) {
// 应返回自增id
transportBaseExist = getOne(queryWrapper);
transportBase.setTransport_base_id(transportBaseExist.getTransport_base_id());
return Pair.of(transportBaseExist.getTransport_base_id(), "添加成功!");
} else {
return Pair.of(0L, "添加失败!");
}
} }
// 记录已经存在就直接更新
Long transportBaseId = transportBase.getTransport_base_id(); Long transportBaseId = transportBase.getTransport_base_id();
if (transportBaseId == null || transportBase.getTransport_base_id() <= 0) { if (transportBaseId == null || transportBase.getTransport_base_id() <= 0) {
transportBase.setTransport_base_id(transportBaseExist.getTransport_base_id()); transportBase.setTransport_base_id(transportBaseExist.getTransport_base_id());
} }
// 更新记录 // 更新记录
return updateById(transportBase); if (updateById(transportBase)) {
return Pair.of(transportBase.getTransport_base_id(), "更新成功!");
} else {
return Pair.of(0L, "更新失败!");
}
} }
} }

View File

@ -15,14 +15,18 @@ import com.suisung.mall.common.modules.store.ShopStoreSameCityTransport;
import com.suisung.mall.core.web.service.impl.BaseServiceImpl; import com.suisung.mall.core.web.service.impl.BaseServiceImpl;
import com.suisung.mall.shop.store.mapper.ShopStoreSameCityTransportMapper; import com.suisung.mall.shop.store.mapper.ShopStoreSameCityTransportMapper;
import com.suisung.mall.shop.store.service.ShopStoreSameCityTransportService; import com.suisung.mall.shop.store.service.ShopStoreSameCityTransportService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
@Service @Service
public class ShopStoreSameCityTransportServiceImpl extends BaseServiceImpl<ShopStoreSameCityTransportMapper, ShopStoreSameCityTransport> implements ShopStoreSameCityTransportService { public class ShopStoreSameCityTransportServiceImpl extends BaseServiceImpl<ShopStoreSameCityTransportMapper, ShopStoreSameCityTransport> implements ShopStoreSameCityTransportService {
private static final Logger logger = LoggerFactory.getLogger(ShopStoreSameCityTransportServiceImpl.class);
/** /**
* 根据同城配送基础配置自增 Id 获取同城配送扩展设置列表 * 根据同城配送基础配置自增 Id 获取同城配送扩展设置列表
@ -52,28 +56,48 @@ public class ShopStoreSameCityTransportServiceImpl extends BaseServiceImpl<ShopS
/** /**
* 保存同城配送扩展设置列表存在就更新不存在就新增 * 保存同城配送扩展设置列表存在就更新不存在就新增
* *
* @param transportBaseId
* @param transportList * @param transportList
* @return 成功的记录数 * @return 成功的记录数
*/ */
@Override @Override
public Integer saveOrUpdateShopStoreSameCityTransportList(Long transportBaseId, List<ShopStoreSameCityTransport> transportList) { public Integer saveOrUpdateShopStoreSameCityTransportList(List<ShopStoreSameCityTransport> transportList) {
if (CollectionUtil.isEmpty(transportList) || transportBaseId == null || transportBaseId <= 0) { if (CollectionUtil.isEmpty(transportList)) {
logger.error("缺少必要参数!");
return 0; return 0;
} }
int count = 0; int count = 0;
for (ShopStoreSameCityTransport transport : transportList) { for (ShopStoreSameCityTransport transport : transportList) {
if(transport.getTransport_base_id()==null||transport.getTransport_base_id()<=0){
logger.error("缺少 transport_base_id 必要参数!");
continue;
}
// 检验参数完整性
if (transport.getArea_type() == null) {
transport.setArea_type(1);//业务分类1-圆半径2-多边形
}
if (transport.getMax_delivery_radius() == null || transport.getMax_delivery_radius() <= 0) {
logger.error("缺少配送范围,忽略保存!");
continue;
}
// 未选起送金额条件起送金额为0
if (transport.getMin_delivery_amount_type() == null && transport.getMin_delivery_amount() != null) {
transport.setMin_delivery_amount(BigDecimal.ZERO);
}
// 未选减免的金额条件减免的金额为0
if ((transport.getDelivery_discount_type() == null || transport.getMin_delivery_discount_amount() == null) && transport.getDelivery_discount() != null) {
transport.setDelivery_discount(BigDecimal.ZERO);
}
if (transport == null || transport.getTransport_id() == null || transport.getTransport_id() <= 0) { if (transport == null || transport.getTransport_id() == null || transport.getTransport_id() <= 0) {
transport.setTransport_base_id(transportBaseId); // 新增
if (save(transport)) { if (save(transport)) {
count += 1; count += 1;
} }
} else { } else {
if (transport.getTransport_base_id() == null || transport.getTransport_base_id() <= 0) { // 修改
transport.setTransport_base_id(transportBaseId);
}
if (updateById(transport)) { if (updateById(transport)) {
count += 1; count += 1;
} }