feat:mini

This commit is contained in:
苏竹红
2025-04-11 16:11:52 +08:00
parent 74571cbd18
commit 42d81b1043
8 changed files with 179 additions and 14 deletions

View File

@@ -2,6 +2,7 @@ package com.cool.store.request;
import com.cool.store.entity.BuildInformationDO; import com.cool.store.entity.BuildInformationDO;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Length;

View File

@@ -0,0 +1,15 @@
package com.cool.store.request;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2025/4/11 14:57
* @Version 1.0
*/
@Data
public class GetPasswordDTO {
private String password;
}

View File

@@ -0,0 +1,23 @@
package com.cool.store.service;
import com.cool.store.request.GetPasswordDTO;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2025/4/11 14:56
* @Version 1.0
*/
public interface ThirdXinGuanJiaService {
/**
* 换取加密子串
* @param dto
* @return
*/
String getPassword(GetPasswordDTO dto);
}

View File

@@ -0,0 +1,87 @@
package com.cool.store.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.exception.ServiceException;
import com.cool.store.request.GetPasswordDTO;
import com.cool.store.response.oppty.OpportunityApiResponse;
import com.cool.store.service.ThirdXinGuanJiaService;
import com.cool.store.utils.JsonUtils;
import com.cool.store.utils.SignatureUtils;
import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Map;
/**
* @Author suzhuhong
* @Date 2025/4/11 15:03
* @Version 1.0
*/
@Service
@Slf4j
public class ThirdXinGuanJiaServiceImpl implements ThirdXinGuanJiaService {
@Resource
OkHttpClient okHttpClient;
@Resource
ObjectMapper objectMapper;
@Override
public String getPassword(GetPasswordDTO dto) {
String url = "http://webapi.zhengxinfood.com/api/supply-chain/get-hash-pwd";
return executeApiCall(url, dto, String.class);
}
private <T> T executeApiCall(String url, Object requestBody, Class<T> responseType) {
try {
Request request = buildRequest(requestBody, url);
try (Response response = okHttpClient.newCall(request).execute()) {
// 2. 获取原始响应内容
String responseBody = response.body().string();
if (!response.isSuccessful()) {
throw new ServiceException(ErrorCodeEnum.THIRD_API_ERROR,
"HTTP请求失败状态码: " + response.code());
}
// 4. 解析响应
T result = (T) JSONObject.parseObject(responseBody, JSONObject.class).get("result");
return result;
}
} catch (ServiceException e) {
throw e;
} catch (Exception e) {
log.error("API调用异常 - URL: {}, 错误: {}", url, e.getMessage(), e);
throw new ServiceException(ErrorCodeEnum.THIRD_API_ERROR, "接口调用异常: " + e.getMessage());
}
}
private Request buildRequest(Object requestBody, String url) {
RequestBody body = RequestBody.create(okhttp3.MediaType.parse("application/json"),
JSONObject.toJSONString(requestBody)
);
return new Request.Builder()
.url(url)
.post(body)
.addHeader("Content-Type", "application/json")
.addHeader("Accept", "application/json")
.build();
}
}

View File

@@ -3,6 +3,7 @@ package com.cool.store.controller.webb;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.cool.store.constants.CommonConstants; import com.cool.store.constants.CommonConstants;
import com.cool.store.dao.*; import com.cool.store.dao.*;
import com.cool.store.dto.GetAccessTokenDTO;
import com.cool.store.dto.ModifyPasswordDTO; import com.cool.store.dto.ModifyPasswordDTO;
import com.cool.store.entity.*; import com.cool.store.entity.*;
import com.cool.store.enums.DownSystemTypeEnum; import com.cool.store.enums.DownSystemTypeEnum;
@@ -11,6 +12,7 @@ import com.cool.store.enums.QWMessageEnum;
import com.cool.store.enums.SMSMsgEnum; import com.cool.store.enums.SMSMsgEnum;
import com.cool.store.job.XxlJobHandler; import com.cool.store.job.XxlJobHandler;
import com.cool.store.mq.util.HttpRestTemplateService; import com.cool.store.mq.util.HttpRestTemplateService;
import com.cool.store.request.GetPasswordDTO;
import com.cool.store.request.bigdata.ProfitDataRequest; import com.cool.store.request.bigdata.ProfitDataRequest;
import com.cool.store.request.huoma.ShopBasicInfoRequest; import com.cool.store.request.huoma.ShopBasicInfoRequest;
import com.cool.store.request.oppty.*; import com.cool.store.request.oppty.*;
@@ -32,6 +34,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponse;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@@ -262,9 +265,22 @@ public class PCTestController {
@Resource @Resource
ShopAccountService accountService; ShopAccountService accountService;
@Resource
PushService pushService;
@Resource
ThirdXinGuanJiaService thirdXinGuanJiaService;
@ApiOperation("修改密码") @ApiOperation("修改密码")
@GetMapping("/modifyPassword") @GetMapping("/modifyPassword")
public ResponseResult<Boolean> modifyPassword(@RequestBody ModifyPasswordDTO request) { public ResponseResult<Boolean> modifyPassword(@RequestBody ModifyPasswordDTO request) {
return ResponseResult.success(accountService.modifyPassword(request)); return ResponseResult.success(accountService.modifyPassword(request));
} }
@ApiOperation("获取POS免登token")
@PostMapping("/getPosToken")
public ResponseResult<String> getPosToken(@RequestBody @Validated GetAccessTokenDTO dto) {
return ResponseResult.success(pushService.getPosToken(dto));
}
} }

View File

@@ -3,9 +3,11 @@ package com.cool.store.controller.webc;
import com.cool.store.dto.GetAccessTokenDTO; import com.cool.store.dto.GetAccessTokenDTO;
import com.cool.store.dto.ModifyPasswordDTO; import com.cool.store.dto.ModifyPasswordDTO;
import com.cool.store.dto.ShopAccount.ShopAccountDTO; import com.cool.store.dto.ShopAccount.ShopAccountDTO;
import com.cool.store.request.GetPasswordDTO;
import com.cool.store.response.ResponseResult; import com.cool.store.response.ResponseResult;
import com.cool.store.service.PushService; import com.cool.store.service.PushService;
import com.cool.store.service.ShopAccountService; import com.cool.store.service.ShopAccountService;
import com.cool.store.service.ThirdXinGuanJiaService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@@ -31,6 +33,9 @@ public class MiniShopAccountController {
@Resource @Resource
PushService pushService; PushService pushService;
@Resource
ThirdXinGuanJiaService thirdXinGuanJiaService;
@ApiOperation("根据门店shopId查询平台账号") @ApiOperation("根据门店shopId查询平台账号")
@GetMapping("/getShopAccountByShopId") @GetMapping("/getShopAccountByShopId")
@@ -63,5 +68,10 @@ public class MiniShopAccountController {
return ResponseResult.success(pushService.getXzgToken(dto)); return ResponseResult.success(pushService.getXzgToken(dto));
} }
@ApiOperation("获取加密子串")
@PostMapping("/getEncryptedSubstring")
public ResponseResult<String> getEncryptedSubstring(@RequestBody GetPasswordDTO dto) {
return ResponseResult.success(thirdXinGuanJiaService.getPassword(dto));
}
} }

View File

@@ -31,12 +31,19 @@ rocketmq.nameSrvAdder=http://MQ_INST_1947409023213164_BX5N7rwl.cn-hangzhou.mq-in
rocketmq.topic=simple_message rocketmq.topic=simple_message
#oss配置 #oss配置
oss.host=https://oss-store.coolcollege.cn/ #oss.host=https://oss-store.coolcollege.cn/
oss.accessKeyId=LTAI5tS2khSZfYrTL5cerHbY #oss.accessKeyId=LTAI5tS2khSZfYrTL5cerHbY
oss.accessKeySecret=YChLLev5KRZmgHCAkU7odkhGWk1aif #oss.accessKeySecret=YChLLev5KRZmgHCAkU7odkhGWk1aif
oss.endpoint=oss-cn-hangzhou.aliyuncs.com #oss.endpoint=oss-cn-hangzhou.aliyuncs.com
oss.bucket=coolstore-storage #oss.bucket=coolstore-storage
oss.file.dir=eid/9ee7b8b48e2447f9a2075b5a46e94d08/ #oss.file.dir=eid/9ee7b8b48e2447f9a2075b5a46e94d08/
oss.accessKeyId=LTAI5tGBwmXwZkMuHK4MudMJ
oss.accessKeySecret=bnZoUMRQ9834STgz5E291YrqlBu6yn
oss.bucket=store-ossfile
oss.file.dir=eid/${mybatis.configuration.variables.enterpriseId}
oss.endpoint=https://oss-cn-hangzhou-internal.aliyuncs.com
oss.host=https://oss-cool.coolstore.cn/
#cdn地址 #cdn地址
@@ -88,5 +95,5 @@ api.auth.username=GkqgAhUJ7p9swJo
api.auth.secret=NzVrnS3OWiupdDY api.auth.secret=NzVrnS3OWiupdDY
xgj.api.auth.url=https://masterdata.zhengxinfood.com/dmp/one-id/ xgj.api.auth.url=https://masterdata.zhengxinfood.com/dmp/one-id/
xgj.api.auth.username=2677a58dd9e24fc6b20e835ef5f19e63 xgj.api.auth.username=6446346061e043e392dd53c9c8d1af0b
xgj.api.auth.secret=3fe724f9607448728ee3393eff75718a xgj.api.auth.secret=3ba6e4c5632547b8b2b3acefe08667bb

View File

@@ -32,13 +32,19 @@ rocketmq.nameSrvAdder=http://MQ_INST_1947409023213164_BX3sLZnA.cn-hangzhou.mq.al
rocketmq.topic=simple_message rocketmq.topic=simple_message
#oss配置 #oss配置
oss.host=https://oss-store.coolcollege.cn/ #oss.host=https://oss-store.coolcollege.cn/
oss.accessKeyId=LTAI5t6Zk3Y3vyrMXC87jGYB #oss.accessKeyId=LTAI5t6Zk3Y3vyrMXC87jGYB
oss.accessKeySecret=6Gw06jtW5xNKWqbhnt1KmVZx1z9Dev #oss.accessKeySecret=6Gw06jtW5xNKWqbhnt1KmVZx1z9Dev
oss.endpoint=oss-cn-hangzhou.aliyuncs.com #oss.endpoint=oss-cn-hangzhou.aliyuncs.com
oss.bucket=cool-store-hsay #oss.bucket=cool-store-hsay
oss.file.dir=partner/171cddee76471740/ #oss.file.dir=partner/171cddee76471740/
oss.excelFile.dir=lineExcel/ oss.excelFile.dir=lineExcel/
oss.accessKeyId=LTAI5tGBwmXwZkMuHK4MudMJ
oss.accessKeySecret=bnZoUMRQ9834STgz5E291YrqlBu6yn
oss.bucket=store-ossfile
oss.file.dir=eid/${mybatis.configuration.variables.enterpriseId}
oss.endpoint=https://oss-cn-hangzhou-internal.aliyuncs.com
oss.host=https://oss-cool.coolstore.cn/
#cdn地址 #cdn地址