package com.caimei.service.data.impl; import com.alibaba.fastjson.JSONArray; import com.caimei.mapper.cmMapper.AuthMapper; import com.caimei.mapper.cmMapper.ImageMapper; import com.caimei.model.ResponseJson; import com.caimei.model.po.ImagePo; import com.caimei.model.vo.ImageFormVo; import com.caimei.model.vo.ImageListVo; import com.caimei.model.vo.WxImageListVo; import com.caimei.service.data.ImageService; import com.caimei.service.auth.UploadService; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Date; import java.util.List; /** * Description * * @author : Aslee * @date : 2021/7/9 */ @Slf4j @Service public class ImageServiceImpl implements ImageService { @Resource private ImageMapper imageMapper; private UploadService uploadService; @Resource private AuthMapper authMapper; @Autowired public void setUploadService(UploadService uploadService) { this.uploadService = uploadService; } @Override public ResponseJson> getImageList(Integer listType, Integer authUserId, String imageTitle, Integer auditStatus, Integer status, Integer pageNum, Integer pageSize) { if (null == authUserId) { return ResponseJson.error("参数异常,请输入供应商用户id", null); } listType = null == listType ? 1 : listType; PageHelper.startPage(pageNum, pageSize); List imageList = imageMapper.getImageList(listType, authUserId, imageTitle, auditStatus, status); PageInfo pageData = new PageInfo<>(imageList); return ResponseJson.success(pageData); } @Override public ResponseJson saveImage(Integer imageId, Integer authUserId, String imageTitle, JSONArray imageArr) throws Exception { if (null == imageId && null == authUserId) { return ResponseJson.error("参数异常,请输入供应商用户id"); } if (StringUtils.isEmpty(imageTitle)) { return ResponseJson.error("参数异常,请输入图片标题"); } if (null == imageArr || imageArr.size() <= 0) { return ResponseJson.error("参数异常,请上传图片"); } /* 组装图片数据 */ ImagePo image = new ImagePo(); image.setTitle(imageTitle); // 上线状态默认为“待上线”,审核状态为“待审核” // image.setStatus(2); // image.setAuditStatus(2); image.setStatus(1); image.setAuditStatus(1); Integer adminUserId = authMapper.getAdminUserId(); image.setAuditBy(adminUserId); image.setAuditTime(new Date()); String imageZipUrl = uploadService.saveImageZip(imageArr); System.out.println("【图片上传】>>>>>>>>>>>>>>>>图片压缩包上传成功:"+imageZipUrl); image.setZipUrl(imageZipUrl); if (null == imageId) { image.setAuthUserId(authUserId); image.setCreateTime(new Date()); // 插入图片 imageMapper.insertImage(image); } else { image.setId(imageId); // 更新图片 imageMapper.updateImageByImageId(image); // 删除原来的图片详情 imageMapper.deleteImageDetail(imageId); } // 保存图片详情 for (Object s : imageArr) { imageMapper.insertImageDetail(image.getId(), s.toString()); } return ResponseJson.success("保存图片成功"); } @Override public ResponseJson updateImageStatus(Integer imageId, Integer status) { if (null == imageId) { return ResponseJson.error("请输入图片id"); } if (null == status) { return ResponseJson.error("请输入要更新的状态值"); } imageMapper.updateImageStatusByImageId(imageId, status); if (0 == status) { return ResponseJson.success("下线图片成功"); } else { return ResponseJson.success("上线图片成功"); } } @Override public ResponseJson deleteImage(Integer imageId) { if (null == imageId) { return ResponseJson.error("参数异常,请输入图片id"); } // 删除图片 imageMapper.deleteImageByImageId(imageId); // 删除图片详情 imageMapper.deleteImageDetail(imageId); return ResponseJson.success("删除图片成功"); } @Override public ResponseJson auditImage(Integer imageId, Integer auditStatus, String invalidReason, Integer auditBy) { if (null == imageId) { return ResponseJson.error("请输入图片id"); } if (null == auditStatus) { return ResponseJson.error("请输入审核结果"); } if (0 == auditStatus && StringUtils.isEmpty(invalidReason)) { return ResponseJson.error("请输入审核不通过的原因"); } if (null == auditBy) { return ResponseJson.error("请输入审核人用户id"); } Date auditTime = new Date(); // 授权状态更新 Integer status = null; if (0 == auditStatus) { // 审核不通过,下线图片 status = 0; } else { // 审核通过,上线图片 status = 1; } imageMapper.updateImageAuditStatus(imageId, status, auditStatus, invalidReason, auditBy, auditTime); return ResponseJson.success("审核图片成功"); } @Override public ResponseJson getImageFormData(Integer imageId) { if (null == imageId) { return ResponseJson.error("参数异常,请输入图片id", null); } ImageFormVo image = imageMapper.getImageForm(imageId); if (null == image) { return ResponseJson.error("图片不存在", null); } List imageList = imageMapper.getImageListByImageId(imageId); image.setImageList(imageList); return ResponseJson.success(image); } @Override public ResponseJson> getWxImageList(Integer authUserId, String imageTitle, Integer pageNum, Integer pageSize) { if (null == authUserId) { return ResponseJson.error("参数异常,请输入供应商用户id", null); } PageHelper.startPage(pageNum, pageSize); List wxImageList = imageMapper.getWxImageList(authUserId, imageTitle); wxImageList.forEach(image->{ List imageList = imageMapper.getImageListByImageId(image.getImageId()); image.setImageList(imageList); }); PageInfo pageData = new PageInfo<>(wxImageList); return ResponseJson.success(pageData); } }