package com.ydtech.modules.admin.controller; import cn.hutool.core.util.XmlUtil; import com.alibaba.fastjson.JSON; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.dataformat.xml.XmlMapper; import com.ydtech.core.page.HttpResult; import com.ydtech.exception.SystemException; import com.ydtech.modules.admin.model.vo.WechatBindVo; import com.ydtech.modules.admin.model.vo.WechatLoginVo; import com.ydtech.modules.admin.model.vo.WechatVo; import com.ydtech.modules.admin.model.vo.wechat.WechatCustomerCallbackVo; import com.ydtech.modules.admin.model.vo.wechat.WechatEncryptVo; import com.ydtech.modules.admin.service.WechatService; import com.ydtech.modules.base.controller.BaseController; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.models.Xml; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import me.chanjar.weixin.common.error.WxErrorException; import me.chanjar.weixin.common.util.crypto.WxCryptUtil; import me.chanjar.weixin.cp.api.WxCpKfService; import me.chanjar.weixin.cp.bean.kf.WxCpKfMsgListResp; import me.chanjar.weixin.cp.bean.kf.WxCpKfMsgSendRequest; import me.chanjar.weixin.cp.util.crypto.WxCpCryptUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; import java.util.List; @Api(tags = "微信业务") @Slf4j @RestController @RequestMapping("/wechat") @RequiredArgsConstructor public class WechatController extends BaseController { private final WechatService wechatService; @PostMapping("/login") @ApiOperation(value = "登录") public HttpResult login(@RequestBody WechatLoginVo wechatLoginVo) { try { return wechatService.login(wechatLoginVo); } catch (WxErrorException e) { log.info(e.getMessage()); throw new SystemException("微信授权失败"); } } @PostMapping("/bind") @ApiOperation(value = "工号绑定微信") public HttpResult bind(@RequestBody WechatBindVo wechatBindVo) throws WxErrorException { try { String userId = getUserId(); return wechatService.bind(wechatBindVo, userId); } catch (WxErrorException e) { log.info(e.getMessage()); throw new SystemException("微信授权失败"); } } }