Files
jsowell-charger-web/jsowell-admin/src/main/java/com/jsowell/api/uniapp/AgentDevController.java

197 lines
7.3 KiB
Java
Raw Normal View History

package com.jsowell.api.uniapp;
import com.alibaba.fastjson2.JSONObject;
import com.jsowell.common.annotation.Anonymous;
import com.jsowell.common.core.controller.BaseController;
import com.jsowell.common.response.RestApiResponse;
import com.jsowell.pile.domain.AuthorizationEventResult;
import com.jsowell.pile.domain.agentDev.CategoryInfo;
import com.jsowell.pile.dto.agentDev.CommitCodeDTO;
import com.jsowell.pile.dto.agentDev.GetComponentTokenDTO;
import com.jsowell.pile.dto.agentDev.SubmitAuditDTO;
import com.jsowell.pile.vo.agentDev.AuthInfoVO;
import com.jsowell.service.AgentDevService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
2023-07-27 16:51:39 +08:00
* 代开发小程序Controller
*
* @author Lemon
* @Date 2023/7/27 15:09
*/
@Anonymous
@RestController
@RequestMapping("/agentDev")
public class AgentDevController extends BaseController {
@Autowired
private AgentDevService agentDevService;
/**
* 授权事件接收URL,验证票据授权事件
*
* @param timestamp
* @param nonce
* @param msgSignature
* @param postData
* @return
*/
@PostMapping("/platform/event")
public ResponseEntity<AuthorizationEventResult> wechatPlatformEvent(@RequestParam("timestamp") String timestamp,
@RequestParam("nonce") String nonce,
@RequestParam("msg_signature") String msgSignature,
@RequestBody String postData) {
AuthorizationEventResult<String> resultBean = new AuthorizationEventResult<>();
ResponseEntity<AuthorizationEventResult> responseEntity;
logger.info("第三方平台授权事件接收URL params:{}", postData);
try {
resultBean.setData(agentDevService.parseRequest(timestamp, nonce, msgSignature, postData));
responseEntity = new ResponseEntity<>(resultBean, HttpStatus.OK);
logger.info("第三方平台授权事件接收URL success");
} catch (Exception e) {
logger.error("第三方平台授权事件接收URL error:{}", e.getMessage(), e);
AuthorizationEventResult<String> errorResultBean = new AuthorizationEventResult<>();
errorResultBean.setMsg("第三方平台授权事件接收URL error");
errorResultBean.setErrorMsg(e.getMessage());
errorResultBean.setCode(422);
responseEntity = new ResponseEntity<>(errorResultBean, HttpStatus.UNPROCESSABLE_ENTITY);
}
logger.info("第三方平台授权事件接收URL result:{}", resultBean);
return responseEntity;
}
/**
* 获取微信第三方平台令牌
*
* @param dto
* @return
*/
@PostMapping("/getComponentToken")
public RestApiResponse<?> getComponentToken(@RequestBody GetComponentTokenDTO dto) {
logger.info("获取第三方平台令牌 params:{}", JSONObject.toJSONString(dto));
RestApiResponse<?> response = null;
try {
String componentToken = agentDevService.getComponentToken(dto);
response = new RestApiResponse<>(componentToken);
} catch (Exception e) {
logger.error("获取第三方平台令牌 error", e);
response = new RestApiResponse<>(e);
}
logger.info("获取第三方平台令牌 result:{}", response);
return response;
}
/**
* 获取预授权码
*
* @return
*/
@GetMapping("/getPreAuthorizerCode")
public RestApiResponse<?> getPreAuthorizerCode() {
logger.info("微信第三方平台 获取预授权码 start");
RestApiResponse<?> response = null;
try {
String preAuthorizerCode = agentDevService.getPreAuthorizerCode();
response = new RestApiResponse<>(preAuthorizerCode);
} catch (Exception e) {
logger.error("微信第三方平台 获取预授权码 error, ", e);
response = new RestApiResponse<>(e);
}
logger.info("微信第三方平台 获取预授权码 result:{}", response);
return response;
}
/**
* 使用授权码获取授权信息
*
* @param authorizationCode
* @return
*/
@GetMapping("/getAuthInfo/{authorizationCode}")
public RestApiResponse<?> getAuthInfo(@PathVariable("authorizationCode") String authorizationCode) {
logger.info("使用授权码获取授权信息 params:{}", authorizationCode);
RestApiResponse<?> response = null;
try {
AuthInfoVO authInfoVO = agentDevService.getAuthInfoByAuthCode(authorizationCode);
response = new RestApiResponse<>(authInfoVO);
} catch (Exception e) {
logger.error("使用授权码获取授权信息 error,", e);
response = new RestApiResponse<>(e);
}
logger.info("使用授权码获取授权信息 result:{}", response);
return response;
}
/**
* 提交代码并生成体验版小程序
*
* @param dto
* @return
*/
@PostMapping("/commitCode")
public RestApiResponse<?> commitCode(@RequestBody CommitCodeDTO dto) {
logger.info("提交代码并生成体验版小程序 params:{}", JSONObject.toJSONString(dto));
RestApiResponse<?> response = null;
try {
String commitResult = agentDevService.commitCode(dto);
response = new RestApiResponse<>(commitResult);
} catch (Exception e) {
logger.error("提交代码并生成体验版小程序 error,", e);
response = new RestApiResponse<>(e);
}
logger.info("提交代码并生成体验版小程序 result:{}", response);
return response;
}
/**
* 获取类目列表
*
* @param authorizerAppid 用户授权的appid
* @return
*/
@GetMapping("/getAllCategoryName/{authorizerAppid}")
public RestApiResponse<?> getAllCategoryName(@PathVariable("authorizerAppid") String authorizerAppid) {
logger.info("获取类目列表 params:{}", authorizerAppid);
RestApiResponse<?> response = null;
try {
List<CategoryInfo> categoryInfos = agentDevService.getAllCategoryName(authorizerAppid);
response = new RestApiResponse<>(categoryInfos);
} catch (Exception e) {
logger.error("获取类目列表 error,", e);
response = new RestApiResponse<>(e);
}
logger.info("获取类目列表 result:{}", response);
return response;
}
/**
* 提交代码审核
*
* @return
*/
@PostMapping("/submitAudit")
public RestApiResponse<?> submitAudit(@RequestBody SubmitAuditDTO dto) {
logger.info("提交代码审核 params:{}", JSONObject.toJSONString(dto));
RestApiResponse<?> response = null;
try {
String result = agentDevService.submitAudit(dto);
response = new RestApiResponse<>(result);
} catch (Exception e) {
logger.error("提交代码审核 error,", e);
response = new RestApiResponse<>(e);
}
logger.info("提交代码审核 result:{}", response);
return response;
}
}