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();
|
}
|
}
|