Merge branch 'cc_20250925_addUserAndLicense_update' into 'master'
Cc 20250925 add user and license update See merge request hangzhou/java/custom_zxjp!164
This commit is contained in:
@@ -32,6 +32,9 @@ public enum RocketMqGroupEnum {
|
|||||||
*/
|
*/
|
||||||
FEI_SHU_EVENT_LISTENER("fei_shu_event_listener", new ArrayList<>(Arrays.asList(RocketMqTagEnum.USER_EVENT, RocketMqTagEnum.AUTH_SCOPE_CHANGE, RocketMqTagEnum.DEPT_EVENT))),
|
FEI_SHU_EVENT_LISTENER("fei_shu_event_listener", new ArrayList<>(Arrays.asList(RocketMqTagEnum.USER_EVENT, RocketMqTagEnum.AUTH_SCOPE_CHANGE, RocketMqTagEnum.DEPT_EVENT))),
|
||||||
|
|
||||||
|
|
||||||
|
STORE_USER_UPDATE("store_user_update", new ArrayList<>(Arrays.asList(RocketMqTagEnum.STORE_USER_UPDATE)))
|
||||||
|
|
||||||
;
|
;
|
||||||
|
|
||||||
private final String group;
|
private final String group;
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ public enum RocketMqTagEnum {
|
|||||||
ZXJP_CREATE_STORE("zxjp_create_store", "正新鸡排招商创建门店"),
|
ZXJP_CREATE_STORE("zxjp_create_store", "正新鸡排招商创建门店"),
|
||||||
PARTNER_LICENSE_SYNC_QUEUE("partner_license_sync_queue", "招商证照信息同步"),
|
PARTNER_LICENSE_SYNC_QUEUE("partner_license_sync_queue", "招商证照信息同步"),
|
||||||
BUSINESS_SYNC("business_sync", "工商食安信息同步"),
|
BUSINESS_SYNC("business_sync", "工商食安信息同步"),
|
||||||
|
STORE_USER_UPDATE("store_user_update", "门店信息人员变更同步菜品");
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,8 @@ public class StoreUserPositionDTO {
|
|||||||
|
|
||||||
private String shopCode;
|
private String shopCode;
|
||||||
|
|
||||||
|
private String storeCode;
|
||||||
|
|
||||||
List<StoreUserDTO> userList;
|
List<StoreUserDTO> userList;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,31 @@
|
|||||||
|
package com.cool.store.dto.store;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author suzhuhong
|
||||||
|
* @Date 2025/9/25 15:37
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class StoreUserUpdateDTO {
|
||||||
|
|
||||||
|
private String storeCode;
|
||||||
|
|
||||||
|
List<UserDTO> userList;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
class UserDTO {
|
||||||
|
|
||||||
|
private String userName;
|
||||||
|
|
||||||
|
private String mobile;
|
||||||
|
|
||||||
|
private String positionName;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
package com.cool.store.response.caipin;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author suzhuhong
|
||||||
|
* @Date 2025/9/25 15:05
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class StoreUserResponse {
|
||||||
|
|
||||||
|
private String msgDetail;
|
||||||
|
|
||||||
|
private String msgFront;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -8,6 +8,7 @@ import com.aliyun.openservices.ons.api.bean.Subscription;
|
|||||||
import com.cool.store.constants.CommonConstants;
|
import com.cool.store.constants.CommonConstants;
|
||||||
import com.cool.store.enums.RocketMqGroupEnum;
|
import com.cool.store.enums.RocketMqGroupEnum;
|
||||||
import com.cool.store.mq.RocketMqConfig;
|
import com.cool.store.mq.RocketMqConfig;
|
||||||
|
import com.cool.store.mq.consumer.listener.StoreUserUpdateListener;
|
||||||
import com.cool.store.mq.consumer.listener.XfsgTrainingPersonSyncListener;
|
import com.cool.store.mq.consumer.listener.XfsgTrainingPersonSyncListener;
|
||||||
import com.google.common.collect.Maps;
|
import com.google.common.collect.Maps;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
@@ -32,6 +33,8 @@ public class ConsumerClient {
|
|||||||
// private FeiShuEventListener feiShuEventListener;
|
// private FeiShuEventListener feiShuEventListener;
|
||||||
@Resource
|
@Resource
|
||||||
private XfsgTrainingPersonSyncListener xfsgTrainingPersonSyncListener;
|
private XfsgTrainingPersonSyncListener xfsgTrainingPersonSyncListener;
|
||||||
|
@Resource
|
||||||
|
private StoreUserUpdateListener storeUserUpdateListener;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取通用配置
|
* 获取通用配置
|
||||||
@@ -85,4 +88,17 @@ public class ConsumerClient {
|
|||||||
// }
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
@Bean(initMethod = "start", destroyMethod = "shutdown")
|
||||||
|
public ConsumerBean storeUserUpdate() {
|
||||||
|
RocketMqGroupEnum groupEnum = RocketMqGroupEnum.STORE_USER_UPDATE;
|
||||||
|
ConsumerBean consumerBean = new ConsumerBean();
|
||||||
|
//配置文件
|
||||||
|
Properties properties = getCommonProperties(groupEnum);
|
||||||
|
consumerBean.setProperties(properties);
|
||||||
|
Map<Subscription, MessageListener> commonSubscriptionTable = getCommonSubscriptionTable(groupEnum, storeUserUpdateListener);
|
||||||
|
//订阅多个topic如上面设置
|
||||||
|
consumerBean.setSubscriptionTable(commonSubscriptionTable);
|
||||||
|
return consumerBean;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,68 @@
|
|||||||
|
package com.cool.store.mq.consumer.listener;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.aliyun.openservices.ons.api.Action;
|
||||||
|
import com.aliyun.openservices.ons.api.ConsumeContext;
|
||||||
|
import com.aliyun.openservices.ons.api.Message;
|
||||||
|
import com.aliyun.openservices.ons.api.MessageListener;
|
||||||
|
import com.cool.store.constants.CommonConstants;
|
||||||
|
import com.cool.store.dto.store.StoreUserPositionDTO;
|
||||||
|
import com.cool.store.dto.store.StoreUserUpdateDTO;
|
||||||
|
import com.cool.store.service.PushService;
|
||||||
|
import com.cool.store.service.StoreService;
|
||||||
|
import com.cool.store.service.ThirdFoodService;
|
||||||
|
import com.cool.store.utils.RedisUtilPool;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author suzhuhong
|
||||||
|
* @Date 2025/9/25 14:49
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Service
|
||||||
|
public class StoreUserUpdateListener implements MessageListener {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
public RedisUtilPool redisUtilPool;
|
||||||
|
@Autowired
|
||||||
|
StoreService storeService;
|
||||||
|
@Autowired
|
||||||
|
ThirdFoodService thirdFoodService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Action consume(Message message, ConsumeContext context) {
|
||||||
|
String text = new String(message.getBody());
|
||||||
|
if(StringUtils.isBlank(text)){
|
||||||
|
log.info("消息体为空,tag:{},messageId:{}",message.getTag(),message.getMsgID());
|
||||||
|
return Action.CommitMessage;
|
||||||
|
}
|
||||||
|
String lockKey = "StoreUserUpdateListener:" + message.getMsgID();
|
||||||
|
boolean lock = redisUtilPool.setNxExpire(lockKey, message.getMsgID(), CommonConstants.NORMAL_LOCK_TIMES);
|
||||||
|
if(lock){
|
||||||
|
try {
|
||||||
|
List<StoreUserPositionDTO> storeUser = storeService.getStoreUser(Arrays.asList(text));
|
||||||
|
if (CollectionUtils.isNotEmpty(storeUser)){
|
||||||
|
//转换 否则验签不通过
|
||||||
|
List<StoreUserUpdateDTO> storeUserUpdateDTOS = JSONObject.parseArray(JSONObject.toJSONString(storeUser), StoreUserUpdateDTO.class);
|
||||||
|
thirdFoodService.pushStoreUser(storeUserUpdateDTOS);
|
||||||
|
}
|
||||||
|
}catch (Exception e){
|
||||||
|
log.error("StoreUserUpdateListener consume error",e);
|
||||||
|
return Action.ReconsumeLater;
|
||||||
|
}finally {
|
||||||
|
redisUtilPool.delKey(lockKey);
|
||||||
|
}
|
||||||
|
log.info("消费成功,tag:{},messageId:{},reqBody={}",message.getTag(),message.getMsgID(),text);
|
||||||
|
return Action.CommitMessage;
|
||||||
|
}
|
||||||
|
return Action.ReconsumeLater;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -2,6 +2,11 @@ package com.cool.store.service;
|
|||||||
|
|
||||||
import com.cool.store.dto.FoodTokenDTO;
|
import com.cool.store.dto.FoodTokenDTO;
|
||||||
import com.cool.store.dto.GetAccessTokenDTO;
|
import com.cool.store.dto.GetAccessTokenDTO;
|
||||||
|
import com.cool.store.dto.store.StoreUserPositionDTO;
|
||||||
|
import com.cool.store.dto.store.StoreUserUpdateDTO;
|
||||||
|
import com.cool.store.response.caipin.StoreUserResponse;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 正新菜品市场api对接-埃林哲-对接人徐哲
|
* 正新菜品市场api对接-埃林哲-对接人徐哲
|
||||||
@@ -19,4 +24,11 @@ public interface ThirdFoodService {
|
|||||||
*/
|
*/
|
||||||
String getFoodToken(FoodTokenDTO dto);
|
String getFoodToken(FoodTokenDTO dto);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 推送门店人员信息
|
||||||
|
* @param storeUserUpdateDTOList
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
StoreUserResponse pushStoreUser(List<StoreUserUpdateDTO> storeUserUpdateDTOList);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -153,6 +153,7 @@ public class StoreServiceImpl implements StoreService {
|
|||||||
storeUserPositionDTO.setStoreId(x.getStoreId());
|
storeUserPositionDTO.setStoreId(x.getStoreId());
|
||||||
storeUserPositionDTO.setStoreName(x.getStoreName());
|
storeUserPositionDTO.setStoreName(x.getStoreName());
|
||||||
storeUserPositionDTO.setShopCode(x.getStoreNum());
|
storeUserPositionDTO.setShopCode(x.getStoreNum());
|
||||||
|
storeUserPositionDTO.setStoreCode(x.getStoreNum());
|
||||||
List<StoreUserDTO> userList = Lists.newArrayList();
|
List<StoreUserDTO> userList = Lists.newArrayList();
|
||||||
for (String userId : storeUserDTOMap.keySet()) {
|
for (String userId : storeUserDTOMap.keySet()) {
|
||||||
List<StoreUserDTO> singleUserDTOList = storeUserDTOMap.get(userId);
|
List<StoreUserDTO> singleUserDTOList = storeUserDTOMap.get(userId);
|
||||||
|
|||||||
@@ -4,11 +4,15 @@ import cn.hutool.core.util.RandomUtil;
|
|||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.cool.store.dto.FoodTokenDTO;
|
import com.cool.store.dto.FoodTokenDTO;
|
||||||
import com.cool.store.dto.GetAccessTokenDTO;
|
import com.cool.store.dto.GetAccessTokenDTO;
|
||||||
|
import com.cool.store.dto.store.StoreUserPositionDTO;
|
||||||
|
import com.cool.store.dto.store.StoreUserUpdateDTO;
|
||||||
import com.cool.store.enums.ErrorCodeEnum;
|
import com.cool.store.enums.ErrorCodeEnum;
|
||||||
import com.cool.store.exception.ServiceException;
|
import com.cool.store.exception.ServiceException;
|
||||||
|
import com.cool.store.response.caipin.StoreUserResponse;
|
||||||
import com.cool.store.response.oppty.OpportunityApiResponse;
|
import com.cool.store.response.oppty.OpportunityApiResponse;
|
||||||
import com.cool.store.service.ThirdFoodService;
|
import com.cool.store.service.ThirdFoodService;
|
||||||
import com.cool.store.utils.SignatureUtils;
|
import com.cool.store.utils.SignatureUtils;
|
||||||
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||||
import com.fasterxml.jackson.databind.JavaType;
|
import com.fasterxml.jackson.databind.JavaType;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@@ -21,6 +25,7 @@ import org.springframework.stereotype.Service;
|
|||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -45,10 +50,16 @@ public class ThirdFoodServiceImpl implements ThirdFoodService {
|
|||||||
@Override
|
@Override
|
||||||
public String getFoodToken(FoodTokenDTO dto) {
|
public String getFoodToken(FoodTokenDTO dto) {
|
||||||
// 1. 发送POST请求
|
// 1. 发送POST请求
|
||||||
String url = apiUrl + "/interface/v1/user/getToken";
|
String url = "/v1/user/getToken";
|
||||||
return executeApiCall(url, dto, String.class);
|
return executeApiCall(url, dto, String.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public StoreUserResponse pushStoreUser(List<StoreUserUpdateDTO> dto) {
|
||||||
|
String url = "/v1/store/updateStoreUser";
|
||||||
|
return executeApiCall(url, dto, StoreUserResponse.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private <T> T executeApiCall(String url, Object requestBody, Class<T> responseType) {
|
private <T> T executeApiCall(String url, Object requestBody, Class<T> responseType) {
|
||||||
// 1. 打印请求前日志
|
// 1. 打印请求前日志
|
||||||
@@ -62,7 +73,7 @@ public class ThirdFoodServiceImpl implements ThirdFoodService {
|
|||||||
String responseBody = response.body().string();
|
String responseBody = response.body().string();
|
||||||
|
|
||||||
// 3. 打印响应日志
|
// 3. 打印响应日志
|
||||||
logResponse(url, response.code(), responseBody);
|
logResponse(apiUrl+ url, response.code(), responseBody);
|
||||||
|
|
||||||
if (!response.isSuccessful()) {
|
if (!response.isSuccessful()) {
|
||||||
throw new ServiceException(ErrorCodeEnum.THIRD_API_ERROR,
|
throw new ServiceException(ErrorCodeEnum.THIRD_API_ERROR,
|
||||||
@@ -94,20 +105,24 @@ public class ThirdFoodServiceImpl implements ThirdFoodService {
|
|||||||
String random = RandomUtil.randomString(20);
|
String random = RandomUtil.randomString(20);
|
||||||
|
|
||||||
String signString = null;
|
String signString = null;
|
||||||
|
String reqBody = null;
|
||||||
try {
|
try {
|
||||||
signString = SignatureUtils.sign("POST","/v1/user/getToken", objectMapper.writeValueAsString(requestBody),timestamp,random);
|
reqBody = objectMapper.writeValueAsString(requestBody);
|
||||||
|
} catch (JsonProcessingException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
signString = SignatureUtils.sign("POST",url, reqBody,timestamp,random);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
throw new ServiceException(ErrorCodeEnum.THIRD_API_SIGN_ERROR,"加密失败");
|
throw new ServiceException(ErrorCodeEnum.THIRD_API_SIGN_ERROR,"加密失败");
|
||||||
}
|
}
|
||||||
|
|
||||||
log.info("签名生成 - 签名结果: {}", signString);
|
log.info("签名生成 - 签名结果: {}", signString);
|
||||||
|
|
||||||
RequestBody body = RequestBody.create(okhttp3.MediaType.parse("application/json"),
|
RequestBody body = RequestBody.create(okhttp3.MediaType.parse("application/json"), reqBody);
|
||||||
JSONObject.toJSONString(requestBody)
|
|
||||||
);
|
|
||||||
|
|
||||||
return new Request.Builder()
|
return new Request.Builder()
|
||||||
.url(url)
|
.url(apiUrl + url)
|
||||||
.post(body)
|
.post(body)
|
||||||
.addHeader("X-ZhengXin-Sign", signString)
|
.addHeader("X-ZhengXin-Sign", signString)
|
||||||
.addHeader("X-ZhengXin-SignTime", timestamp)
|
.addHeader("X-ZhengXin-SignTime", timestamp)
|
||||||
|
|||||||
@@ -5,6 +5,8 @@ import com.cool.store.constants.CommonConstants;
|
|||||||
import com.cool.store.dao.*;
|
import com.cool.store.dao.*;
|
||||||
import com.cool.store.dto.OpenCityDTO;
|
import com.cool.store.dto.OpenCityDTO;
|
||||||
import com.cool.store.dto.ocr.InvoiceDTO;
|
import com.cool.store.dto.ocr.InvoiceDTO;
|
||||||
|
import com.cool.store.dto.store.StoreUserPositionDTO;
|
||||||
|
import com.cool.store.dto.store.StoreUserUpdateDTO;
|
||||||
import com.cool.store.entity.*;
|
import com.cool.store.entity.*;
|
||||||
import com.cool.store.enums.ErrorCodeEnum;
|
import com.cool.store.enums.ErrorCodeEnum;
|
||||||
import com.cool.store.enums.IDCardSideEnum;
|
import com.cool.store.enums.IDCardSideEnum;
|
||||||
@@ -20,6 +22,7 @@ import com.cool.store.request.ShopListSuccessOpenRequest;
|
|||||||
import com.cool.store.request.xfsgFirstOrderListRequest;
|
import com.cool.store.request.xfsgFirstOrderListRequest;
|
||||||
import com.cool.store.response.MiniShopsResponse;
|
import com.cool.store.response.MiniShopsResponse;
|
||||||
import com.cool.store.response.ResponseResult;
|
import com.cool.store.response.ResponseResult;
|
||||||
|
import com.cool.store.response.caipin.StoreUserResponse;
|
||||||
import com.cool.store.response.xfsgFirstOderListResponse;
|
import com.cool.store.response.xfsgFirstOderListResponse;
|
||||||
import com.cool.store.service.*;
|
import com.cool.store.service.*;
|
||||||
import com.cool.store.utils.poi.ExcelUtil;
|
import com.cool.store.utils.poi.ExcelUtil;
|
||||||
@@ -29,6 +32,7 @@ import com.github.pagehelper.PageInfo;
|
|||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
@@ -77,6 +81,10 @@ public class TestController {
|
|||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
ShopStageInfoDAO shopStageInfoDAO;
|
ShopStageInfoDAO shopStageInfoDAO;
|
||||||
|
@Resource
|
||||||
|
ThirdFoodService thirdFoodService;
|
||||||
|
@Autowired
|
||||||
|
StoreService storeService;
|
||||||
|
|
||||||
@PostMapping("/getFirstOrders")
|
@PostMapping("/getFirstOrders")
|
||||||
public ResponseResult<xfsgFirstOderListResponse> getFirstOrders(@RequestBody xfsgFirstOrderListRequest storeCodeList) {
|
public ResponseResult<xfsgFirstOderListResponse> getFirstOrders(@RequestBody xfsgFirstOrderListRequest storeCodeList) {
|
||||||
@@ -354,4 +362,11 @@ public class TestController {
|
|||||||
public void initTallyBook() {
|
public void initTallyBook() {
|
||||||
xxlJobHandler.initTallyBook();
|
xxlJobHandler.initTallyBook();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("/pushStoreUser")
|
||||||
|
public void pushStoreUser(String storeCode){
|
||||||
|
List<StoreUserPositionDTO> storeUser = storeService.getStoreUser(Arrays.asList(storeCode));
|
||||||
|
List<StoreUserUpdateDTO> storeUserUpdateDTOS = JSONObject.parseArray(JSONObject.toJSONString(storeUser), StoreUserUpdateDTO.class);
|
||||||
|
StoreUserResponse storeUserResponse = thirdFoodService.pushStoreUser(storeUserUpdateDTOS);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -116,7 +116,7 @@ yls.api.auth.secret=3b56198f096d4009072c927c96fbc8b6
|
|||||||
#新掌柜账号
|
#新掌柜账号
|
||||||
xzg.api.auth.url=http://webapi.zhengxinfood.com
|
xzg.api.auth.url=http://webapi.zhengxinfood.com
|
||||||
|
|
||||||
zx.food.url=https://datacenter.zhengxinfood.com
|
zx.food.url=https://datacenter.zhengxinfood.com/interface
|
||||||
|
|
||||||
cool.api.appKey=k8J7fG2qR5tY9vX3
|
cool.api.appKey=k8J7fG2qR5tY9vX3
|
||||||
cool.api.secret=wP4sN6dL8zK2xM9c
|
cool.api.secret=wP4sN6dL8zK2xM9c
|
||||||
|
|||||||
@@ -123,7 +123,7 @@ yls.api.auth.secret=3b56198f096d4009072c927c96fbc8b6
|
|||||||
#新掌柜账号
|
#新掌柜账号
|
||||||
xzg.api.auth.url=http://webapi.zhengxinfood.com
|
xzg.api.auth.url=http://webapi.zhengxinfood.com
|
||||||
|
|
||||||
zx.food.url=https://datacenter.zhengxinfood.com
|
zx.food.url=https://datacenter.zhengxinfood.com/interface
|
||||||
|
|
||||||
cool.api.appKey=k8J7fG2qR5tY9vX3
|
cool.api.appKey=k8J7fG2qR5tY9vX3
|
||||||
cool.api.secret=wP4sN6dL8zK2xM9c
|
cool.api.secret=wP4sN6dL8zK2xM9c
|
||||||
|
|||||||
@@ -121,7 +121,7 @@ zx.big.data.appSecret=35b8b9a400b4430fa022190be0913cd6
|
|||||||
xzg.api.auth.url=http://webapi.zhengxinfood.com
|
xzg.api.auth.url=http://webapi.zhengxinfood.com
|
||||||
|
|
||||||
|
|
||||||
zx.food.url=https://datacenter.zhengxinshipin.com
|
zx.food.url=https://datacenter.zhengxinshipin.com/interface
|
||||||
|
|
||||||
cool.api.appKey=k8J7fG2qR5tY9vX3
|
cool.api.appKey=k8J7fG2qR5tY9vX3
|
||||||
cool.api.secret=wP4sN6dL8zK2xM9c
|
cool.api.secret=wP4sN6dL8zK2xM9c
|
||||||
|
|||||||
@@ -124,7 +124,7 @@ yls.api.auth.secret=3b56198f096d4009072c927c96fbc8b6
|
|||||||
#新掌柜账号
|
#新掌柜账号
|
||||||
xzg.api.auth.url=http://webapi.zhengxinfood.com
|
xzg.api.auth.url=http://webapi.zhengxinfood.com
|
||||||
|
|
||||||
zx.food.url=https://datacenter.zhengxinfood.com
|
zx.food.url=https://datacenter.zhengxinfood.com/interface
|
||||||
|
|
||||||
cool.api.appKey=k8J7fG2qR5tY9vX3
|
cool.api.appKey=k8J7fG2qR5tY9vX3
|
||||||
cool.api.secret=wP4sN6dL8zK2xM9c
|
cool.api.secret=wP4sN6dL8zK2xM9c
|
||||||
|
|||||||
Reference in New Issue
Block a user