|
@@ -1,26 +1,18 @@
|
|
|
package cn.iocoder.yudao.module.trade.service.delivery;
|
|
|
|
|
|
-import cn.hutool.core.collection.CollUtil;
|
|
|
-import cn.hutool.core.util.ObjectUtil;
|
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
|
-import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
|
|
|
-import cn.iocoder.yudao.module.trade.controller.admin.delivery.vo.pickup.DeliveryPickUpBindStoreStaffIdReqVO;
|
|
|
-import cn.iocoder.yudao.module.trade.controller.admin.delivery.vo.pickup.DeliveryPickUpStoreCreateReqVO;
|
|
|
-import cn.iocoder.yudao.module.trade.controller.admin.delivery.vo.pickup.DeliveryPickUpStorePageReqVO;
|
|
|
-import cn.iocoder.yudao.module.trade.controller.admin.delivery.vo.pickup.DeliveryPickUpStoreUpdateReqVO;
|
|
|
+import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
|
|
|
+import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
|
|
|
+import cn.iocoder.yudao.module.trade.controller.admin.delivery.vo.pickup.*;
|
|
|
import cn.iocoder.yudao.module.trade.convert.delivery.DeliveryPickUpStoreConvert;
|
|
|
import cn.iocoder.yudao.module.trade.dal.dataobject.delivery.DeliveryPickUpStoreDO;
|
|
|
-import cn.iocoder.yudao.module.trade.dal.dataobject.delivery.DeliveryPickUpStoreStaffDO;
|
|
|
import cn.iocoder.yudao.module.trade.dal.mysql.delivery.DeliveryPickUpStoreMapper;
|
|
|
-import cn.iocoder.yudao.module.trade.dal.mysql.delivery.DeliveryPickUpStoreStaffMapper;
|
|
|
-import com.mchange.lang.LongUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
|
|
|
import jakarta.annotation.Resource;
|
|
|
import java.util.Collection;
|
|
|
import java.util.List;
|
|
|
-import java.util.stream.Collectors;
|
|
|
|
|
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
|
|
import static cn.iocoder.yudao.module.trade.enums.ErrorCodeConstants.PICK_UP_STORE_NOT_EXISTS;
|
|
@@ -36,8 +28,9 @@ public class DeliveryPickUpStoreServiceImpl implements DeliveryPickUpStoreServic
|
|
|
|
|
|
@Resource
|
|
|
private DeliveryPickUpStoreMapper deliveryPickUpStoreMapper;
|
|
|
+
|
|
|
@Resource
|
|
|
- private DeliveryPickUpStoreStaffMapper deliveryPickUpStoreStaffMapper;
|
|
|
+ private AdminUserApi adminUserApi;
|
|
|
|
|
|
@Override
|
|
|
public Long createDeliveryPickUpStore(DeliveryPickUpStoreCreateReqVO createReqVO) {
|
|
@@ -93,26 +86,23 @@ public class DeliveryPickUpStoreServiceImpl implements DeliveryPickUpStoreServic
|
|
|
|
|
|
@Override
|
|
|
public void bindDeliveryPickUpBindStoreStaffId(DeliveryPickUpBindStoreStaffIdReqVO bindStoreStaffIdVO) {
|
|
|
- //查询旧列表
|
|
|
- List<DeliveryPickUpStoreStaffDO> storeStaffDOS = deliveryPickUpStoreStaffMapper.getUserIdsByStoreId(bindStoreStaffIdVO.getId());
|
|
|
- List<Long> oldStoreStaffIds = storeStaffDOS.stream().map(DeliveryPickUpStoreStaffDO::getAdminUserId).toList();
|
|
|
- List<Long> newStoreStaffIds = bindStoreStaffIdVO.getStoreStaffIds();
|
|
|
- List<List<Long>> diffList = CollectionUtils.diffList(oldStoreStaffIds, newStoreStaffIds, // id 不同,就认为是不同的记录
|
|
|
- ObjectUtil::equal);
|
|
|
- // 添加
|
|
|
- if (CollUtil.isNotEmpty(diffList.get(0))) {
|
|
|
- diffList.get(0).forEach(id -> {
|
|
|
- DeliveryPickUpStoreStaffDO storeStaffDO = new DeliveryPickUpStoreStaffDO();
|
|
|
- storeStaffDO.setStoreId(bindStoreStaffIdVO.getId());
|
|
|
- storeStaffDO.setAdminUserId(id);
|
|
|
- deliveryPickUpStoreStaffMapper.insert(storeStaffDO);
|
|
|
- });
|
|
|
- }
|
|
|
- //删除
|
|
|
- if (CollUtil.isNotEmpty(diffList.get(2))) {
|
|
|
- deliveryPickUpStoreStaffMapper.deleteStaffByUserIdsAndStoreId(diffList.get(2), bindStoreStaffIdVO.getId());
|
|
|
- }
|
|
|
+ DeliveryPickUpStoreDO deliveryPickUpStoreDO = deliveryPickUpStoreMapper.selectById(bindStoreStaffIdVO.getId());
|
|
|
+ deliveryPickUpStoreDO.setStaffIds(bindStoreStaffIdVO.getStoreStaffIds());
|
|
|
+ deliveryPickUpStoreMapper.updateById(deliveryPickUpStoreDO);
|
|
|
+ }
|
|
|
|
|
|
+ @Override
|
|
|
+ public DeliveryPickUpBindStoreStaffIdReqsVO getDeliveryPickUpStoreStaff(Long id) {
|
|
|
+ DeliveryPickUpStoreDO store = deliveryPickUpStoreMapper.selectById(id);
|
|
|
+ List<Long> adminUserIds = store.getStaffIds();
|
|
|
+ //2 查询绑定用户信息
|
|
|
+ List<AdminUserRespDTO> storeStaffs = adminUserApi.getUserList(adminUserIds);
|
|
|
+ return DeliveryPickUpBindStoreStaffIdReqsVO.builder().storeStaffs(storeStaffs).name(store.getName()).id(id).build();
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<DeliveryPickUpStoreDO> selectStaffByUserId(Long userId) {
|
|
|
+ return deliveryPickUpStoreMapper.selectStaffByUserId(userId);
|
|
|
}
|
|
|
|
|
|
}
|