Browse Source

标签crud+文件删除

feature-1.0-img-prototype
qyhdd 4 years ago
parent
commit
008317f0a6
  1. 11
      bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java
  2. 7
      bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IQiniuService.java
  3. 29
      bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/QiniuServiceImpl.java
  4. 2
      bnyer-services/bnyer-file/src/main/resources/bootstrap.yml
  5. 21
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/ImgSignRelationPageDto.java
  6. 19
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/dto/SignPageDto.java
  7. 81
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/ImgSignRelationService.java
  8. 57
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/SignService.java
  9. 104
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/ImgSignRelationServiceImpl.java
  10. 82
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/SignServiceImpl.java

11
bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java

@ -70,7 +70,7 @@ public class SysFileController {
*/ */
@ApiOperation(value="批量压缩上传到七牛云") @ApiOperation(value="批量压缩上传到七牛云")
@PostMapping("/uploadBatchCompImg") @PostMapping("/uploadBatchCompImg")
public R<List<String>> compression(MultipartFile[] files) throws IOException { public R<List<String>> compression(@RequestParam MultipartFile[] files) throws IOException {
List<String> list = new ArrayList<>(); List<String> list = new ArrayList<>();
for (MultipartFile file : files) { for (MultipartFile file : files) {
MultipartFile file1 = ImgUtil.commpressPicCycle(Long.parseLong(imgConfig.getFileSize()), Double.parseDouble(imgConfig.getAccuracy()), file); MultipartFile file1 = ImgUtil.commpressPicCycle(Long.parseLong(imgConfig.getFileSize()), Double.parseDouble(imgConfig.getAccuracy()), file);
@ -81,13 +81,20 @@ public class SysFileController {
// 上传并返回访问地址 // 上传并返回访问地址
return R.ok(list); 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="批量图片审核") @ApiOperation(value="批量图片审核")
@PostMapping("/checkBatch") @PostMapping("/checkBatch")
public R<List<ChekFileVo>> checkBatch(ArrayList<MultipartFile> files) { public R<List<ChekFileVo>> checkBatch(@RequestParam ArrayList<MultipartFile> files) {
try { try {
ArrayList<ChekFileVo> list = fileService.checkImg(files); ArrayList<ChekFileVo> list = fileService.checkImg(files);
// 上传并返回访问地址 // 上传并返回访问地址

7
bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/IQiniuService.java

@ -20,4 +20,11 @@ public interface IQiniuService {
* @return * @return
*/ */
ArrayList<MultipartFile> checkImageFormat(ArrayList<MultipartFile> multipartFiles); ArrayList<MultipartFile> checkImageFormat(ArrayList<MultipartFile> multipartFiles);
/**
* 文件删除
* @param filepath 文件路径
* @return
*/
String deleteFile(String filepath);
} }

29
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.alibaba.fastjson.JSONObject;
import com.bnyer.file.config.QiniuConfig; import com.bnyer.file.config.QiniuConfig;
import com.bnyer.file.service.IQiniuService; import com.bnyer.file.service.IQiniuService;
import com.bnyer.file.utils.ImgUtil;
import com.bnyer.file.utils.StringUtil; import com.bnyer.file.utils.StringUtil;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.JsonSyntaxException; import com.google.gson.JsonSyntaxException;
@ -11,6 +12,7 @@ import com.qiniu.common.QiniuException;
import com.qiniu.common.Zone; import com.qiniu.common.Zone;
import com.qiniu.http.Client; import com.qiniu.http.Client;
import com.qiniu.http.Response; import com.qiniu.http.Response;
import com.qiniu.storage.BucketManager;
import com.qiniu.storage.Configuration; import com.qiniu.storage.Configuration;
import com.qiniu.storage.UploadManager; import com.qiniu.storage.UploadManager;
import com.qiniu.storage.model.DefaultPutRet; import com.qiniu.storage.model.DefaultPutRet;
@ -182,12 +184,33 @@ public class QiniuServiceImpl implements IQiniuService {
} }
return null; 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"); // 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); // JSONObject jsonObject = checkImageContent("data:application/octet-stream;base64," + imageString);
// System.out.println(JSON.parseObject(jsonObject.get("result").toString()).get("suggestion").toString()); // System.out.println(JSON.parseObject(jsonObject.get("result").toString()).get("suggestion").toString());
// System.out.println(jsonObject); // System.out.println(jsonObject);
// } }
} }

2
bnyer-services/bnyer-file/src/main/resources/bootstrap.yml

@ -15,4 +15,4 @@ spring:
active: dev active: dev
servlet: servlet:
multipart: multipart:
maxFileSize: 5MB maxFileSize: 27MB

21
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;
}

19
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;
}

81
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<Long> ids);
/**
* 查询imgSignRelation分页
* @param dto 分页对象
* @return -
*/
List<ImgSignRelation> queryPage(ImgSignRelationPageDto dto);
/**
* 查询imgSignRelation详情
* @param id 主键id
* @return -
*/
ImgSignRelation queryDetails(Long id);
/**
* 查询小程序imgSignRelation列表
* @param imgId 图片id
* @return -
*/
List<ImgSignRelation> queryListByImgId(String imgId);
/**
* 查询小程序imgSignRelation列表
* @param signId 标签id
* @return -
*/
List<ImgSignRelation> 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);
}

57
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/SignService.java

@ -1,4 +1,61 @@
package com.bnyer.img.service; 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 { 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<Long> ids);
/**
* 查询sign分页
* @param dto 分页对象
* @return -
*/
List<Sign> queryPage(SignPageDto dto);
/**
* 查询sign详情
* @param id 主键id
* @return -
*/
Sign queryDetails(Long id);
/**
* 查询小程序sign列表
* @param name 标签名字
* @return -
*/
List<Sign> queryList(String name);
/**
* 变更显示状态
* @param id 主键id
* @param status 状态
* @return -
*/
int changeStatus(Long id,String status);
} }

104
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<Long> ids) {
return imgSignRelationMapper.deleteBatchIds(ids);
}
@Override
public List<ImgSignRelation> queryPage(ImgSignRelationPageDto dto) {
LambdaQueryWrapper<ImgSignRelation> 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<ImgSignRelation> queryListByImgId(String imgId) {
QueryWrapper<ImgSignRelation> wrapper = new QueryWrapper<>();
wrapper.eq("img_id",imgId);
return imgSignRelationMapper.selectList(wrapper);
}
@Override
public List<ImgSignRelation> queryListBySignId(String signId) {
QueryWrapper<ImgSignRelation> 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<ImgSignRelation> 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<ImgSignRelation> wrapper = new QueryWrapper<>();
if (conditions!=null){
wrapper.eq(columnName,conditions);
imgSignRelationMapper.delete(wrapper);
}
return 0;
}
}

82
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/SignServiceImpl.java

@ -1,10 +1,92 @@
package com.bnyer.img.service.impl; 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.service.SignService;
import com.bnyer.img.vo.BannerVo;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
@Service @Service
@Slf4j @Slf4j
public class SignServiceImpl implements SignService { public class SignServiceImpl implements SignService {
@Autowired
private SignMapper signMapper;
@Autowired
private ImgSignRelationServiceImpl imgSignRelationService;
@Override
@Transactional(rollbackFor = Exception.class)
public int insert(Sign sign) {
List<Sign> 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<Long> ids) {
//先把img_sign_relation关联的数据删掉
for (Long id : ids) {
imgSignRelationService.deleteByColumn("sign_id",id);
}
return signMapper.deleteBatchIds(ids);
}
@Override
public List<Sign> queryPage(SignPageDto dto) {
LambdaQueryWrapper<Sign> 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<Sign> queryList(String name) {
QueryWrapper<Sign> wrapper = new QueryWrapper<>();
wrapper.eq("name",name);
return signMapper.selectList(wrapper);
}
@Override
@Transactional(rollbackFor = Exception.class)
public int changeStatus(Long id, String status) {
LambdaUpdateWrapper<Sign> wrapper = new LambdaUpdateWrapper<>();
wrapper.eq(Sign::getId,id);
Sign sign = new Sign();
sign.setIsShow(status);
return signMapper.update(sign,wrapper);
}
} }

Loading…
Cancel
Save