ImageServiceImpl.java 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. package com.caimei.service.data.impl;
  2. import com.alibaba.fastjson.JSONArray;
  3. import com.caimei.mapper.cmMapper.AuthMapper;
  4. import com.caimei.mapper.cmMapper.ImageMapper;
  5. import com.caimei.model.ResponseJson;
  6. import com.caimei.model.po.ImagePo;
  7. import com.caimei.model.vo.ImageFormVo;
  8. import com.caimei.model.vo.ImageListVo;
  9. import com.caimei.model.vo.WxImageListVo;
  10. import com.caimei.service.data.ImageService;
  11. import com.caimei.service.auth.UploadService;
  12. import com.github.pagehelper.PageHelper;
  13. import com.github.pagehelper.PageInfo;
  14. import lombok.extern.slf4j.Slf4j;
  15. import org.apache.commons.lang3.StringUtils;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.stereotype.Service;
  18. import javax.annotation.Resource;
  19. import java.util.Date;
  20. import java.util.List;
  21. /**
  22. * Description
  23. *
  24. * @author : Aslee
  25. * @date : 2021/7/9
  26. */
  27. @Slf4j
  28. @Service
  29. public class ImageServiceImpl implements ImageService {
  30. @Resource
  31. private ImageMapper imageMapper;
  32. private UploadService uploadService;
  33. @Resource
  34. private AuthMapper authMapper;
  35. @Autowired
  36. public void setUploadService(UploadService uploadService) {
  37. this.uploadService = uploadService;
  38. }
  39. @Override
  40. public ResponseJson<PageInfo<ImageListVo>> getImageList(Integer listType, Integer authUserId, String imageTitle, Integer auditStatus, Integer status, Integer pageNum, Integer pageSize) {
  41. if (null == authUserId) {
  42. return ResponseJson.error("参数异常,请输入供应商用户id", null);
  43. }
  44. listType = null == listType ? 1 : listType;
  45. PageHelper.startPage(pageNum, pageSize);
  46. List<ImageListVo> imageList = imageMapper.getImageList(listType, authUserId, imageTitle, auditStatus, status);
  47. PageInfo<ImageListVo> pageData = new PageInfo<>(imageList);
  48. return ResponseJson.success(pageData);
  49. }
  50. @Override
  51. public ResponseJson saveImage(Integer imageId, Integer authUserId, String imageTitle, JSONArray imageArr) throws Exception {
  52. if (null == imageId && null == authUserId) {
  53. return ResponseJson.error("参数异常,请输入供应商用户id");
  54. }
  55. if (StringUtils.isEmpty(imageTitle)) {
  56. return ResponseJson.error("参数异常,请输入图片标题");
  57. }
  58. if (null == imageArr || imageArr.size() <= 0) {
  59. return ResponseJson.error("参数异常,请上传图片");
  60. }
  61. /*
  62. 组装图片数据
  63. */
  64. ImagePo image = new ImagePo();
  65. image.setTitle(imageTitle);
  66. // 上线状态默认为“待上线”,审核状态为“待审核”
  67. // image.setStatus(2);
  68. // image.setAuditStatus(2);
  69. image.setStatus(1);
  70. image.setAuditStatus(1);
  71. Integer adminUserId = authMapper.getAdminUserId();
  72. image.setAuditBy(adminUserId);
  73. image.setAuditTime(new Date());
  74. String imageZipUrl = uploadService.saveImageZip(imageArr);
  75. System.out.println("【图片上传】>>>>>>>>>>>>>>>>图片压缩包上传成功:"+imageZipUrl);
  76. image.setZipUrl(imageZipUrl);
  77. if (null == imageId) {
  78. image.setAuthUserId(authUserId);
  79. image.setCreateTime(new Date());
  80. // 插入图片
  81. imageMapper.insertImage(image);
  82. } else {
  83. image.setId(imageId);
  84. // 更新图片
  85. imageMapper.updateImageByImageId(image);
  86. // 删除原来的图片详情
  87. imageMapper.deleteImageDetail(imageId);
  88. }
  89. // 保存图片详情
  90. for (Object s : imageArr) {
  91. imageMapper.insertImageDetail(image.getId(), s.toString());
  92. }
  93. return ResponseJson.success("保存图片成功");
  94. }
  95. @Override
  96. public ResponseJson updateImageStatus(Integer imageId, Integer status) {
  97. if (null == imageId) {
  98. return ResponseJson.error("请输入图片id");
  99. }
  100. if (null == status) {
  101. return ResponseJson.error("请输入要更新的状态值");
  102. }
  103. imageMapper.updateImageStatusByImageId(imageId, status);
  104. if (0 == status) {
  105. return ResponseJson.success("下线图片成功");
  106. } else {
  107. return ResponseJson.success("上线图片成功");
  108. }
  109. }
  110. @Override
  111. public ResponseJson deleteImage(Integer imageId) {
  112. if (null == imageId) {
  113. return ResponseJson.error("参数异常,请输入图片id");
  114. }
  115. // 删除图片
  116. imageMapper.deleteImageByImageId(imageId);
  117. // 删除图片详情
  118. imageMapper.deleteImageDetail(imageId);
  119. return ResponseJson.success("删除图片成功");
  120. }
  121. @Override
  122. public ResponseJson auditImage(Integer imageId, Integer auditStatus, String invalidReason, Integer auditBy) {
  123. if (null == imageId) {
  124. return ResponseJson.error("请输入图片id");
  125. }
  126. if (null == auditStatus) {
  127. return ResponseJson.error("请输入审核结果");
  128. }
  129. if (0 == auditStatus && StringUtils.isEmpty(invalidReason)) {
  130. return ResponseJson.error("请输入审核不通过的原因");
  131. }
  132. if (null == auditBy) {
  133. return ResponseJson.error("请输入审核人用户id");
  134. }
  135. Date auditTime = new Date();
  136. // 授权状态更新
  137. Integer status = null;
  138. if (0 == auditStatus) {
  139. // 审核不通过,下线图片
  140. status = 0;
  141. } else {
  142. // 审核通过,上线图片
  143. status = 1;
  144. }
  145. imageMapper.updateImageAuditStatus(imageId, status, auditStatus, invalidReason, auditBy, auditTime);
  146. return ResponseJson.success("审核图片成功");
  147. }
  148. @Override
  149. public ResponseJson<ImageFormVo> getImageFormData(Integer imageId) {
  150. if (null == imageId) {
  151. return ResponseJson.error("参数异常,请输入图片id", null);
  152. }
  153. ImageFormVo image = imageMapper.getImageForm(imageId);
  154. if (null == image) {
  155. return ResponseJson.error("图片不存在", null);
  156. }
  157. List<String> imageList = imageMapper.getImageListByImageId(imageId);
  158. image.setImageList(imageList);
  159. return ResponseJson.success(image);
  160. }
  161. @Override
  162. public ResponseJson<PageInfo<WxImageListVo>> getWxImageList(Integer authUserId, String imageTitle, Integer pageNum, Integer pageSize) {
  163. if (null == authUserId) {
  164. return ResponseJson.error("参数异常,请输入供应商用户id", null);
  165. }
  166. PageHelper.startPage(pageNum, pageSize);
  167. List<WxImageListVo> wxImageList = imageMapper.getWxImageList(authUserId, imageTitle);
  168. wxImageList.forEach(image->{
  169. List<String> imageList = imageMapper.getImageListByImageId(image.getImageId());
  170. image.setImageList(imageList);
  171. });
  172. PageInfo<WxImageListVo> pageData = new PageInfo<>(wxImageList);
  173. return ResponseJson.success(pageData);
  174. }
  175. }