Browse Source

Merge remote-tracking branch 'remotes/origin/dev_thirdplatform' into dev

master
jianjun 5 years ago
parent
commit
52ca934a7d
  1. 16
      epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/AddToTemplateFormDTO.java
  2. 16
      epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/DeleteTemplateFormDTO.java
  3. 34
      epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/result/TemplateDraftListResultDTO.java
  4. 39
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/CodeController.java
  5. 27
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/CodeService.java
  6. 71
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/CodeServiceImpl.java
  7. 15
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/constant/WxMaCodeConstant.java
  8. 18
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/param/WxAddToTemplateReq.java
  9. 18
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/param/WxDeleteTemplateReq.java
  10. 51
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/result/WxTemplateDraftListResult.java
  11. 29
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/service/WxMaCodeService.java
  12. 83
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/service/impl/WxMaCodeServiceImpl.java

16
epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/AddToTemplateFormDTO.java

@ -0,0 +1,16 @@
package com.epmet.dto.form;
import lombok.Data;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/10/28 9:55
*/
@Data
public class AddToTemplateFormDTO implements Serializable {
private static final long serialVersionUID = -7759275805971446460L;
private String draftId;
}

16
epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/DeleteTemplateFormDTO.java

@ -0,0 +1,16 @@
package com.epmet.dto.form;
import lombok.Data;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/10/28 9:57
*/
@Data
public class DeleteTemplateFormDTO implements Serializable {
private static final long serialVersionUID = -6516706760708801090L;
private String templateId;
}

34
epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/result/TemplateDraftListResultDTO.java

@ -0,0 +1,34 @@
package com.epmet.dto.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/10/28 9:52
*/
@NoArgsConstructor
@Data
public class TemplateDraftListResultDTO implements Serializable {
private static final long serialVersionUID = 8249448254837721428L;
/**
* 开发者上传草稿时间戳
*/
private String createTime;
/**
* 版本号开发者自定义字段
*/
private String userVersion;
/**
* 版本描述 开发者自定义字段
*/
private String userDesc;
/**
* 草稿 id
*/
private String draftId;
}

39
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/CodeController.java

@ -251,5 +251,44 @@ public class CodeController {
return new Result<>();
}
/**
* 获取代码草稿列表
* @author zhaoqifeng
* @date 2020/10/28 9:59
* @param
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.dto.result.TemplateDraftListResultDTO>>
*/
@PostMapping("gettemplatedraftlist")
public Result<List<TemplateDraftListResultDTO>> getTemplateDraftList() {
List<TemplateDraftListResultDTO> list = codeService.getTemplateDraftList();
return new Result<List<TemplateDraftListResultDTO>>().ok(list);
}
/**
* 将草稿添加到代码模板库
* @author zhaoqifeng
* @date 2020/10/28 10:00
* @param formDTO
* @return com.epmet.commons.tools.utils.Result
*/
@PostMapping("addtotemplate")
public Result addToTemplate(@RequestBody AddToTemplateFormDTO formDTO) {
codeService.addToTemplate(formDTO);
return new Result<>();
}
/**
* 删除指定代码模板
* @author zhaoqifeng
* @date 2020/10/28 10:03
* @param formDTO
* @return com.epmet.commons.tools.utils.Result
*/
@PostMapping("deletetemplate")
public Result deleteTemplate(@RequestBody DeleteTemplateFormDTO formDTO) {
codeService.deleteTemplate(formDTO);
return new Result<>();
}
}

27
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/CodeService.java

@ -217,4 +217,31 @@ public interface CodeService {
*/
void revertCodeRelease(CodeCommonFormDTO formDTO);
/**
* 获取代码草稿列表
* @author zhaoqifeng
* @date 2020/10/28 10:02
* @param
* @return java.util.List<com.epmet.dto.result.TemplateDraftListResultDTO>
*/
List<TemplateDraftListResultDTO> getTemplateDraftList();
/**
* 将草稿添加到代码模板库
* @author zhaoqifeng
* @date 2020/10/28 10:02
* @param formDTO
* @return void
*/
void addToTemplate(AddToTemplateFormDTO formDTO);
/**
* 删除指定代码模板
* @author zhaoqifeng
* @date 2020/10/28 10:03
* @param formDTO
* @return void
*/
void deleteTemplate(DeleteTemplateFormDTO formDTO);
}

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

@ -741,6 +741,77 @@ public class CodeServiceImpl implements CodeService {
codeCustomerService.deleteById(codeCustomerDTO.getId());
}
/**
* 获取代码草稿列表
*
* @return java.util.List<com.epmet.dto.result.TemplateDraftListResultDTO>
* @author zhaoqifeng
* @date 2020/10/28 10:02
*/
@Override
public List<TemplateDraftListResultDTO> getTemplateDraftList() {
List<TemplateDraftListResultDTO> resultList = new ArrayList<>();
//获取COMPONENT_ACCESS_TOKEN
String accessToken = componentAccessTokenDao.getComponentAccessToken();
//调用微信API获取模板列表
WxResult<WxTemplateDraftListResult> wxResult = wxMaCodeService.getTemplateDraftList(accessToken);
if (!wxResult.success()) {
throw new RenException(wxResult.getErrorCode(), wxResult.getErrorMsg());
}
if (null == wxResult.getData() || wxResult.getData().getDraftList().size() == NumConstant.ZERO) {
return resultList;
}
wxResult.getData().getDraftList().forEach(temp -> {
TemplateDraftListResultDTO dto = new TemplateDraftListResultDTO();
dto.setDraftId(temp.getDraftId());
dto.setUserVersion(temp.getUserVersion());
dto.setUserDesc(temp.getUserDesc());
dto.setCreateTime(DateUtils.formatTimestamp(temp.getCreateTime(), DateUtils.DATE_TIME_PATTERN));
resultList.add(dto);
});
return resultList;
}
/**
* 将草稿添加到代码模板库
*
* @param formDTO
* @return void
* @author zhaoqifeng
* @date 2020/10/28 10:02
*/
@Override
public void addToTemplate(AddToTemplateFormDTO formDTO) {
//获取COMPONENT_ACCESS_TOKEN
String accessToken = componentAccessTokenDao.getComponentAccessToken();
WxAddToTemplateReq request = new WxAddToTemplateReq();
request.setDraftId(formDTO.getDraftId());
WxResult result = wxMaCodeService.addToTemplate(accessToken, request);
if (!result.success()) {
throw new RenException(result.getErrorCode(), result.getErrorMsg());
}
}
/**
* 删除指定代码模板
*
* @param formDTO
* @return void
* @author zhaoqifeng
* @date 2020/10/28 10:03
*/
@Override
public void deleteTemplate(DeleteTemplateFormDTO formDTO) {
//获取COMPONENT_ACCESS_TOKEN
String accessToken = componentAccessTokenDao.getComponentAccessToken();
WxDeleteTemplateReq request = new WxDeleteTemplateReq();
request.setTemplateId(formDTO.getTemplateId());
WxResult result = wxMaCodeService.deleteTemplate(accessToken, request);
if (!result.success()) {
throw new RenException(result.getErrorCode(), result.getErrorMsg());
}
}
private void saveOperation(String customerId, String clientType, String codeId, String version, String operation, String describe) {
CodeOperationHistoryDTO operationDTO = new CodeOperationHistoryDTO();
operationDTO.setCustomerId(customerId);

15
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/constant/WxMaCodeConstant.java

@ -185,4 +185,19 @@ public interface WxMaCodeConstant {
* 加急审核申请
*/
String SPEED_UP_AUDIT_URL = "https://api.weixin.qq.com/wxa/speedupaudit";
/**
* 获取代码草稿列表
*/
String GET_TEMPLATE_DRAFT_LIST_URL = "https://api.weixin.qq.com/wxa/gettemplatedraftlist";
/**
* 将草稿添加到代码模板库
*/
String ADD_TO_TEMPLATE_URL = "https://api.weixin.qq.com/wxa/addtotemplate";
/**
* 获取代码草稿列表
*/
String DELETE_TEMPLATE_URL = "https://api.weixin.qq.com/wxa/deletetemplate";
}

18
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/param/WxAddToTemplateReq.java

@ -0,0 +1,18 @@
package com.epmet.wxapi.param;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/10/28 10:20
*/
@Data
public class WxAddToTemplateReq implements Serializable {
private static final long serialVersionUID = -4667328954236033227L;
@SerializedName("draft_id")
private String draftId;
}

18
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/param/WxDeleteTemplateReq.java

@ -0,0 +1,18 @@
package com.epmet.wxapi.param;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/10/28 10:21
*/
@Data
public class WxDeleteTemplateReq implements Serializable {
private static final long serialVersionUID = 3099244896895201612L;
@SerializedName("template_id")
private String templateId;
}

51
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/result/WxTemplateDraftListResult.java

@ -0,0 +1,51 @@
package com.epmet.wxapi.result;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/10/28 10:12
*/
@NoArgsConstructor
@Data
public class WxTemplateDraftListResult implements Serializable {
private static final long serialVersionUID = -7316579770340890368L;
/**
* 错误码
*/
private Integer errcode;
/**
* 错误信息
*/
private String errmsg;
@SerializedName("draft_list")
private List<DraftListBean> draftList;
public boolean success(){
return errcode == 0;
}
@NoArgsConstructor
@Data
public static class DraftListBean {
/**
* create_time
*/
@SerializedName("create_time")
private Long createTime;
@SerializedName("user_version")
private String userVersion;
@SerializedName("user_desc")
private String userDesc;
@SerializedName("draft_id")
private String draftId;
}
}

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

@ -202,4 +202,33 @@ public interface WxMaCodeService {
* @return com.epmet.wxapi.result.WxResult
*/
WxResult revertCodeRelease(String accessToken);
/**
* 获取代码草稿列表
* @author zhaoqifeng
* @date 2020/10/28 10:18
* @param accessToken
* @return com.epmet.wxapi.result.WxResult<com.epmet.wxapi.result.WxTemplateDraftListResult>
*/
WxResult<WxTemplateDraftListResult> getTemplateDraftList(String accessToken);
/**
* 将草稿添加到代码模板库
* @author zhaoqifeng
* @date 2020/10/28 10:23
* @param accessToken
* @param request
* @return com.epmet.wxapi.result.WxResult
*/
WxResult addToTemplate(String accessToken, WxAddToTemplateReq request);
/**
* 删除指定代码模板
* @author zhaoqifeng
* @date 2020/10/28 10:23
* @param accessToken
* @param request
* @return com.epmet.wxapi.result.WxResult
*/
WxResult deleteTemplate(String accessToken, WxDeleteTemplateReq request);
}

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

@ -387,6 +387,89 @@ public class WxMaCodeServiceImpl implements WxMaCodeService {
return result;
}
/**
* 获取代码草稿列表
*
* @param accessToken
* @return com.epmet.wxapi.result.WxResult<com.epmet.wxapi.result.WxTemplateDraftListResult>
* @author zhaoqifeng
* @date 2020/10/28 10:18
*/
@Override
public WxResult<WxTemplateDraftListResult> getTemplateDraftList(String accessToken) {
WxResult<WxTemplateDraftListResult> result = new WxResult<>();
String url = WxMaCodeConstant.GET_TEMPLATE_DRAFT_LIST_URL + "?" + "access_token=" + accessToken;
Result<String> templateListResult = HttpClientManager.getInstance().sendGet(url, null);
if (!templateListResult.success()) {
result.setErrorCode(templateListResult.getCode());
result.setErrorMsg(templateListResult.getMsg());
return result;
}
Gson gson = new Gson();
WxTemplateDraftListResult templateList = gson.fromJson(templateListResult.getData(), WxTemplateDraftListResult.class);
result.setErrorCode(templateList.getErrcode());
result.setErrorMsg(WxMaErrorMsgEnum.findMsgByCode(templateList.getErrcode()));
result.setData(templateList);
WxTemplateDraftListResult draftListResult = JSONObject.parseObject(templateListResult.getData(), WxTemplateDraftListResult.class);
if (!draftListResult.success()) {
result.setErrorCode(draftListResult.getErrcode());
result.setErrorMsg(WxMaErrorMsgEnum.findMsgByCode(draftListResult.getErrcode()));
return result;
}
result.ok(draftListResult);
return result;
}
/**
* 将草稿添加到代码模板库
*
* @param accessToken
* @param request
* @return com.epmet.wxapi.result.WxResult
* @author zhaoqifeng
* @date 2020/10/28 10:23
*/
@Override
public WxResult addToTemplate(String accessToken, WxAddToTemplateReq request) {
WxResult result = new WxResult();
String url = WxMaCodeConstant.ADD_TO_TEMPLATE_URL + "?" + "access_token=" + accessToken;
Result<String> submitResult = HttpClientManager.getInstance().sendPostByJSON(url, toJson(request));
if (!submitResult.success()) {
result.setErrorCode(submitResult.getCode());
result.setErrorMsg(submitResult.getMsg());
return result;
}
JSONObject jsonObject = JSONObject.parseObject(submitResult.getData());
result.setErrorCode(jsonObject.getInteger(ERR_CODE));
result.setErrorMsg(WxMaErrorMsgEnum.findMsgByCode(jsonObject.getInteger(ERR_CODE)));
return result;
}
/**
* 删除指定代码模板
*
* @param accessToken
* @param request
* @return com.epmet.wxapi.result.WxResult
* @author zhaoqifeng
* @date 2020/10/28 10:23
*/
@Override
public WxResult deleteTemplate(String accessToken, WxDeleteTemplateReq request) {
WxResult result = new WxResult();
String url = WxMaCodeConstant.DELETE_TEMPLATE_URL + "?" + "access_token=" + accessToken;
Result<String> submitResult = HttpClientManager.getInstance().sendPostByJSON(url, toJson(request));
if (!submitResult.success()) {
result.setErrorCode(submitResult.getCode());
result.setErrorMsg(submitResult.getMsg());
return result;
}
JSONObject jsonObject = JSONObject.parseObject(submitResult.getData());
result.setErrorCode(jsonObject.getInteger(ERR_CODE));
result.setErrorMsg(WxMaErrorMsgEnum.findMsgByCode(jsonObject.getInteger(ERR_CODE)));
return result;
}
private String toJson(Object object) {
GsonBuilder gsonBuilder = new GsonBuilder();
gsonBuilder.setPrettyPrinting();

Loading…
Cancel
Save