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