diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java index 586ccc4..4fa9161 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java @@ -70,7 +70,7 @@ public class SysFileController { */ @ApiOperation(value="批量压缩上传到七牛云") @PostMapping("/uploadBatchCompImg") - public R> compression(MultipartFile[] files) throws IOException { + public R> compression(@RequestParam MultipartFile[] files) throws IOException { List list = new ArrayList<>(); for (MultipartFile file : files) { MultipartFile file1 = ImgUtil.commpressPicCycle(Long.parseLong(imgConfig.getFileSize()), Double.parseDouble(imgConfig.getAccuracy()), file); @@ -81,13 +81,20 @@ public class SysFileController { // 上传并返回访问地址 return R.ok(list); } + @ApiOperation(value="文件删除") + @PostMapping("/deleteFile") + public R deleteFile(@RequestParam String url) throws IOException { + String res = qiniuService.deleteFile(url); + // 上传并返回访问地址 + return R.ok(res); + } /** * 批量审核 */ @ApiOperation(value="批量图片审核") @PostMapping("/checkBatch") - public R> checkBatch(ArrayList files) { + public R> checkBatch(@RequestParam ArrayList files) { try { ArrayList list = fileService.checkImg(files); // 上传并返回访问地址 diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IQiniuService.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IQiniuService.java index 9c845c7..9c2e9fc 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IQiniuService.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IQiniuService.java @@ -20,4 +20,11 @@ public interface IQiniuService { * @return */ ArrayList checkImageFormat(ArrayList multipartFiles); + + /** + * 文件删除 + * @param filepath 文件路径 + * @return + */ + String deleteFile(String filepath); } diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/QiniuServiceImpl.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/QiniuServiceImpl.java index 9425da0..b52bfa0 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/QiniuServiceImpl.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/QiniuServiceImpl.java @@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.bnyer.file.config.QiniuConfig; import com.bnyer.file.service.IQiniuService; +import com.bnyer.file.utils.ImgUtil; import com.bnyer.file.utils.StringUtil; import com.google.gson.Gson; import com.google.gson.JsonSyntaxException; @@ -11,6 +12,7 @@ import com.qiniu.common.QiniuException; import com.qiniu.common.Zone; import com.qiniu.http.Client; import com.qiniu.http.Response; +import com.qiniu.storage.BucketManager; import com.qiniu.storage.Configuration; import com.qiniu.storage.UploadManager; import com.qiniu.storage.model.DefaultPutRet; @@ -182,12 +184,33 @@ public class QiniuServiceImpl implements IQiniuService { } return null; } + //删除文件 + public String deleteFile(String filepath){ + String[] split = filepath.split("//"); + //构造一个带指定Region对象的配置类 + Configuration cfg = new Configuration(zone); + System.out.println(split[2]); + String key = split[2]; + Auth auth = Auth.create(qiniuConfig.getAccessKey(), qiniuConfig.getSecretKey()); + BucketManager bucketManager = new BucketManager(auth, cfg); + try { + return bucketManager.delete(qiniuConfig.getBucketName(), key).toString(); + } catch (QiniuException ex) { + //如果遇到异常,说明删除失败 + System.err.println(ex.code()); + System.err.println(ex.response.toString()); + } + return ""; + } + public static void main(String[] args) { + String url="http://rd582ra2f.hd-bkt.clouddn.com//code/duck/2022-07-10-e46bf8d168b348fd9cc8b6b39e12d3ca.png"; + for (String s : url.split("//")) { + System.out.println(s); + } -// public static void main(String[] args) { -// // String imageString = ImgUtil.getImageString("C:\\Users\\ASUS\\Documents\\WeChat Files\\wxid_vzk0z5ghy6q922\\FileStorage\\File\\2020-09\\20220608134731.png"); // JSONObject jsonObject = checkImageContent("data:application/octet-stream;base64," + imageString); // System.out.println(JSON.parseObject(jsonObject.get("result").toString()).get("suggestion").toString()); // System.out.println(jsonObject); -// } + } } diff --git a/bnyer-services/bnyer-file/src/main/resources/bootstrap.yml b/bnyer-services/bnyer-file/src/main/resources/bootstrap.yml index a1621ce..687e6b7 100644 --- a/bnyer-services/bnyer-file/src/main/resources/bootstrap.yml +++ b/bnyer-services/bnyer-file/src/main/resources/bootstrap.yml @@ -15,4 +15,4 @@ spring: active: dev servlet: multipart: - maxFileSize: 5MB \ No newline at end of file + maxFileSize: 27MB \ No newline at end of file diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ImgSignRelationPageDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ImgSignRelationPageDto.java new file mode 100644 index 0000000..833bd90 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ImgSignRelationPageDto.java @@ -0,0 +1,21 @@ +package com.bnyer.img.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +@ApiModel("imgSignRelation分页接收类") +public class ImgSignRelationPageDto extends BasePageDto { + + @ApiModelProperty(value="是否显示") + private String isShow; + + @ApiModelProperty(value="图片id") + private Long imgId; + + @ApiModelProperty(value="标签id") + private Long signId; +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/SignPageDto.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/SignPageDto.java new file mode 100644 index 0000000..35b1b94 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/SignPageDto.java @@ -0,0 +1,19 @@ +package com.bnyer.img.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +@ApiModel("sign分页接收类") +public class SignPageDto extends BasePageDto { + + @ApiModelProperty(value="标签名称") + private String name; + + @ApiModelProperty(value="是否显示") + private String isShow; +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/ImgSignRelationService.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/ImgSignRelationService.java new file mode 100644 index 0000000..b53ba8c --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/ImgSignRelationService.java @@ -0,0 +1,81 @@ +package com.bnyer.img.service; + +import com.bnyer.img.domain.ImgSignRelation; +import com.bnyer.img.domain.Sign; +import com.bnyer.img.dto.ImgSignRelationPageDto; +import com.bnyer.img.dto.SignPageDto; + +import java.util.List; + +/** + * @Author qyh + * @Date 2022/7/10 21:23 + * @Description + */ +public interface ImgSignRelationService { + /** + * 新增imgSignRelation + * @param imgSignRelation + * @return + */ + int insert(ImgSignRelation imgSignRelation); + + /** + * 修改imgSignRelation + * @param imgSignRelation - + * @return - + */ + int update(ImgSignRelation imgSignRelation); + + /** + * 批量删除imgSignRelation + * @param ids ids + * @return - + */ + int delete(List ids); + + /** + * 查询imgSignRelation分页 + * @param dto 分页对象 + * @return - + */ + List queryPage(ImgSignRelationPageDto dto); + + /** + * 查询imgSignRelation详情 + * @param id 主键id + * @return - + */ + ImgSignRelation queryDetails(Long id); + + /** + * 查询小程序imgSignRelation列表 + * @param imgId 图片id + * @return - + */ + List queryListByImgId(String imgId); + + /** + * 查询小程序imgSignRelation列表 + * @param signId 标签id + * @return - + */ + List queryListBySignId(String signId); + + + /** + * 变更显示状态 + * @param id 主键id + * @param status 状态 + * @return - + */ + int changeStatus(Long id,String status); + + /** + * 根据列名+条件删除 + * @param columnName 要删除的列名 + * @param conditions 根据什么条件删除 + * @return + */ + int deleteByColumn(String columnName,Long conditions); +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/SignService.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/SignService.java index d81ade2..5f1d2b8 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/SignService.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/SignService.java @@ -1,4 +1,61 @@ package com.bnyer.img.service; +import com.bnyer.img.domain.Banner; +import com.bnyer.img.domain.Sign; +import com.bnyer.img.dto.BannerPageDto; +import com.bnyer.img.dto.SignPageDto; +import com.bnyer.img.vo.BannerVo; + +import java.util.List; + public interface SignService { + /** + * 新增Sign + * @param sign + * @return + */ + int insert(Sign sign); + + /** + * 修改sign + * @param sign - + * @return - + */ + int update(Sign sign); + + /** + * 批量删除sign + * @param ids ids + * @return - + */ + int delete(List ids); + + /** + * 查询sign分页 + * @param dto 分页对象 + * @return - + */ + List queryPage(SignPageDto dto); + + /** + * 查询sign详情 + * @param id 主键id + * @return - + */ + Sign queryDetails(Long id); + + /** + * 查询小程序sign列表 + * @param name 标签名字 + * @return - + */ + List queryList(String name); + + /** + * 变更显示状态 + * @param id 主键id + * @param status 状态 + * @return - + */ + int changeStatus(Long id,String status); } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/ImgSignRelationServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/ImgSignRelationServiceImpl.java new file mode 100644 index 0000000..f200de0 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/ImgSignRelationServiceImpl.java @@ -0,0 +1,104 @@ +package com.bnyer.img.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.bnyer.common.core.utils.StringUtils; +import com.bnyer.img.domain.Banner; +import com.bnyer.img.domain.ImgSignRelation; +import com.bnyer.img.domain.Sign; +import com.bnyer.img.dto.ImgSignRelationPageDto; +import com.bnyer.img.dto.SignPageDto; +import com.bnyer.img.mapper.ImgSignRelationMapper; +import com.bnyer.img.service.ImgSignRelationService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * @Author qyh + * @Date 2022/7/10 21:22 + * @Description + */ +@Service +@Slf4j +public class ImgSignRelationServiceImpl implements ImgSignRelationService { + @Autowired + private ImgSignRelationMapper imgSignRelationMapper; + @Override + @Transactional(rollbackFor = Exception.class) + public int insert(ImgSignRelation imgSignRelation) { + return imgSignRelationMapper.insert(imgSignRelation); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public int update(ImgSignRelation imgSignRelation) { + return imgSignRelationMapper.updateById(imgSignRelation); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public int delete(List ids) { + return imgSignRelationMapper.deleteBatchIds(ids); + } + + @Override + public List queryPage(ImgSignRelationPageDto dto) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if(dto.getImgId()!=null){ + wrapper.like(ImgSignRelation::getImgId,dto.getImgId()); + } + if(dto.getSignId()!=null){ + wrapper.eq(ImgSignRelation::getSignId, dto.getSignId()); + } + if(StringUtils.isNotBlank(dto.getIsShow())){ + wrapper.eq(ImgSignRelation::getIsShow, dto.getIsShow()); + } + wrapper.orderByDesc(ImgSignRelation::getSort); + return imgSignRelationMapper.selectList(wrapper); + } + + @Override + public ImgSignRelation queryDetails(Long id) { + return imgSignRelationMapper.selectById(id); + } + + @Override + public List queryListByImgId(String imgId) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("img_id",imgId); + return imgSignRelationMapper.selectList(wrapper); + } + @Override + public List queryListBySignId(String signId) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("sign_id",signId); + return imgSignRelationMapper.selectList(wrapper); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public int changeStatus(Long id, String status) { + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); + wrapper.eq(ImgSignRelation::getId,id); + ImgSignRelation imgSignRelation = new ImgSignRelation(); + imgSignRelation.setIsShow(status); + return imgSignRelationMapper.update(imgSignRelation,wrapper); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public int deleteByColumn(String columnName, Long conditions) { + QueryWrapper wrapper = new QueryWrapper<>(); + if (conditions!=null){ + wrapper.eq(columnName,conditions); + imgSignRelationMapper.delete(wrapper); + } + + return 0; + } +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/SignServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/SignServiceImpl.java index b11bb72..ef310a5 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/SignServiceImpl.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/SignServiceImpl.java @@ -1,10 +1,92 @@ package com.bnyer.img.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.bnyer.common.core.utils.StringUtils; +import com.bnyer.img.domain.Banner; +import com.bnyer.img.domain.Sign; +import com.bnyer.img.dto.BannerPageDto; +import com.bnyer.img.dto.SignPageDto; +import com.bnyer.img.mapper.SignMapper; import com.bnyer.img.service.SignService; +import com.bnyer.img.vo.BannerVo; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Date; +import java.util.List; @Service @Slf4j public class SignServiceImpl implements SignService { + @Autowired + private SignMapper signMapper; + @Autowired + private ImgSignRelationServiceImpl imgSignRelationService; + @Override + @Transactional(rollbackFor = Exception.class) + public int insert(Sign sign) { + List signs = queryList(sign.getName()); + if (signs.size()<=0){ + sign.setCreateTime(new Date()); + sign.setUpdateTime(new Date()); + return signMapper.insert(sign); + } + return 0; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public int update(Sign sign) { + sign.setUpdateTime(new Date()); + return signMapper.updateById(sign); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public int delete(List ids) { + //先把img_sign_relation关联的数据删掉 + for (Long id : ids) { + imgSignRelationService.deleteByColumn("sign_id",id); + } + return signMapper.deleteBatchIds(ids); + } + + @Override + public List queryPage(SignPageDto dto) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if (StringUtils.isNotBlank(dto.getName())){ + wrapper.like(Sign::getName,dto.getName()); + } + if (StringUtils.isNotBlank(dto.getIsShow())){ + wrapper.eq(Sign::getIsShow,dto.getIsShow()); + } + wrapper.orderByDesc(Sign::getSort); + return signMapper.selectList(wrapper); + } + + @Override + public Sign queryDetails(Long id) { + return signMapper.selectById(id); + } + + @Override + public List queryList(String name) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("name",name); + return signMapper.selectList(wrapper); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public int changeStatus(Long id, String status) { + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); + wrapper.eq(Sign::getId,id); + Sign sign = new Sign(); + sign.setIsShow(status); + return signMapper.update(sign,wrapper); + } }