Browse Source

第三方代码上传

master
zhaoqifeng 5 years ago
parent
commit
e49e70544a
  1. 3
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/constant/CodeConstant.java
  2. 15
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/CodeServiceImpl.java
  3. 2
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/service/WxMaCodeService.java
  4. 22
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/service/impl/WxMaCodeServiceImpl.java

3
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/constant/CodeConstant.java

@ -49,6 +49,9 @@ public interface CodeConstant {
String OPER_UPLOAD = "上传代码"; String OPER_UPLOAD = "上传代码";
String OPER_SUBMIT = "提交审核"; String OPER_SUBMIT = "提交审核";
String OPER_SUCCESS = "审核成功";
String OPER_FAILED = "审核被拒绝";
String OPER_DELAY = "审核延后";
String OPER_UNDO = "审核撤回"; String OPER_UNDO = "审核撤回";
String OPER_RELEASE = "发布"; String OPER_RELEASE = "发布";
} }

15
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/CodeServiceImpl.java

@ -178,18 +178,18 @@ public class CodeServiceImpl implements CodeService {
if (result.getStatus() == NumConstant.ZERO) { if (result.getStatus() == NumConstant.ZERO) {
code.setStatus(CodeConstant.AUDIT_SUCCESS); code.setStatus(CodeConstant.AUDIT_SUCCESS);
auditResult.setResult(CodeConstant.AUDIT_SUCCESS); auditResult.setResult(CodeConstant.AUDIT_SUCCESS);
codeOperationHistoryService.updateDescribe(code.getId(), "审核成功"); saveOperation(formDTO.getCustomerId(), code.getId(), code.getUserVersion(), CodeConstant.OPER_SUCCESS, "审核成功");
} else if (result.getStatus() == NumConstant.ONE) { } else if (result.getStatus() == NumConstant.ONE) {
code.setStatus(CodeConstant.AUDIT_FAILED); code.setStatus(CodeConstant.AUDIT_FAILED);
auditResult.setResult(CodeConstant.AUDIT_FAILED); auditResult.setResult(CodeConstant.AUDIT_FAILED);
auditResult.setReason(result.getReason()); auditResult.setReason(result.getReason());
auditResult.setScreenShot(result.getScreenshot()); auditResult.setScreenShot(result.getScreenshot());
codeOperationHistoryService.updateDescribe(code.getId(), result.getReason()); saveOperation(formDTO.getCustomerId(), code.getId(), code.getUserVersion(), CodeConstant.OPER_FAILED, result.getReason());
} else if (result.getStatus() == NumConstant.FOUR) { } else if (result.getStatus() == NumConstant.FOUR) {
code.setStatus(CodeConstant.DELAY); code.setStatus(CodeConstant.DELAY);
auditResult.setResult(CodeConstant.DELAY); auditResult.setResult(CodeConstant.DELAY);
auditResult.setReason(result.getReason()); auditResult.setReason(result.getReason());
codeOperationHistoryService.updateDescribe(code.getId(), "审核延后"); saveOperation(formDTO.getCustomerId(), code.getId(), code.getUserVersion(), CodeConstant.OPER_DELAY, result.getReason());
} }
codeCustomerService.update(code); codeCustomerService.update(code);
codeAuditResultService.update(auditResult); codeAuditResultService.update(auditResult);
@ -238,6 +238,7 @@ public class CodeServiceImpl implements CodeService {
codeAuditResultDTO.setResult(CodeConstant.AUDITING); codeAuditResultDTO.setResult(CodeConstant.AUDITING);
codeAuditResultService.save(codeAuditResultDTO); codeAuditResultService.save(codeAuditResultDTO);
} else { } else {
codeAuditResultDTO.setAuditId(wxResult.getData());
codeAuditResultDTO.setResult(CodeConstant.AUDITING); codeAuditResultDTO.setResult(CodeConstant.AUDITING);
codeAuditResultService.update(codeAuditResultDTO); codeAuditResultService.update(codeAuditResultDTO);
} }
@ -349,10 +350,10 @@ public class CodeServiceImpl implements CodeService {
request.setAuditId(codeAuditResultDTO.getAuditId()); request.setAuditId(codeAuditResultDTO.getAuditId());
WxMaNewsReq wxMaNewsReq = new WxMaNewsReq(); WxMaNewsReq wxMaNewsReq = new WxMaNewsReq();
wxMaNewsReq.setMediaId(mediaId); wxMaNewsReq.setMediaId(mediaId);
WxResult<WxMaNewsResult> wxAuditResult = wxMaCodeService.getMaterial(authInfo.getAuthorizerAccessToken(), wxMaNewsReq); WxResult<byte[]> wxAuditResult = wxMaCodeService.getMaterial(authInfo.getAuthorizerAccessToken(), wxMaNewsReq);
wxAuditResult.getData().getNewsItem().forEach(news -> { MultipartFile file = new MockMultipartFile("file", "QRCode.jpg", "image/jpeg", wxAuditResult.getData());
urlList.add(news.getUrl()); Result<UploadImgResultDTO> uploadResult = ossFeignClient.uploadQrCode(file);
}); urlList.add(uploadResult.getData().getUrl());
}); });
result.setScreenshotUrl(urlList); result.setScreenshotUrl(urlList);
return result; return result;

2
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/service/WxMaCodeService.java

@ -110,7 +110,7 @@ public interface WxMaCodeService {
* @author zhaoqifeng * @author zhaoqifeng
* @date 2020/7/16 14:52 * @date 2020/7/16 14:52
*/ */
WxResult<WxMaNewsResult> getMaterial(String accessToken, WxMaNewsReq request); WxResult<byte[]> getMaterial(String accessToken, WxMaNewsReq request);
/** /**
* 设置服务器郁闷 * 设置服务器郁闷

22
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/service/impl/WxMaCodeServiceImpl.java

@ -10,6 +10,7 @@ import com.epmet.wxapi.result.*;
import com.epmet.wxapi.service.WxMaCodeService; import com.epmet.wxapi.service.WxMaCodeService;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
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.stereotype.Service; import org.springframework.stereotype.Service;
@ -19,7 +20,9 @@ import java.io.InputStream;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* 描述一下 * 描述一下
@ -198,19 +201,16 @@ public class WxMaCodeServiceImpl implements WxMaCodeService {
} }
@Override @Override
public WxResult<WxMaNewsResult> getMaterial(String accessToken, WxMaNewsReq request) { public WxResult<byte[]> getMaterial(String accessToken, WxMaNewsReq request) {
WxResult<WxMaNewsResult> result = new WxResult<>(); WxResult<byte[]> result = new WxResult<>();
String url = WxMaCodeConstant.GET_MATERIAL_URL + "?" + "access_token=" + accessToken; String url = WxMaCodeConstant.GET_MATERIAL_URL + "?" + "access_token=" + accessToken;
Result<String> statusResult = HttpClientManager.getInstance().sendPostByJSON(url, toJson(request)); Result<byte[]> statusResult = HttpClientManager.getInstance().getByteArray(url, toMap(request));
if (!statusResult.success()) { if (!statusResult.success()) {
result.setErrorCode(statusResult.getCode()); result.setErrorCode(statusResult.getCode());
result.setErrorMsg(statusResult.getMsg()); result.setErrorMsg(statusResult.getMsg());
return result; return result;
} }
Gson gson = new Gson(); result.ok(statusResult.getData());
InputStream inputStream = gson.fromJson(statusResult.getData(), InputStream.class);
WxMaNewsResult newsResult = gson.fromJson(statusResult.getData(), WxMaNewsResult.class);
result.ok(newsResult);
return result; return result;
} }
@ -279,4 +279,12 @@ public class WxMaCodeServiceImpl implements WxMaCodeService {
Gson gson = gsonBuilder.create(); Gson gson = gsonBuilder.create();
return gson.toJson(object); return gson.toJson(object);
} }
private Map<String, Object> toMap(Object object) {
Gson gson = new Gson();
if(object == null){
return Collections.emptyMap();
}
return gson.fromJson(toJson(object), new TypeToken<Map<String, Object>>() {}.getType());
}
} }
Loading…
Cancel
Save