Browse Source

第三方代码上传

dev_shibei_match
zhaoqifeng 5 years ago
parent
commit
fa02441b23
  1. 2
      epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/CodeOperationHistoryDTO.java
  2. 2
      epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/CodeCommonFormDTO.java
  3. 34
      epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/result/CodeHistoryResultDTO.java
  4. 22
      epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/result/QrCodeResultDTO.java
  5. 26
      epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/result/ReasonResultDTO.java
  6. 5
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/constant/CodeConstant.java
  7. 100
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/CodeController.java
  8. 32
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/CodeOperationHistoryController.java
  9. 20
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/CodeCustomerDao.java
  10. 21
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/CodeOperationHistoryDao.java
  11. 10
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/CustomerMpDao.java
  12. 4
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/entity/CodeOperationHistoryEntity.java
  13. 2
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/redis/CodeOperationHistoryRedis.java
  14. 19
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/CodeCustomerService.java
  15. 37
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/CodeOperationHistoryService.java
  16. 51
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/CodeService.java
  17. 10
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/CustomerMpService.java
  18. 10
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/CodeCustomerServiceImpl.java
  19. 55
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/CodeOperationHistoryServiceImpl.java
  20. 182
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/CodeServiceImpl.java
  21. 5
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/CustomerMpServiceImpl.java
  22. 5
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/constant/WxMaCodeConstant.java
  23. 20
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/param/WxMaNewsReq.java
  24. 60
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/result/WxMaNewsResult.java
  25. 15
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/service/WxMaCodeService.java
  26. 18
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/service/impl/WxMaCodeServiceImpl.java
  27. 12
      epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/CodeCustomerDao.xml
  28. 41
      epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/CodeOperationHistoryDao.xml
  29. 22
      epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/CustomerCodeOperationHistoryDao.xml
  30. 10
      epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/CustomerMpDao.xml

2
epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/CustomerCodeOperationHistoryDTO.java → epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/CodeOperationHistoryDTO.java

@ -29,7 +29,7 @@ import lombok.Data;
* @since v1.0.0 2020-07-09
*/
@Data
public class CustomerCodeOperationHistoryDTO implements Serializable {
public class CodeOperationHistoryDTO implements Serializable {
private static final long serialVersionUID = 1L;

2
epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/CodeCommonFormDTO.java

@ -20,4 +20,6 @@ public class CodeCommonFormDTO implements Serializable {
* 代码ID
*/
private String codeId;
private Integer page;
private Integer limit;
}

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

@ -0,0 +1,34 @@
package com.epmet.dto.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/7/16 9:53
*/
@NoArgsConstructor
@Data
public class CodeHistoryResultDTO implements Serializable {
private static final long serialVersionUID = 6030280825893585115L;
/**
* 操作时间
*/
private String operationTime;
/**
* 版本
*/
private String version;
/**
* 操作 上传upload审核audit撤回undo发布release
*/
private String operation;
/**
* 描述
*/
private String describe;
}

22
epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/result/QrCodeResultDTO.java

@ -0,0 +1,22 @@
package com.epmet.dto.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/7/16 9:46
*/
@NoArgsConstructor
@Data
public class QrCodeResultDTO implements Serializable {
private static final long serialVersionUID = -1145375851106140589L;
/**
* 二维码
*/
private Object qrcode;
}

26
epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/result/ReasonResultDTO.java

@ -0,0 +1,26 @@
package com.epmet.dto.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/7/16 9:28
*/
@NoArgsConstructor
@Data
public class ReasonResultDTO implements Serializable {
private static final long serialVersionUID = -1905907350492787127L;
/**
* 失败原因
*/
private String reason;
/**
* 失败的小程序截图url
*/
private List<String> screenshotUrl;
}

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

@ -46,4 +46,9 @@ public interface CodeConstant {
* 发布失败
*/
String RELEASE_FAILED = "release_failed";
String OPER_UPLOAD = "上传代码";
String OPER_SUBMIT = "提交审核";
String OPER_UNDO = "审核撤回";
String OPER_RELEASE = "发布";
}

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

@ -1,13 +1,16 @@
package com.epmet.controller;
import com.baomidou.mybatisplus.extension.api.R;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.CodeCommonFormDTO;
import com.epmet.dto.form.CodeUploadFormDTO;
import com.epmet.dto.form.SubmitAuditFormDTO;
import com.epmet.dto.form.UploadListFormDTO;
import com.epmet.dto.result.TemplateListResultDTO;
import com.epmet.dto.result.UploadListResultDTO;
import com.epmet.dto.result.*;
import com.epmet.service.CodeService;
import oracle.jdbc.proxy.annotation.Post;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
@ -24,62 +27,131 @@ import java.util.List;
@RequestMapping("code")
public class CodeController {
@Autowired
private CodeService codeService;
/**
* 获取代码模板列表
*
* @return com.epmet.commons.tools.utils.Result
* @author zhaoqifeng
* @date 2020/7/14 15:10
* @return com.epmet.commons.tools.utils.Result
*/
@PostMapping("templatelist")
public Result<List<TemplateListResultDTO>> templateList() {
return null;
List<TemplateListResultDTO> list = codeService.templateList();
return new Result<List<TemplateListResultDTO>>().ok(list);
}
/**
* 代码上传
*
* @param formDTO 参数
* @return com.epmet.commons.tools.utils.Result
* @author zhaoqifeng
* @date 2020/7/9 14:23
* @param formDTO
* @return com.epmet.commons.tools.utils.Result
*/
@PostMapping("upload")
public Result upload(@RequestBody CodeUploadFormDTO formDTO) {
codeService.upload(formDTO);
return new Result<>();
}
/**
* 已上传代码列表
*
* @param formDTO 参数
* @return com.epmet.commons.tools.utils.Result<java.util.List < com.epmet.dto.result.UploadListResultDTO>>
* @author zhaoqifeng
* @date 2020/7/14 16:30
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.dto.result.UploadListResultDTO>>
*/
@PostMapping("uploadlist")
public Result<List<UploadListResultDTO>> uploadList(@RequestBody UploadListFormDTO formDTO) {
return new Result<>();
public Result<PageData> uploadList(@RequestBody UploadListFormDTO formDTO) {
PageData pageData = codeService.uploadList(formDTO);
return new Result<PageData>().ok(pageData);
}
/**
* 提交审核
*
* @param formDTO 参数
* @return com.epmet.commons.tools.utils.Result
* @author zhaoqifeng
* @date 2020/7/14 16:40
* @param formDTO
* @return com.epmet.commons.tools.utils.Result
*/
@PostMapping("audit")
public Result submitAudit(@RequestBody SubmitAuditFormDTO formDTO) {
codeService.submitAudit(formDTO);
return new Result<>();
}
/**
* 审核撤回
*
* @param formDTO 参数
* @return com.epmet.commons.tools.utils.Result
* @author zhaoqifeng
* @date 2020/7/14 17:52
* @param formDTO
* @return com.epmet.commons.tools.utils.Result
*/
@PostMapping("undo")
public Result undo(@RequestBody CodeCommonFormDTO formDTO) {
codeService.undo(formDTO);
return new Result<>();
}
/**
* 发布
*
* @param formDTO 参数
* @return com.epmet.commons.tools.utils.Result
* @author zhaoqifeng
* @date 2020/7/14 17:52
*/
@PostMapping("release")
public Result release(@RequestBody CodeCommonFormDTO formDTO) {
codeService.release(formDTO);
return new Result<>();
}
/**
* 审核失败原因
*
* @param formDTO 参数
* @return com.epmet.commons.tools.utils.Result
* @author zhaoqifeng
* @date 2020/7/14 17:52
*/
@PostMapping("reason")
public Result<ReasonResultDTO> reason(@RequestBody CodeCommonFormDTO formDTO) {
ReasonResultDTO resultDTO = codeService.reason(formDTO);
return new Result<ReasonResultDTO>().ok(resultDTO);
}
/**
* 获取体验版二维码
*
* @param formDTO 参数
* @return com.epmet.commons.tools.utils.Result
* @author zhaoqifeng
* @date 2020/7/14 17:52
*/
@PostMapping("qrcode")
public Result<QrCodeResultDTO> qrCode(@RequestBody CodeCommonFormDTO formDTO) {
QrCodeResultDTO resultDTO = codeService.qrCode(formDTO);
return new Result<QrCodeResultDTO>().ok(resultDTO);
}
/**
* 操作历史
*
* @param formDTO 参数
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.CodeHistoryResultDTO>
* @author zhaoqifeng
* @date 2020/7/16 10:16
*/
@PostMapping("history")
public Result<PageData> history(@RequestBody CodeCommonFormDTO formDTO) {
PageData result = codeService.history(formDTO);
return new Result<PageData>().ok(result);
}
}

32
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/CustomerCodeOperationHistoryController.java → epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/CodeOperationHistoryController.java

@ -24,8 +24,8 @@ import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.dto.CustomerCodeOperationHistoryDTO;
import com.epmet.service.CustomerCodeOperationHistoryService;
import com.epmet.dto.CodeOperationHistoryDTO;
import com.epmet.service.CodeOperationHistoryService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -39,37 +39,37 @@ import java.util.Map;
* @since v1.0.0 2020-07-09
*/
@RestController
@RequestMapping("customercodeoperationhistory")
public class CustomerCodeOperationHistoryController {
@RequestMapping("codeoperationhistory")
public class CodeOperationHistoryController {
@Autowired
private CustomerCodeOperationHistoryService customerCodeOperationHistoryService;
private CodeOperationHistoryService codeOperationHistoryService;
@GetMapping("page")
public Result<PageData<CustomerCodeOperationHistoryDTO>> page(@RequestParam Map<String, Object> params){
PageData<CustomerCodeOperationHistoryDTO> page = customerCodeOperationHistoryService.page(params);
return new Result<PageData<CustomerCodeOperationHistoryDTO>>().ok(page);
public Result<PageData<CodeOperationHistoryDTO>> page(@RequestParam Map<String, Object> params){
PageData<CodeOperationHistoryDTO> page = codeOperationHistoryService.page(params);
return new Result<PageData<CodeOperationHistoryDTO>>().ok(page);
}
@GetMapping("{id}")
public Result<CustomerCodeOperationHistoryDTO> get(@PathVariable("id") String id){
CustomerCodeOperationHistoryDTO data = customerCodeOperationHistoryService.get(id);
return new Result<CustomerCodeOperationHistoryDTO>().ok(data);
public Result<CodeOperationHistoryDTO> get(@PathVariable("id") String id){
CodeOperationHistoryDTO data = codeOperationHistoryService.get(id);
return new Result<CodeOperationHistoryDTO>().ok(data);
}
@PostMapping
public Result save(@RequestBody CustomerCodeOperationHistoryDTO dto){
public Result save(@RequestBody CodeOperationHistoryDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
customerCodeOperationHistoryService.save(dto);
codeOperationHistoryService.save(dto);
return new Result();
}
@PutMapping
public Result update(@RequestBody CustomerCodeOperationHistoryDTO dto){
public Result update(@RequestBody CodeOperationHistoryDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
customerCodeOperationHistoryService.update(dto);
codeOperationHistoryService.update(dto);
return new Result();
}
@ -77,7 +77,7 @@ public class CustomerCodeOperationHistoryController {
public Result delete(@RequestBody String[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
customerCodeOperationHistoryService.delete(ids);
codeOperationHistoryService.delete(ids);
return new Result();
}

20
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/CodeCustomerDao.java

@ -18,6 +18,7 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.CodeCustomerDTO;
import com.epmet.dto.form.UploadListFormDTO;
import com.epmet.dto.result.UploadListResultDTO;
import com.epmet.dto.form.CodeAuditRecordFormDTO;
@ -61,4 +62,23 @@ public interface CodeCustomerDao extends BaseDao<CodeCustomerEntity> {
*/
String selectCodeCustomerId(CodeAuditRecordFormDTO codeAuditRecord);
/**
* 删除旧的上传记录
* @author zhaoqifeng
* @date 2020/7/15 18:06
* @param customerId
* @param clientType
* @return void
*/
void deleteCode(@Param("customerId") String customerId, @Param("clientType") String clientType);
/**
* 获取审核中代码列表
* @author zhaoqifeng
* @date 2020/7/15 18:17
* @param
* @return java.util.List<com.epmet.dto.CodeCustomerDTO>
*/
List<CodeCustomerDTO> selectAuditingCodeList();
}

21
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/CustomerCodeOperationHistoryDao.java → epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/CodeOperationHistoryDao.java

@ -18,8 +18,12 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.CustomerCodeOperationHistoryEntity;
import com.epmet.dto.result.CodeHistoryResultDTO;
import com.epmet.entity.CodeOperationHistoryEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 客户代码操作历史
@ -28,6 +32,17 @@ import org.apache.ibatis.annotations.Mapper;
* @since v1.0.0 2020-07-09
*/
@Mapper
public interface CustomerCodeOperationHistoryDao extends BaseDao<CustomerCodeOperationHistoryEntity> {
public interface CodeOperationHistoryDao extends BaseDao<CodeOperationHistoryEntity> {
List<CodeHistoryResultDTO> selectHistoryList(@Param("customerId") String customerId, @Param("clientType") String clientType);
/**
* 更新描述
* @author zhaoqifeng
* @date 2020/7/16 16:11
* @param codeId
* @param describe
* @return void
*/
void updateDescribeByCodeId(@Param("codeId") String codeId, @Param("describe") String describe);
}

10
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/CustomerMpDao.java

@ -81,4 +81,14 @@ public interface CustomerMpDao extends BaseDao<CustomerMpEntity> {
*/
String selectClientTypeByCustomerIdAndAuthId(@Param("customerId")String customerId,@Param("authAppId")String authAppId);
/**
* 获取授权状态
* @param customerId
* @param clientType
* @return java.lang.Boolean
* @author zhaoqifeng
* @date 2020/7/16 15:28
*/
Boolean selectAuthFlag(@Param("customerId")String customerId, @Param("clientType")String clientType);
}

4
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/entity/CustomerCodeOperationHistoryEntity.java → epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/entity/CodeOperationHistoryEntity.java

@ -33,8 +33,8 @@ import java.util.Date;
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("customer_code_operation_history")
public class CustomerCodeOperationHistoryEntity extends BaseEpmetEntity {
@TableName("code_operation_history")
public class CodeOperationHistoryEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;

2
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/redis/CustomerCodeOperationHistoryRedis.java → epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/redis/CodeOperationHistoryRedis.java

@ -28,7 +28,7 @@ import org.springframework.stereotype.Component;
* @since v1.0.0 2020-07-09
*/
@Component
public class CustomerCodeOperationHistoryRedis {
public class CodeOperationHistoryRedis {
@Autowired
private RedisUtils redisUtils;

19
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/CodeCustomerService.java

@ -102,4 +102,23 @@ public interface CodeCustomerService extends BaseService<CodeCustomerEntity> {
* @return com.epmet.commons.tools.page.PageData
*/
PageData getCodeList(UploadListFormDTO formDTO);
/**
* 获取审核中代码列表
* @author zhaoqifeng
* @date 2020/7/15 18:16
* @param
* @return java.util.List<com.epmet.dto.CodeCustomerDTO>
*/
List<CodeCustomerDTO> getAuditingCodeList();
/**
* 删除旧代码记录
* @author zhaoqifeng
* @date 2020/7/15 18:10
* @param customerId
* @param clientType
* @return void
*/
void deleteCode(String customerId, String clientType);
}

37
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/CustomerCodeOperationHistoryService.java → epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/CodeOperationHistoryService.java

@ -19,8 +19,9 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.CustomerCodeOperationHistoryDTO;
import com.epmet.entity.CustomerCodeOperationHistoryEntity;
import com.epmet.dto.CodeOperationHistoryDTO;
import com.epmet.dto.result.CodeHistoryResultDTO;
import com.epmet.entity.CodeOperationHistoryEntity;
import java.util.List;
import java.util.Map;
@ -31,7 +32,7 @@ import java.util.Map;
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-07-09
*/
public interface CustomerCodeOperationHistoryService extends BaseService<CustomerCodeOperationHistoryEntity> {
public interface CodeOperationHistoryService extends BaseService<CodeOperationHistoryEntity> {
/**
* 默认分页
@ -41,7 +42,7 @@ public interface CustomerCodeOperationHistoryService extends BaseService<Custome
* @author generator
* @date 2020-07-09
*/
PageData<CustomerCodeOperationHistoryDTO> page(Map<String, Object> params);
PageData<CodeOperationHistoryDTO> page(Map<String, Object> params);
/**
* 默认查询
@ -51,7 +52,7 @@ public interface CustomerCodeOperationHistoryService extends BaseService<Custome
* @author generator
* @date 2020-07-09
*/
List<CustomerCodeOperationHistoryDTO> list(Map<String, Object> params);
List<CodeOperationHistoryDTO> list(Map<String, Object> params);
/**
* 单条查询
@ -61,7 +62,7 @@ public interface CustomerCodeOperationHistoryService extends BaseService<Custome
* @author generator
* @date 2020-07-09
*/
CustomerCodeOperationHistoryDTO get(String id);
CodeOperationHistoryDTO get(String id);
/**
* 默认保存
@ -71,7 +72,7 @@ public interface CustomerCodeOperationHistoryService extends BaseService<Custome
* @author generator
* @date 2020-07-09
*/
void save(CustomerCodeOperationHistoryDTO dto);
void save(CodeOperationHistoryDTO dto);
/**
* 默认更新
@ -81,7 +82,7 @@ public interface CustomerCodeOperationHistoryService extends BaseService<Custome
* @author generator
* @date 2020-07-09
*/
void update(CustomerCodeOperationHistoryDTO dto);
void update(CodeOperationHistoryDTO dto);
/**
* 批量删除
@ -92,4 +93,24 @@ public interface CustomerCodeOperationHistoryService extends BaseService<Custome
* @date 2020-07-09
*/
void delete(String[] ids);
/**
* 获取操作历史记录
* @author zhaoqifeng
* @date 2020/7/16 16:53
* @param customerId
* @param clientType
* @return com.epmet.dto.result.CodeHistoryResultDTO
*/
List<CodeHistoryResultDTO> getHistoryList(String customerId, String clientType);
/**
* 更新描述
* @author zhaoqifeng
* @date 2020/7/16 16:10
* @param codeId
* @param describe
* @return void
*/
void updateDescribe(String codeId, String describe);
}

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

@ -1,12 +1,12 @@
package com.epmet.service;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.CodeCommonFormDTO;
import com.epmet.dto.form.CodeUploadFormDTO;
import com.epmet.dto.form.SubmitAuditFormDTO;
import com.epmet.dto.form.UploadListFormDTO;
import com.epmet.dto.result.TemplateListResultDTO;
import com.epmet.dto.result.UploadListResultDTO;
import com.epmet.dto.result.*;
import java.util.List;
@ -29,7 +29,7 @@ public interface CodeService {
/**
* 代码上传
*
* @param formDTO
* @param formDTO 参数
* @author zhaoqifeng
* @date 2020/7/14 18:15
*/
@ -38,7 +38,7 @@ public interface CodeService {
/**
* 已上传代码列表
*
* @param formDTO
* @param formDTO 参数
* @return java.util.List < com.epmet.dto.result.UploadListResultDTO>
* @author zhaoqifeng
* @date 2020/7/14 18:15
@ -48,7 +48,7 @@ public interface CodeService {
/**
* 提交审核
*
* @param formDTO
* @param formDTO 参数
* @author zhaoqifeng
* @date 2020/7/14 18:15
*/
@ -57,9 +57,48 @@ public interface CodeService {
/**
* 审核撤回
*
* @param formDTO
* @param formDTO 参数
* @author zhaoqifeng
* @date 2020/7/14 18:15
*/
void undo(CodeCommonFormDTO formDTO);
/**
* 发布
*
* @param formDTO 参数
* @author zhaoqifeng
* @date 2020/7/14 18:15
*/
void release(CodeCommonFormDTO formDTO);
/**
* 审核失败原因
*
* @param formDTO 参数
* @return com.epmet.dto.result.ReasonResultDTO
* @author zhaoqifeng
* @date 2020/7/16 9:38
*/
ReasonResultDTO reason(CodeCommonFormDTO formDTO);
/**
* 获取体验版二维码
*
* @param formDTO 参数
* @return com.epmet.dto.result.QrCodeResultDTO
* @author zhaoqifeng
* @date 2020/7/16 9:49
*/
QrCodeResultDTO qrCode(CodeCommonFormDTO formDTO);
/**
* 操作历史
*
* @param formDTO 参数
* @return com.epmet.dto.result.CodeHistoryResultDTO
* @author zhaoqifeng
* @date 2020/7/16 10:16
*/
PageData history(CodeCommonFormDTO formDTO);
}

10
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/CustomerMpService.java

@ -92,4 +92,14 @@ public interface CustomerMpService extends BaseService<CustomerMpEntity> {
* @date 2020-07-09
*/
void delete(String[] ids);
/**
* 获取授权状态
* @author zhaoqifeng
* @date 2020/7/16 15:34
* @param customerId
* @param clientType
* @return java.lang.Boolean
*/
Boolean getAuthFlag(String customerId, String clientType);
}

10
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/CodeCustomerServiceImpl.java

@ -113,4 +113,14 @@ public class CodeCustomerServiceImpl extends BaseServiceImpl<CodeCustomerDao, Co
return new PageData<>(list, pageInfo.getTotal());
}
@Override
public List<CodeCustomerDTO> getAuditingCodeList() {
return baseDao.selectAuditingCodeList();
}
@Override
public void deleteCode(String customerId, String clientType) {
baseDao.deleteCode(customerId, clientType);
}
}

55
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/CustomerCodeOperationHistoryServiceImpl.java → epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/CodeOperationHistoryServiceImpl.java

@ -23,11 +23,12 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.dao.CustomerCodeOperationHistoryDao;
import com.epmet.dto.CustomerCodeOperationHistoryDTO;
import com.epmet.entity.CustomerCodeOperationHistoryEntity;
import com.epmet.redis.CustomerCodeOperationHistoryRedis;
import com.epmet.service.CustomerCodeOperationHistoryService;
import com.epmet.dao.CodeOperationHistoryDao;
import com.epmet.dto.CodeOperationHistoryDTO;
import com.epmet.dto.result.CodeHistoryResultDTO;
import com.epmet.entity.CodeOperationHistoryEntity;
import com.epmet.redis.CodeOperationHistoryRedis;
import com.epmet.service.CodeOperationHistoryService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -44,53 +45,53 @@ import java.util.Map;
* @since v1.0.0 2020-07-09
*/
@Service
public class CustomerCodeOperationHistoryServiceImpl extends BaseServiceImpl<CustomerCodeOperationHistoryDao, CustomerCodeOperationHistoryEntity> implements CustomerCodeOperationHistoryService {
public class CodeOperationHistoryServiceImpl extends BaseServiceImpl<CodeOperationHistoryDao, CodeOperationHistoryEntity> implements CodeOperationHistoryService {
@Autowired
private CustomerCodeOperationHistoryRedis customerCodeOperationHistoryRedis;
private CodeOperationHistoryRedis customerCodeOperationHistoryRedis;
@Override
public PageData<CustomerCodeOperationHistoryDTO> page(Map<String, Object> params) {
IPage<CustomerCodeOperationHistoryEntity> page = baseDao.selectPage(
public PageData<CodeOperationHistoryDTO> page(Map<String, Object> params) {
IPage<CodeOperationHistoryEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, CustomerCodeOperationHistoryDTO.class);
return getPageData(page, CodeOperationHistoryDTO.class);
}
@Override
public List<CustomerCodeOperationHistoryDTO> list(Map<String, Object> params) {
List<CustomerCodeOperationHistoryEntity> entityList = baseDao.selectList(getWrapper(params));
public List<CodeOperationHistoryDTO> list(Map<String, Object> params) {
List<CodeOperationHistoryEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, CustomerCodeOperationHistoryDTO.class);
return ConvertUtils.sourceToTarget(entityList, CodeOperationHistoryDTO.class);
}
private QueryWrapper<CustomerCodeOperationHistoryEntity> getWrapper(Map<String, Object> params){
private QueryWrapper<CodeOperationHistoryEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
QueryWrapper<CustomerCodeOperationHistoryEntity> wrapper = new QueryWrapper<>();
QueryWrapper<CodeOperationHistoryEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public CustomerCodeOperationHistoryDTO get(String id) {
CustomerCodeOperationHistoryEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, CustomerCodeOperationHistoryDTO.class);
public CodeOperationHistoryDTO get(String id) {
CodeOperationHistoryEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, CodeOperationHistoryDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(CustomerCodeOperationHistoryDTO dto) {
CustomerCodeOperationHistoryEntity entity = ConvertUtils.sourceToTarget(dto, CustomerCodeOperationHistoryEntity.class);
public void save(CodeOperationHistoryDTO dto) {
CodeOperationHistoryEntity entity = ConvertUtils.sourceToTarget(dto, CodeOperationHistoryEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(CustomerCodeOperationHistoryDTO dto) {
CustomerCodeOperationHistoryEntity entity = ConvertUtils.sourceToTarget(dto, CustomerCodeOperationHistoryEntity.class);
public void update(CodeOperationHistoryDTO dto) {
CodeOperationHistoryEntity entity = ConvertUtils.sourceToTarget(dto, CodeOperationHistoryEntity.class);
updateById(entity);
}
@ -101,4 +102,14 @@ public class CustomerCodeOperationHistoryServiceImpl extends BaseServiceImpl<Cus
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Override
public List<CodeHistoryResultDTO> getHistoryList(String customerId, String clientType) {
return baseDao.selectHistoryList(customerId, clientType);
}
@Override
public void updateDescribe(String codeId, String describe) {
baseDao.updateDescribeByCodeId(codeId, describe);
}
}

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

@ -9,30 +9,31 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.CodeConstant;
import com.epmet.dao.AuthorizationInfoDao;
import com.epmet.dao.ComponentAccessTokenDao;
import com.epmet.dto.AuthorizationInfoDTO;
import com.epmet.dto.CodeAuditResultDTO;
import com.epmet.dto.CodeCustomerDTO;
import com.epmet.dto.CustomerDTO;
import com.epmet.dto.*;
import com.epmet.dto.form.CodeCommonFormDTO;
import com.epmet.dto.form.CodeUploadFormDTO;
import com.epmet.dto.form.SubmitAuditFormDTO;
import com.epmet.dto.form.UploadListFormDTO;
import com.epmet.dto.result.TemplateListResultDTO;
import com.epmet.dto.result.*;
import com.epmet.feign.OperCrmOpenFeignClient;
import com.epmet.service.CodeAuditResultService;
import com.epmet.service.CodeCustomerService;
import com.epmet.service.CodeService;
import com.epmet.service.*;
import com.epmet.wxapi.param.WxMaCodeAuditStatusReq;
import com.epmet.wxapi.param.WxMaCodeCommitReq;
import com.epmet.wxapi.param.WxMaCodeSubmitAuditRequest;
import com.epmet.wxapi.param.WxMaNewsReq;
import com.epmet.wxapi.result.WxMaAuditStatusResult;
import com.epmet.wxapi.result.WxMaNewsResult;
import com.epmet.wxapi.result.WxMaTemplateResult;
import com.epmet.wxapi.result.WxResult;
import com.epmet.wxapi.service.WxMaCodeService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
@ -55,6 +56,10 @@ public class CodeServiceImpl implements CodeService {
private OperCrmOpenFeignClient operCrmOpenFeignClient;
@Autowired
private CodeAuditResultService codeAuditResultService;
@Autowired
private CustomerMpService customerMpService;
@Autowired
private CodeOperationHistoryService codeOperationHistoryService;
@Override
public List<TemplateListResultDTO> templateList() {
@ -81,7 +86,12 @@ public class CodeServiceImpl implements CodeService {
}
@Override
@Transactional(rollbackFor = Exception.class)
public void upload(CodeUploadFormDTO formDTO) {
//是否授权
if (customerMpService.getAuthFlag(formDTO.getCustomerId(), formDTO.getClientType())) {
throw new RenException("未授权");
}
//获取小程序调用令牌
AuthorizationInfoDTO authInfo = authorizationInfoDao.getAuthInfoByCustomer(formDTO.getCustomerId(), formDTO.getClientType());
if (null == authInfo) {
@ -96,6 +106,7 @@ public class CodeServiceImpl implements CodeService {
WxResult wxResult = wxMaCodeService.commit(authInfo.getAuthorizerAccessToken(), request);
//上传失败,抛出异常
if (!wxResult.success()) {
saveOperation(formDTO.getCustomerId(), null, formDTO.getUserVersion(), CodeConstant.OPER_UPLOAD, wxResult.getErrorMsg());
throw new RenException(wxResult.getErrorCode(), wxResult.getErrorMsg());
}
//获取客户信息
@ -105,7 +116,8 @@ public class CodeServiceImpl implements CodeService {
if (!customerInfo.success()) {
throw new RenException(customerInfo.getCode(), customerInfo.getMsg());
}
//TODO 将之前上传信息删除
//将之前上传信息删除
codeCustomerService.deleteCode(formDTO.getCustomerId(), formDTO.getClientType());
//将上传信息存入表中
CodeCustomerDTO codeCustomerDTO = ConvertUtils.sourceToTarget(formDTO, CodeCustomerDTO.class);
@ -113,11 +125,42 @@ public class CodeServiceImpl implements CodeService {
codeCustomerDTO.setExtJson(extJson);
codeCustomerDTO.setStatus(CodeConstant.UNAUDITED);
codeCustomerService.save(codeCustomerDTO);
saveOperation(formDTO.getCustomerId(), codeCustomerDTO.getId(), formDTO.getUserVersion(), CodeConstant.OPER_UPLOAD, "上传成功");
}
@Override
public PageData uploadList(UploadListFormDTO formDTO) {
//TODO 更新审核状态
//获取小程序调用令牌
AuthorizationInfoDTO authInfo = authorizationInfoDao.getAuthInfoByCustomer(formDTO.getCustomerId(), formDTO.getClientType());
List<CodeCustomerDTO> auditingList = codeCustomerService.getAuditingCodeList();
auditingList.forEach(code -> {
//获取审核结果信息
CodeAuditResultDTO auditResult = codeAuditResultService.getAuditResultByCodeId(code.getId());
//调用微信API获取最新审核状态
WxMaCodeAuditStatusReq request = new WxMaCodeAuditStatusReq();
request.setAuditId(auditResult.getAuditId());
WxResult<WxMaAuditStatusResult> wxAuditResult = wxMaCodeService.getAuditStatus(authInfo.getAuthorizerAccessToken(), request);
if (wxAuditResult.success()) {
WxMaAuditStatusResult result = wxAuditResult.getData();
if(result.getStatus() == NumConstant.ZERO) {
code.setStatus(CodeConstant.AUDIT_SUCCESS);
auditResult.setResult(CodeConstant.AUDIT_SUCCESS);
codeOperationHistoryService.updateDescribe(code.getId(), "审核成功");
} else if(result.getStatus() == NumConstant.ONE) {
code.setStatus(CodeConstant.AUDIT_FAILED);
auditResult.setResult(CodeConstant.AUDIT_FAILED);
auditResult.setReason(result.getReason());
codeOperationHistoryService.updateDescribe(code.getId(), result.getReason());
} else if(result.getStatus() == NumConstant.FOUR) {
code.setStatus(CodeConstant.DELAY);
auditResult.setResult(CodeConstant.DELAY);
codeOperationHistoryService.updateDescribe(code.getId(), "审核延后");
}
codeCustomerService.update(code);
codeAuditResultService.update(auditResult);
}
});
return codeCustomerService.getCodeList(formDTO);
}
@ -125,12 +168,18 @@ public class CodeServiceImpl implements CodeService {
public void submitAudit(SubmitAuditFormDTO formDTO) {
//获取上传代码信息
CodeCustomerDTO codeCustomerDTO = codeCustomerService.get(formDTO.getCodeId());
//是否授权
if (customerMpService.getAuthFlag(codeCustomerDTO.getCustomerId(), codeCustomerDTO.getClientType())) {
throw new RenException("未授权");
}
//获取小程序调用令牌
AuthorizationInfoDTO authInfo = authorizationInfoDao.getAuthInfoByCustomer(codeCustomerDTO.getCustomerId(), codeCustomerDTO.getClientType());
//调用微信API上提交审核
WxMaCodeSubmitAuditRequest request = ConvertUtils.sourceToTarget(formDTO, WxMaCodeSubmitAuditRequest.class);
WxResult<String> wxResult = wxMaCodeService.submitAudit(authInfo.getAuthorizerAccessToken(), request);
if (!wxResult.success()) {
saveOperation(codeCustomerDTO.getCustomerId(), codeCustomerDTO.getId(), codeCustomerDTO.getUserVersion(), CodeConstant.OPER_SUBMIT,
wxResult.getErrorMsg());
throw new RenException(wxResult.getErrorCode(), wxResult.getErrorMsg());
}
//将数据存入代码审核表
@ -143,12 +192,18 @@ public class CodeServiceImpl implements CodeService {
//更新代码表状态
codeCustomerDTO.setStatus(CodeConstant.AUDITING);
codeCustomerService.update(codeCustomerDTO);
saveOperation(codeCustomerDTO.getCustomerId(), codeCustomerDTO.getId(), codeCustomerDTO.getUserVersion(), CodeConstant.OPER_SUBMIT,
"审核中");
}
@Override
public void undo(CodeCommonFormDTO formDTO) {
//获取上传代码信息
CodeCustomerDTO codeCustomerDTO = codeCustomerService.get(formDTO.getCodeId());
//是否授权
if (customerMpService.getAuthFlag(codeCustomerDTO.getCustomerId(), codeCustomerDTO.getClientType())) {
throw new RenException("未授权");
}
//获取审核结果信息
CodeAuditResultDTO codeAuditResultDTO = codeAuditResultService.getAuditResultByCodeId(formDTO.getCodeId());
//获取小程序调用令牌
@ -166,6 +221,8 @@ public class CodeServiceImpl implements CodeService {
//调用微信API撤销审核
WxResult wxResult = wxMaCodeService.undoCodeAudit(authInfo.getAuthorizerAccessToken());
if (!wxResult.success()) {
saveOperation(codeCustomerDTO.getCustomerId(), codeCustomerDTO.getId(), codeCustomerDTO.getUserVersion(), CodeConstant.OPER_UNDO,
wxResult.getErrorMsg());
throw new RenException(wxResult.getErrorCode(), wxResult.getErrorMsg());
}
//更新审核结果
@ -174,6 +231,111 @@ public class CodeServiceImpl implements CodeService {
//更新代码表状态
codeCustomerDTO.setStatus(CodeConstant.WITHDRAWN);
codeCustomerService.update(codeCustomerDTO);
//更新审核操作记录描述
codeOperationHistoryService.updateDescribe(codeCustomerDTO.getId(), "已撤回");
saveOperation(codeCustomerDTO.getCustomerId(), codeCustomerDTO.getId(), codeCustomerDTO.getUserVersion(), CodeConstant.OPER_UNDO,
"成功");
}
@Override
public void release(CodeCommonFormDTO formDTO) {
//获取上传代码信息
CodeCustomerDTO codeCustomerDTO = codeCustomerService.get(formDTO.getCodeId());
//是否授权
if (customerMpService.getAuthFlag(codeCustomerDTO.getCustomerId(), codeCustomerDTO.getClientType())) {
throw new RenException("未授权");
}
//获取小程序调用令牌
AuthorizationInfoDTO authInfo = authorizationInfoDao.getAuthInfoByCustomer(codeCustomerDTO.getCustomerId(), codeCustomerDTO.getClientType());
//调用微信API发布代码
WxResult wxResult = wxMaCodeService.release(authInfo.getAuthorizerAccessToken());
if (!wxResult.success()) {
//更新代码表状态
codeCustomerDTO.setStatus(CodeConstant.RELEASE_FAILED);
codeCustomerService.update(codeCustomerDTO);
saveOperation(codeCustomerDTO.getCustomerId(), codeCustomerDTO.getId(), codeCustomerDTO.getUserVersion(), CodeConstant.OPER_RELEASE,
wxResult.getErrorMsg());
throw new RenException(wxResult.getErrorCode(), wxResult.getErrorMsg());
}
//更新代码表状态
codeCustomerDTO.setStatus(CodeConstant.RELEASE_SUCCESS);
codeCustomerService.update(codeCustomerDTO);
saveOperation(codeCustomerDTO.getCustomerId(), codeCustomerDTO.getId(), codeCustomerDTO.getUserVersion(), CodeConstant.OPER_RELEASE,
"发布成功");
}
@Override
public ReasonResultDTO reason(CodeCommonFormDTO formDTO) {
ReasonResultDTO result = new ReasonResultDTO();
//获取上传代码信息
CodeCustomerDTO codeCustomerDTO = codeCustomerService.get(formDTO.getCodeId());
//是否授权
if (customerMpService.getAuthFlag(codeCustomerDTO.getCustomerId(), codeCustomerDTO.getClientType())) {
throw new RenException("未授权");
}
//TODO 获取小程序调用令牌
AuthorizationInfoDTO authInfo = authorizationInfoDao.getAuthInfoByCustomer(codeCustomerDTO.getCustomerId(), codeCustomerDTO.getClientType());
//获取审核结果信息
CodeAuditResultDTO codeAuditResultDTO = codeAuditResultService.getAuditResultByCodeId(formDTO.getCodeId());
result.setReason(codeAuditResultDTO.getReason());
String[] mediaIds = codeAuditResultDTO.getScreenShot().split("[|]");
List<String> mediaIdList = new ArrayList<>(mediaIds.length);
Collections.addAll(mediaIdList, mediaIds);
List<String> urlList = new ArrayList<>();
mediaIdList.forEach(mediaId -> {
//调用微信API获取素材
WxMaCodeAuditStatusReq request = new WxMaCodeAuditStatusReq();
request.setAuditId(codeAuditResultDTO.getAuditId());
WxMaNewsReq wxMaNewsReq = new WxMaNewsReq();
wxMaNewsReq.setMediaId(mediaId);
WxResult<WxMaNewsResult> wxAuditResult = wxMaCodeService.getMaterial(authInfo.getAuthorizerAccessToken(), wxMaNewsReq);
wxAuditResult.getData().getNewsItem().forEach(news -> {
urlList.add(news.getUrl());
});
});
result.setScreenshotUrl(urlList);
return result;
}
@Override
public QrCodeResultDTO qrCode(CodeCommonFormDTO formDTO) {
QrCodeResultDTO result = new QrCodeResultDTO();
//获取上传代码信息
CodeCustomerDTO codeCustomerDTO = codeCustomerService.get(formDTO.getCodeId());
//是否授权
if (customerMpService.getAuthFlag(codeCustomerDTO.getCustomerId(), codeCustomerDTO.getClientType())) {
throw new RenException("未授权");
}
//获取小程序调用令牌
AuthorizationInfoDTO authInfo = authorizationInfoDao.getAuthInfoByCustomer(codeCustomerDTO.getCustomerId(), codeCustomerDTO.getClientType());
//调用微信API获取获取体验版二维码
WxResult<Byte[]> wxResult = wxMaCodeService.getQrCode(authInfo.getAuthorizerAccessToken(), null);
if (!wxResult.success()) {
throw new RenException(wxResult.getErrorCode(), wxResult.getErrorMsg());
}
result.setQrcode(wxResult.getData());
return result;
}
@Override
public PageData history(CodeCommonFormDTO formDTO) {
PageHelper.startPage(formDTO.getPage(), formDTO.getLimit());
//获取上传代码信息
CodeCustomerDTO codeCustomerDTO = codeCustomerService.get(formDTO.getCodeId());
List<CodeHistoryResultDTO> list = codeOperationHistoryService.getHistoryList(codeCustomerDTO.getCustomerId(), codeCustomerDTO.getClientType());
PageInfo<CodeHistoryResultDTO> pageInfo = new PageInfo<>(list);
return new PageData<>(list, pageInfo.getTotal());
}
private void saveOperation(String customerId, String codeId, String version, String operation, String describe) {
CodeOperationHistoryDTO operationDTO = new CodeOperationHistoryDTO();
operationDTO.setCustomerId(customerId);
operationDTO.setCodeId(codeId);
operationDTO.setVersion(version);
operationDTO.setOperation(operation);
operationDTO.setDescribe(describe);
codeOperationHistoryService.save(operationDTO);
}
}

5
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/CustomerMpServiceImpl.java

@ -101,4 +101,9 @@ public class CustomerMpServiceImpl extends BaseServiceImpl<CustomerMpDao, Custom
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Override
public Boolean getAuthFlag(String customerId, String clientType) {
return baseDao.selectAuthFlag(customerId, clientType);
}
}

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

@ -71,4 +71,9 @@ public interface WxMaCodeConstant {
* 小程序审核撤回
*/
String UNDO_CODE_AUDIT_URL = "https://api.weixin.qq.com/wxa/undocodeaudit";
/**
* 获取永久素材
*/
String GET_MATERIAL_URL = "https://api.weixin.qq.com/cgi-bin/material/get_material";
}

20
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/param/WxMaNewsReq.java

@ -0,0 +1,20 @@
package com.epmet.wxapi.param;
import com.google.gson.annotations.SerializedName;
import lombok.Builder;
import lombok.Data;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/7/16 14:42
*/
@Data
public class WxMaNewsReq implements Serializable {
private static final long serialVersionUID = -2575933909006637636L;
@SerializedName("media_id")
private String mediaId;
}

60
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/result/WxMaNewsResult.java

@ -0,0 +1,60 @@
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/7/16 14:43
*/
@Data
public class WxMaNewsResult implements Serializable {
private static final long serialVersionUID = -5844290246590127322L;
@SerializedName("news_item")
private List<NewsItemBean> newsItem;
@Data
public static class NewsItemBean {
/**
* 图文消息的标题
*/
private String title;
/**
* 图文消息的封面图片素材id
*/
@SerializedName("thumb_media_id")
private String thumbMediaId;
/**
* 是否显示封面0为false即不显示1为true即显示
*/
@SerializedName("show_cover_pic")
private Integer showCoverPic;
/**
* 作者
*/
private String author;
/**
* 图文消息的摘要仅有单图文消息才有摘要多图文此处为空
*/
private String digest;
/**
* 图文消息的具体内容支持HTML标签必须少于2万字符小于1M且此处会去除JS
*/
private String content;
/**
* 图文页的URL
*/
private String url;
/**
* 图文消息的原文地址即点击阅读原文后的URL
*/
@SerializedName("content_source_url")
private String contentSourceUrl;
}
}

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

@ -3,7 +3,9 @@ package com.epmet.wxapi.service;
import com.epmet.wxapi.param.WxMaCodeAuditStatusReq;
import com.epmet.wxapi.param.WxMaCodeCommitReq;
import com.epmet.wxapi.param.WxMaCodeSubmitAuditRequest;
import com.epmet.wxapi.param.WxMaNewsReq;
import com.epmet.wxapi.result.WxMaAuditStatusResult;
import com.epmet.wxapi.result.WxMaNewsResult;
import com.epmet.wxapi.result.WxMaTemplateResult;
import com.epmet.wxapi.result.WxResult;
@ -48,7 +50,7 @@ public interface WxMaCodeService {
* @author zhaoqifeng
* @date 2020/7/10 15:25
*/
WxResult getQrCode(String accessToken, String path);
WxResult<Byte[]> getQrCode(String accessToken, String path);
/**
* 获取授权小程序帐号的可选类目.
@ -101,6 +103,17 @@ public interface WxMaCodeService {
*/
WxResult undoCodeAudit(String accessToken);
/**
* 获取永久图文素材
*
* @param accessToken 提交审核参数
* @param request 参数
* @return com.epmet.wxapi.result.WxResult<com.epmet.wxapi.result.WxMaNewsResult>
* @author zhaoqifeng
* @date 2020/7/16 14:52
*/
WxResult<WxMaNewsResult> getMaterial(String accessToken, WxMaNewsReq request);
//TODO 设置服务器域名
//TODO 设置业务域名

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

@ -7,6 +7,7 @@ import com.epmet.wxapi.constant.WxMaCodeConstant;
import com.epmet.wxapi.param.WxMaCodeAuditStatusReq;
import com.epmet.wxapi.param.WxMaCodeCommitReq;
import com.epmet.wxapi.param.WxMaCodeSubmitAuditRequest;
import com.epmet.wxapi.param.WxMaNewsReq;
import com.epmet.wxapi.result.*;
import com.epmet.wxapi.service.WxMaCodeService;
import com.google.gson.Gson;
@ -65,7 +66,7 @@ public class WxMaCodeServiceImpl implements WxMaCodeService {
}
@Override
public WxResult getQrCode(String accessToken, String path) {
public WxResult<Byte[]> getQrCode(String accessToken, String path) {
WxResult<Byte[]> result = new WxResult<>();
StringBuilder url = new StringBuilder(WxMaCodeConstant.GET_QRCODE_URL).append("?access_token").append(accessToken);
if (StringUtils.isNotBlank(path)) {
@ -190,6 +191,21 @@ public class WxMaCodeServiceImpl implements WxMaCodeService {
return result;
}
@Override
public WxResult<WxMaNewsResult> getMaterial(String accessToken, WxMaNewsReq request) {
WxResult<WxMaNewsResult> result = new WxResult<>();
String url = WxMaCodeConstant.GET_MATERIAL_URL + "?" + "access_token=" + accessToken;
Result<String> statusResult = HttpClientManager.getInstance().sendPostByJSON(url, toJson(request));
if (!statusResult.success()) {
result.setErrorCode(statusResult.getCode());
result.setErrorMsg(statusResult.getMsg());
return result;
}
WxMaNewsResult newsResult = JSONObject.parseObject(statusResult.getData(), WxMaNewsResult.class);
result.ok(newsResult);
return result;
}
public static void main(String[] args) {
String url = "{\"errcode\":0,\"errmsg\":\"ok\",\"category_list\":[{\"first_class\":\"工具\",\"second_class\":\"备忘录\",\"first_id\":1,\"second_id\":2,}\n" +
"{\"first_class\":\"教育\",\"second_class\":\"学历教育\",\"third_class\":\"高等\",\"first_id\":3,\"second_id\":4,\"third_id\":5,}]}";

12
epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/CodeCustomerDao.xml

@ -82,6 +82,16 @@
AND app_id = #{authAppId}
AND template_id = #{templateId}
</select>
<select id="selectAuditingCodeList" resultType="com.epmet.dto.CodeCustomerDTO">
select * FROM code_customer WHERE DEL_FLAG = '0' AND STATUS = 'auditing'
</select>
<update id="deleteCode">
UPDATE code_customer
SET
DEL_FLAG = '1'
WHERE CUSTOMER_ID = #{customerId}
AND CLIENT_TYPE = #{clientType}
AND DEL_FLAG = '0'
</update>
</mapper>

41
epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/CodeOperationHistoryDao.xml

@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.CodeOperationHistoryDao">
<resultMap type="com.epmet.entity.CodeOperationHistoryEntity" id="codeOperationHistoryMap">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="codeId" column="CODE_ID"/>
<result property="version" column="VERSION"/>
<result property="operation" column="OPERATION"/>
<result property="describe" column="DESCRIBE"/>
<result property="revision" column="REVISION"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<update id="updateDescribeByCodeId">
UPDATE code_operation_history SET
`DESCRIBE` = #{describe}
WHERE CODE_ID = #{codeId}
AND OPERATION = 'audit'
</update>
<select id="selectHistoryList" resultType="com.epmet.dto.result.CodeHistoryResultDTO">
SELECT
DATE_FORMAT(coh.CREATED_TIME, '%Y-%m-%d') AS "operationTime",
coh.VERSION,
coh.OPERATION,
coh.`DESCRIBE`
FROM code_operation_history coh
INNER JOIN code_customer cc ON coh.CODE_ID = cc.ID
WHERE
coh.CUSTOMER_ID = #{customerId}
AND cc.CLIENT_TYPE = #{clientType}
ORDER BY coh.CREATED_TIME DESC
</select>
</mapper>

22
epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/CustomerCodeOperationHistoryDao.xml

@ -1,22 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.CustomerCodeOperationHistoryDao">
<resultMap type="com.epmet.entity.CustomerCodeOperationHistoryEntity" id="customerCodeOperationHistoryMap">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="codeId" column="CODE_ID"/>
<result property="version" column="VERSION"/>
<result property="operation" column="OPERATION"/>
<result property="describe" column="DESCRIBE"/>
<result property="revision" column="REVISION"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
</mapper>

10
epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/CustomerMpDao.xml

@ -74,5 +74,15 @@
ORDER BY
customer_id ASC, client ASC
</select>
<select id="selectAuthFlag" resultType="java.lang.Boolean">
SELECT
authorization_flag
FROM
customer_mp
WHERE
del_flag = '0'
AND customer_id = #{customerId}
AND CLIENT = #{clientType}
</select>
</mapper>
Loading…
Cancel
Save