|
@@ -8,16 +8,18 @@ import cn.hutool.core.util.ObjectUtil;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
+import edu.travel.adapter.service.country.CountryAdapter;
|
|
import edu.travel.adapter.service.upload.UploadAdapter;
|
|
import edu.travel.adapter.service.upload.UploadAdapter;
|
|
-import edu.travel.commodity.constant.BaseConstant;
|
|
|
|
-import edu.travel.commodity.utils.FIleUtil;
|
|
|
|
import edu.travel.remote.feign.mode.dto.tenant.BannerDto;
|
|
import edu.travel.remote.feign.mode.dto.tenant.BannerDto;
|
|
import edu.travel.remote.feign.mode.vo.banner.BannerVo;
|
|
import edu.travel.remote.feign.mode.vo.banner.BannerVo;
|
|
import edu.travel.remote.upload.dto.EduFileDTO;
|
|
import edu.travel.remote.upload.dto.EduFileDTO;
|
|
|
|
+import edu.travel.remote.upload.vo.EduFileVo;
|
|
import edu.travel.rpc.RPCBaseResponse;
|
|
import edu.travel.rpc.RPCBaseResponse;
|
|
|
|
+import edu.travel.tenant.constant.BaseConstant;
|
|
import edu.travel.tenant.entity.ShopBanner;
|
|
import edu.travel.tenant.entity.ShopBanner;
|
|
import edu.travel.tenant.mapper.ShopBannerMapper;
|
|
import edu.travel.tenant.mapper.ShopBannerMapper;
|
|
import edu.travel.tenant.service.ShopBannerService;
|
|
import edu.travel.tenant.service.ShopBannerService;
|
|
|
|
+import edu.travel.tenant.utils.FIleUtil;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
@@ -33,6 +35,8 @@ import static edu.travel.rpc.RPCBaseResponse.success;
|
|
public class ShopBannerServiceImpl extends ServiceImpl<ShopBannerMapper, ShopBanner> implements ShopBannerService {
|
|
public class ShopBannerServiceImpl extends ServiceImpl<ShopBannerMapper, ShopBanner> implements ShopBannerService {
|
|
@Autowired
|
|
@Autowired
|
|
private UploadAdapter uploadAdapter;
|
|
private UploadAdapter uploadAdapter;
|
|
|
|
+ @Autowired
|
|
|
|
+ private CountryAdapter countryAdapter;
|
|
@Override
|
|
@Override
|
|
public List<BannerVo> getBanner(BannerDto mode) {
|
|
public List<BannerVo> getBanner(BannerDto mode) {
|
|
List<BannerVo> list = new ArrayList<>();
|
|
List<BannerVo> list = new ArrayList<>();
|
|
@@ -76,7 +80,6 @@ public class ShopBannerServiceImpl extends ServiceImpl<ShopBannerMapper, ShopBan
|
|
eduFileDTO.setUploadId(stringRPCBaseResponse.getData());
|
|
eduFileDTO.setUploadId(stringRPCBaseResponse.getData());
|
|
eduFileDTO.setFileType(fileType);
|
|
eduFileDTO.setFileType(fileType);
|
|
eduFileDTO.setFileName(filename);
|
|
eduFileDTO.setFileName(filename);
|
|
-
|
|
|
|
|
|
|
|
eduFileDTO.setFileSysName(IdUtil.fastSimpleUUID() + DateUtil.format(new Date(), "yyyyMMddHHmmss") + "." + fileType);
|
|
eduFileDTO.setFileSysName(IdUtil.fastSimpleUUID() + DateUtil.format(new Date(), "yyyyMMddHHmmss") + "." + fileType);
|
|
|
|
|
|
@@ -92,4 +95,150 @@ public class ShopBannerServiceImpl extends ServiceImpl<ShopBannerMapper, ShopBan
|
|
}
|
|
}
|
|
return error();
|
|
return error();
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ * 新增轮播图信息
|
|
|
|
+ * @param banner
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ public RPCBaseResponse<BannerVo> saveBannerCountry(BannerDto banner) {
|
|
|
|
+
|
|
|
|
+ if (ObjectUtil.isEmpty(banner)) {
|
|
|
|
+ return error("Banner data cannot be null");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ if (banner.getIsDefault() == null) {
|
|
|
|
+ return error("isDefault must be provided");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ if (banner.getIsDefault() == 0) {
|
|
|
|
+ if (ObjectUtil.isEmpty(banner.getStartTime()) || ObjectUtil.isEmpty(banner.getEndTime())) {
|
|
|
|
+ return error("startTime and endTime must be provided when isDefault is false");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ try {
|
|
|
|
+
|
|
|
|
+ RPCBaseResponse<EduFileVo> fileResponse = uploadAdapter.getFormId(banner.getImageId());
|
|
|
|
+ if (fileResponse.getData() == null) {
|
|
|
|
+ return error("Failed to retrieve file information");
|
|
|
|
+ }
|
|
|
|
+ EduFileVo fileData = fileResponse.getData();
|
|
|
|
+ String filePath = fileData.getFilePath();
|
|
|
|
+ String fileType = fileData.getFileType();
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ BannerVo bannerVo = new BannerVo();
|
|
|
|
+ bannerVo.setUrl(filePath);
|
|
|
|
+ bannerVo.setUrlType("image".equalsIgnoreCase(fileType) ? 0 : 1);
|
|
|
|
+ bannerVo.setContent(banner.getContent());
|
|
|
|
+ bannerVo.setCountryId(banner.getCountryId());
|
|
|
|
+ bannerVo.setLinkUrl(banner.getLinkUrl());
|
|
|
|
+ bannerVo.setMode(banner.getMode());
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ bannerVo.setId(banner.getId());
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ ShopBanner shopBanner = new ShopBanner();
|
|
|
|
+
|
|
|
|
+ BeanUtil.copyProperties(bannerVo, shopBanner);
|
|
|
|
+
|
|
|
|
+ shopBanner.setEnable(0);
|
|
|
|
+ shopBanner.setCreateTime(new Date());
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ shopBanner.setIsDefault(banner.getIsDefault());
|
|
|
|
+ if (banner.getIsDefault() == 0) {
|
|
|
|
+ shopBanner.setStartTime(banner.getStartTime());
|
|
|
|
+ shopBanner.setEndTime(banner.getEndTime());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ this.save(shopBanner);
|
|
|
|
+
|
|
|
|
+ return success(bannerVo);
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ return error("Failed to save banner country");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ * 更新横幅信息
|
|
|
|
+ * @param banner
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ public RPCBaseResponse<BannerVo> updateBannerCountry(BannerDto banner) {
|
|
|
|
+
|
|
|
|
+ if (ObjectUtil.isEmpty(banner) || ObjectUtil.isEmpty(banner.getId())) {
|
|
|
|
+ return error("Banner data cannot be null and id must be provided");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ if (banner.getIsDefault() == null) {
|
|
|
|
+ return error("isDefault must be provided");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ if (banner.getIsDefault() == 0) {
|
|
|
|
+ if (ObjectUtil.isEmpty(banner.getStartTime()) || ObjectUtil.isEmpty(banner.getEndTime())) {
|
|
|
|
+ return error("startTime and endTime must be provided when isDefault is 0");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ try {
|
|
|
|
+
|
|
|
|
+ RPCBaseResponse<EduFileVo> fileResponse = uploadAdapter.getFormId(banner.getImageId());
|
|
|
|
+ if (fileResponse.getData() == null) {
|
|
|
|
+ return error("Failed to retrieve file information");
|
|
|
|
+ }
|
|
|
|
+ EduFileVo fileData = fileResponse.getData();
|
|
|
|
+ String filePath = fileData.getFilePath();
|
|
|
|
+ String fileType = fileData.getFileType();
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ ShopBanner shopBanner = this.getById(banner.getId());
|
|
|
|
+ if (shopBanner == null) {
|
|
|
|
+ return error("Banner not found");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ BannerVo bannerVo = new BannerVo();
|
|
|
|
+ bannerVo.setUrl(filePath);
|
|
|
|
+ bannerVo.setUrlType("image".equalsIgnoreCase(fileType) ? 0 : 1);
|
|
|
|
+ bannerVo.setContent(banner.getContent());
|
|
|
|
+ bannerVo.setCountryId(banner.getCountryId());
|
|
|
|
+ bannerVo.setLinkUrl(banner.getLinkUrl());
|
|
|
|
+ bannerVo.setMode(banner.getMode());
|
|
|
|
+ bannerVo.setId(banner.getId());
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ BeanUtil.copyProperties(bannerVo, shopBanner);
|
|
|
|
+ shopBanner.setEnable(0);
|
|
|
|
+ shopBanner.setUpdateTime(new Date());
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ shopBanner.setIsDefault(banner.getIsDefault());
|
|
|
|
+ if (banner.getIsDefault() == 0) {
|
|
|
|
+ shopBanner.setStartTime(banner.getStartTime());
|
|
|
|
+ shopBanner.setEndTime(banner.getEndTime());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ this.updateById(shopBanner);
|
|
|
|
+
|
|
|
|
+ return success(bannerVo);
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ return error("Failed to update banner country");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
}
|
|
}
|