qa-prevention-gwj/src/main/java/com/zcloud/controller/system/PhotoController.java

187 lines
7.1 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

package com.zcloud.controller.system;
import java.util.HashMap;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import com.zcloud.controller.base.BaseController;
import com.zcloud.entity.PageData;
import com.zcloud.service.system.PhotoService;
import com.zcloud.util.Const;
import com.zcloud.util.DateUtil;
import com.zcloud.util.DelFileUtil;
import com.zcloud.util.FileUpload;
import com.zcloud.util.FileUtil;
import com.zcloud.util.ImageAnd64Binary;
import com.zcloud.util.Jurisdiction;
import com.zcloud.util.PathUtil;
import com.zcloud.util.Smb;
import com.zcloud.util.Tools;
/**
* 说明:头像编辑处理类
* 作者luoxiaobao
* 官网www.qdkjchina.com
*/
@Controller
@RequestMapping("/photo")
public class PhotoController extends BaseController {
@Autowired
private PhotoService photoService;
/**保存
* @param
* @throws Exception
*/
@RequestMapping(value="/save")
@ResponseBody
public Object save() throws Exception{
Map<String,Object> map = new HashMap<String,Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
pd.put("USERNAME", Jurisdiction.getUsername()); //用户名
String type = pd.getString("type"); //类型1带原图的。2不带原图
String strphotos = pd.getString("strphotos"); //图片路径拼接
String[] arrayStr = strphotos.split(",fh,");
if("1".equals(type)){
String tu0 = arrayStr[0].split("angle=")[0];
tu0 = tu0.substring(0, tu0.length()-1);
pd.put("PHOTO0", tu0); //原图
pd.put("PHOTO1", arrayStr[1]); //头像1
pd.put("PHOTO2", arrayStr[2]); //头像2
pd.put("PHOTO3", arrayStr[3]); //头像3
}else{
pd.put("PHOTO0", ""); //原图
pd.put("PHOTO1", arrayStr[0]); //头像1
pd.put("PHOTO2", arrayStr[1]); //头像2
pd.put("PHOTO3", arrayStr[2]); //头像3
}
PageData ypd = photoService.findById(pd);
if(null == ypd){ //没有数据就新增,否则就修改
pd.put("USERPHOTO_ID", this.get32UUID()); //主键
photoService.save(pd);
}else{
photoService.edit(pd);
String PHOTO0 = ypd.getString("PHOTO0");
String PHOTO1 = ypd.getString("PHOTO1");
String PHOTO2 = ypd.getString("PHOTO2");
String PHOTO3 = ypd.getString("PHOTO3");
if(Tools.notEmpty(PHOTO0)){
DelFileUtil.delFolder(PathUtil.getProjectpath()+ PHOTO0); //删除原图
}
DelFileUtil.delFolder(PathUtil.getProjectpath()+ PHOTO1); //删除图1
DelFileUtil.delFolder(PathUtil.getProjectpath()+ PHOTO2); //删除图2
DelFileUtil.delFolder(PathUtil.getProjectpath()+ PHOTO3); //删除图3
}
map.put("userPhoto",pd.getString("PHOTO2"));
map.put("result", errInfo);
return map;
}
/**保存
* @param
* @throws Exception
*/
@RequestMapping(value="/saveNew")
@ResponseBody
public Object saveNew(@RequestParam(value="FFILE",required=false) MultipartFile file) throws Exception{
Map<String,Object> map = new HashMap<String,Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
pd.put("USERNAME", Jurisdiction.getUsername()); //用户名
if (null != file && !file.isEmpty()) {
String suffixName = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1).toLowerCase();
if (!"pdf".equals(suffixName) && !"jpg".equals(suffixName) && !"jpeg".equals(suffixName) && !"png".equals(suffixName) && !"mp4".equals(suffixName)) {
errInfo = "fail";
map.put("result", errInfo);
map.put("msg", "文件格式不正确!");
return map;
}
String ffile = DateUtil.getDays();
String filePath = PathUtil.getProjectpath() + Const.FILEPATHFILE + Jurisdiction.getCORPINFO_ID() + "/" + ffile; //文件上传路径
String fileName = FileUpload.fileUp(file, filePath, this.get32UUID()); //执行上传
//String fileName = this.get32UUID()+file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
//Smb.sshSftp(file, fileName,Const.FILEPATHFXSST + Jurisdiction.getCORPINFO_ID() + "/" + ffile);
pd.put("PHOTO1", Const.FILEPATHFILE + Jurisdiction.getCORPINFO_ID() + "/" + ffile + "/" + fileName);
pd.put("PHOTO2", Const.FILEPATHFILE + Jurisdiction.getCORPINFO_ID() + "/" + ffile + "/" + fileName);
pd.put("PHOTO3", Const.FILEPATHFILE + Jurisdiction.getCORPINFO_ID() + "/" + ffile + "/" + fileName);
}
PageData ypd = photoService.findById(pd);
if(null == ypd){ //没有数据就新增,否则就修改
pd.put("USERPHOTO_ID", this.get32UUID()); //主键
photoService.save(pd);
}else{
photoService.edit(pd);
String PHOTO0 = ypd.getString("PHOTO0");
String PHOTO1 = ypd.getString("PHOTO1");
String PHOTO2 = ypd.getString("PHOTO2");
String PHOTO3 = ypd.getString("PHOTO3");
if(Tools.notEmpty(PHOTO0)){
DelFileUtil.delFolder(PathUtil.getProjectpath()+ PHOTO0); //删除原图
}
DelFileUtil.delFolder(PathUtil.getProjectpath()+ PHOTO1); //删除图1
DelFileUtil.delFolder(PathUtil.getProjectpath()+ PHOTO2); //删除图2
DelFileUtil.delFolder(PathUtil.getProjectpath()+ PHOTO3); //删除图3
}
map.put("userPhoto",pd.getString("PHOTO2"));
map.put("result", errInfo);
return map;
}
/**保存用户头像(手机端)
* @param
* @throws Exception
*/
@RequestMapping(value="/saveUserPhoto")
@ResponseBody
public Object saveUserPhoto() throws Exception{
Map<String,Object> map = new HashMap<String,Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
String USERNAME = Jurisdiction.getUsername();//用户名
String userphoto = "uploadFiles/photo/"+USERNAME+"_photo.jpg";
String imgData = pd.getString("PHOTODATA").replace("data:image/jpeg;base64,", "");
String pathimg = PathUtil.getProjectpath()+userphoto;
ImageAnd64Binary.generateImage(imgData, pathimg);
pd.put("USERNAME", USERNAME);
pd.put("PHOTO0", ""); //原图
pd.put("PHOTO1", userphoto); //头像1
pd.put("PHOTO2", userphoto); //头像2
pd.put("PHOTO3", userphoto); //头像3
map.put("userPhoto",pd.getString("PHOTO2"));
PageData ypd = photoService.findById(pd);
if(null == ypd){ //没有数据就新增,否则就修改
pd.put("USERPHOTO_ID", this.get32UUID()); //主键
photoService.save(pd);
}else{
photoService.edit(pd);
String PHOTO0 = ypd.getString("PHOTO0");
String PHOTO1 = ypd.getString("PHOTO1");
String PHOTO2 = ypd.getString("PHOTO2");
String PHOTO3 = ypd.getString("PHOTO3");
if(!userphoto.equals(PHOTO1)){
if(Tools.notEmpty(PHOTO0)){
DelFileUtil.delFolder(PathUtil.getProjectpath()+ PHOTO0); //删除原图
}
DelFileUtil.delFolder(PathUtil.getProjectpath()+ PHOTO1); //删除图1
DelFileUtil.delFolder(PathUtil.getProjectpath()+ PHOTO2); //删除图2
DelFileUtil.delFolder(PathUtil.getProjectpath()+ PHOTO3); //删除图3
}
}
map.put("result", errInfo); //返回结果
return map;
}
}