huliguo
10 小时以前 60e726c81966b042db4f7b108d06bd36109794de
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
package com.ruoyi.system.service.impl.config;
 
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.bean.BeanUtils;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.system.api.domain.dto.MGtOneClinkSyncingShopPageDTO;
import com.ruoyi.system.api.domain.vo.MgtOneClinkSyncingShopPageVo;
import com.ruoyi.system.api.service.RemoteShopService;
import com.ruoyi.system.domain.dto.MgtOneClinkSyncingEditDto;
import com.ruoyi.system.domain.dto.MgtOneClinkSyncingPageDTO;
import com.ruoyi.system.api.domain.poji.config.OneClinkSyncing;
import com.ruoyi.system.domain.vo.MgtOneClinkSyncPageVO;
import com.ruoyi.system.domain.vo.MgtOneClinkSyncingVO;
import com.ruoyi.system.mapper.config.OneClinkSyncingMapper;
import com.ruoyi.system.service.config.OneClinkSyncingService;
import org.springframework.stereotype.Service;
 
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
 
/**
 * <p>
 * 广告 服务实现类
 * </p>
 *
 * @author jqs
 * @since 2023-04-25
 */
@Service
public class OneClinkSyncingServiceImpl extends ServiceImpl<OneClinkSyncingMapper, OneClinkSyncing> implements OneClinkSyncingService {
 
    private final RemoteShopService remoteShopService;
 
    public OneClinkSyncingServiceImpl(RemoteShopService remoteShopService) {
        this.remoteShopService = remoteShopService;
    }
 
    @Override
    public IPage<MgtOneClinkSyncPageVO> pageOneClinkSyncing(MgtOneClinkSyncingPageDTO mgtPageDto) {
        //分页查询
        IPage<MgtOneClinkSyncPageVO> page = new Page<>(mgtPageDto.getPageNum(),mgtPageDto.getPageSize());
        return this.baseMapper.pageOneClinkSyncing(page,mgtPageDto);
    }
 
    @Override
    public R editOneClinkSyncing(MgtOneClinkSyncingEditDto dto) {
        OneClinkSyncing oneClinkSyncing = new OneClinkSyncing();
        if (null != dto.getSyncingId()){
            oneClinkSyncing = this.getById(dto.getSyncingId());
            if(oneClinkSyncing.getDelFlag() != 0 ){
                return R.fail("该一键同步不存在");
            }
            oneClinkSyncing.setUpdateTime(new Date());
            oneClinkSyncing.setUpdateUserId(dto.getUserId());
        }else {
            oneClinkSyncing.setCreateUserId(dto.getUserId());
            oneClinkSyncing.setCreateTime(new Date());
        }
        oneClinkSyncing.setSyncingName(dto.getSyncingName());
        oneClinkSyncing.setCoverUrl(dto.getCoverUrl());
        oneClinkSyncing.setDetailsPicture(dto.getDetailsPicture());
        oneClinkSyncing.setPlatformBirthdayFlag(dto.getPlatformBirthdayFlag());
        oneClinkSyncing.setPlatformCouponFlag(dto.getPlatformCouponFlag());
        oneClinkSyncing.setShopNum(dto.getShopNum());
        oneClinkSyncing.setShopIds(dto.getShopIds());
        oneClinkSyncing.setShopDetail(dto.getShopDetail());
 
        this.saveOrUpdate(oneClinkSyncing);
        return R.ok();
    }
 
    @Override
    public R<MgtOneClinkSyncingVO> getOneClinkSyncing(MGtOneClinkSyncingShopPageDTO dto) {
        MgtOneClinkSyncingVO vo = new MgtOneClinkSyncingVO();
        OneClinkSyncing oneClinkSyncing = this.getById(dto.getSyncingId());
        if (null == oneClinkSyncing|| oneClinkSyncing.getDelFlag() != 0){
            return R.fail("该一键同步不存在");
        }
 
        BeanUtils.copyProperties(oneClinkSyncing, vo);
 
        if (oneClinkSyncing.getShopIds() == null || oneClinkSyncing.getShopIds().trim().isEmpty()) {
            return R.ok(vo); // 返回空列表
        }
        List<Long> shopIds = Arrays.stream(oneClinkSyncing.getShopIds().split(","))
                .map(String::trim)           // 去除空格
                .filter(s -> !s.isEmpty())   // 过滤空字符串
                .map(Long::parseLong)        // 转换为Long
                .collect(Collectors.toList());
        dto.setShopIds(shopIds);
        //查找这几家店铺信息
        Page<MgtOneClinkSyncingShopPageVo> mgtShopPageVoByShopIds = remoteShopService.getMgtShopPageVoByShopIds(dto);
        vo.setPage(mgtShopPageVoByShopIds);
        return R.ok(vo);
    }
 
    @Override
    public R deleteOneClinkSyncing(Integer syncingId) {
        //删除
        OneClinkSyncing oneClinkSyncing = this.getById(syncingId);
        if (null == oneClinkSyncing || oneClinkSyncing.getDelFlag()==0){
            return R.ok();
        }
        oneClinkSyncing.setDelFlag(1);
        oneClinkSyncing.setUpdateTime(new Date());
        oneClinkSyncing.setUpdateUserId(SecurityUtils.getUserId());
        this.updateById(oneClinkSyncing);
        return R.ok();
    }
 
    @Override
    public R executeOneClinkSyncing(Integer syncingId) {
        //根据oneClinkSyncing,修改门店信息
        OneClinkSyncing oneClinkSyncing = this.getById(syncingId);
        if (null == oneClinkSyncing || oneClinkSyncing.getDelFlag()==0){
            return R.fail("该一键同步不存在");
        }
        if (oneClinkSyncing.getShopIds() == null || oneClinkSyncing.getShopIds().trim().isEmpty()) {
            return R.fail("请先选择门户");
        }
 
        R r = remoteShopService.updateShopByOneClinkSyncing(oneClinkSyncing);
 
        oneClinkSyncing.setSyncingTime(new Date());
        oneClinkSyncing.setSyncingUserId(SecurityUtils.getUserId());
        this.updateById(oneClinkSyncing);
        return R.ok();
    }
}