Commit 720159cf authored by jiaorz's avatar jiaorz

Merge remote-tracking branch 'origin/base-modify' into base-modify

parents d90c587d d9ddc095
...@@ -53,11 +53,11 @@ public class User { ...@@ -53,11 +53,11 @@ public class User {
@ApiModelProperty("性别") @ApiModelProperty("性别")
private String sex; private String sex;
@Column(name = "group") @Column(name = "'group'")
@ApiModelProperty("分组") @ApiModelProperty("分组")
private Integer group; private Integer group;
@Column(name = "status") @Column(name = "'status'")
@ApiModelProperty("状态") @ApiModelProperty("状态")
private Integer status; private Integer status;
...@@ -96,12 +96,12 @@ public class User { ...@@ -96,12 +96,12 @@ public class User {
@Column(name = "createtime") @Column(name = "createtime")
@ApiModelProperty("创建时间") @ApiModelProperty("创建时间")
private Integer createtime; private Long createtime;
@Column(name = "lastjointime") @Column(name = "lastjointime")
@ApiModelProperty("待定") @ApiModelProperty("待定")
private Integer lastjointime; private Long lastjointime;
@Column(name = "had_luru") @Column(name = "had_luru")
@ApiModelProperty("待定") @ApiModelProperty("待定")
......
...@@ -89,5 +89,12 @@ public class JsTicket implements Serializable { ...@@ -89,5 +89,12 @@ public class JsTicket implements Serializable {
this.ticket = ticket; this.ticket = ticket;
} }
@Override
public String toString() {
return "JsTicket [ticket=" + ticket + ", expires_in=" + expires_in + ", expiredTime=" + expiredTime + "]";
}
} }
package com.xxfc.platform.summit.pojo;
public enum SummitStatus {
ENROLL("报名中",1),IN_PROGRESS("进行中",2),End("已结束",3);
private String msg;
private Integer code;
SummitStatus(String msg, Integer code) {
this.msg = msg;
this.code = code;
}
public String getMsg() {
return msg;
}
public Integer getCode() {
return code;
}
}
...@@ -7,6 +7,7 @@ import com.xxfc.platform.summit.entity.Activity; ...@@ -7,6 +7,7 @@ import com.xxfc.platform.summit.entity.Activity;
import com.xxfc.platform.summit.mapper.ActivityMapper; import com.xxfc.platform.summit.mapper.ActivityMapper;
import com.xxfc.platform.summit.pojo.AccessType; import com.xxfc.platform.summit.pojo.AccessType;
import com.xxfc.platform.summit.pojo.ActivityQuery; import com.xxfc.platform.summit.pojo.ActivityQuery;
import com.xxfc.platform.summit.pojo.SummitStatus;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -40,10 +41,23 @@ public class ActivityBiz extends BaseBiz<ActivityMapper, Activity> { ...@@ -40,10 +41,23 @@ public class ActivityBiz extends BaseBiz<ActivityMapper, Activity> {
criteria.andLike("title", String.format("%%%s%%", query.getTitle().trim())); criteria.andLike("title", String.format("%%%s%%", query.getTitle().trim()));
} }
if (query.getStartTime() != null) { if (query.getStartTime() != null) {
criteria.andLike("startTime", query.getStartTime()/(1000*60*60)+"%"); criteria.andLike("startTime", query.getStartTime() / (1000 * 60 * 60) + "%");
} }
if (query.getStatus() != null) { if (query.getStatus() != null) {
criteria.andEqualTo("status", query.getStatus()); criteria.andEqualTo("status", query.getStatus());
switch (query.getStatus()) {
case 1:
criteria.orLessThan("startTime", System.currentTimeMillis());
break;
case 2:
criteria.orBetween("startTime", System.currentTimeMillis(),"endTime");
break;
case 3:
criteria.orGreaterThan("endTime", System.currentTimeMillis());
break;
default:
throw new IllegalStateException("Unexpected value: " + query.getStatus());
}
} }
if (query.getType() != null && AccessType.PUBLIC.getCode().equals(query.getType())) { if (query.getType() != null && AccessType.PUBLIC.getCode().equals(query.getType())) {
......
package com.xxfc.platform.summit.biz; package com.xxfc.platform.summit.biz;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
...@@ -17,7 +17,6 @@ import com.xxfc.platform.summit.pojo.ActivityBmQuery; ...@@ -17,7 +17,6 @@ import com.xxfc.platform.summit.pojo.ActivityBmQuery;
import com.xxfc.platform.summit.vo.MeepoActivityVo; import com.xxfc.platform.summit.vo.MeepoActivityVo;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -107,9 +106,7 @@ public class ActivityBmBiz extends BaseBiz<ActivityBmMapper, ActivityBm> { ...@@ -107,9 +106,7 @@ public class ActivityBmBiz extends BaseBiz<ActivityBmMapper, ActivityBm> {
if (StringUtils.isBlank(json)){ if (StringUtils.isBlank(json)){
return null; return null;
} }
JSONObject jsonObject= JSONObject.parseObject(json); return JSON.parseObject(json,ActivityBm.class);
BeanUtils.copyProperties(jsonObject,bm);
return bm;
} }
public ActivityBm checkUserBm(Integer meepoUserId,Integer activityId ){ public ActivityBm checkUserBm(Integer meepoUserId,Integer activityId ){
...@@ -186,6 +183,7 @@ public class ActivityBmBiz extends BaseBiz<ActivityBmMapper, ActivityBm> { ...@@ -186,6 +183,7 @@ public class ActivityBmBiz extends BaseBiz<ActivityBmMapper, ActivityBm> {
//获取峰会活动详情 //获取峰会活动详情
public ObjectRestResponse getActivityById(Integer activityId,String key,HttpServletRequest request){ public ObjectRestResponse getActivityById(Integer activityId,String key,HttpServletRequest request){
log.info("--getActivityById---activityId==="+activityId+"----key===="+key);
if (activityId==0||activityId==null){ if (activityId==0||activityId==null){
return ObjectRestResponse.createFailedResult(ResultCode.NOTEXIST_CODE,"参数为空"); return ObjectRestResponse.createFailedResult(ResultCode.NOTEXIST_CODE,"参数为空");
} }
...@@ -251,4 +249,5 @@ public class ActivityBmBiz extends BaseBiz<ActivityBmMapper, ActivityBm> { ...@@ -251,4 +249,5 @@ public class ActivityBmBiz extends BaseBiz<ActivityBmMapper, ActivityBm> {
public ActivityBm userBm(ActivityBm activityBm, Integer id) { public ActivityBm userBm(ActivityBm activityBm, Integer id) {
return null; return null;
} }
} }
...@@ -2,6 +2,7 @@ package com.xxfc.platform.summit.biz; ...@@ -2,6 +2,7 @@ package com.xxfc.platform.summit.biz;
import cn.hutool.core.codec.Base64; import cn.hutool.core.codec.Base64;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.exception.BaseException; import com.github.wxiaoqi.security.common.exception.BaseException;
...@@ -80,8 +81,11 @@ public class UserBiz extends BaseBiz<UserMapper, User> { ...@@ -80,8 +81,11 @@ public class UserBiz extends BaseBiz<UserMapper, User> {
userId=uses.get(0).getId(); userId=uses.get(0).getId();
user.setId(userId); user.setId(userId);
}else { }else {
Long time=System.currentTimeMillis()/1000L;
user.setWeId(weId); user.setWeId(weId);
user.setRId(rId); user.setRId(rId);
user.setCreatetime(time);
user.setLastjointime(time);
insertSelective(user); insertSelective(user);
userId=user.getId(); userId=user.getId();
} }
...@@ -93,8 +97,8 @@ public class UserBiz extends BaseBiz<UserMapper, User> { ...@@ -93,8 +97,8 @@ public class UserBiz extends BaseBiz<UserMapper, User> {
log.info("----code为空---"); log.info("----code为空---");
throw new BaseException(ResultCode.FAILED_CODE, Sets.newSet("code为空")); throw new BaseException(ResultCode.FAILED_CODE, Sets.newSet("code为空"));
} }
String openid = null; String openid = "ohe-C0vTEyivU7MK4BKEiDq0UdW4";
String access_token = null; /*String access_token = null;
try { try {
JSONObject jsonData = weixinService.getAccessToken(code); JSONObject jsonData = weixinService.getAccessToken(code);
openid = jsonData.getString("openid"); openid = jsonData.getString("openid");
...@@ -112,15 +116,15 @@ public class UserBiz extends BaseBiz<UserMapper, User> { ...@@ -112,15 +116,15 @@ public class UserBiz extends BaseBiz<UserMapper, User> {
e.printStackTrace(); e.printStackTrace();
log.info("网络异常===" + e.getMessage()); log.info("网络异常===" + e.getMessage());
throw new BaseException(ResultCode.FAILED_CODE, Sets.newSet("网络异常")); throw new BaseException(ResultCode.FAILED_CODE, Sets.newSet("网络异常"));
} }*/
try { try {
// 获取微信用户基本信息 // 获取微信用户基本信息
JSONObject userinfo_json = weixinService.getUserInfo(access_token,openid); /* JSONObject userinfo_json = weixinService.getUserInfo(access_token,openid);
if (userinfo_json == null || StringUtils.isNotBlank(userinfo_json.getString("errcode"))) { if (userinfo_json == null || StringUtils.isNotBlank(userinfo_json.getString("errcode"))) {
log.info("调用微信用户基本信息接口失败"); log.info("调用微信用户基本信息接口失败");
throw new BaseException(ResultCode.FAILED_CODE, Sets.newSet("调用微信用户基本信息接口失败")); throw new BaseException(ResultCode.FAILED_CODE, Sets.newSet("调用微信用户基本信息接口失败"));
} }
log.info("微信用户基本信息---user===" +userinfo_json.toJSONString()); log.info("微信用户基本信息---user===" +userinfo_json.toJSONString());*/
ActivityBm activityBm=activityBmBiz.userInfo(key); ActivityBm activityBm=activityBmBiz.userInfo(key);
if (activityBm==null){ if (activityBm==null){
log.info("redis的报名信息为空"); log.info("redis的报名信息为空");
...@@ -132,9 +136,9 @@ public class UserBiz extends BaseBiz<UserMapper, User> { ...@@ -132,9 +136,9 @@ public class UserBiz extends BaseBiz<UserMapper, User> {
throw new BaseException(ResultCode.FAILED_CODE, Sets.newSet("redis的报名信息activityId---为空")); throw new BaseException(ResultCode.FAILED_CODE, Sets.newSet("redis的报名信息activityId---为空"));
} }
User userInfo=new User(); User userInfo=new User();
String nickName = userinfo_json.getString("nickname"); String nickName = "何振";//userinfo_json.getString("nickname");
String headimgurl = userinfo_json.getString("headimgurl"); String headimgurl = "http://thirdwx.qlogo.cn/mmopen/vi_32/X2WxAZeZlhME5RtHKA3iadPA1yGq084s59Sl0Dzana0QInaceROnto82zyNBGdQaiaQZCdBaHsjtdM0Zkob4PXMA/132";//userinfo_json.getString("headimgurl");
String sex = userinfo_json.getString("sex"); String sex =null; //userinfo_json.getString("sex");
if (StringUtils.isBlank(sex)){ if (StringUtils.isBlank(sex)){
sex="0"; sex="0";
} }
...@@ -166,10 +170,8 @@ public class UserBiz extends BaseBiz<UserMapper, User> { ...@@ -166,10 +170,8 @@ public class UserBiz extends BaseBiz<UserMapper, User> {
if (StringUtils.isBlank(frontSessionValue1)) { if (StringUtils.isBlank(frontSessionValue1)) {
return null; return null;
} }
JSONObject jsonObject=JSONObject.parseObject(frontSessionValue1); frontSessionValue1 =new String(Base64.decode(frontSessionValue1), "utf-8");
User user=new User(); return JSON.parseObject(frontSessionValue1,User.class);
BeanUtils.copyProperties(jsonObject,user);
return user;
}catch (Exception e){ }catch (Exception e){
e.printStackTrace(); e.printStackTrace();
return null; return null;
......
...@@ -7,6 +7,7 @@ import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; ...@@ -7,6 +7,7 @@ import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.process.ResultCode; import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.summit.biz.ActivityBmBiz; import com.xxfc.platform.summit.biz.ActivityBmBiz;
import com.xxfc.platform.summit.biz.UserBiz; import com.xxfc.platform.summit.biz.UserBiz;
import com.xxfc.platform.summit.constant.RedisKey;
import com.xxfc.platform.summit.entity.ActivityBm; import com.xxfc.platform.summit.entity.ActivityBm;
import com.xxfc.platform.summit.entity.User; import com.xxfc.platform.summit.entity.User;
import com.xxfc.platform.summit.service.WXjsService; import com.xxfc.platform.summit.service.WXjsService;
...@@ -82,10 +83,12 @@ public class WeixinController { ...@@ -82,10 +83,12 @@ public class WeixinController {
log.info("-----微信回调userInfo---code=="+code+"----redirec_url==="+callback); log.info("-----微信回调userInfo---code=="+code+"----redirec_url==="+callback);
try { try {
String [] params=callback.split(","); String [] params=callback.split(",");
String key=params[1]; String key= RedisKey.CONSTANT_CODE_PREFIX+params[1];
callback=params[0]; callback=params[0];
log.info("-----微信回调userInfo---key=="+key+"----callback==="+callback);
userBiz.authUser(code,key,request); userBiz.authUser(code,key,request);
callback =new String(Base64.decode(callback), "utf-8"); //callback =new String(Base64.decode(callback), "utf-8");
callback+="&key="+key;
log.info("callback===" + callback); log.info("callback===" + callback);
return String.format("redirect:"+callback); return String.format("redirect:"+callback);
}catch (Exception e){ }catch (Exception e){
......
...@@ -4,7 +4,6 @@ package com.xxfc.platform.summit.interceptor; ...@@ -4,7 +4,6 @@ package com.xxfc.platform.summit.interceptor;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.github.wxiaoqi.security.common.util.UserAgentUtil; import com.github.wxiaoqi.security.common.util.UserAgentUtil;
import com.xxfc.platform.summit.biz.UserBiz; import com.xxfc.platform.summit.biz.UserBiz;
import com.xxfc.platform.summit.constant.RedisKey; import com.xxfc.platform.summit.constant.RedisKey;
...@@ -13,6 +12,7 @@ import com.xxfc.platform.summit.service.WeixinService; ...@@ -13,6 +12,7 @@ import com.xxfc.platform.summit.service.WeixinService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;; import org.apache.commons.lang3.StringUtils;;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
...@@ -41,6 +41,9 @@ public class WeChatH5LoginInterceptor extends HandlerInterceptorAdapter { ...@@ -41,6 +41,9 @@ public class WeChatH5LoginInterceptor extends HandlerInterceptorAdapter {
@Autowired @Autowired
private RedisTemplate summbitRedisTemplate; private RedisTemplate summbitRedisTemplate;
@Value("${wx.authUrl}")
private String authUrl;
@Override @Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
...@@ -64,7 +67,7 @@ public class WeChatH5LoginInterceptor extends HandlerInterceptorAdapter { ...@@ -64,7 +67,7 @@ public class WeChatH5LoginInterceptor extends HandlerInterceptorAdapter {
if (StringUtils.isNotBlank(redisKey)){ if (StringUtils.isNotBlank(redisKey)){
json.put("key",redisKey); json.put("key",redisKey);
} }
json.put("url","https://dev.dfangche.com/api/summit/auth/app/unauth/wxLogin"); json.put("url",authUrl);
result.put("data",json); result.put("data",json);
result.put("status",1001); result.put("status",1001);
response.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8");
......
...@@ -92,7 +92,9 @@ public class JsTicketService { ...@@ -92,7 +92,9 @@ public class JsTicketService {
jsTicket = new JsTicket(json); jsTicket = new JsTicket(json);
/*Element element = new Element(SystemConfig.WINXIN_AppID, jsTicket); /*Element element = new Element(SystemConfig.WINXIN_AppID, jsTicket);
ehcache.put(element);*/ ehcache.put(element);*/
log.info("----jsTicket===="+jsTicket);
JSONObject obj = new JSONObject(); JSONObject obj = new JSONObject();
obj.put(key, jsTicket);
summbitRedisTemplate.delete(key); summbitRedisTemplate.delete(key);
Boolean suc=summbitRedisTemplate.opsForValue().setIfAbsent(key, obj.toJSONString()); Boolean suc=summbitRedisTemplate.opsForValue().setIfAbsent(key, obj.toJSONString());
if (suc) { if (suc) {
...@@ -101,7 +103,7 @@ public class JsTicketService { ...@@ -101,7 +103,7 @@ public class JsTicketService {
} }
}else{ }else{
String json = HttpRequestUtil.httpGet(apiUrl+"access_token="+ tokenService.getAccessTokenStr()+"&type="+jsApiType.name()); String json = HttpRequestUtil.httpGet(apiUrl+"access_token="+ tokenService.getAccessTokenStr()+"&type="+jsApiType.name());
log.info("---json===="+json); log.info("---json===="+json);
jsTicket = new JsTicket(json); jsTicket = new JsTicket(json);
/*Element element = new Element(SystemConfig.WINXIN_AppID, jsTicket); /*Element element = new Element(SystemConfig.WINXIN_AppID, jsTicket);
ehcache.put(element);*/ ehcache.put(element);*/
...@@ -117,4 +119,5 @@ public class JsTicketService { ...@@ -117,4 +119,5 @@ public class JsTicketService {
} }
} }
\ No newline at end of file
...@@ -98,4 +98,9 @@ public class RedisKey { ...@@ -98,4 +98,9 @@ public class RedisKey {
public static final String CACHE_DICTIONARY_ALL =CACHE_DICTIONARY_PREFIX + "all:"; public static final String CACHE_DICTIONARY_ALL =CACHE_DICTIONARY_PREFIX + "all:";
public static final String CACHE_DICTIONARY_ALL_MAP =CACHE_DICTIONARY_ALL + "map:"; public static final String CACHE_DICTIONARY_ALL_MAP =CACHE_DICTIONARY_ALL + "map:";
public static final String ILLEGAL_VEHICLE_ENQUIRIES ="cache:violation"; public static final String ILLEGAL_VEHICLE_ENQUIRIES ="cache:violation";
/**
* 服务器上传压缩包文件序号
*/
public static final String UPLOAD_ZIP_NO_PREFIX ="upload:zip:no:";
} }
...@@ -183,9 +183,9 @@ public class UploadController{ ...@@ -183,9 +183,9 @@ public class UploadController{
@PostMapping(value="/app/unauth/pictureZip") @PostMapping(value="/app/unauth/pictureZip")
public ObjectRestResponse pictureZip( public ObjectRestResponse pictureZip(
@RequestBody MultipartFile file, @RequestParam("file")MultipartFile file,
@RequestBody String password) throws Exception { @RequestParam(value = "prefix",defaultValue = "summit")String prefix) throws Exception {
return uploadZipService.uploadPictureZip(file,password); return uploadZipService.uploadPictureZip(file,prefix);
} }
} }
...@@ -7,5 +7,5 @@ import org.springframework.web.multipart.MultipartFile; ...@@ -7,5 +7,5 @@ import org.springframework.web.multipart.MultipartFile;
import java.io.IOException; import java.io.IOException;
public interface UploadZipService { public interface UploadZipService {
ObjectRestResponse uploadPictureZip(MultipartFile file, String password) throws IOException; ObjectRestResponse uploadPictureZip(MultipartFile file, String prefix) throws IOException;
} }
package com.xxfc.platform.universal.service.impl; package com.xxfc.platform.universal.service.impl;
import com.alibaba.druid.sql.visitor.functions.If;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.process.ResultCode; import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.github.wxiaoqi.security.common.util.process.SystemConfig;
import com.xxfc.platform.universal.constant.RedisKey;
import com.xxfc.platform.universal.constant.enumerate.FileTypeEnum; import com.xxfc.platform.universal.constant.enumerate.FileTypeEnum;
import com.xxfc.platform.universal.service.UploadZipService; import com.xxfc.platform.universal.service.UploadZipService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.FileUtils;
import org.codehaus.plexus.util.IOUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.io.*; import java.io.*;
import java.nio.charset.Charset;
import java.util.Enumeration; import java.util.Enumeration;
import java.util.Objects; import java.util.Objects;
import java.util.concurrent.TimeUnit;
import java.util.zip.ZipEntry; import java.util.zip.ZipEntry;
import java.util.zip.ZipFile; import java.util.zip.ZipFile;
...@@ -22,60 +29,74 @@ public class UploadZipServiceImpl implements UploadZipService { ...@@ -22,60 +29,74 @@ public class UploadZipServiceImpl implements UploadZipService {
@Value("${universal.uploadPath}") @Value("${universal.uploadPath}")
private String uploadPath ; private String uploadPath ;
@Value("${universal.url}") @Value("${universal.url}")
private String xx_url ; private String xx_url ;
@Value("${photo.format}")
private static final String APK_SUFFIX=".apk"; private String PHOTO_FORMAT=".png/.jpg/.git/.bmp";
private static final String APK_NAME="xxfc.apk"; @Autowired
private static final String JPG=".jpg"; RedisTemplate redisTemplate;
private static final String PNG=".png";
@Override @Override
public ObjectRestResponse uploadPictureZip(MultipartFile file, String password) throws IOException { public ObjectRestResponse uploadPictureZip(MultipartFile uFile, String prefix) throws IOException {
if (Objects.isNull(file)) { if (Objects.isNull(uFile)) {
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE,"请上传压缩文件!"); return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE,"请上传压缩文件!");
} }
String fileContentType = uFile.getContentType();
String fileContentType = file.getContentType();
//将压缩包保存在指定路径 //将压缩包保存在指定路径
String packFilePath = uploadPath + File.separator + file.getName(); String packFilePath = uploadPath + File.separator + uFile.getName();
if (FileTypeEnum.FILE_TYPE_ZIP.type.equals(fileContentType)||FileTypeEnum.FILE_TYPE_X_ZIP.type.equals(fileContentType)) { if (FileTypeEnum.FILE_TYPE_ZIP.type.equals(fileContentType)||FileTypeEnum.FILE_TYPE_X_ZIP.type.equals(fileContentType)) {
//zip解压缩处理 //zip解压缩处理
packFilePath += FileTypeEnum.FILE_TYPE_ZIP.fileStufix; packFilePath += FileTypeEnum.FILE_TYPE_ZIP.fileStufix;
} else { } else {
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE,"上传的压缩包格式不正确,仅支持zip压缩文件!"); return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE,"上传的压缩包格式不正确,仅支持zip压缩文件!");
} }
File fi = new File(packFilePath); File file = new File(packFilePath);
try { try {
file.transferTo(fi); //保存压缩包
FileOutputStream os = new FileOutputStream(file);
IOUtil.copy(uFile.getInputStream(),os);
os.close();
} catch (IOException e) { } catch (IOException e) {
log.error("zip file save to " + uploadPath + " error", e.getMessage(), e); log.error("zip file save to " + uploadPath + " error", e.getMessage(), e);
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE,"保存压缩文件到:" + uploadPath + " 失败!"); return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE,"保存压缩文件到:" + uploadPath + " 失败!");
} }
//zip压缩包 //zip压缩包解压
return unPackZip(fi, password, uploadPath); return unPackZip(file, prefix);
} }
public ObjectRestResponse unPackZip(File file, String password, String destPath) throws IOException { public ObjectRestResponse<String> unPackZip(File file, String prefix) throws IOException {
ZipFile zipFile = new ZipFile(file); ZipFile zipFile = new ZipFile(file, Charset.forName("GBK"));
Enumeration<? extends ZipEntry> entries = zipFile.entries(); Enumeration<? extends ZipEntry> entries = zipFile.entries();
long millis = System.currentTimeMillis();
String dirPathToday = prefix+ File.separator + millis;
String redisNoKey = RedisKey.UPLOAD_FILE_NO_PREFIX +millis;
StringBuffer result = new StringBuffer();
Integer index = 0;
while (entries.hasMoreElements()) { while (entries.hasMoreElements()) {
ZipEntry entry = entries.nextElement(); ZipEntry entry = entries.nextElement();
if (entry.isDirectory()) { if (entry.isDirectory() && index++ == 0) {
destPath =destPath+File.separator+ entry.getName(); File dir = new File(uploadPath+dirPathToday);
File dir = new File(destPath);
dir.mkdir(); dir.mkdir();
}else { } else if (!entry.isDirectory()) {
File targetFile = new File(destPath+File.separator+entry.getName());
if (targetFile.getParentFile().exists()){
}
}
Long no = redisTemplate.opsForValue().increment(redisNoKey);
if(no.equals(1l)){
redisTemplate.expire(redisNoKey,1, TimeUnit.DAYS);
}
String name = entry.getName();
String format = name.substring(name.lastIndexOf("."));
if (PHOTO_FORMAT.contains(format)) {
String realFileRelPath = dirPathToday + File.separator + no +format;
File targetFile = new File(uploadPath+realFileRelPath);
FileUtils.copyInputStreamToFile(zipFile.getInputStream(entry),targetFile);
realFileRelPath=xx_url+ SystemConfig.XXMP_URL+realFileRelPath;
result.append(realFileRelPath+",");
}
}
} }
return ObjectRestResponse.succ(result.substring(0, result.length()-1));
return null;
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment