diff --git a/api/oms-api/libs/open-sdk-2.1.8.jar b/api/oms-api/libs/open-sdk-2.1.9.jar similarity index 93% rename from api/oms-api/libs/open-sdk-2.1.8.jar rename to api/oms-api/libs/open-sdk-2.1.9.jar index b82af3e5..4d4a29b3 100644 Binary files a/api/oms-api/libs/open-sdk-2.1.8.jar and b/api/oms-api/libs/open-sdk-2.1.9.jar differ diff --git a/api/oms-api/pom.xml b/api/oms-api/pom.xml index 6b33a44e..96de6c1d 100644 --- a/api/oms-api/pom.xml +++ b/api/oms-api/pom.xml @@ -98,7 +98,7 @@ open-sdk 1.0 system - ${project.basedir}/libs/open-sdk-2.1.8.jar + ${project.basedir}/libs/open-sdk-2.1.9.jar diff --git a/api/oms-api/src/main/java/cn/qihangerp/oms/dou/controller/DouOAuthController.java b/api/oms-api/src/main/java/cn/qihangerp/oms/dou/controller/DouOAuthController.java new file mode 100644 index 00000000..29f07d4a --- /dev/null +++ b/api/oms-api/src/main/java/cn/qihangerp/oms/dou/controller/DouOAuthController.java @@ -0,0 +1,63 @@ +package cn.qihangerp.oms.dou.controller; + +import cn.qihangerp.common.AjaxResult; +import cn.qihangerp.common.ResultVoEnum; +import cn.qihangerp.common.enums.EnumShopType; +import cn.qihangerp.common.enums.HttpStatus; +import cn.qihangerp.model.entity.OShopPlatform; +import cn.qihangerp.module.service.OShopPlatformService; +import cn.qihangerp.module.service.OShopService; +import cn.qihangerp.oms.dou.DouPullRequest; +import cn.qihangerp.open.common.ApiResultVo; +import cn.qihangerp.open.dou.DouTokenApiHelper; +import cn.qihangerp.open.dou.model.Token; +import lombok.AllArgsConstructor; +import org.springframework.util.StringUtils; +import org.springframework.web.bind.annotation.*; + +@AllArgsConstructor +@RestController +@RequestMapping("/dou/oauth") +public class DouOAuthController { + private final OShopService shopService; + private final OShopPlatformService platformService; + + @PostMapping("/update_token") + @ResponseBody + public AjaxResult getToken(@RequestBody DouPullRequest req) { + if(req.getShopId()==null) return AjaxResult.error("缺少参数:shopId"); + + var shop = shopService.getById(req.getShopId()); + if (shop == null) { + return AjaxResult.error("没有找到店铺"); + } + if (shop.getType() != EnumShopType.DOU.getIndex()) { + return AjaxResult.error(HttpStatus.PARAMS_ERROR, "店铺不是抖店店铺"); + } + if (shop.getSellerId() == null || shop.getSellerId()<=0) { + return AjaxResult.error("请设置抖店平台店铺ID(shopId)"); + } + String appKey = shop.getAppKey(); + String appSecret = shop.getAppSecret(); + if(StringUtils.isEmpty(appKey) || StringUtils.isEmpty(appSecret)) { + OShopPlatform platform = platformService.getById(EnumShopType.DOU.getIndex()); + appKey = platform.getAppKey(); + appSecret = platform.getAppSecret(); + } + + + if (!StringUtils.hasText(appKey)) { + return AjaxResult.error(HttpStatus.PARAMS_ERROR, "店铺配置错误,没有找到AppKey"); + } + if (!StringUtils.hasText(appSecret)) { + return AjaxResult.error(HttpStatus.PARAMS_ERROR, "店铺配置错误,没有找到AppSecret"); + } + ApiResultVo token = DouTokenApiHelper.getToken(appKey, appSecret, shop.getSellerId()); + if(token.getCode()!=0) { + return AjaxResult.error(ResultVoEnum.API_FAIL.getIndex(), token.getMsg()); + }else{ + shopService.updateSessionKey(req.getShopId(), token.getData().getAccessToken()); + } + return AjaxResult.success(); + } +} diff --git a/vue/src/api/dou/shop.js b/vue/src/api/dou/shop.js new file mode 100644 index 00000000..f36413ef --- /dev/null +++ b/vue/src/api/dou/shop.js @@ -0,0 +1,13 @@ +import request from '@/utils/request' + +// 更新token +export function updateDouToken(data) { + return request({ + url: '/dou/oauth/update_token', + method: 'post', + data: data + }) +} + + + diff --git a/vue/src/views/shop/online_shop.vue b/vue/src/views/shop/online_shop.vue index 93ea82d2..acd6724f 100644 --- a/vue/src/views/shop/online_shop.vue +++ b/vue/src/views/shop/online_shop.vue @@ -112,7 +112,7 @@ >删除 { + if(resp.code === 200){ + this.$modal.msgSuccess("Token更新成功") + this.getList() + }else{ + this.$modal.msgError(resp.msg) + } + + }) + }else{ + this.$modal.msgError('暂时不支持') } },