Commit fa60bcc6 by yao.xiao

增加-微信文件上传

parent 13522d43
...@@ -3,6 +3,8 @@ package com.yd.api.practitioner; ...@@ -3,6 +3,8 @@ package com.yd.api.practitioner;
import com.yd.api.practitioner.service.PractitionerService; import com.yd.api.practitioner.service.PractitionerService;
import com.yd.api.practitioner.vo.login.PractitionerLoginRequestVO; import com.yd.api.practitioner.vo.login.PractitionerLoginRequestVO;
import com.yd.api.practitioner.vo.login.PractitionerLoginResponseVO; import com.yd.api.practitioner.vo.login.PractitionerLoginResponseVO;
import com.yd.api.practitioner.vo.media.MediaGetReqVO;
import com.yd.api.practitioner.vo.media.MediaGetRespVO;
import com.yd.api.practitioner.vo.rank.PractitionerRankRequestVO; import com.yd.api.practitioner.vo.rank.PractitionerRankRequestVO;
import com.yd.api.practitioner.vo.rank.PractitionerRankResponseVO; import com.yd.api.practitioner.vo.rank.PractitionerRankResponseVO;
import com.yd.api.practitioner.vo.setting.*; import com.yd.api.practitioner.vo.setting.*;
...@@ -89,4 +91,12 @@ public class PractitionerController { ...@@ -89,4 +91,12 @@ public class PractitionerController {
return result; return result;
} }
@RequestMapping("/mediaGet")
public Object mediaGet(@RequestBody MediaGetReqVO requestVO) throws Exception{
JsonResult result = new JsonResult();
MediaGetRespVO responseVO = practitionerService.mediaGet(requestVO);
result.addResult(responseVO);
result.setData(responseVO);
return result;
}
} }
...@@ -2,6 +2,8 @@ package com.yd.api.practitioner.service; ...@@ -2,6 +2,8 @@ package com.yd.api.practitioner.service;
import com.yd.api.practitioner.vo.login.PractitionerLoginRequestVO; import com.yd.api.practitioner.vo.login.PractitionerLoginRequestVO;
import com.yd.api.practitioner.vo.login.PractitionerLoginResponseVO; import com.yd.api.practitioner.vo.login.PractitionerLoginResponseVO;
import com.yd.api.practitioner.vo.media.MediaGetReqVO;
import com.yd.api.practitioner.vo.media.MediaGetRespVO;
import com.yd.api.practitioner.vo.rank.PractitionerRankRequestVO; import com.yd.api.practitioner.vo.rank.PractitionerRankRequestVO;
import com.yd.api.practitioner.vo.rank.PractitionerRankResponseVO; import com.yd.api.practitioner.vo.rank.PractitionerRankResponseVO;
import com.yd.api.practitioner.vo.setting.*; import com.yd.api.practitioner.vo.setting.*;
...@@ -44,4 +46,11 @@ public interface PractitionerService { ...@@ -44,4 +46,11 @@ public interface PractitionerService {
* @return * @return
*/ */
SettingSaveResponseVO settingSave(SettingSaveRequestVO requestVO) throws Exception; SettingSaveResponseVO settingSave(SettingSaveRequestVO requestVO) throws Exception;
/**
* 微信上传图片
* @param requestVO
* @return
*/
MediaGetRespVO mediaGet(MediaGetReqVO requestVO);
} }
...@@ -2,6 +2,8 @@ package com.yd.api.practitioner.service.impl; ...@@ -2,6 +2,8 @@ package com.yd.api.practitioner.service.impl;
import com.yd.api.practitioner.vo.login.PractitionerLoginRequestVO; import com.yd.api.practitioner.vo.login.PractitionerLoginRequestVO;
import com.yd.api.practitioner.vo.login.PractitionerLoginResponseVO; import com.yd.api.practitioner.vo.login.PractitionerLoginResponseVO;
import com.yd.api.practitioner.vo.media.MediaGetReqVO;
import com.yd.api.practitioner.vo.media.MediaGetRespVO;
import com.yd.api.practitioner.vo.rank.AclCustomerFortuneStatistics; import com.yd.api.practitioner.vo.rank.AclCustomerFortuneStatistics;
import com.yd.api.practitioner.vo.rank.PractitionerRankRequestVO; import com.yd.api.practitioner.vo.rank.PractitionerRankRequestVO;
import com.yd.api.practitioner.vo.rank.PractitionerRankResponseVO; import com.yd.api.practitioner.vo.rank.PractitionerRankResponseVO;
...@@ -21,6 +23,9 @@ import com.yd.dal.service.practitioner.PractitionerSubordinateDALService; ...@@ -21,6 +23,9 @@ import com.yd.dal.service.practitioner.PractitionerSubordinateDALService;
import com.yd.dal.service.tencent.TenInterfRecordDALService; import com.yd.dal.service.tencent.TenInterfRecordDALService;
import com.yd.dal.service.transaction.TranLogDALService; import com.yd.dal.service.transaction.TranLogDALService;
import com.yd.rmi.ali.oss.service.OssService; import com.yd.rmi.ali.oss.service.OssService;
import com.yd.rmi.tencent.wechat.service.WechatService;
import com.yd.rmi.tencent.wechatinterf.pojo.ticket.TicketRequest;
import com.yd.rmi.tencent.wechatinterf.pojo.token.TokenRequest;
import com.yd.util.CommonUtil; import com.yd.util.CommonUtil;
import com.yd.util.HttpUtil; import com.yd.util.HttpUtil;
import com.yd.util.config.ZHBErrorConfig; import com.yd.util.config.ZHBErrorConfig;
...@@ -33,12 +38,15 @@ import com.google.common.base.Strings; ...@@ -33,12 +38,15 @@ import com.google.common.base.Strings;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.imageio.ImageIO; import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.List;
@Service("practitionerService") @Service("practitionerService")
public class PractitionerServiceImpl implements com.yd.api.practitioner.service.PractitionerService { public class PractitionerServiceImpl implements com.yd.api.practitioner.service.PractitionerService {
...@@ -55,6 +63,8 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service. ...@@ -55,6 +63,8 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
private AclCustomerLogDALService aclCustomerLogDALService; private AclCustomerLogDALService aclCustomerLogDALService;
@Autowired @Autowired
private OssService ossService; private OssService ossService;
@Autowired
private WechatService wechatService;
@Override @Override
public PractitionerLoginResponseVO practitionerLogin(PractitionerLoginRequestVO requestVO) { public PractitionerLoginResponseVO practitionerLogin(PractitionerLoginRequestVO requestVO) {
...@@ -330,6 +340,61 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service. ...@@ -330,6 +340,61 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
return responseVO; return responseVO;
} }
@Override
public MediaGetRespVO mediaGet(MediaGetReqVO requestVO) {
MediaGetRespVO mediaGetRespVO=new MediaGetRespVO();
boolean success=true;
String message=ZHBErrorConfig.getErrorInfo("800000");
String mediaId = requestVO.getMediaId();
String accessToken = wechatService.obtainToken(new TokenRequest());
System.out.println("accessToken:"+accessToken);
TicketRequest ticketRequest = new TicketRequest();
ticketRequest.setAccessToken(accessToken);
String jsapiTicket = wechatService.obtainTicket(ticketRequest);
System.out.println("jsapiTicket:"+jsapiTicket);
String ImgUrl= "https://api.weixin.qq.com/cgi-bin/media/get?access_token="+accessToken+"&media_id="+mediaId;
String scale = requestVO.getScale();
//判断上传尺寸是否符合要求
if(!CommonUtil.isNullOrBlank(scale)){
Map<String,Object> input = HttpUtil.getInput(ImgUrl);
if (!(boolean)input.get("success")){
mediaGetRespVO.setCommonResult(new CommonResult(false, (String)input.get("message")));
return mediaGetRespVO;
}
InputStream inputStream = (InputStream) input.get("is");
//判断图像尺寸
Image img = null;
try {
img = ImageIO.read(inputStream);
} catch (IOException e) {
e.printStackTrace();
}
if (img == null || img.getWidth(null) <= 0 || img.getHeight(null) <= 0) {
mediaGetRespVO.setCommonResult(new CommonResult(false, ZHBErrorConfig.getErrorInfo("830014")));
return mediaGetRespVO;
}else {
double width = img.getWidth(null);
double height = img.getHeight(null);
double value =height/width;
Double scaleDouble = Double.valueOf(scale);
if (value !=scaleDouble) {
if (scaleDouble == 1){
//上传头像尺寸比例为1:1
mediaGetRespVO.setCommonResult(new CommonResult(false, ZHBErrorConfig.getErrorInfo("830016")));
return mediaGetRespVO;
}else if(scaleDouble ==0.75) {
mediaGetRespVO.setCommonResult(new CommonResult(false, ZHBErrorConfig.getErrorInfo("830015")));
return mediaGetRespVO;
}
}
}
}
// System.out.println("ImgUrl:"+ImgUrl);
mediaGetRespVO.setImgUrl(ImgUrl);
mediaGetRespVO.setCommonResult(new CommonResult(success, message));
return mediaGetRespVO;
}
private CommonResult paramCheck(SettingSaveRequestVO requestVO) { private CommonResult paramCheck(SettingSaveRequestVO requestVO) {
//检查入参判断 //检查入参判断
Long practitionerId = requestVO.getPractitionerId(); Long practitionerId = requestVO.getPractitionerId();
......
package com.yd.api.practitioner.vo.media;
import lombok.Data;
@Data
public class MediaGetReqVO {
private String scale;
private String mediaId;
}
package com.yd.api.practitioner.vo.media;
import com.yd.api.result.CommonResult;
import lombok.Data;
@Data
public class MediaGetRespVO {
private CommonResult commonResult;
private String imgUrl;
}
package com.yd.rmi.ali.oss.service; package com.yd.rmi.ali.oss.service;
import com.yd.rmi.ali.oss.vo.OssRequestVO;
import com.yd.rmi.ali.oss.vo.OssResponseVO;
import java.io.InputStream; import java.io.InputStream;
public interface OssService { public interface OssService {
......
package com.yd.rmi.tencent.wechat.service.impl; package com.yd.rmi.tencent.wechat.service.impl;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.yd.api.result.CommonResult; import com.yd.api.result.CommonResult;
import com.yd.cache.SystemConfigService; import com.yd.cache.SystemConfigService;
import com.yd.dal.entity.customer.Customer;
import com.yd.dal.entity.tencent.TenInterfRecord; import com.yd.dal.entity.tencent.TenInterfRecord;
import com.yd.dal.entity.transaction.TranLog; import com.yd.dal.entity.transaction.TranLog;
import com.yd.dal.service.tencent.TenInterfRecordDALService; import com.yd.dal.service.tencent.TenInterfRecordDALService;
...@@ -22,10 +18,7 @@ import com.yd.rmi.tencent.wechatinterf.pojo.token.TokenResponse; ...@@ -22,10 +18,7 @@ import com.yd.rmi.tencent.wechatinterf.pojo.token.TokenResponse;
import com.yd.rmi.tencent.wechatinterf.pojo.unifiedorder.UnifiedorderRequest; import com.yd.rmi.tencent.wechatinterf.pojo.unifiedorder.UnifiedorderRequest;
import com.yd.rmi.tencent.wechatinterf.pojo.unifiedorder.UnifiedorderResponse; import com.yd.rmi.tencent.wechatinterf.pojo.unifiedorder.UnifiedorderResponse;
import com.yd.rmi.tencent.wechatinterf.service.WechatInterfService; import com.yd.rmi.tencent.wechatinterf.service.WechatInterfService;
import com.yd.util.CommonUtil; import com.yd.util.*;
import com.yd.util.EncryptUtil;
import com.yd.util.JsonUtil;
import com.yd.util.XmlUtil;
import com.yd.util.config.ZHBErrorConfig; import com.yd.util.config.ZHBErrorConfig;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -50,10 +43,6 @@ public class WechatServiceImpl implements WechatService { ...@@ -50,10 +43,6 @@ public class WechatServiceImpl implements WechatService {
private WechatInterfService wechatInterfService; private WechatInterfService wechatInterfService;
@Autowired @Autowired
private SystemConfigService systemConfigService; private SystemConfigService systemConfigService;
// @Autowired
// private PoOrderService poOrderService;
// @Autowired
// private ProductPlanService productPlanService;
@Autowired @Autowired
private TranLogDALService tranLogDALService; private TranLogDALService tranLogDALService;
...@@ -64,6 +53,10 @@ public class WechatServiceImpl implements WechatService { ...@@ -64,6 +53,10 @@ public class WechatServiceImpl implements WechatService {
String pGrantType = tokenRequest.getGrant_type() == null || "".equals(tokenRequest.getGrant_type()) ? systemConfigService.getSingleConfigValue("TENCENT_WECHAT_TOKEN_GRANT_TYPE") : tokenRequest.getGrant_type(); String pGrantType = tokenRequest.getGrant_type() == null || "".equals(tokenRequest.getGrant_type()) ? systemConfigService.getSingleConfigValue("TENCENT_WECHAT_TOKEN_GRANT_TYPE") : tokenRequest.getGrant_type();
String pAppid = tokenRequest.getAppid() == null || "".equals(tokenRequest.getAppid()) ? systemConfigService.getSingleConfigValue("TENCENT_WECHAT_APPID"):tokenRequest.getAppid(); String pAppid = tokenRequest.getAppid() == null || "".equals(tokenRequest.getAppid()) ? systemConfigService.getSingleConfigValue("TENCENT_WECHAT_APPID"):tokenRequest.getAppid();
String pSecret = tokenRequest.getSecret() == null || "".equals(tokenRequest.getSecret()) ? systemConfigService.getSingleConfigValue("TENCENT_WECHAT_APP_SECRET") : tokenRequest.getSecret(); String pSecret = tokenRequest.getSecret() == null || "".equals(tokenRequest.getSecret()) ? systemConfigService.getSingleConfigValue("TENCENT_WECHAT_APP_SECRET") : tokenRequest.getSecret();
if(SpringContextUtil.isProd()){
pAppid =systemConfigService.getSingleConfigValue("YD-TENCENT_WECHAT_APPID");
pSecret =systemConfigService.getSingleConfigValue("YD-TENCENT_WECHAT_APP_SECRET");
}
TenInterfRecord tencentInterfRecord = new TenInterfRecord(); TenInterfRecord tencentInterfRecord = new TenInterfRecord();
tencentInterfRecord.setInterfType("TOKEN"); tencentInterfRecord.setInterfType("TOKEN");
tencentInterfRecord.setGrantType(pGrantType); tencentInterfRecord.setGrantType(pGrantType);
...@@ -89,7 +82,14 @@ public class WechatServiceImpl implements WechatService { ...@@ -89,7 +82,14 @@ public class WechatServiceImpl implements WechatService {
needReload = true; needReload = true;
} }
if(needReload){ if(needReload){
TokenResponse tokenResponse = wechatInterfService.token(tokenRequest); String url = "https://api.weixin.qq.com/cgi-bin/token?"
+"grant_type="+pGrantType
+"&appid="+pAppid
+"&secret="+pSecret;
tranLogDALService.logDB("wechat", "accessToken", "in", tokenRequest.getAppid(), url, null, null);
String responseStr = wechatInterfService.transaction(url,null,null);
tranLogDALService.logDB("wechat", "accessToken", "out", tokenRequest.getAppid(), responseStr, null, null);
TokenResponse tokenResponse = (TokenResponse)JsonUtil.jsonToObj(responseStr,TokenResponse.class);
accessToken = tokenResponse.getAccess_token(); accessToken = tokenResponse.getAccess_token();
Long expiresIn = null; Long expiresIn = 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