新增快手电商接口
This commit is contained in:
parent
555a7e1ee0
commit
a7a18bfa0e
|
|
@ -8,10 +8,11 @@ package com.qihang.common.common;
|
|||
*/
|
||||
public enum ResultVoEnum {
|
||||
SUCCESS("成功", 0),
|
||||
TokenFail("Token失效",401),
|
||||
NotFound("NotFound", 404),//没有找到
|
||||
Unable("Unable", 403),//无法处理
|
||||
// NotLogin("未登录", 400),//未登录
|
||||
Cancelled("Cancelled", 401),//已经取消的
|
||||
Cancelled("Cancelled", 408),//已经取消的
|
||||
StateError("StateError", 402),//状态错误
|
||||
Locking("Locking", 405),//锁定,不能操作
|
||||
NumberLess("数量不足", 406),
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ public enum EnumShopType {
|
|||
JD("京东", 2),
|
||||
DOUDIAN("抖音", 3),
|
||||
WEI("微信视频号小店", 5),
|
||||
KWAI("快手小店", 6),
|
||||
PDD("拼多多", 4);
|
||||
private String name;
|
||||
private int index;
|
||||
|
|
|
|||
|
|
@ -1615,29 +1615,6 @@ INSERT INTO `sys_menu` VALUES (117, '菜单管理', 5, 1, 'menu', 'system/menu/i
|
|||
INSERT INTO `sys_menu` VALUES (2078, '添加ERP商品', 4, 9, 'goods_add', 'goods/create', NULL, 1, 0, 'C', '0', '0', NULL, 'checkbox', 'admin', '2024-03-18 07:59:57', '', NULL, '');
|
||||
INSERT INTO `sys_menu` VALUES (2079, '字典管理', 5, 9, 'dict', 'system/dict/index', NULL, 1, 0, 'C', '0', '0', '', 'dict', 'admin', '2024-03-18 08:43:55', 'admin', '2024-03-18 08:44:08', '');
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for sys_platform
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `sys_platform`;
|
||||
CREATE TABLE `sys_platform` (
|
||||
`id` int(0) NOT NULL,
|
||||
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '平台名',
|
||||
`code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '平台编码',
|
||||
`app_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
|
||||
`app_secret` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
|
||||
`redirect_uri` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '平台回调uri',
|
||||
`server_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '接口访问地址',
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of sys_platform
|
||||
-- ----------------------------
|
||||
INSERT INTO `sys_platform` VALUES (1, '天猫', 'TMALL', '', '', NULL, NULL);
|
||||
INSERT INTO `sys_platform` VALUES (2, '京东', 'JD', '', '', '', '');
|
||||
INSERT INTO `sys_platform` VALUES (3, '抖店', 'DOUDIAN', '', '', NULL, NULL);
|
||||
INSERT INTO `sys_platform` VALUES (4, '拼多多', 'PDD', '', '', NULL, NULL);
|
||||
INSERT INTO `sys_platform` VALUES (5, '视频号小店', 'WEI', '', NULL, NULL, 'https://api.weixin.qq.com');
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for sys_post
|
||||
|
|
@ -1809,39 +1786,6 @@ INSERT INTO `sys_role_menu` VALUES (2, 1058);
|
|||
INSERT INTO `sys_role_menu` VALUES (2, 1059);
|
||||
INSERT INTO `sys_role_menu` VALUES (2, 1060);
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for sys_shop
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `sys_shop`;
|
||||
CREATE TABLE `sys_shop` (
|
||||
`id` int(0) NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||||
`name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '店铺名',
|
||||
`type` int(0) NOT NULL COMMENT '对应第三方平台Id',
|
||||
`url` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '店铺url',
|
||||
`sort` int(0) NOT NULL DEFAULT 9 COMMENT '排序',
|
||||
`status` int(0) DEFAULT 0 COMMENT '状态(1正常2已删除)',
|
||||
`modify_on` bigint(0) NOT NULL COMMENT '更新时间',
|
||||
`remark` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '描述',
|
||||
`seller_id` bigint(0) NOT NULL DEFAULT 0 COMMENT '第三方平台店铺id,淘宝天猫开放平台使用',
|
||||
`app_key` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT 'Appkey',
|
||||
`app_sercet` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT 'Appsercet',
|
||||
`access_token` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '第三方平台sessionKey(access_token)',
|
||||
`expires_in` bigint(0) DEFAULT NULL COMMENT '到期',
|
||||
`access_token_begin` bigint(0) DEFAULT NULL COMMENT 'access_token开始时间',
|
||||
`refresh_token` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '刷新token',
|
||||
`refresh_token_timeout` bigint(0) DEFAULT NULL COMMENT '刷新token过期时间',
|
||||
`api_request_url` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '请求url',
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE = InnoDB AUTO_INCREMENT = 23 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据中心-店铺' ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of sys_shop
|
||||
-- ----------------------------
|
||||
INSERT INTO `sys_shop` VALUES (1, '天猫旗舰店', 1, '', 98, 1, 0, '', 59972781, '', '', '', NULL, NULL, NULL, NULL, 'http://gw.api.taobao.com/router/rest');
|
||||
INSERT INTO `sys_shop` VALUES (2, '京东旗舰店', 2, NULL, 9, 1, 0, NULL, 10706, NULL, NULL, '', 31535999, NULL, '', NULL, NULL);
|
||||
INSERT INTO `sys_shop` VALUES (3, '抖音旗舰店', 3, 'http://openapi.jinritemai.com', 87, 1, 1653672695, NULL, 0, '', '', '', NULL, NULL, NULL, NULL, '2');
|
||||
INSERT INTO `sys_shop` VALUES (5, '拼多多旗舰店', 4, NULL, 99, 1, 1680698886, '', 100061591, NULL, NULL, '', NULL, NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `sys_shop` VALUES (6, '视频号小店', 5, NULL, 9, 0, 0, NULL, 0, '', '', '', NULL, NULL, NULL, NULL, 'https://api.weixin.qq.com');
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for sys_shop_pull_lasttime
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -0,0 +1,30 @@
|
|||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>com.qihang</groupId>
|
||||
<artifactId>open-api</artifactId>
|
||||
<version>1.0.0</version>
|
||||
</parent>
|
||||
|
||||
<groupId>com.qihang.kwai</groupId>
|
||||
<artifactId>kwai-api</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<name>kwai-api</name>
|
||||
<url>http://maven.apache.org</url>
|
||||
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>kuaishou</groupId>
|
||||
<artifactId>kuaishou-merchant-open-sdk-</artifactId>
|
||||
<version>1.0.10</version>
|
||||
<scope>system</scope>
|
||||
<systemPath>${project.basedir}/libs/kuaishou-merchant-open-sdk-1.0.10.jar</systemPath>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
package com.qihang.kwai;
|
||||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.context.annotation.ComponentScan;
|
||||
|
||||
@ComponentScan(basePackages={"com.qihang"})
|
||||
@SpringBootApplication
|
||||
public class KwaiApi {
|
||||
public static void main( String[] args )
|
||||
{
|
||||
System.out.println( "Hello kwai-api!" );
|
||||
SpringApplication.run(KwaiApi.class, args);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
package com.qihang.kwai.common;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class PullRequest {
|
||||
private Integer shopId;//店铺Id
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
package com.qihang.kwai.config;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.DbType;
|
||||
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
|
||||
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
|
||||
import org.mybatis.spring.annotation.MapperScan;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
@Configuration
|
||||
@MapperScan("com.qihang.kwai.mapper")
|
||||
public class MybatisPlusConfig {
|
||||
@Bean
|
||||
public MybatisPlusInterceptor mybatisPlusInterceptor() {
|
||||
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
|
||||
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); //注意使用哪种数据库
|
||||
return interceptor;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,213 @@
|
|||
package com.qihang.kwai.controller;
|
||||
|
||||
import com.kuaishou.merchant.open.api.KsMerchantApiException;
|
||||
import com.kuaishou.merchant.open.api.client.AccessTokenKsMerchantClient;
|
||||
import com.kuaishou.merchant.open.api.request.KsMerchantOrderListRequest;
|
||||
import com.kuaishou.merchant.open.api.request.KsMerchantOrderLogisticsUpdateRequest;
|
||||
import com.kuaishou.merchant.open.api.response.KsMerchantOrderListResponse;
|
||||
import com.qihang.common.common.AjaxResult;
|
||||
import com.qihang.common.common.ResultVo;
|
||||
import com.qihang.common.common.ResultVoEnum;
|
||||
import com.qihang.common.enums.EnumShopType;
|
||||
import com.qihang.kwai.common.PullRequest;
|
||||
import com.qihang.kwai.domain.KwaiOrder;
|
||||
import com.qihang.kwai.service.KwaiOrderService;
|
||||
import com.qihang.kwai.service.SysPlatformService;
|
||||
import com.qihang.kwai.service.SysShopService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.util.StringUtils;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
|
||||
@RequestMapping("/order")
|
||||
@RestController
|
||||
public class AjaxOrderKwaiController {
|
||||
private static Logger log = LoggerFactory.getLogger(AjaxOrderKwaiController.class);
|
||||
@Autowired
|
||||
private SysPlatformService platformService;
|
||||
@Autowired
|
||||
private KwaiOrderService kwaiOrderService;
|
||||
@Autowired
|
||||
private SysShopService shopService;
|
||||
// private static String appKey="ks701717119425407331";
|
||||
// // 对应授权商家快手账号
|
||||
// private static long sellerId = 1372638315L;
|
||||
|
||||
@RequestMapping(value = "/pull_order", method = RequestMethod.POST)
|
||||
public AjaxResult getOrderList(@RequestBody PullRequest reqData){
|
||||
Integer shopId = reqData.getShopId();
|
||||
var shop = shopService.getById(shopId);
|
||||
var platform = platformService.getById(EnumShopType.KWAI.getIndex());
|
||||
// String accessToken = shop.getAccessToken();
|
||||
// String startDate = "";//reqData.getString("startTime");
|
||||
// String endDate = "";//reqData.getString("endTime");
|
||||
|
||||
Long endTime = System.currentTimeMillis() / 1000;//订单更新结束时间
|
||||
Long startTime = endTime-(60 * 60 * 24 * 1);//订单更新开始时间
|
||||
|
||||
// if(!StringUtils.isEmpty(startDate))startTime = DateUtil.dateToStamp(startDate).longValue();
|
||||
|
||||
// if (!StringUtils.isEmpty(endDate)) endTime = DateUtil.dateTimeToStamp(endDate + " 23:59:00").longValue();
|
||||
|
||||
|
||||
long kaishidaojiesu = endTime - startTime;
|
||||
long forSize = (kaishidaojiesu % (60 * 60 * 24) == 0) ? kaishidaojiesu / (60 * 60 * 24) : kaishidaojiesu / (60 * 60 * 24) + 1;//计算需要循环的次数
|
||||
|
||||
// log.info("开始循环更新快手订单。开始时间:" + DateUtil.unixTimeStampToDate(startTime) + "结束时间:" + DateUtil.unixTimeStampToDate(endTime) + "总共循环" + forSize);
|
||||
int pageIndex = 1;
|
||||
int pageSize = 50;
|
||||
|
||||
ResultVo<Long> result=null;
|
||||
for (int i = 0; i < forSize; i++) {
|
||||
Long startTime1 = startTime + i * 60 * 60 * 24;
|
||||
Long endTime1 = startTime1 + 60 * 60 * 24;
|
||||
result = this.pullOrder(platform.getAppKey(),shop.getSellerId(), pageIndex,pageSize,shop.getAccessToken(), startTime1, endTime1);
|
||||
|
||||
if(result.getCode()>0) return AjaxResult.error(result.getCode(), result.getMsg());
|
||||
//计算总页数
|
||||
int totalPage = (result.getData().intValue() % pageSize == 0) ? result.getData().intValue() / pageSize : (result.getData().intValue() / pageSize) + 1;
|
||||
|
||||
while (pageIndex < totalPage) {
|
||||
pageIndex++;
|
||||
result = this.pullOrder(platform.getAppKey(),shop.getSellerId(),pageIndex,pageSize,shop.getAccessToken(), startTime1, endTime1);
|
||||
}
|
||||
pageIndex=1;
|
||||
}
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
public ResultVo<Long> pullOrder(String appKey,Long sellerId,Integer pageIndex, Integer pageSize, String token, Long startTime, Long endTime) {
|
||||
|
||||
AccessTokenKsMerchantClient tokenKsMerchantClient = new AccessTokenKsMerchantClient(appKey);
|
||||
KsMerchantOrderListRequest ksMerchantOrderListRequest = new KsMerchantOrderListRequest();
|
||||
|
||||
// common param
|
||||
ksMerchantOrderListRequest.setAccessToken(token);
|
||||
ksMerchantOrderListRequest.setUid(sellerId);
|
||||
ksMerchantOrderListRequest.setApiMethodVersion(1);
|
||||
// business param
|
||||
ksMerchantOrderListRequest.setType(1);
|
||||
ksMerchantOrderListRequest.setQueryType(2);
|
||||
ksMerchantOrderListRequest.setSellerId(sellerId);
|
||||
ksMerchantOrderListRequest.setCurrentPage(pageIndex);
|
||||
ksMerchantOrderListRequest.setPageSize(pageSize);
|
||||
ksMerchantOrderListRequest.setBeginTime(startTime*1000);//时间范围只能24小时
|
||||
ksMerchantOrderListRequest.setEndTime(endTime*1000);
|
||||
ksMerchantOrderListRequest.setPcursor("");
|
||||
|
||||
// api invoke
|
||||
try {
|
||||
KsMerchantOrderListResponse response = tokenKsMerchantClient.execute(ksMerchantOrderListRequest);
|
||||
if(!StringUtils.isEmpty(response.getErrorMsg()) && response.getResult()==24)
|
||||
return ResultVo.error(ResultVoEnum.TokenFail.getIndex(), "异常:"+response.getErrorMsg());
|
||||
if(!StringUtils.isEmpty(response.getErrorMsg()) && response.getResult()!=24)
|
||||
return ResultVo.error(ResultVoEnum.SystemException.getIndex(), "异常:"+response.getErrorMsg());
|
||||
|
||||
var list= response.getMerchantOrderListData().getOrderInfoList();
|
||||
for(var obj :list){
|
||||
KwaiOrder order= new KwaiOrder();
|
||||
// var address = JsonUtil.strToObject(obj.getAddress(),DcKwaiAddressVo.class);
|
||||
order.setOid(obj.getOid());
|
||||
Long discountFee=obj.getDiscountFee();
|
||||
order.setDiscountfee(obj.getDiscountFee()>0 ? new BigDecimal(discountFee/100) : new BigDecimal(0));
|
||||
Long expressFee=obj.getExpressFee();
|
||||
order.setExpressfee(obj.getExpressFee()>0 ? new BigDecimal(expressFee.doubleValue() /100) : new BigDecimal(0));
|
||||
order.setNum(obj.getNum());
|
||||
// order.setConsignee(address.getConsignee());
|
||||
// order.setMobile(address.getMobile());
|
||||
// order.setPaytime(obj.getPayTime()>0 ? obj.getPayTime()/1000 : 0L);
|
||||
// order.setBuyerRemark(obj.getRemark());
|
||||
// order.setSellerRemark(obj.getSellerNoteList().toString());
|
||||
// order.setStatus(obj.getStatus());
|
||||
// order.setRefund(obj.getRefund());
|
||||
// Long totalFee=obj.getTotalFee();
|
||||
// order.setTotalfee(totalFee>0 ? new BigDecimal(totalFee.doubleValue()/100) : new BigDecimal(0));
|
||||
// order.setProvince(address.getProvince());
|
||||
// order.setCity(address.getCity());
|
||||
// order.setDistrict(address.getDistrict());
|
||||
// StringBuilder sb= new StringBuilder(address.getProvince()).append(address.getCity()).append(address.getDistrict()).append(address.getAddress());
|
||||
// order.setAddress(sb.toString());
|
||||
// order.setCreatetime(obj.getCreateTime()>0 ? obj.getCreateTime()/1000 :0L);
|
||||
// List<DcKwaiOrdersItemEntity> items = new ArrayList<>();
|
||||
// for(var kwaiItem:obj.getOrderProductInfoList()){
|
||||
// DcKwaiOrdersItemEntity item=new DcKwaiOrdersItemEntity();
|
||||
// item.setItemid(kwaiItem.getItemId());
|
||||
// item.setItempicurl(kwaiItem.getItemPicUrl());
|
||||
// Long price=kwaiItem.getPrice();
|
||||
// item.setPrice(price>0 ? new BigDecimal(price.doubleValue()/100) : new BigDecimal(0));
|
||||
// item.setRefundId(kwaiItem.getRefundId());
|
||||
// item.setRefundStatus(kwaiItem.getRefundStatus());
|
||||
// item.setSkunick(StringUtils.isEmpty(kwaiItem.getSkuNick()) ? "" : kwaiItem.getSkuNick());
|
||||
// item.setItemtitle(kwaiItem.getItemTitle());
|
||||
// item.setNum(kwaiItem.getNum());
|
||||
// item.setGoodsspec(kwaiItem.getSkuDesc());
|
||||
// items.add(item);
|
||||
// }
|
||||
// order.setItems(items);
|
||||
// var result= kwaiOrderService.editKwaiOrder(order);
|
||||
log.info(order.getOid()+"更新:");
|
||||
}
|
||||
return ResultVo.success(response.getMerchantOrderListData().getTotalSize());
|
||||
} catch (KsMerchantApiException e) {
|
||||
return ResultVo.error(ResultVoEnum.Fail.getIndex(), "异常:"+e.getErrorMsg());
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 订单确认
|
||||
* @return
|
||||
*/
|
||||
// @RequestMapping(value = "/affirm_order", method = RequestMethod.POST)
|
||||
// public ApiResult<Integer> orderAffirm(@RequestBody OrderConfirmReq req){
|
||||
// if (req.getOrderId() == null || req.getOrderId() <= 0)
|
||||
// return new ApiResult<>(ApiResultEnum.ParamsError.getIndex(), "参数错误,缺少orderId");
|
||||
//
|
||||
// if (StringUtils.isEmpty(req.getClientId()))req.setClientId(0);
|
||||
//
|
||||
// if (StringUtils.isEmpty(req.getReceiver()))
|
||||
// return new ApiResult<>(ApiResultEnum.ParamsError.getIndex(), "参数错误,缺少receiver");
|
||||
// if (StringUtils.isEmpty(req.getMobile()))
|
||||
// return new ApiResult<>(ApiResultEnum.ParamsError.getIndex(), "参数错误,缺少mobile");
|
||||
// if (StringUtils.isEmpty(req.getAddress()))
|
||||
// return new ApiResult<>(ApiResultEnum.ParamsError.getIndex(), "参数错误,缺少address");
|
||||
// var result = kwaiOrderService.kwaiOrderAffirm(req.getOrderId(),req.getClientId(),req.getReceiver(), req.getMobile(), req.getAddress(), req.getSellerMemo());
|
||||
// return new ApiResult<>(result.getCode(), result.getMsg());
|
||||
// }
|
||||
// /**
|
||||
// * 订单发货
|
||||
// * @param req
|
||||
// * @return
|
||||
// */
|
||||
// @RequestMapping(value = "/send_order", method = RequestMethod.POST)
|
||||
// public ApiResult<Integer> orderSend(@RequestBody DataRow req){
|
||||
// if(StringUtils.isEmpty(req.get("orderId")))return new ApiResult<>(EnumResultVo.ParamsError.getIndex(),"参数错误,订单id不能为空");
|
||||
// if(StringUtils.isEmpty(req.get("code")))return new ApiResult<>(EnumResultVo.ParamsError.getIndex(),"参数错误,快递单号不能为空");
|
||||
// Integer shopId = 13;
|
||||
// var shop = shopService.getShop(shopId);
|
||||
// var settingEntity = thirdSettingService.getEntity(shop.getType());
|
||||
// AccessTokenKsMerchantClient tokenKsMerchantClient = new AccessTokenKsMerchantClient(appKey);
|
||||
// KsMerchantOrderLogisticsUpdateRequest ksMerchantLogisticsRequest=new KsMerchantOrderLogisticsUpdateRequest();
|
||||
// try {
|
||||
// ksMerchantLogisticsRequest.setAccessToken(settingEntity.getAccess_token());
|
||||
// ksMerchantLogisticsRequest.setUid(sellerId);
|
||||
// ksMerchantLogisticsRequest.setApiMethodVersion(1);
|
||||
// ksMerchantLogisticsRequest.setOrderId(req.getLong("orderId"));
|
||||
// ksMerchantLogisticsRequest.setExpressCode(EnumKwaiExpressCodeVo.getIndex(req.getString("name")));
|
||||
// ksMerchantLogisticsRequest.setExpressNo(req.getString("code"));
|
||||
// ksMerchantLogisticsRequest.setSellerId(sellerId);
|
||||
// var ksResponse = tokenKsMerchantClient.execute(ksMerchantLogisticsRequest);
|
||||
// if(ksResponse.getResult()==1){
|
||||
// kwaiOrderService.updKwaiOrderStatus(req.getLong("orderId"));
|
||||
// return new ApiResult<>(ApiResultEnum.SUCCESS.getIndex(), "成功");
|
||||
// }else return new ApiResult<>(ApiResultEnum.Fail.getIndex(), ksResponse.getErrorMsg());
|
||||
// }catch (KsMerchantApiException e) {
|
||||
// return new ApiResult<>(ApiResultEnum.Fail.getIndex(), "异常:"+e.getErrorMsg());
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
package com.qihang.kwai.controller;
|
||||
|
||||
public class HomeController {
|
||||
}
|
||||
|
|
@ -0,0 +1,73 @@
|
|||
package com.qihang.kwai.controller;
|
||||
|
||||
import com.kuaishou.merchant.open.api.KsMerchantApiException;
|
||||
import com.kuaishou.merchant.open.api.client.oauth.OauthAccessTokenKsClient;
|
||||
import com.kuaishou.merchant.open.api.response.KsAccessTokenResponse;
|
||||
import com.qihang.common.enums.EnumShopType;
|
||||
import com.qihang.kwai.service.SysPlatformService;
|
||||
import com.qihang.kwai.service.SysShopService;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
/**
|
||||
* 描述:
|
||||
* 阿里授权Controller
|
||||
*
|
||||
* @author qlp
|
||||
* @date 2019-09-12 14:13
|
||||
*/
|
||||
@AllArgsConstructor
|
||||
@RequestMapping("/kwai")
|
||||
@RestController
|
||||
public class KwaiOAuthController {
|
||||
|
||||
private final SysPlatformService platformService;
|
||||
private final SysShopService shopService;
|
||||
private static String clientId="ks701717119425407331";
|
||||
private static String clientSecret="0qBrIYOPrqGb8SM9ouVx9w";
|
||||
private static Logger log = LoggerFactory.getLogger(KwaiOAuthController.class);
|
||||
|
||||
|
||||
/**
|
||||
* 调取授权页面
|
||||
* @return
|
||||
* @throws IOException
|
||||
* @throws InterruptedException
|
||||
*/
|
||||
@RequestMapping("/callback")
|
||||
public String aliOAuth(HttpServletRequest req) throws IOException, InterruptedException {
|
||||
String grantCode = req.getParameter("code");
|
||||
String shopId = req.getParameter("state");
|
||||
|
||||
OauthAccessTokenKsClient oauthAccessTokenKsClient = new OauthAccessTokenKsClient(clientId, clientSecret);
|
||||
try {
|
||||
KsAccessTokenResponse response = oauthAccessTokenKsClient.getAccessToken(grantCode);
|
||||
Long expireIn=response.getExpiresIn();
|
||||
shopService.updateAccessToken(Integer.parseInt(shopId), response.getAccessToken(), response.getRefreshToken(),expireIn);
|
||||
} catch (KsMerchantApiException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return "redirect:/";
|
||||
}
|
||||
|
||||
@RequestMapping("/oauth2")
|
||||
public String callback(@RequestParam Integer shopId) throws IOException, InterruptedException {
|
||||
|
||||
var platform = platformService.getById(EnumShopType.KWAI.getIndex());
|
||||
String redirect_uri = platform.getRedirectUri();
|
||||
String appId= platform.getAppKey();
|
||||
|
||||
String url = "https://s.kwaixiaodian.com/oauth/authorize?response_type=code&app_id="+appId+"&scope=user_info,merchant_item,merchant_order,merchant_refund&redirect_uri="+redirect_uri+"&state="+shopId;
|
||||
|
||||
return url;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,110 @@
|
|||
//package com.qihang.kwai.controller;
|
||||
//
|
||||
//import com.qihang.kwai.service.KwaiOrderService;
|
||||
//import com.qihang.kwai.service.SysShopService;
|
||||
//import org.springframework.beans.factory.annotation.Autowired;
|
||||
//import org.springframework.stereotype.Controller;
|
||||
//import org.springframework.ui.Model;
|
||||
//import org.springframework.util.StringUtils;
|
||||
//import org.springframework.web.bind.annotation.RequestMapping;
|
||||
//import org.springframework.web.bind.annotation.RequestMethod;
|
||||
//import org.springframework.web.bind.annotation.RequestParam;
|
||||
//import org.springframework.web.bind.annotation.RestController;
|
||||
//
|
||||
///**
|
||||
// * 描述:
|
||||
// *
|
||||
// * @author qlp
|
||||
// * @date 2019-11-13 14:44
|
||||
// */
|
||||
//@RestController
|
||||
//@RequestMapping("/kwai")
|
||||
//public class KwaiOrderController {
|
||||
// @Autowired
|
||||
// private SysShopService shopService;
|
||||
// @Autowired
|
||||
// private KwaiOrderService kwaiOrderService;
|
||||
// /**
|
||||
// * 订单列表
|
||||
// * @param model
|
||||
// * @param request
|
||||
// * @return
|
||||
// */
|
||||
// @RequestMapping("/order_list")
|
||||
// public String orderList(){
|
||||
// Integer shopId= 13;
|
||||
// //查询店铺信息
|
||||
// var shop = shopService.getShop(shopId);
|
||||
// model.addAttribute("shop",shop);
|
||||
//
|
||||
// model.addAttribute("menuId","order_list");
|
||||
// model.addAttribute("shopId",shopId);
|
||||
// String orderNum="";
|
||||
// if (!StringUtils.isEmpty(request.getParameter("orderNum"))) {
|
||||
// orderNum = request.getParameter("orderNum");
|
||||
// model.addAttribute("orderNum", orderNum);
|
||||
// }
|
||||
// String status="";
|
||||
// if (!StringUtils.isEmpty(request.getParameter("status"))) status = request.getParameter("status");
|
||||
// Integer startTime=null;
|
||||
// if (!StringUtils.isEmpty(request.getParameter("startTime"))){
|
||||
// startTime = DateUtil.dateToStamp(request.getParameter("startTime")) ;
|
||||
// model.addAttribute("startTime",request.getParameter("startTime"));
|
||||
// }
|
||||
// Integer endTime=null;
|
||||
// if (!StringUtils.isEmpty(request.getParameter("endTime"))) {
|
||||
// endTime = DateUtil.dateTimeToStamp(request.getParameter("endTime") + " 23:59:59");
|
||||
// model.addAttribute("endTime",request.getParameter("endTime"));
|
||||
// }
|
||||
// Integer pageIndex = 1, pageSize = DataConfigObject.getInstance().getPageSize();
|
||||
// if (!StringUtils.isEmpty(request.getParameter("page"))) {
|
||||
// pageIndex = Integer.parseInt(request.getParameter("page"));
|
||||
// }
|
||||
//
|
||||
// PagingResponse<DcKwaiOrderEntity> result =kwaiOrderService.getKwaiOrders(pageIndex,pageSize,orderNum,startTime,endTime,status);
|
||||
// model.addAttribute("pageIndex", pageIndex);
|
||||
// model.addAttribute("pageSize", pageSize);
|
||||
// model.addAttribute("totalSize", result.getTotalSize());
|
||||
// model.addAttribute("lists", result.getList());
|
||||
//
|
||||
// return "v3/order_list_kwai";
|
||||
// }
|
||||
// /**
|
||||
// * 订单详情(douyin)
|
||||
// *
|
||||
// * @param model
|
||||
// * @param id
|
||||
// * @param shopId
|
||||
// * @param request
|
||||
// * @return
|
||||
// */
|
||||
// @RequestMapping(value = "/orderDetail", method = RequestMethod.GET)
|
||||
// public String orderDetailTmall(Model model, @RequestParam Long id, @RequestParam Integer shopId, HttpServletRequest request) {
|
||||
//
|
||||
// DcKwaiOrderEntity orderDetail = kwaiOrderService.getOderDetailByOrderId(id);
|
||||
//
|
||||
// model.addAttribute("orderVo", orderDetail);
|
||||
//
|
||||
// //查询店铺信息
|
||||
// var shop = shopService.getShop(shopId);
|
||||
// model.addAttribute("shop", shop);
|
||||
// model.addAttribute("menuId", "order_list");
|
||||
//
|
||||
// return "v3/order_detail_kwai";
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 订单确认页面
|
||||
// * @param model
|
||||
// * @param orderId
|
||||
// * @param request
|
||||
// * @return
|
||||
// */
|
||||
// @RequestMapping("/order_confirm")
|
||||
// public String orderList(Model model,@RequestParam Long orderId, HttpServletRequest request){
|
||||
// DcKwaiOrderEntity orderDetail = kwaiOrderService.getOderDetailByOrderId(orderId);
|
||||
// model.addAttribute("orderVo", orderDetail);
|
||||
//
|
||||
// return "v3/order_confirm_kwai";
|
||||
// }
|
||||
//}
|
||||
|
|
@ -0,0 +1,139 @@
|
|||
package com.qihang.kwai.domain;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 快手订单
|
||||
* @TableName kwai_order
|
||||
*/
|
||||
@Data
|
||||
public class KwaiOrder implements Serializable {
|
||||
/**
|
||||
* dc订单id
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 快手订单id
|
||||
*/
|
||||
private Long oid;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Long createtime;
|
||||
|
||||
/**
|
||||
* 折扣价格
|
||||
*/
|
||||
private BigDecimal discountfee;
|
||||
|
||||
/**
|
||||
* 运费
|
||||
*/
|
||||
private BigDecimal expressfee;
|
||||
|
||||
/**
|
||||
* sku数量
|
||||
*/
|
||||
private Integer num;
|
||||
|
||||
/**
|
||||
* 收件人姓名
|
||||
*/
|
||||
private String consignee;
|
||||
|
||||
/**
|
||||
* 收件人手机号
|
||||
*/
|
||||
private String mobile;
|
||||
|
||||
/**
|
||||
* 支付时间
|
||||
*/
|
||||
private Long paytime;
|
||||
|
||||
/**
|
||||
* 买家备注
|
||||
*/
|
||||
private String buyerremark;
|
||||
|
||||
/**
|
||||
* 卖家备注
|
||||
*/
|
||||
private String sellerremark;
|
||||
|
||||
/**
|
||||
* 订单状态
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 是否退款 0未退款 1该订单申请过退款
|
||||
*/
|
||||
private Integer refund;
|
||||
|
||||
/**
|
||||
* 子订单商品总价
|
||||
*/
|
||||
private BigDecimal totalfee;
|
||||
|
||||
/**
|
||||
* 省
|
||||
*/
|
||||
private String province;
|
||||
|
||||
/**
|
||||
* 市
|
||||
*/
|
||||
private String city;
|
||||
|
||||
/**
|
||||
* 区
|
||||
*/
|
||||
private String district;
|
||||
|
||||
/**
|
||||
* 详细地址
|
||||
*/
|
||||
private String address;
|
||||
|
||||
/**
|
||||
* 快递公司
|
||||
*/
|
||||
private String logisticscompany;
|
||||
|
||||
/**
|
||||
* 快递公司编码
|
||||
*/
|
||||
private String logisticscompanycode;
|
||||
|
||||
/**
|
||||
* 快递单号
|
||||
*/
|
||||
private String logisticscode;
|
||||
|
||||
/**
|
||||
* 订单审核状态(0待审核1已审核)
|
||||
*/
|
||||
private Integer auditstatus;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Long createon;
|
||||
|
||||
/**
|
||||
* 发货状态(0待出库1拣货中2已拣货3已出库4已发货)
|
||||
*/
|
||||
private Integer sendstatus;
|
||||
|
||||
/**
|
||||
* 发货时间(仓库真实发货时间)
|
||||
*/
|
||||
private Long sendtime;
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
||||
|
|
@ -0,0 +1,93 @@
|
|||
package com.qihang.kwai.domain;
|
||||
|
||||
import java.io.Serializable;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
*
|
||||
* @TableName kwai_orders_item
|
||||
*/
|
||||
@Data
|
||||
public class KwaiOrdersItem implements Serializable {
|
||||
/**
|
||||
* id,自增
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 快手子订单id
|
||||
*/
|
||||
private Long itemid;
|
||||
|
||||
/**
|
||||
* 订单ID
|
||||
*/
|
||||
private Long orderid;
|
||||
|
||||
/**
|
||||
* erp系统商品id
|
||||
*/
|
||||
private Integer erpgoodsid;
|
||||
|
||||
/**
|
||||
* erp系统商品规格id
|
||||
*/
|
||||
private Integer erpgoodsspecid;
|
||||
|
||||
/**
|
||||
* 商品名称
|
||||
*/
|
||||
private String itemtitle;
|
||||
|
||||
/**
|
||||
* 商品图片
|
||||
*/
|
||||
private String itempicurl;
|
||||
|
||||
/**
|
||||
* 商品编码
|
||||
*/
|
||||
private String goodsnum;
|
||||
|
||||
/**
|
||||
* 商品规格
|
||||
*/
|
||||
private String goodsspec;
|
||||
|
||||
/**
|
||||
* 商品规格编码
|
||||
*/
|
||||
private String skunick;
|
||||
|
||||
/**
|
||||
* 商品单价
|
||||
*/
|
||||
private Double price;
|
||||
|
||||
/**
|
||||
* 商品数量
|
||||
*/
|
||||
private Integer num;
|
||||
|
||||
/**
|
||||
* 退货Id
|
||||
*/
|
||||
private Long refundid;
|
||||
|
||||
/**
|
||||
* 退货状态
|
||||
*/
|
||||
private Integer refundstatus;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 是否赠品0:否1:是
|
||||
*/
|
||||
private Integer isgift;
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
package com.qihang.kwai.domain;
|
||||
|
||||
import java.io.Serializable;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
*
|
||||
* @TableName sys_platform
|
||||
*/
|
||||
@Data
|
||||
public class SysPlatform implements Serializable {
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 平台名
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 平台编码
|
||||
*/
|
||||
private String code;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private String appKey;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private String appSecret;
|
||||
|
||||
/**
|
||||
* 平台回调uri
|
||||
*/
|
||||
private String redirectUri;
|
||||
|
||||
/**
|
||||
* 接口访问地址
|
||||
*/
|
||||
private String serverUrl;
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
||||
|
|
@ -0,0 +1,98 @@
|
|||
package com.qihang.kwai.domain;
|
||||
|
||||
import java.io.Serializable;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 数据中心-店铺
|
||||
* @TableName sys_shop
|
||||
*/
|
||||
@Data
|
||||
public class SysShop implements Serializable {
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 店铺名
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 对应第三方平台Id
|
||||
*/
|
||||
private Integer type;
|
||||
|
||||
/**
|
||||
* 店铺url
|
||||
*/
|
||||
private String url;
|
||||
|
||||
/**
|
||||
* 排序
|
||||
*/
|
||||
private Integer sort;
|
||||
|
||||
/**
|
||||
* 状态(1正常2已删除)
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
private Long modifyOn;
|
||||
|
||||
/**
|
||||
* 描述
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 第三方平台店铺id,淘宝天猫开放平台使用
|
||||
*/
|
||||
private Long sellerId;
|
||||
|
||||
/**
|
||||
* Appkey
|
||||
*/
|
||||
private String appKey;
|
||||
|
||||
/**
|
||||
* Appsercet
|
||||
*/
|
||||
private String appSercet;
|
||||
|
||||
/**
|
||||
* 第三方平台sessionKey(access_token)
|
||||
*/
|
||||
private String accessToken;
|
||||
|
||||
/**
|
||||
* 到期
|
||||
*/
|
||||
private Long expiresIn;
|
||||
|
||||
/**
|
||||
* access_token开始时间
|
||||
*/
|
||||
private Long accessTokenBegin;
|
||||
|
||||
/**
|
||||
* 刷新token
|
||||
*/
|
||||
private String refreshToken;
|
||||
|
||||
/**
|
||||
* 刷新token过期时间
|
||||
*/
|
||||
private Long refreshTokenTimeout;
|
||||
|
||||
/**
|
||||
* 请求url
|
||||
*/
|
||||
private String apiRequestUrl;
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
package com.qihang.kwai.mapper;
|
||||
|
||||
import com.qihang.kwai.domain.KwaiOrder;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* @author qilip
|
||||
* @description 针对表【kwai_order(快手订单)】的数据库操作Mapper
|
||||
* @createDate 2024-03-30 10:04:16
|
||||
* @Entity com.qihang.kwai.domain.KwaiOrder
|
||||
*/
|
||||
public interface KwaiOrderMapper extends BaseMapper<KwaiOrder> {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
package com.qihang.kwai.mapper;
|
||||
|
||||
import com.qihang.kwai.domain.KwaiOrdersItem;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* @author qilip
|
||||
* @description 针对表【kwai_orders_item】的数据库操作Mapper
|
||||
* @createDate 2024-03-30 10:04:16
|
||||
* @Entity com.qihang.kwai.domain.KwaiOrdersItem
|
||||
*/
|
||||
public interface KwaiOrdersItemMapper extends BaseMapper<KwaiOrdersItem> {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
package com.qihang.kwai.mapper;
|
||||
|
||||
import com.qihang.kwai.domain.SysPlatform;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* @author qilip
|
||||
* @description 针对表【sys_platform】的数据库操作Mapper
|
||||
* @createDate 2024-03-30 10:04:16
|
||||
* @Entity com.qihang.kwai.domain.SysPlatform
|
||||
*/
|
||||
public interface SysPlatformMapper extends BaseMapper<SysPlatform> {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
package com.qihang.kwai.mapper;
|
||||
|
||||
import com.qihang.kwai.domain.SysShop;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* @author qilip
|
||||
* @description 针对表【sys_shop(数据中心-店铺)】的数据库操作Mapper
|
||||
* @createDate 2024-03-30 10:04:16
|
||||
* @Entity com.qihang.kwai.domain.SysShop
|
||||
*/
|
||||
public interface SysShopMapper extends BaseMapper<SysShop> {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,130 @@
|
|||
package com.qihang.kwai.mapper;
|
||||
|
||||
import com.qihang.security.entity.SysUser;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 用户表 数据层
|
||||
*
|
||||
* @author qihang
|
||||
*/
|
||||
@Mapper
|
||||
public interface SysUserMapper
|
||||
{
|
||||
/**
|
||||
* 根据条件分页查询用户列表
|
||||
*
|
||||
* @param sysUser 用户信息
|
||||
* @return 用户信息集合信息
|
||||
*/
|
||||
public List<SysUser> selectUserList(SysUser sysUser);
|
||||
|
||||
/**
|
||||
* 根据条件分页查询已配用户角色列表
|
||||
*
|
||||
* @param user 用户信息
|
||||
* @return 用户信息集合信息
|
||||
*/
|
||||
public List<SysUser> selectAllocatedList(SysUser user);
|
||||
|
||||
/**
|
||||
* 根据条件分页查询未分配用户角色列表
|
||||
*
|
||||
* @param user 用户信息
|
||||
* @return 用户信息集合信息
|
||||
*/
|
||||
public List<SysUser> selectUnallocatedList(SysUser user);
|
||||
|
||||
/**
|
||||
* 通过用户名查询用户
|
||||
*
|
||||
* @param userName 用户名
|
||||
* @return 用户对象信息
|
||||
*/
|
||||
public SysUser selectUserByUserName(String userName);
|
||||
|
||||
/**
|
||||
* 通过用户ID查询用户
|
||||
*
|
||||
* @param userId 用户ID
|
||||
* @return 用户对象信息
|
||||
*/
|
||||
public SysUser selectUserById(Long userId);
|
||||
|
||||
/**
|
||||
* 新增用户信息
|
||||
*
|
||||
* @param user 用户信息
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertUser(SysUser user);
|
||||
|
||||
/**
|
||||
* 修改用户信息
|
||||
*
|
||||
* @param user 用户信息
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateUser(SysUser user);
|
||||
|
||||
/**
|
||||
* 修改用户头像
|
||||
*
|
||||
* @param userName 用户名
|
||||
* @param avatar 头像地址
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateUserAvatar(@Param("userName") String userName, @Param("avatar") String avatar);
|
||||
|
||||
/**
|
||||
* 重置用户密码
|
||||
*
|
||||
* @param userName 用户名
|
||||
* @param password 密码
|
||||
* @return 结果
|
||||
*/
|
||||
public int resetUserPwd(@Param("userName") String userName, @Param("password") String password);
|
||||
|
||||
/**
|
||||
* 通过用户ID删除用户
|
||||
*
|
||||
* @param userId 用户ID
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteUserById(Long userId);
|
||||
|
||||
/**
|
||||
* 批量删除用户信息
|
||||
*
|
||||
* @param userIds 需要删除的用户ID
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteUserByIds(Long[] userIds);
|
||||
|
||||
/**
|
||||
* 校验用户名称是否唯一
|
||||
*
|
||||
* @param userName 用户名称
|
||||
* @return 结果
|
||||
*/
|
||||
public SysUser checkUserNameUnique(String userName);
|
||||
|
||||
/**
|
||||
* 校验手机号码是否唯一
|
||||
*
|
||||
* @param phonenumber 手机号码
|
||||
* @return 结果
|
||||
*/
|
||||
public SysUser checkPhoneUnique(String phonenumber);
|
||||
|
||||
/**
|
||||
* 校验email是否唯一
|
||||
*
|
||||
* @param email 用户邮箱
|
||||
* @return 结果
|
||||
*/
|
||||
public SysUser checkEmailUnique(String email);
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
package com.qihang.kwai.service;
|
||||
|
||||
import com.qihang.kwai.domain.KwaiOrder;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* @author qilip
|
||||
* @description 针对表【kwai_order(快手订单)】的数据库操作Service
|
||||
* @createDate 2024-03-30 10:04:16
|
||||
*/
|
||||
public interface KwaiOrderService extends IService<KwaiOrder> {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
package com.qihang.kwai.service;
|
||||
|
||||
import com.qihang.kwai.domain.KwaiOrdersItem;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* @author qilip
|
||||
* @description 针对表【kwai_orders_item】的数据库操作Service
|
||||
* @createDate 2024-03-30 10:04:16
|
||||
*/
|
||||
public interface KwaiOrdersItemService extends IService<KwaiOrdersItem> {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
package com.qihang.kwai.service;
|
||||
|
||||
import com.qihang.kwai.domain.SysPlatform;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* @author qilip
|
||||
* @description 针对表【sys_platform】的数据库操作Service
|
||||
* @createDate 2024-03-30 10:04:16
|
||||
*/
|
||||
public interface SysPlatformService extends IService<SysPlatform> {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
package com.qihang.kwai.service;
|
||||
|
||||
import com.qihang.kwai.domain.SysShop;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* @author qilip
|
||||
* @description 针对表【sys_shop(数据中心-店铺)】的数据库操作Service
|
||||
* @createDate 2024-03-30 10:04:16
|
||||
*/
|
||||
public interface SysShopService extends IService<SysShop> {
|
||||
void updateAccessToken(Integer shopId,String accessToken,String refreshToken,Long expireIn);
|
||||
}
|
||||
|
|
@ -0,0 +1,298 @@
|
|||
package com.qihang.kwai.service;
|
||||
|
||||
import com.qihang.common.common.ServiceException;
|
||||
import com.qihang.common.constant.UserConstants;
|
||||
import com.qihang.common.utils.StringUtils;
|
||||
import com.qihang.kwai.mapper.SysUserMapper;
|
||||
import com.qihang.security.entity.SysUser;
|
||||
import com.qihang.security.service.ISysUserService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 用户 业务层处理
|
||||
*
|
||||
* @author qihang
|
||||
*/
|
||||
@Service
|
||||
public class SysUserServiceImpl implements ISysUserService
|
||||
{
|
||||
private static final Logger log = LoggerFactory.getLogger(SysUserServiceImpl.class);
|
||||
|
||||
@Autowired
|
||||
private SysUserMapper userMapper;
|
||||
|
||||
/**
|
||||
* 根据条件分页查询用户列表
|
||||
*
|
||||
* @param user 用户信息
|
||||
* @return 用户信息集合信息
|
||||
*/
|
||||
@Override
|
||||
public List<SysUser> selectUserList(SysUser user)
|
||||
{
|
||||
return userMapper.selectUserList(user);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据条件分页查询已分配用户角色列表
|
||||
*
|
||||
* @param user 用户信息
|
||||
* @return 用户信息集合信息
|
||||
*/
|
||||
@Override
|
||||
public List<SysUser> selectAllocatedList(SysUser user)
|
||||
{
|
||||
return userMapper.selectAllocatedList(user);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据条件分页查询未分配用户角色列表
|
||||
*
|
||||
* @param user 用户信息
|
||||
* @return 用户信息集合信息
|
||||
*/
|
||||
@Override
|
||||
public List<SysUser> selectUnallocatedList(SysUser user)
|
||||
{
|
||||
return userMapper.selectUnallocatedList(user);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过用户名查询用户
|
||||
*
|
||||
* @param userName 用户名
|
||||
* @return 用户对象信息
|
||||
*/
|
||||
@Override
|
||||
public SysUser selectUserByUserName(String userName)
|
||||
{
|
||||
return userMapper.selectUserByUserName(userName);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过用户ID查询用户
|
||||
*
|
||||
* @param userId 用户ID
|
||||
* @return 用户对象信息
|
||||
*/
|
||||
@Override
|
||||
public SysUser selectUserById(Long userId)
|
||||
{
|
||||
return userMapper.selectUserById(userId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验用户名称是否唯一
|
||||
*
|
||||
* @param user 用户信息
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public boolean checkUserNameUnique(SysUser user)
|
||||
{
|
||||
Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId();
|
||||
SysUser info = userMapper.checkUserNameUnique(user.getUserName());
|
||||
if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue())
|
||||
{
|
||||
return UserConstants.NOT_UNIQUE;
|
||||
}
|
||||
return UserConstants.UNIQUE;
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验手机号码是否唯一
|
||||
*
|
||||
* @param user 用户信息
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public boolean checkPhoneUnique(SysUser user)
|
||||
{
|
||||
Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId();
|
||||
SysUser info = userMapper.checkPhoneUnique(user.getPhonenumber());
|
||||
if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue())
|
||||
{
|
||||
return UserConstants.NOT_UNIQUE;
|
||||
}
|
||||
return UserConstants.UNIQUE;
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验email是否唯一
|
||||
*
|
||||
* @param user 用户信息
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public boolean checkEmailUnique(SysUser user)
|
||||
{
|
||||
Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId();
|
||||
SysUser info = userMapper.checkEmailUnique(user.getEmail());
|
||||
if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue())
|
||||
{
|
||||
return UserConstants.NOT_UNIQUE;
|
||||
}
|
||||
return UserConstants.UNIQUE;
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验用户是否允许操作
|
||||
*
|
||||
* @param user 用户信息
|
||||
*/
|
||||
@Override
|
||||
public void checkUserAllowed(SysUser user)
|
||||
{
|
||||
if (StringUtils.isNotNull(user.getUserId()) && user.isAdmin())
|
||||
{
|
||||
throw new ServiceException("不允许操作超级管理员用户");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增保存用户信息
|
||||
*
|
||||
* @param user 用户信息
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public int insertUser(SysUser user)
|
||||
{
|
||||
// 新增用户信息
|
||||
int rows = userMapper.insertUser(user);
|
||||
// // 新增用户岗位关联
|
||||
// insertUserPost(user);
|
||||
// // 新增用户与角色管理
|
||||
// insertUserRole(user);
|
||||
return rows;
|
||||
}
|
||||
|
||||
/**
|
||||
* 注册用户信息
|
||||
*
|
||||
* @param user 用户信息
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public boolean registerUser(SysUser user)
|
||||
{
|
||||
return userMapper.insertUser(user) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改保存用户信息
|
||||
*
|
||||
* @param user 用户信息
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public int updateUser(SysUser user)
|
||||
{
|
||||
Long userId = user.getUserId();
|
||||
// // 删除用户与角色关联
|
||||
// userRoleMapper.deleteUserRoleByUserId(userId);
|
||||
// // 新增用户与角色管理
|
||||
// insertUserRole(user);
|
||||
// // 删除用户与岗位关联
|
||||
// userPostMapper.deleteUserPostByUserId(userId);
|
||||
// 新增用户与岗位管理
|
||||
// insertUserPost(user);
|
||||
return userMapper.updateUser(user);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 修改用户状态
|
||||
*
|
||||
* @param user 用户信息
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int updateUserStatus(SysUser user)
|
||||
{
|
||||
return userMapper.updateUser(user);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改用户基本信息
|
||||
*
|
||||
* @param user 用户信息
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int updateUserProfile(SysUser user)
|
||||
{
|
||||
return userMapper.updateUser(user);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改用户头像
|
||||
*
|
||||
* @param userName 用户名
|
||||
* @param avatar 头像地址
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public boolean updateUserAvatar(String userName, String avatar)
|
||||
{
|
||||
return userMapper.updateUserAvatar(userName, avatar) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 重置用户密码
|
||||
*
|
||||
* @param user 用户信息
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int resetPwd(SysUser user)
|
||||
{
|
||||
return userMapper.updateUser(user);
|
||||
}
|
||||
|
||||
/**
|
||||
* 重置用户密码
|
||||
*
|
||||
* @param userName 用户名
|
||||
* @param password 密码
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int resetUserPwd(String userName, String password)
|
||||
{
|
||||
return userMapper.resetUserPwd(userName, password);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 通过用户ID删除用户
|
||||
*
|
||||
* @param userId 用户ID
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public int deleteUserById(Long userId)
|
||||
{
|
||||
// // 删除用户与角色关联
|
||||
// userRoleMapper.deleteUserRoleByUserId(userId);
|
||||
// // 删除用户与岗位表
|
||||
// userPostMapper.deleteUserPostByUserId(userId);
|
||||
return userMapper.deleteUserById(userId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void checkUserDataScope(Long userId) {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
package com.qihang.kwai.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.qihang.kwai.domain.KwaiOrder;
|
||||
import com.qihang.kwai.service.KwaiOrderService;
|
||||
import com.qihang.kwai.mapper.KwaiOrderMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @author qilip
|
||||
* @description 针对表【kwai_order(快手订单)】的数据库操作Service实现
|
||||
* @createDate 2024-03-30 10:04:16
|
||||
*/
|
||||
@Service
|
||||
public class KwaiOrderServiceImpl extends ServiceImpl<KwaiOrderMapper, KwaiOrder>
|
||||
implements KwaiOrderService{
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
package com.qihang.kwai.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.qihang.kwai.domain.KwaiOrdersItem;
|
||||
import com.qihang.kwai.service.KwaiOrdersItemService;
|
||||
import com.qihang.kwai.mapper.KwaiOrdersItemMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @author qilip
|
||||
* @description 针对表【kwai_orders_item】的数据库操作Service实现
|
||||
* @createDate 2024-03-30 10:04:16
|
||||
*/
|
||||
@Service
|
||||
public class KwaiOrdersItemServiceImpl extends ServiceImpl<KwaiOrdersItemMapper, KwaiOrdersItem>
|
||||
implements KwaiOrdersItemService{
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
package com.qihang.kwai.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.qihang.kwai.domain.SysPlatform;
|
||||
import com.qihang.kwai.service.SysPlatformService;
|
||||
import com.qihang.kwai.mapper.SysPlatformMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @author qilip
|
||||
* @description 针对表【sys_platform】的数据库操作Service实现
|
||||
* @createDate 2024-03-30 10:04:16
|
||||
*/
|
||||
@Service
|
||||
public class SysPlatformServiceImpl extends ServiceImpl<SysPlatformMapper, SysPlatform>
|
||||
implements SysPlatformService{
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
package com.qihang.kwai.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.qihang.kwai.domain.SysShop;
|
||||
import com.qihang.kwai.service.SysShopService;
|
||||
import com.qihang.kwai.mapper.SysShopMapper;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @author qilip
|
||||
* @description 针对表【sys_shop(数据中心-店铺)】的数据库操作Service实现
|
||||
* @createDate 2024-03-30 10:04:16
|
||||
*/
|
||||
@AllArgsConstructor
|
||||
@Service
|
||||
public class SysShopServiceImpl extends ServiceImpl<SysShopMapper, SysShop>
|
||||
implements SysShopService{
|
||||
private final SysShopMapper mapper;
|
||||
|
||||
@Override
|
||||
public void updateAccessToken(Integer shopId, String accessToken, String refreshToken, Long expireIn) {
|
||||
SysShop shop =new SysShop();
|
||||
shop.setId(shopId);
|
||||
shop.setAccessToken(accessToken);
|
||||
shop.setRefreshToken(refreshToken);
|
||||
shop.setExpiresIn(expireIn);
|
||||
mapper.updateById(shop);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
spring:
|
||||
cloud:
|
||||
nacos:
|
||||
# serverAddr: 127.0.0.1:8848
|
||||
discovery:
|
||||
server-addr: 127.0.0.1:8848
|
||||
config:
|
||||
server-addr: 127.0.0.1:8848
|
||||
config:
|
||||
import:
|
||||
- nacos:qihang-oms.yaml?refresh=true
|
||||
application:
|
||||
name: kwai-api
|
||||
|
||||
server:
|
||||
port: 8088
|
||||
|
||||
|
||||
mybatis-plus:
|
||||
mapper-locations: classpath*:mapper/**/*Mapper.xml
|
||||
type-aliases-package: com.qihang.kwai.domain;com.qihang.security.entity;
|
||||
configuration:
|
||||
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 开启sql日志
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
<?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.qihang.kwai.mapper.KwaiOrderMapper">
|
||||
|
||||
<resultMap id="BaseResultMap" type="com.qihang.kwai.domain.KwaiOrder">
|
||||
<id property="id" column="id" jdbcType="BIGINT"/>
|
||||
<result property="oid" column="oid" jdbcType="BIGINT"/>
|
||||
<result property="createtime" column="createTime" jdbcType="BIGINT"/>
|
||||
<result property="discountfee" column="discountFee" jdbcType="DECIMAL"/>
|
||||
<result property="expressfee" column="expressFee" jdbcType="DECIMAL"/>
|
||||
<result property="num" column="num" jdbcType="INTEGER"/>
|
||||
<result property="consignee" column="consignee" jdbcType="VARCHAR"/>
|
||||
<result property="mobile" column="mobile" jdbcType="VARCHAR"/>
|
||||
<result property="paytime" column="payTime" jdbcType="BIGINT"/>
|
||||
<result property="buyerremark" column="buyerRemark" jdbcType="VARCHAR"/>
|
||||
<result property="sellerremark" column="sellerRemark" jdbcType="VARCHAR"/>
|
||||
<result property="status" column="status" jdbcType="INTEGER"/>
|
||||
<result property="refund" column="refund" jdbcType="INTEGER"/>
|
||||
<result property="totalfee" column="totalFee" jdbcType="DECIMAL"/>
|
||||
<result property="province" column="province" jdbcType="VARCHAR"/>
|
||||
<result property="city" column="city" jdbcType="VARCHAR"/>
|
||||
<result property="district" column="district" jdbcType="VARCHAR"/>
|
||||
<result property="address" column="address" jdbcType="VARCHAR"/>
|
||||
<result property="logisticscompany" column="logisticsCompany" jdbcType="VARCHAR"/>
|
||||
<result property="logisticscompanycode" column="logisticsCompanyCode" jdbcType="VARCHAR"/>
|
||||
<result property="logisticscode" column="logisticsCode" jdbcType="VARCHAR"/>
|
||||
<result property="auditstatus" column="auditStatus" jdbcType="INTEGER"/>
|
||||
<result property="createon" column="createOn" jdbcType="BIGINT"/>
|
||||
<result property="sendstatus" column="sendStatus" jdbcType="INTEGER"/>
|
||||
<result property="sendtime" column="sendTime" jdbcType="BIGINT"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="Base_Column_List">
|
||||
id,oid,createTime,
|
||||
discountFee,expressFee,num,
|
||||
consignee,mobile,payTime,
|
||||
buyerRemark,sellerRemark,status,
|
||||
refund,totalFee,province,
|
||||
city,district,address,
|
||||
logisticsCompany,logisticsCompanyCode,logisticsCode,
|
||||
auditStatus,createOn,sendStatus,
|
||||
sendTime
|
||||
</sql>
|
||||
</mapper>
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
<?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.qihang.kwai.mapper.KwaiOrdersItemMapper">
|
||||
|
||||
<resultMap id="BaseResultMap" type="com.qihang.kwai.domain.KwaiOrdersItem">
|
||||
<id property="id" column="id" jdbcType="BIGINT"/>
|
||||
<result property="itemid" column="itemId" jdbcType="BIGINT"/>
|
||||
<result property="orderid" column="orderId" jdbcType="BIGINT"/>
|
||||
<result property="erpgoodsid" column="erpGoodsId" jdbcType="INTEGER"/>
|
||||
<result property="erpgoodsspecid" column="erpGoodsSpecId" jdbcType="INTEGER"/>
|
||||
<result property="itemtitle" column="itemTitle" jdbcType="VARCHAR"/>
|
||||
<result property="itempicurl" column="itemPicUrl" jdbcType="VARCHAR"/>
|
||||
<result property="goodsnum" column="goodsNum" jdbcType="VARCHAR"/>
|
||||
<result property="goodsspec" column="goodsSpec" jdbcType="VARCHAR"/>
|
||||
<result property="skunick" column="skuNick" jdbcType="VARCHAR"/>
|
||||
<result property="price" column="price" jdbcType="DOUBLE"/>
|
||||
<result property="num" column="num" jdbcType="INTEGER"/>
|
||||
<result property="refundid" column="refundId" jdbcType="BIGINT"/>
|
||||
<result property="refundstatus" column="refundStatus" jdbcType="INTEGER"/>
|
||||
<result property="remark" column="remark" jdbcType="VARCHAR"/>
|
||||
<result property="isgift" column="isGift" jdbcType="INTEGER"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="Base_Column_List">
|
||||
id,itemId,orderId,
|
||||
erpGoodsId,erpGoodsSpecId,itemTitle,
|
||||
itemPicUrl,goodsNum,goodsSpec,
|
||||
skuNick,price,num,
|
||||
refundId,refundStatus,remark,
|
||||
isGift
|
||||
</sql>
|
||||
</mapper>
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
<?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.qihang.kwai.mapper.SysPlatformMapper">
|
||||
|
||||
<resultMap id="BaseResultMap" type="com.qihang.kwai.domain.SysPlatform">
|
||||
<id property="id" column="id" jdbcType="INTEGER"/>
|
||||
<result property="name" column="name" jdbcType="VARCHAR"/>
|
||||
<result property="code" column="code" jdbcType="VARCHAR"/>
|
||||
<result property="appKey" column="app_key" jdbcType="VARCHAR"/>
|
||||
<result property="appSecret" column="app_secret" jdbcType="VARCHAR"/>
|
||||
<result property="redirectUri" column="redirect_uri" jdbcType="VARCHAR"/>
|
||||
<result property="serverUrl" column="server_url" jdbcType="VARCHAR"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="Base_Column_List">
|
||||
id,name,code,
|
||||
app_key,app_secret,redirect_uri,
|
||||
server_url
|
||||
</sql>
|
||||
</mapper>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?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.qihang.kwai.mapper.SysShopMapper">
|
||||
|
||||
<resultMap id="BaseResultMap" type="com.qihang.kwai.domain.SysShop">
|
||||
<id property="id" column="id" jdbcType="INTEGER"/>
|
||||
<result property="name" column="name" jdbcType="VARCHAR"/>
|
||||
<result property="type" column="type" jdbcType="INTEGER"/>
|
||||
<result property="url" column="url" jdbcType="VARCHAR"/>
|
||||
<result property="sort" column="sort" jdbcType="INTEGER"/>
|
||||
<result property="status" column="status" jdbcType="INTEGER"/>
|
||||
<result property="modifyOn" column="modify_on" jdbcType="BIGINT"/>
|
||||
<result property="remark" column="remark" jdbcType="VARCHAR"/>
|
||||
<result property="sellerId" column="seller_id" jdbcType="BIGINT"/>
|
||||
<result property="appKey" column="app_key" jdbcType="VARCHAR"/>
|
||||
<result property="appSercet" column="app_sercet" jdbcType="VARCHAR"/>
|
||||
<result property="accessToken" column="access_token" jdbcType="VARCHAR"/>
|
||||
<result property="expiresIn" column="expires_in" jdbcType="BIGINT"/>
|
||||
<result property="accessTokenBegin" column="access_token_begin" jdbcType="BIGINT"/>
|
||||
<result property="refreshToken" column="refresh_token" jdbcType="VARCHAR"/>
|
||||
<result property="refreshTokenTimeout" column="refresh_token_timeout" jdbcType="BIGINT"/>
|
||||
<result property="apiRequestUrl" column="api_request_url" jdbcType="VARCHAR"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="Base_Column_List">
|
||||
id,name,type,
|
||||
url,sort,status,
|
||||
modify_on,remark,seller_id,
|
||||
app_key,app_sercet,access_token,
|
||||
expires_in,access_token_begin,refresh_token,
|
||||
refresh_token_timeout,api_request_url
|
||||
</sql>
|
||||
</mapper>
|
||||
|
|
@ -0,0 +1,195 @@
|
|||
<?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.qihang.kwai.mapper.SysUserMapper">
|
||||
|
||||
<resultMap type="SysUser" id="SysUserResult">
|
||||
<id property="userId" column="user_id" />
|
||||
<result property="deptId" column="dept_id" />
|
||||
<result property="userName" column="user_name" />
|
||||
<result property="nickName" column="nick_name" />
|
||||
<result property="email" column="email" />
|
||||
<result property="phonenumber" column="phonenumber" />
|
||||
<result property="sex" column="sex" />
|
||||
<result property="avatar" column="avatar" />
|
||||
<result property="password" column="password" />
|
||||
<result property="status" column="status" />
|
||||
<result property="delFlag" column="del_flag" />
|
||||
<result property="loginIp" column="login_ip" />
|
||||
<result property="loginDate" column="login_date" />
|
||||
|
||||
</resultMap>
|
||||
|
||||
|
||||
|
||||
|
||||
<sql id="selectUserVo">
|
||||
select u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark
|
||||
|
||||
from sys_user u
|
||||
</sql>
|
||||
|
||||
<select id="selectUserList" parameterType="SysUser" resultMap="SysUserResult">
|
||||
select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader from sys_user u
|
||||
left join sys_dept d on u.dept_id = d.dept_id
|
||||
where u.del_flag = '0'
|
||||
<if test="userId != null and userId != 0">
|
||||
AND u.user_id = #{userId}
|
||||
</if>
|
||||
<if test="userName != null and userName != ''">
|
||||
AND u.user_name like concat('%', #{userName}, '%')
|
||||
</if>
|
||||
<if test="status != null and status != ''">
|
||||
AND u.status = #{status}
|
||||
</if>
|
||||
<if test="phonenumber != null and phonenumber != ''">
|
||||
AND u.phonenumber like concat('%', #{phonenumber}, '%')
|
||||
</if>
|
||||
<if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
|
||||
AND date_format(u.create_time,'%y%m%d') >= date_format(#{params.beginTime},'%y%m%d')
|
||||
</if>
|
||||
<if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
|
||||
AND date_format(u.create_time,'%y%m%d') <= date_format(#{params.endTime},'%y%m%d')
|
||||
</if>
|
||||
<if test="deptId != null and deptId != 0">
|
||||
AND (u.dept_id = #{deptId} OR u.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{deptId}, ancestors) ))
|
||||
</if>
|
||||
<!-- 数据范围过滤 -->
|
||||
${params.dataScope}
|
||||
</select>
|
||||
|
||||
<select id="selectAllocatedList" parameterType="SysUser" resultMap="SysUserResult">
|
||||
select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time
|
||||
from sys_user u
|
||||
left join sys_dept d on u.dept_id = d.dept_id
|
||||
left join sys_user_role ur on u.user_id = ur.user_id
|
||||
left join sys_role r on r.role_id = ur.role_id
|
||||
where u.del_flag = '0' and r.role_id = #{roleId}
|
||||
<if test="userName != null and userName != ''">
|
||||
AND u.user_name like concat('%', #{userName}, '%')
|
||||
</if>
|
||||
<if test="phonenumber != null and phonenumber != ''">
|
||||
AND u.phonenumber like concat('%', #{phonenumber}, '%')
|
||||
</if>
|
||||
<!-- 数据范围过滤 -->
|
||||
${params.dataScope}
|
||||
</select>
|
||||
|
||||
<select id="selectUnallocatedList" parameterType="SysUser" resultMap="SysUserResult">
|
||||
select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time
|
||||
from sys_user u
|
||||
left join sys_dept d on u.dept_id = d.dept_id
|
||||
left join sys_user_role ur on u.user_id = ur.user_id
|
||||
left join sys_role r on r.role_id = ur.role_id
|
||||
where u.del_flag = '0' and (r.role_id != #{roleId} or r.role_id IS NULL)
|
||||
and u.user_id not in (select u.user_id from sys_user u inner join sys_user_role ur on u.user_id = ur.user_id and ur.role_id = #{roleId})
|
||||
<if test="userName != null and userName != ''">
|
||||
AND u.user_name like concat('%', #{userName}, '%')
|
||||
</if>
|
||||
<if test="phonenumber != null and phonenumber != ''">
|
||||
AND u.phonenumber like concat('%', #{phonenumber}, '%')
|
||||
</if>
|
||||
<!-- 数据范围过滤 -->
|
||||
${params.dataScope}
|
||||
</select>
|
||||
|
||||
<select id="selectUserByUserName" parameterType="String" resultMap="SysUserResult">
|
||||
<include refid="selectUserVo"/>
|
||||
where u.user_name = #{userName} and u.del_flag = '0'
|
||||
</select>
|
||||
|
||||
<select id="selectUserById" parameterType="Long" resultMap="SysUserResult">
|
||||
<include refid="selectUserVo"/>
|
||||
where u.user_id = #{userId}
|
||||
</select>
|
||||
|
||||
<select id="checkUserNameUnique" parameterType="String" resultMap="SysUserResult">
|
||||
select user_id, user_name from sys_user where user_name = #{userName} and del_flag = '0' limit 1
|
||||
</select>
|
||||
|
||||
<select id="checkPhoneUnique" parameterType="String" resultMap="SysUserResult">
|
||||
select user_id, phonenumber from sys_user where phonenumber = #{phonenumber} and del_flag = '0' limit 1
|
||||
</select>
|
||||
|
||||
<select id="checkEmailUnique" parameterType="String" resultMap="SysUserResult">
|
||||
select user_id, email from sys_user where email = #{email} and del_flag = '0' limit 1
|
||||
</select>
|
||||
|
||||
<insert id="insertUser" parameterType="SysUser" useGeneratedKeys="true" keyProperty="userId">
|
||||
insert into sys_user(
|
||||
<if test="userId != null and userId != 0">user_id,</if>
|
||||
<if test="deptId != null and deptId != 0">dept_id,</if>
|
||||
<if test="userName != null and userName != ''">user_name,</if>
|
||||
<if test="nickName != null and nickName != ''">nick_name,</if>
|
||||
<if test="email != null and email != ''">email,</if>
|
||||
<if test="avatar != null and avatar != ''">avatar,</if>
|
||||
<if test="phonenumber != null and phonenumber != ''">phonenumber,</if>
|
||||
<if test="sex != null and sex != ''">sex,</if>
|
||||
<if test="password != null and password != ''">password,</if>
|
||||
<if test="status != null and status != ''">status,</if>
|
||||
<if test="createBy != null and createBy != ''">create_by,</if>
|
||||
<if test="remark != null and remark != ''">remark,</if>
|
||||
create_time
|
||||
)values(
|
||||
<if test="userId != null and userId != ''">#{userId},</if>
|
||||
<if test="deptId != null and deptId != ''">#{deptId},</if>
|
||||
<if test="userName != null and userName != ''">#{userName},</if>
|
||||
<if test="nickName != null and nickName != ''">#{nickName},</if>
|
||||
<if test="email != null and email != ''">#{email},</if>
|
||||
<if test="avatar != null and avatar != ''">#{avatar},</if>
|
||||
<if test="phonenumber != null and phonenumber != ''">#{phonenumber},</if>
|
||||
<if test="sex != null and sex != ''">#{sex},</if>
|
||||
<if test="password != null and password != ''">#{password},</if>
|
||||
<if test="status != null and status != ''">#{status},</if>
|
||||
<if test="createBy != null and createBy != ''">#{createBy},</if>
|
||||
<if test="remark != null and remark != ''">#{remark},</if>
|
||||
current_timestamp()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="updateUser" parameterType="SysUser">
|
||||
update sys_user
|
||||
<set>
|
||||
<if test="deptId != null and deptId != 0">dept_id = #{deptId},</if>
|
||||
<if test="userName != null and userName != ''">user_name = #{userName},</if>
|
||||
<if test="nickName != null and nickName != ''">nick_name = #{nickName},</if>
|
||||
<if test="email != null ">email = #{email},</if>
|
||||
<if test="phonenumber != null ">phonenumber = #{phonenumber},</if>
|
||||
<if test="sex != null and sex != ''">sex = #{sex},</if>
|
||||
<if test="avatar != null and avatar != ''">avatar = #{avatar},</if>
|
||||
<if test="password != null and password != ''">password = #{password},</if>
|
||||
<if test="status != null and status != ''">status = #{status},</if>
|
||||
<if test="loginIp != null and loginIp != ''">login_ip = #{loginIp},</if>
|
||||
<if test="loginDate != null">login_date = #{loginDate},</if>
|
||||
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
|
||||
<if test="remark != null">remark = #{remark},</if>
|
||||
update_time = current_timestamp()
|
||||
</set>
|
||||
where user_id = #{userId}
|
||||
</update>
|
||||
|
||||
<update id="updateUserStatus" parameterType="SysUser">
|
||||
update sys_user set status = #{status} where user_id = #{userId}
|
||||
</update>
|
||||
|
||||
<update id="updateUserAvatar" parameterType="SysUser">
|
||||
update sys_user set avatar = #{avatar} where user_name = #{userName}
|
||||
</update>
|
||||
|
||||
<update id="resetUserPwd" parameterType="SysUser">
|
||||
update sys_user set password = #{password} where user_name = #{userName}
|
||||
</update>
|
||||
|
||||
<delete id="deleteUserById" parameterType="Long">
|
||||
update sys_user set del_flag = '2' where user_id = #{userId}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteUserByIds" parameterType="Long">
|
||||
update sys_user set del_flag = '2' where user_id in
|
||||
<foreach collection="array" item="userId" open="(" separator="," close=")">
|
||||
#{userId}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
</mapper>
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
package com.qihang.kwai;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
import junit.framework.TestSuite;
|
||||
|
||||
/**
|
||||
* Unit test for simple App.
|
||||
*/
|
||||
public class AppTest
|
||||
extends TestCase
|
||||
{
|
||||
/**
|
||||
* Create the test case
|
||||
*
|
||||
* @param testName name of the test case
|
||||
*/
|
||||
public AppTest( String testName )
|
||||
{
|
||||
super( testName );
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the suite of tests being tested
|
||||
*/
|
||||
public static Test suite()
|
||||
{
|
||||
return new TestSuite( AppTest.class );
|
||||
}
|
||||
|
||||
/**
|
||||
* Rigourous Test :-)
|
||||
*/
|
||||
public void testApp()
|
||||
{
|
||||
assertTrue( true );
|
||||
}
|
||||
}
|
||||
|
|
@ -1,24 +1,23 @@
|
|||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<!-- <parent>-->
|
||||
<!-- <groupId>com.qihang</groupId>-->
|
||||
<!-- <artifactId>qihang-oms</artifactId>-->
|
||||
<!-- <version>1.0-SNAPSHOT</version>-->
|
||||
<!-- </parent>-->
|
||||
<parent>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-parent</artifactId>
|
||||
<version>3.0.2</version>
|
||||
<relativePath/>
|
||||
</parent>
|
||||
<groupId>com.qihang.wei</groupId>
|
||||
<artifactId>wei-api</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<name>wei-api</name>
|
||||
<url>http://maven.apache.org</url>
|
||||
|
||||
<groupId>com.qihang</groupId>
|
||||
<artifactId>open-api</artifactId>
|
||||
<version>1.0.0</version>
|
||||
<packaging>pom</packaging>
|
||||
<modules>
|
||||
<module>wei-api</module>
|
||||
<module>kwai-api</module>
|
||||
</modules>
|
||||
<properties>
|
||||
<java.version>17</java.version>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
|
|
@ -27,7 +26,6 @@
|
|||
<spring-cloud-alibaba.version>2022.0.0.0</spring-cloud-alibaba.version>
|
||||
<jwt.version>0.11.5</jwt.version>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
|
|
@ -100,4 +98,4 @@
|
|||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
</project>
|
||||
</project>
|
||||
|
|
@ -0,0 +1,98 @@
|
|||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>com.qihang</groupId>
|
||||
<artifactId>open-api</artifactId>
|
||||
<version>1.0.0</version>
|
||||
</parent>
|
||||
|
||||
<groupId>com.qihang.wei</groupId>
|
||||
<artifactId>wei-api</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<name>wei-api</name>
|
||||
<url>http://maven.apache.org</url>
|
||||
|
||||
<properties>
|
||||
<java.version>17</java.version>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
||||
<spring-boot.version>3.0.2</spring-boot.version>
|
||||
<spring-cloud-alibaba.version>2022.0.0.0</spring-cloud-alibaba.version>
|
||||
<jwt.version>0.11.5</jwt.version>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>org.springframework.boot</groupId>-->
|
||||
<!-- <artifactId>spring-boot-starter</artifactId>-->
|
||||
<!-- </dependency>-->
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>org.springframework.boot</groupId>-->
|
||||
<!-- <artifactId>spring-boot-starter-web</artifactId>-->
|
||||
<!-- <exclusions>-->
|
||||
<!-- <exclusion>-->
|
||||
<!-- <groupId>org.springframework.boot</groupId>-->
|
||||
<!-- <artifactId>spring-boot-starter-tomcat</artifactId>-->
|
||||
<!-- </exclusion>-->
|
||||
<!-- </exclusions>-->
|
||||
<!-- </dependency>-->
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>org.springframework.boot</groupId>-->
|
||||
<!-- <artifactId>spring-boot-starter-undertow</artifactId>-->
|
||||
<!-- </dependency>-->
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>org.springframework.boot</groupId>-->
|
||||
<!-- <artifactId>spring-boot-starter-webflux</artifactId>-->
|
||||
<!-- </dependency>-->
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>com.alibaba.cloud</groupId>-->
|
||||
<!-- <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>-->
|
||||
<!-- </dependency>-->
|
||||
<!-- <!–SpringCloud Alibaba nacos 服务发现依赖–>-->
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>com.alibaba.cloud</groupId>-->
|
||||
<!-- <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>-->
|
||||
<!-- </dependency>-->
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>com.qihang</groupId>-->
|
||||
<!-- <artifactId>security</artifactId>-->
|
||||
<!-- <version>1.0-SNAPSHOT</version>-->
|
||||
<!-- </dependency>-->
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>mysql</groupId>-->
|
||||
<!-- <artifactId>mysql-connector-java</artifactId>-->
|
||||
<!-- <version>8.0.33</version>-->
|
||||
<!-- </dependency>-->
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>com.baomidou</groupId>-->
|
||||
<!-- <artifactId>mybatis-plus-spring-boot3-starter</artifactId>-->
|
||||
<!-- <version>3.5.5</version>-->
|
||||
<!-- </dependency>-->
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>org.projectlombok</groupId>-->
|
||||
<!-- <artifactId>lombok</artifactId>-->
|
||||
<!-- <version>1.18.30</version>-->
|
||||
<!-- <scope>provided</scope>-->
|
||||
<!-- </dependency>-->
|
||||
</dependencies>
|
||||
<!-- <dependencyManagement>-->
|
||||
<!-- <dependencies>-->
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>org.springframework.boot</groupId>-->
|
||||
<!-- <artifactId>spring-boot-dependencies</artifactId>-->
|
||||
<!-- <version>${spring-boot.version}</version>-->
|
||||
<!-- <type>pom</type>-->
|
||||
<!-- <scope>import</scope>-->
|
||||
<!-- </dependency>-->
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>com.alibaba.cloud</groupId>-->
|
||||
<!-- <artifactId>spring-cloud-alibaba-dependencies</artifactId>-->
|
||||
<!-- <version>${spring-cloud-alibaba.version}</version>-->
|
||||
<!-- <type>pom</type>-->
|
||||
<!-- <scope>import</scope>-->
|
||||
<!-- </dependency>-->
|
||||
<!-- </dependencies>-->
|
||||
<!-- </dependencyManagement>-->
|
||||
</project>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue