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

This commit is contained in:
Jack 2024-11-24 10:21:06 +08:00
parent ac98be5c09
commit 7a00de8aa9
12 changed files with 339 additions and 278 deletions

View File

@ -27,8 +27,8 @@ public class ShopStoreSameCityTransportBaseDTO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "店铺同城快递基础运费设置")
ShopStoreSameCityTransportBase shopStoreSameCityTransportBase;
ShopStoreSameCityTransportBase transportBase;
@ApiModelProperty(value = "店铺同城快递运费设置(起送条件+优惠条件)")
public List<ShopStoreSameCityTransport> shopStoreSameCityTransportList;
public List<ShopStoreSameCityTransport> transportList;
}

View File

@ -9,6 +9,7 @@
package com.suisung.mall.shop.store.service;
import com.suisung.mall.common.api.CommonResult;
import com.suisung.mall.common.modules.store.ShopStoreSameCityTransportBase;
import com.suisung.mall.common.pojo.dto.ShopStoreSameCityTransportBaseDTO;
public interface ShopStoreSameCityTransportBaseService {
@ -32,4 +33,12 @@ public interface ShopStoreSameCityTransportBaseService {
* @return
*/
ShopStoreSameCityTransportBaseDTO getDetailById(Long storeId);
/**
* 保存同城配送基础设置存在更新不存在新增
* @param shopStoreSameCityTransportBase
* @return
*/
Boolean saveOrUpdateShopStoreSameCityTransportBase(ShopStoreSameCityTransportBase shopStoreSameCityTransportBase);
}

View File

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

View File

@ -82,79 +82,127 @@ import static com.suisung.mall.common.utils.ContextUtil.getCurrentUser;
@Service
public class ShopStoreActivityBaseServiceImpl extends BaseServiceImpl<ShopStoreActivityBaseMapper, ShopStoreActivityBase> implements ShopStoreActivityBaseService {
@Autowired
private ShopProductIndexService shopProductIndexService;
@Autowired
private ShopActivityMarketingHistoryService shopActivityMarketingHistoryService;
@Autowired
private ShopStoreBaseService shopStoreBaseService;
@Autowired
private ShopBaseActivityTypeService shopBaseActivityTypeService;
@Autowired
private UserInfoService userInfoService;
@Autowired
private AccountService accountService;
@Autowired
private ShopUserVoucherService userVoucherService;
@Autowired
private ShopActivityCutpriceHistoryService shopActivityCutpriceHistoryService;
@Autowired
private ShopStoreActivityBaseService shopStoreActivityBaseService;
@Autowired
private ShopActivityCutpriceService shopActivityCutpriceService;
@Autowired
private ShopProductItemService shopProductItemService;
@Autowired
private ShopBaseCurrencyService shopBaseCurrencyService;
@Autowired
private ShopProductImageService shopProductImageService;
@Autowired
private ShopProductBaseService shopProductBaseService;
@Autowired
private ShopActivityLotteryHistoryService shopActivityLotteryHistoryService;
@Autowired
private ShopStoreActivityItemService shopStoreActivityItemService;
@Autowired
private ShopActivityGroupbuyStoreHistoryService activityGroupbuyStoreHistoryService;
@Autowired
private ShopActivityGroupbookingService shopActivityGroupbookingService;
@Autowired
private ShopBaseStateCodeService shopBaseStateCodeService;
@Autowired
private ShopStoreActivityCodeService shopStoreActivityCodeService;
@Autowired
private ShopOrderDataService shopOrderDataService;
private static final Logger logger = LoggerFactory.getLogger(ShopStoreActivityBaseServiceImpl.class);
@Autowired
ShopOrderBaseService shopOrderBaseService;
@Autowired
ShopUserVoucherService shopUserVoucherService;
@Autowired
private ShopProductIndexService shopProductIndexService;
@Autowired
private ShopActivityMarketingHistoryService shopActivityMarketingHistoryService;
@Autowired
private ShopStoreBaseService shopStoreBaseService;
@Autowired
private ShopBaseActivityTypeService shopBaseActivityTypeService;
@Autowired
private UserInfoService userInfoService;
@Autowired
private AccountService accountService;
@Autowired
private ShopUserVoucherService userVoucherService;
@Autowired
private ShopActivityCutpriceHistoryService shopActivityCutpriceHistoryService;
@Autowired
private ShopStoreActivityBaseService shopStoreActivityBaseService;
@Autowired
private ShopActivityCutpriceService shopActivityCutpriceService;
@Autowired
private ShopProductItemService shopProductItemService;
@Autowired
private ShopBaseCurrencyService shopBaseCurrencyService;
@Autowired
private ShopProductImageService shopProductImageService;
@Autowired
private ShopProductBaseService shopProductBaseService;
@Autowired
private ShopActivityLotteryHistoryService shopActivityLotteryHistoryService;
@Autowired
private ShopStoreActivityItemService shopStoreActivityItemService;
@Autowired
private ShopActivityGroupbuyStoreHistoryService activityGroupbuyStoreHistoryService;
@Autowired
private ShopActivityGroupbookingService shopActivityGroupbookingService;
@Autowired
private ShopBaseStateCodeService shopBaseStateCodeService;
@Autowired
private ShopStoreActivityCodeService shopStoreActivityCodeService;
@Autowired
private ShopOrderDataService shopOrderDataService;
@Autowired
private AccountBaseConfigService accountBaseConfigService;
private static Logger logger = LoggerFactory.getLogger(ShopStoreActivityBaseServiceImpl.class);
/**
* 返回随机金额数组 分为单位
*
* @param money 元为单位
* @param num
* @return
*/
public static List<Integer> randMoney(BigDecimal money, Integer num) {
// 只有一个人直接返回
if (num == 1) return Collections.singletonList(NumberUtil.mul(money, 100).intValue());
money = NumberUtil.mul(money, 100); // 将元转成分小数计算有误差随机数也都是整数
BigDecimal rest_money = money; // 初始化剩余钱的变量
Integer average = NumberUtil.div(rest_money, num, 0).intValue(); // 求出均分情况下每人的红包值
List<Integer> arr = new ArrayList<>();
if (ObjectUtil.compare(average, 1) < 0) {
// 钱不够所有人分
return Stream.generate(() -> 0).limit(num).collect(Collectors.toList());
} else if (ObjectUtil.compare(average, 1) == 0) {
// 所有人*均分这笔钱钱数只够这么分的
for (Integer i = 0; i < num; i++) {
arr.add(average);
}
} else {
// 每个人随机分配
for (int i = 0; i < num; i++) {
BigDecimal range_money = NumberUtil.div(rest_money, (num - i), 0);
Integer rand_money = RandomUtil.randomInt(1, range_money.intValue());
arr.add(rand_money);
rest_money = NumberUtil.sub(rest_money, rand_money); // 获取剩下的钱
}
}
int arr_sum = 0; // 保存数组和
if (CollUtil.isNotEmpty(arr)) {
// 随机分配会调用此方法将剩余的钱分掉此数组为随机分配后的结果
arr_sum = arr.stream().mapToInt(Integer::intValue).sum(); // 统计随机分配已经分配了总钱数
} else {
// 初始化每个人的数组兼容下边循环处理部分
arr = Stream.generate(() -> 0).limit(num).collect(Collectors.toList());
}
BigDecimal add_money = NumberUtil.sub(money, arr_sum);
// 如果总钱数和之前随机分配的数组的总和差值为0就说明随机分配已经将钱全部分出去了就不需要再*均分配处理了
if (ObjectUtil.compare(add_money, BigDecimal.ZERO) == 0) {
return arr;
}
// 先把剩余的能均分的部分均分一下然后若再有剩余则从前到后注意分配
// 如果之前有随机分配则是将剩余的钱*均追加入随机分配的值里
Integer avg_add_money = NumberUtil.div(add_money, num, 0).intValue();
arr = arr.stream().map(s -> s + avg_add_money).collect(Collectors.toList());
// 分配后求和用于修正最后剩余的零钱
arr_sum = arr.stream().mapToInt(Integer::intValue).sum();
// 如果还有剩余这部分说明每人一分都不够就从头开始没人一分的分下去直到分完为止
BigDecimal odd_money = NumberUtil.sub(money, arr_sum, 0);
int i = 0;
while (ObjectUtil.compare(odd_money, BigDecimal.ONE) >= 0) {
arr.set(i, arr.get(i) + 1); // 每人加1分钱
odd_money = NumberUtil.sub(odd_money, 1); // 剩余的金额每分掉一个人就减1分钱
if (i == num) {
i = 0;
} else {
i++;
}
}
return arr;
}
/**
* 取得活动相关产品信息
@ -1439,7 +1487,7 @@ public class ShopStoreActivityBaseServiceImpl extends BaseServiceImpl<ShopStoreA
pulse_reduction_again.put("type_id", activity_row.get("activity_type_id"));
pulse_reduction_again.put("reduceAgainMoney", max_reduction_again);
if (true || single_product_flag) {
if (true) {
if (CollUtil.isNotEmpty(activity_require_item_id_row)) {
List<Long> item_ids = items.stream().map(s -> Convert.toLong(s.get("item_id"))).distinct().collect(Collectors.toList());
@ -1498,7 +1546,7 @@ public class ShopStoreActivityBaseServiceImpl extends BaseServiceImpl<ShopStoreA
pulse_multple.put("type_id", activity_row.get("activity_type_id"));
pulse_multple.put("give_enable", false);
if (true || single_product_flag) {
if (true) {
if (CollUtil.isNotEmpty(activity_require_item_id_row)) {
List<Long> item_ids = items.stream().map(s -> Convert.toLong(s.get("item_id"))).distinct().collect(Collectors.toList());
@ -1574,7 +1622,7 @@ public class ShopStoreActivityBaseServiceImpl extends BaseServiceImpl<ShopStoreA
discount.forEach(dis -> {
Long iid = Convert.toLong(dis.get("item_id"));
Integer dis_item_quantity = Convert.toInt(dis.get("rate"));
Integer cart_quantity = (Integer) cart_item_info_row.get(iid);
Integer cart_quantity = cart_item_info_row.get(iid);
discountMap.put(iid, dis);
@ -1717,7 +1765,7 @@ public class ShopStoreActivityBaseServiceImpl extends BaseServiceImpl<ShopStoreA
Map pulse_manhui = new HashMap();
pulse_manhui.put("actId", activity_id);
pulse_manhui.put("actName", activity_row.get("activity_title"));
if (true || single_product_flag) {
if (true) {
if (CollUtil.isNotEmpty(activity_require_item_id_row)) {
List<Long> item_ids = items.stream().map(s -> Convert.toLong(s.get("item_id"))).distinct().collect(Collectors.toList());
@ -2729,7 +2777,6 @@ public class ShopStoreActivityBaseServiceImpl extends BaseServiceImpl<ShopStoreA
return data;
}
@Override
public CommonResult saveLotteryItem() {
Map data = new HashMap();
@ -2776,7 +2823,6 @@ public class ShopStoreActivityBaseServiceImpl extends BaseServiceImpl<ShopStoreA
return CommonResult.success();
}
@Override
public Map listItem() {
@ -4120,45 +4166,6 @@ public class ShopStoreActivityBaseServiceImpl extends BaseServiceImpl<ShopStoreA
return true;
}
@Override
public Map getGiftbag(Integer activity_id) {
Map data = new HashMap();
if (CheckUtil.isNotEmpty(activity_id)) {
ShopStoreActivityBase shopStoreActivityBase = shopStoreActivityBaseService.get(activity_id);
data = Convert.toMap(Object.class, Object.class, shopStoreActivityBase);
if (shopStoreActivityBase != null) {
ShopStoreBase shopStoreBase = shopStoreBaseService.get(shopStoreActivityBase.getStore_id());
cn.hutool.json.JSONObject activity_rule = JSONUtil.parseObj(shopStoreActivityBase.getActivity_rule());
BigDecimal giftbag_amount = Convert.toBigDecimal(activity_rule.get("giftbag_amount"), BigDecimal.ZERO);
List<Map> discount = ObjectUtil.defaultIfNull((List<Map>) activity_rule.get("discount"), new ArrayList<>());
List<Long> fold_item_ids = new ArrayList<>();
Map<Long, Map> discountMap = new HashMap<>();
discount.forEach(dis -> {
Long iid = Convert.toLong(dis.get("item_id"));
fold_item_ids.add(iid);
discountMap.put(iid, dis);
});
List<Map> item = shopProductItemService.getItem(fold_item_ids);
data.put("item", item);
data.put("store_is_selfsupport", shopStoreBase.getStore_is_selfsupport());
data.put("store_name", shopStoreBase.getStore_name());
data.put("play_amount", giftbag_amount);
data.put("activity_rule", Convert.toMap(Object.class, Object.class, activity_rule));
}
}
return data;
}
/*
@Override
public boolean settleActivityVoucherPrize() {
@ -4251,77 +4258,43 @@ public class ShopStoreActivityBaseServiceImpl extends BaseServiceImpl<ShopStoreA
}
*/
@Override
public Map getGiftbag(Integer activity_id) {
Map data = new HashMap();
/**
* 返回随机金额数组 分为单位
*
* @param money 元为单位
* @param num
* @return
*/
public static List<Integer> randMoney(BigDecimal money, Integer num) {
if (CheckUtil.isNotEmpty(activity_id)) {
ShopStoreActivityBase shopStoreActivityBase = shopStoreActivityBaseService.get(activity_id);
// 只有一个人直接返回
if (num == 1) return Collections.singletonList(NumberUtil.mul(money, 100).intValue());
data = Convert.toMap(Object.class, Object.class, shopStoreActivityBase);
money = NumberUtil.mul(money, 100); // 将元转成分小数计算有误差随机数也都是整数
BigDecimal rest_money = money; // 初始化剩余钱的变量
Integer average = NumberUtil.div(rest_money, num, 0).intValue(); // 求出均分情况下每人的红包值
List<Integer> arr = new ArrayList<>();
if (shopStoreActivityBase != null) {
ShopStoreBase shopStoreBase = shopStoreBaseService.get(shopStoreActivityBase.getStore_id());
if (ObjectUtil.compare(average, 1) < 0) {
// 钱不够所有人分
return Stream.generate(() -> 0).limit(num).collect(Collectors.toList());
} else if (ObjectUtil.compare(average, 1) == 0) {
// 所有人*均分这笔钱钱数只够这么分的
for (Integer i = 0; i < num; i++) {
arr.add(average);
}
} else {
// 每个人随机分配
for (int i = 0; i < num; i++) {
BigDecimal range_money = NumberUtil.div(rest_money, (num - i), 0);
Integer rand_money = RandomUtil.randomInt(1, range_money.intValue());
arr.add(rand_money);
rest_money = NumberUtil.sub(rest_money, rand_money); // 获取剩下的钱
cn.hutool.json.JSONObject activity_rule = JSONUtil.parseObj(shopStoreActivityBase.getActivity_rule());
BigDecimal giftbag_amount = Convert.toBigDecimal(activity_rule.get("giftbag_amount"), BigDecimal.ZERO);
List<Map> discount = ObjectUtil.defaultIfNull((List<Map>) activity_rule.get("discount"), new ArrayList<>());
List<Long> fold_item_ids = new ArrayList<>();
Map<Long, Map> discountMap = new HashMap<>();
discount.forEach(dis -> {
Long iid = Convert.toLong(dis.get("item_id"));
fold_item_ids.add(iid);
discountMap.put(iid, dis);
});
List<Map> item = shopProductItemService.getItem(fold_item_ids);
data.put("item", item);
data.put("store_is_selfsupport", shopStoreBase.getStore_is_selfsupport());
data.put("store_name", shopStoreBase.getStore_name());
data.put("play_amount", giftbag_amount);
data.put("activity_rule", Convert.toMap(Object.class, Object.class, activity_rule));
}
}
int arr_sum = 0; // 保存数组和
if (CollUtil.isNotEmpty(arr)) {
// 随机分配会调用此方法将剩余的钱分掉此数组为随机分配后的结果
arr_sum = arr.stream().mapToInt(Integer::intValue).sum(); // 统计随机分配已经分配了总钱数
} else {
// 初始化每个人的数组兼容下边循环处理部分
arr = Stream.generate(() -> 0).limit(num).collect(Collectors.toList());
}
BigDecimal add_money = NumberUtil.sub(money, arr_sum);
// 如果总钱数和之前随机分配的数组的总和差值为0就说明随机分配已经将钱全部分出去了就不需要再*均分配处理了
if (ObjectUtil.compare(add_money, BigDecimal.ZERO) == 0) {
return arr;
}
// 先把剩余的能均分的部分均分一下然后若再有剩余则从前到后注意分配
// 如果之前有随机分配则是将剩余的钱*均追加入随机分配的值里
Integer avg_add_money = NumberUtil.div(add_money, num, 0).intValue();
arr = arr.stream().map(s -> s + avg_add_money).collect(Collectors.toList());
// 分配后求和用于修正最后剩余的零钱
arr_sum = arr.stream().mapToInt(Integer::intValue).sum();
// 如果还有剩余这部分说明每人一分都不够就从头开始没人一分的分下去直到分完为止
BigDecimal odd_money = NumberUtil.sub(money, arr_sum, 0);
int i = 0;
while (ObjectUtil.compare(odd_money, BigDecimal.ONE) >= 0) {
arr.set(i, arr.get(i) + 1); // 每人加1分钱
odd_money = NumberUtil.sub(odd_money, 1); // 剩余的金额每分掉一个人就减1分钱
if (i == num) {
i = 0;
} else {
i++;
}
}
return arr;
return data;
}
@Transactional
@ -4420,7 +4393,7 @@ public class ShopStoreActivityBaseServiceImpl extends BaseServiceImpl<ShopStoreA
JSONObject rule_row = (JSONObject) rule.get(total_id);
List<Long> item = Convert.toList(Long.class, rule_row.get("item"));
item.remove(item.indexOf(item_id));
item.remove(item_id);
rule_row.put("item", item);
Map data = new HashMap();
@ -4856,9 +4829,7 @@ public class ShopStoreActivityBaseServiceImpl extends BaseServiceImpl<ShopStoreA
List<Long> item = Convert.toList(Long.class, activity_row.get("item_id"));
if (item.contains(item_id)) {
item.remove(item_id);
}
item.remove(item_id);
ShopStoreActivityBase activityBase = new ShopStoreActivityBase();
activityBase.setActivity_id(activity_id);
@ -4893,9 +4864,7 @@ public class ShopStoreActivityBaseServiceImpl extends BaseServiceImpl<ShopStoreA
JSONObject buy = (JSONObject) requirement.get("buy");
List<Long> item = Convert.toList(Long.class, buy.get("item"));
if (item.contains(item_id)) {
item.remove(item_id);
}
item.remove(item_id);
buy.put("item", item);
ShopStoreActivityBase activityBase = new ShopStoreActivityBase();
@ -4995,8 +4964,8 @@ public class ShopStoreActivityBaseServiceImpl extends BaseServiceImpl<ShopStoreA
private List<Long> checkItem(List<Long> item_ids, Map activity) {
QueryWrapper<ShopStoreActivityItem> itemQueryWrapper = new QueryWrapper<>();
itemQueryWrapper.in("item_id", item_ids)
.le("activity_item_starttime", (Date) activity.get("activity_endtime"))
.ge("activity_item_endtime", (Date) activity.get("activity_starttime"));
.le("activity_item_starttime", activity.get("activity_endtime"))
.ge("activity_item_endtime", activity.get("activity_starttime"));
List<ShopStoreActivityItem> item_row = shopStoreActivityItemService.find(itemQueryWrapper);
List<Long> item_id_row = item_row.stream().map(s -> s.getItem_id()).distinct().collect(Collectors.toList());
@ -5079,7 +5048,7 @@ public class ShopStoreActivityBaseServiceImpl extends BaseServiceImpl<ShopStoreA
}
if (!item_id_row.contains(itemId)) {
if (!addItem(activity_id, Arrays.asList(itemId), data)) {
if (!addItem(activity_id, Collections.singletonList(itemId), data)) {
throw new ApiException(I18nUtil._("修改活动商品信息失败!"));
}
}

View File

@ -99,109 +99,75 @@ import static com.suisung.mall.common.utils.ContextUtil.getCurrentUser;
@Service
public class ShopStoreBaseServiceImpl extends BaseServiceImpl<ShopStoreBaseMapper, ShopStoreBase> implements ShopStoreBaseService {
private static final Logger logger = LoggerFactory.getLogger(ShopStoreBaseServiceImpl.class);
private static List<Map> StoreFilterOptData;
@Autowired
private ShopPlantformSubsiteService shopPlantformSubsiteService;
@Autowired
private InvoicingCustomerLevelService invoicingCustomerLevelService;
@Autowired
private ShopStoreConfigService shopStoreConfigService;
@Autowired
private ShopStoreProductTagService shopStoreProductTagService;
@Autowired
private ShopStoreTransportTypeService shopStoreTransportTypeService;
@Autowired
private ShopStoreEmployeeRightsBaseService shopStoreEmployeeRightsBaseService;
@Autowired
private ShopProductIndexService shopProductIndexService;
@Autowired
private ShopProductIndexMapper shopProductIndexMapper;
@Autowired
private ShopStoreEmployeeRightsGroupService shopStoreEmployeeRightsGroupService;
@Autowired
private ShopBaseProductTagService shopBaseProductTagService;
@Autowired
private ShopBaseStoreGradeService shopBaseStoreGradeService;
@Autowired
private InvoicingWarehouseBaseService invoicingWarehouseBaseService;
@Autowired
private ShopStoreBaseMapper shopStoreBaseMapper;
@Autowired
private ShopStoreAnalyticsService shopStoreAnalyticsService;
@Autowired
private AccountBaseConfigService accountBaseConfigService;
@Autowired
private UserInfoService userInfoService;
@Autowired
private ShopStoreInfoService shopStoreInfoService;
@Autowired
private ShopStoreActivityBaseService shopStoreActivityBaseService;
@Autowired
private ShopProductBaseService shopProductBaseService;
@Autowired
private ShopStoreBaseService shopStoreBaseService;
@Autowired
private ShopBaseStoreCategoryService shopBaseStoreCategoryService;
@Autowired
private ShopStoreProductCategoryService productCategoryService;
@Autowired
private ShopUserFavoritesStoreService userFavoritesStoreService;
@Autowired
private ShopStoreCompanyService shopStoreCompanyService;
@Autowired
private CmsService cmsService;
@Autowired
private AccountService accountService;
@Autowired
private PayService payService;
@Autowired
private ShopStoreEmployeeService shopStoreEmployeeService;
@Autowired
private ShopDistributionPlantformUserService shopDistributionPlantformUserService;
@Autowired
private ShopUserFavoritesStoreService shopUserFavoritesStoreService;
@Autowired
private ShopPageBaseService shopPageBaseService;
@Autowired
private ShopPageModuleService shopPageModuleService;
@Autowired
private ThreadPoolExecutor executor;
private static Logger logger = LoggerFactory.getLogger(ShopStoreBaseServiceImpl.class);
private static List<Map> StoreFilterOptData;
/**
* 读取分页列表
*
@ -1315,7 +1281,7 @@ public class ShopStoreBaseServiceImpl extends BaseServiceImpl<ShopStoreBaseMappe
public CommonResult step() {
Map row = new HashMap();
List<Map> items = cmsService.getFixArticle(1008l);
List<Map> items = cmsService.getFixArticle(1008L);
row.put("items", items);
UserDto user = getCurrentUser();
@ -1356,7 +1322,7 @@ public class ShopStoreBaseServiceImpl extends BaseServiceImpl<ShopStoreBaseMappe
} else {
BigDecimal waiting_payment_amount = Convert.toBigDecimal(accountBaseConfigService.getConfig("reg_seller_fee"));
if (waiting_payment_amount != null && false) {
if (false) {
PayUserResource userResource = payService.getPayUserResource(user_id);
BigDecimal user_money = userResource.getUser_money();
@ -2710,7 +2676,7 @@ public class ShopStoreBaseServiceImpl extends BaseServiceImpl<ShopStoreBaseMappe
Optional<ShopStoreInfo> infoOpl = store_info_rows.stream().filter(s -> ObjectUtil.equal(s.getStore_id(), store_id)).findFirst();
ShopStoreInfo info = infoOpl.orElseGet(ShopStoreInfo::new);
Long store_end_time = Convert.toLong(item.get("store_end_time"), 0l);
Long store_end_time = Convert.toLong(item.get("store_end_time"), 0L);
item.put("store_start_time", info.getStore_start_time());
item.put("store_end_time", DateUtil.date(store_end_time));
@ -2847,7 +2813,7 @@ public class ShopStoreBaseServiceImpl extends BaseServiceImpl<ShopStoreBaseMappe
*/
@Override
public ShopStoreBase storeBase(Integer store_id) {
if(store_id==null ||store_id<=0){
if (store_id == null || store_id <= 0) {
return null;
}

View File

@ -63,7 +63,7 @@ public class ShopStoreMediaServiceImpl extends BaseServiceImpl<ShopStoreMediaMap
@Override
public void saveMedia(MediaDTO mediaDTO, UserDto user) {
Long gallery_id = getParameter("gallery_id", 0l);
Long gallery_id = getParameter("gallery_id", 0L);
String gallery_type = getParameter("gallery_type", "image");
if (user.isStore()) {

View File

@ -52,7 +52,7 @@ public class ShopStorePrinterLogServiceImpl extends BaseServiceImpl<ShopStorePri
continue;
}
add(record);
add(record);
}
}

View File

@ -60,7 +60,7 @@ public class ShopStorePrinterModelServiceImpl extends BaseServiceImpl<ShopStoreP
public CommonResult addNewShopStorePrinterModel(ShopStorePrinterModel record) {
// 判断有没有权限删除
UserDto user = getCurrentUser();
if (user==null) {
if (user == null) {
return CommonResult.failed("用户信息异常!");
}
@ -87,7 +87,7 @@ public class ShopStorePrinterModelServiceImpl extends BaseServiceImpl<ShopStoreP
// 判断有没有权限删除
UserDto user = getCurrentUser();
if (user==null) {
if (user == null) {
return CommonResult.failed("用户信息异常!");
}

View File

@ -27,15 +27,15 @@ public class ShopStorePrinterRegionServiceImpl extends BaseServiceImpl<ShopStore
queryWrapper.like("region", keyword);
}
queryWrapper.orderByAsc("region_id");
return lists(queryWrapper,pageNum,pageSize);
return lists(queryWrapper, pageNum, pageSize);
}
@Override
public CommonResult shopStorePrinterRegionList(Integer count) {
QueryWrapper<ShopStorePrinterRegion> queryWrapper= new QueryWrapper<>();
QueryWrapper<ShopStorePrinterRegion> queryWrapper = new QueryWrapper<>();
queryWrapper.orderByAsc("region_id");
if (count != null || count > 0) {
queryWrapper.last("limit " + count);
if (count != null || count > 0) {
queryWrapper.last("limit " + count);
}
List<ShopStorePrinterRegion> recordList = find(queryWrapper);
@ -46,7 +46,7 @@ public class ShopStorePrinterRegionServiceImpl extends BaseServiceImpl<ShopStore
public CommonResult addNewShopStorePrinterRegion(ShopStorePrinterRegion record) {
// 判断有没有权限删除
UserDto user = getCurrentUser();
if (user==null) {
if (user == null) {
return CommonResult.failed("用户信息异常!");
}
@ -56,11 +56,11 @@ public class ShopStorePrinterRegionServiceImpl extends BaseServiceImpl<ShopStore
QueryWrapper<ShopStorePrinterRegion> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("region", record.getRegion());
ShopStorePrinterRegion existRecord = getOne(queryWrapper);
if (existRecord!=null && existRecord.getRegion_id() > 0) {
if (existRecord != null && existRecord.getRegion_id() > 0) {
return CommonResult.success("打票机型号已添加,请勿重复操作");
}
if (add(record)){
if (add(record)) {
return CommonResult.success();
}
@ -72,24 +72,24 @@ public class ShopStorePrinterRegionServiceImpl extends BaseServiceImpl<ShopStore
// 判断有没有权限删除
UserDto user = getCurrentUser();
if (user==null) {
if (user == null) {
return CommonResult.failed("用户信息异常!");
}
if (record==null|| record.getRegion_id()<=0){
if (record == null || record.getRegion_id() <= 0) {
return CommonResult.failed("记录不存在!");
}
record.setUpdated_by(user.getId());
record.setUpdated_at(new Date());
if(record.getRegion_id()<=0 || StrUtil.isBlank(record.getRegion())){
if (record.getRegion_id() <= 0 || StrUtil.isBlank(record.getRegion())) {
return CommonResult.failed("缺少必要参数!");
}
boolean success =updateById(record);
if (success){
boolean success = updateById(record);
if (success) {
return CommonResult.success();
}
@ -102,17 +102,17 @@ public class ShopStorePrinterRegionServiceImpl extends BaseServiceImpl<ShopStore
// 判断有没有权限删除
UserDto user = getCurrentUser();
if (user==null) {
if (user == null) {
return CommonResult.failed("用户信息异常!");
}
ShopStorePrinterRegion record = getById(region_id);
if(record.getRegion_id()<=0){
if (record.getRegion_id() <= 0) {
return CommonResult.failed("记录不存在,无法删除!");
}
boolean success = remove(region_id);
if(success){
if (success) {
return CommonResult.success();
}

View File

@ -2,7 +2,6 @@ package com.suisung.mall.shop.store.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@ -213,7 +212,7 @@ public class ShopStorePrinterServiceImpl extends BaseServiceImpl<ShopStorePrinte
updateWrapper.set("website_url", record.getWebsite_url());
if (existRecord.getStatus() == null || !ConstantError.Enable.equals(existRecord.getStatus())) {
updateWrapper.set("status", ConstantError.Disable2);
}else {
} else {
updateWrapper.set("status", ConstantError.Enable);
}
@ -243,14 +242,14 @@ public class ShopStorePrinterServiceImpl extends BaseServiceImpl<ShopStorePrinte
if (existRecord2 == null || existRecord2.getPrinter_id() <= 0) {
// 打印机从未加入到厂家到情况往厂商添加打印机
// 格式"922441475#r6ZXPvHH#核销柜台";
Pair<Boolean,String> retPair = feieUtil.addPrinter(String.format("%s#%s#%s", record.getPrinter_sn(), record.getPrinter_key(), record.getPrinter_name()));
Pair<Boolean, String> retPair = feieUtil.addPrinter(String.format("%s#%s#%s", record.getPrinter_sn(), record.getPrinter_key(), record.getPrinter_name()));
if (retPair.getFirst()) {
updateWrapper.set("flag", ConstantError.Enable);
updateWrapper.set("status",ConstantError.Enable);
updateWrapper.set("status", ConstantError.Enable);
} else {
msg = msg + ",但打印机绑定未成功,请检查打印机编号和密钥是否填写正确。";
updateWrapper.set("flag", ConstantError.Disable2);
updateWrapper.set("status",ConstantError.Disable2);
updateWrapper.set("status", ConstantError.Disable2);
}
// 解绑之前的打印机
@ -276,7 +275,7 @@ public class ShopStorePrinterServiceImpl extends BaseServiceImpl<ShopStorePrinte
// 判断有没有权限
UserDto user = getCurrentUser();
if (user==null || !user.isStore()) {
if (user == null || !user.isStore()) {
return CommonResult.failed("无权操作!");
}
@ -289,14 +288,14 @@ public class ShopStorePrinterServiceImpl extends BaseServiceImpl<ShopStorePrinte
if (ConstantError.Enable.equals(status)) {
// 向厂家新增打印机
// 格式"922441475#r6ZXPvHH#核销柜台";
Pair<Boolean,String> retPair = feieUtil.addPrinter(String.format("%s#%s#%s", record.getPrinter_sn(), record.getPrinter_key(), record.getPrinter_name()));
Pair<Boolean, String> retPair = feieUtil.addPrinter(String.format("%s#%s#%s", record.getPrinter_sn(), record.getPrinter_key(), record.getPrinter_name()));
if (!retPair.getFirst()) {
return CommonResult.failed(retPair.getSecond());
}
} else {
status = ConstantError.Disable2;
// 向厂家解绑打印机
boolean success = feieUtil.delPrinter(record.getPrinter_sn());
boolean success = feieUtil.delPrinter(record.getPrinter_sn());
if (!success) {
return CommonResult.failed("打印机解绑定未成功,操作失败。");
}
@ -304,7 +303,7 @@ public class ShopStorePrinterServiceImpl extends BaseServiceImpl<ShopStorePrinte
// 更改的状态和现有的状态一样直接
if (status.equals(record.getStatus())) {
return CommonResult.success(null,"已操作成功!");
return CommonResult.success(null, "已操作成功!");
}
UpdateWrapper<ShopStorePrinter> updateWrapper = new UpdateWrapper<>();
@ -313,7 +312,7 @@ public class ShopStorePrinterServiceImpl extends BaseServiceImpl<ShopStorePrinte
updateWrapper.set("flag", status);
if (update(updateWrapper)) {
return CommonResult.success(null,"操作成功!");
return CommonResult.success(null, "操作成功!");
}
return CommonResult.failed("操作失败!");
@ -324,7 +323,7 @@ public class ShopStorePrinterServiceImpl extends BaseServiceImpl<ShopStorePrinte
// 判断有没有权限
UserDto user = getCurrentUser();
if (user==null || !user.isStore()) {
if (user == null || !user.isStore()) {
return CommonResult.failed("无权操作!");
}
@ -358,7 +357,6 @@ public class ShopStorePrinterServiceImpl extends BaseServiceImpl<ShopStorePrinte
}
@Override
public Boolean printShopStoreOrder(String orderId) {
logger.info("#### 调用飞鹅打票机的打印操作开始 ####");

View File

@ -12,6 +12,7 @@ import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.suisung.mall.common.api.CommonResult;
import com.suisung.mall.common.domain.UserDto;
import com.suisung.mall.common.modules.store.ShopStoreBase;
import com.suisung.mall.common.modules.store.ShopStoreSameCityTransport;
import com.suisung.mall.common.modules.store.ShopStoreSameCityTransportBase;
@ -21,18 +22,21 @@ import com.suisung.mall.shop.store.mapper.ShopStoreSameCityTransportBaseMapper;
import com.suisung.mall.shop.store.service.ShopStoreBaseService;
import com.suisung.mall.shop.store.service.ShopStoreSameCityTransportBaseService;
import com.suisung.mall.shop.store.service.ShopStoreSameCityTransportService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.List;
import static com.suisung.mall.common.utils.ContextUtil.getCurrentUser;
@Service
public class ShopStoreSameCityTransportBaseServiceImpl extends BaseServiceImpl<ShopStoreSameCityTransportBaseMapper, ShopStoreSameCityTransportBase> implements ShopStoreSameCityTransportBaseService {
@Autowired
@Resource
private ShopStoreSameCityTransportService shopStoreSameCityTransportService;
@Autowired
@Resource
private ShopStoreBaseService shopStoreBaseService;
/**
@ -42,7 +46,19 @@ public class ShopStoreSameCityTransportBaseServiceImpl extends BaseServiceImpl<S
*/
@Override
public CommonResult ShopStoreSameCityTransportBaseDetail() {
return null;
// 判断有没有权限
UserDto user = getCurrentUser();
if (user == null || !user.isStore()) {
return CommonResult.failed("无权限操作!");
}
Long storeId = Convert.toLong(user.getStore_id());
ShopStoreSameCityTransportBaseDTO retDTO = getDetailById(storeId);
if (retDTO == null) {
return CommonResult.failed("商家未设置店铺地址,请先设置店铺地址!");
}
return CommonResult.success(retDTO);
}
/**
@ -53,7 +69,31 @@ public class ShopStoreSameCityTransportBaseServiceImpl extends BaseServiceImpl<S
*/
@Override
public CommonResult saveOrUpdateSameCityTransport(ShopStoreSameCityTransportBaseDTO shopStoreSameCityTransportBaseDTO) {
return null;
// 判断有没有权限
UserDto user = getCurrentUser();
if (user == null || !user.isStore()) {
return CommonResult.failed("无权限操作!");
}
Integer userId = user.getId();
if (shopStoreSameCityTransportBaseDTO == null || shopStoreSameCityTransportBaseDTO.getTransportBase() == null) {
return CommonResult.failed("参数有误");
}
ShopStoreSameCityTransportBase transportBase = shopStoreSameCityTransportBaseDTO.getTransportBase();
transportBase.setUpdated_by(userId);
// 新增或更新同城配送基础设置
boolean success = saveOrUpdateShopStoreSameCityTransportBase(transportBase);
// 新增或更新同城配送扩展设置列表
shopStoreSameCityTransportService.saveOrUpdateShopStoreSameCityTransportList(transportBase.getTransport_base_id(), shopStoreSameCityTransportBaseDTO.getTransportList());
if (success) {
CommonResult.success();
}
return CommonResult.failed("操作失败!");
}
/**
@ -68,6 +108,7 @@ public class ShopStoreSameCityTransportBaseServiceImpl extends BaseServiceImpl<S
return null;
}
// 店铺基本信息
ShopStoreBase shopStoreBase = shopStoreBaseService.storeBase(storeId.intValue());
if (shopStoreBase == null) {
return null;
@ -76,24 +117,58 @@ public class ShopStoreSameCityTransportBaseServiceImpl extends BaseServiceImpl<S
QueryWrapper<ShopStoreSameCityTransportBase> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("store_id", storeId);
queryWrapper.orderByAsc("transport_base_id");
ShopStoreSameCityTransportBase shopStoreSameCityTransportBase = getOne(queryWrapper);
if (shopStoreSameCityTransportBase == null) {
shopStoreSameCityTransportBase = new ShopStoreSameCityTransportBase();
shopStoreSameCityTransportBase.setStore_id(storeId);
ShopStoreSameCityTransportBase transportBase = getOne(queryWrapper);
if (transportBase == null) {
transportBase = new ShopStoreSameCityTransportBase();
transportBase.setStore_id(storeId);
// 获取店铺的地址和经纬度
shopStoreSameCityTransportBase.setStore_address(StrUtil.removeAll(shopStoreBase.getStore_area(),"/") + shopStoreBase.getStore_address());
shopStoreSameCityTransportBase.setStore_longitude(Convert.toBigDecimal(shopStoreBase.getStore_longitude()));
shopStoreSameCityTransportBase.setStore_latitude(Convert.toBigDecimal(shopStoreBase.getStore_latitude()));
// 没有记录时指定默认值
transportBase.setArea_type(1);
transportBase.setBasis(1);
transportBase.setDistance_base(5);
transportBase.setWeight_base(5);
transportBase.setDelivery_base_fee(BigDecimal.valueOf(5));
transportBase.setDistance_increase_km(1);
transportBase.setDistance_increase_fee(BigDecimal.valueOf(1));
transportBase.setWeight_increase_kg(1);
transportBase.setWeight_increase_fee(BigDecimal.valueOf(1));
// shop_store_base 表获取店铺的地址和经纬度
transportBase.setStore_address(StrUtil.removeAll(shopStoreBase.getStore_area(), "/") + shopStoreBase.getStore_address());
transportBase.setStore_longitude(Convert.toBigDecimal(shopStoreBase.getStore_longitude()));
transportBase.setStore_latitude(Convert.toBigDecimal(shopStoreBase.getStore_latitude()));
}
ShopStoreSameCityTransportBaseDTO shopStoreSameCityTransportBaseDTO = new ShopStoreSameCityTransportBaseDTO();
shopStoreSameCityTransportBaseDTO.setShopStoreSameCityTransportBase(shopStoreSameCityTransportBase);
shopStoreSameCityTransportBaseDTO.setTransportBase(transportBase);
// 多个店铺同城快递运费设置起送条件+优惠条件
List<ShopStoreSameCityTransport> shopStoreSameCityTransportList = shopStoreSameCityTransportService.selectShopStoreSameCityTransportList(shopStoreSameCityTransportBase.getTransport_base_id());
shopStoreSameCityTransportBaseDTO.setShopStoreSameCityTransportList(shopStoreSameCityTransportList);
List<ShopStoreSameCityTransport> transportList = shopStoreSameCityTransportService.selectShopStoreSameCityTransportList(transportBase.getTransport_base_id());
shopStoreSameCityTransportBaseDTO.setTransportList(transportList);
return shopStoreSameCityTransportBaseDTO;
}
public Boolean saveOrUpdateShopStoreSameCityTransportBase(ShopStoreSameCityTransportBase transportBase) {
if (transportBase == null || transportBase.getStore_id() == null || transportBase.getStore_id() <= 0) {
return false;
}
QueryWrapper<ShopStoreSameCityTransportBase> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("store_id", transportBase.getStore_id());
ShopStoreSameCityTransportBase transportBaseExist = getOne(queryWrapper);
if (transportBase == null) {
// 新增记录
transportBase.setCreated_by(transportBase.getUpdated_by());
return save(transportBase);
}
Long transportBaseId = transportBase.getTransport_base_id();
if (transportBaseId == null || transportBase.getTransport_base_id() <= 0) {
transportBase.setTransport_base_id(transportBaseExist.getTransport_base_id());
}
// 更新记录
return updateById(transportBase);
}
}

View File

@ -32,7 +32,7 @@ public class ShopStoreSameCityTransportServiceImpl extends BaseServiceImpl<ShopS
*/
@Override
public List<ShopStoreSameCityTransport> selectShopStoreSameCityTransportList(Long transportBaseId) {
if (transportBaseId == null||transportBaseId <= 0) {
if (transportBaseId == null || transportBaseId <= 0) {
return Collections.emptyList();
}
@ -42,10 +42,46 @@ public class ShopStoreSameCityTransportServiceImpl extends BaseServiceImpl<ShopS
queryWrapper.orderByAsc("transport_id");
List<ShopStoreSameCityTransport> shopStoreSameCityTransportList = list(queryWrapper);
if(CollectionUtil.isEmpty(shopStoreSameCityTransportList)){
if (CollectionUtil.isEmpty(shopStoreSameCityTransportList)) {
shopStoreSameCityTransportList = Collections.emptyList();
}
return shopStoreSameCityTransportList;
}
/**
* 保存同城配送扩展设置列表存在就更新不存在就新增
*
* @param transportBaseId
* @param transportList
* @return 成功的记录数
*/
@Override
public Integer saveOrUpdateShopStoreSameCityTransportList(Long transportBaseId, List<ShopStoreSameCityTransport> transportList) {
if (CollectionUtil.isEmpty(transportList) || transportBaseId == null || transportBaseId <= 0) {
return 0;
}
int count = 0;
for (ShopStoreSameCityTransport transport : transportList) {
if (transport == null || transport.getTransport_id() == null || transport.getTransport_id() <= 0) {
transport.setTransport_base_id(transportBaseId);
if (save(transport)) {
count += 1;
}
} else {
if (transport.getTransport_base_id() == null || transport.getTransport_base_id() <= 0) {
transport.setTransport_base_id(transportBaseId);
}
if (updateById(transport)) {
count += 1;
}
}
}
return count;
}
}