fix:商家流水统计bug

This commit is contained in:
dzc committed 2025-04-10 21:07:09 +08:00
1 parent c3aa66c3d1
commit c3721db214
9 files changed
+225 -23

No files matched your search

@@ -217,14 +217,14 @@ public class HardOrderTotalServiceImpl implements HardOrderTotalService {
for (HardOrderCsVo v : totalList) {
// 退款
if (ObjectUtil.isNotEmpty(refundList)) {
refundList.stream().filter(i -> ObjectUtil.equals(i.getMerchantId(), v.getMerchantId())).findFirst().ifPresent(i -> {
refundList.stream().filter(i -> ObjectUtil.equals(i.getDay(), v.getDay()) && ObjectUtil.equals(i.getMerchantId(), v.getMerchantId())).findFirst().ifPresent(i -> {
v.setTotalRefundPrice(i.getTotalPayPrice());
v.setTotalRefundCount(i.getTotalPayCount());
});
}
// 盈利
if (ObjectUtil.isNotEmpty(profitList)) {
profitList.stream().filter(i -> ObjectUtil.equals(i.getMerchantId(), v.getMerchantId())).findFirst().ifPresent(i -> {
profitList.stream().filter(i -> ObjectUtil.equals(i.getDay(), v.getDay()) && ObjectUtil.equals(i.getMerchantId(), v.getMerchantId())).findFirst().ifPresent(i -> {
v.setTotalProfitPrice(i.getTotalPayPrice());
v.setTotalProfitCount(i.getTotalPayCount());
});
@@ -252,6 +252,7 @@
<include refid="whereA"/>
</where>
group by DATE_FORMAT(a.create_time, '%Y-%m-%d')
order by DATE_FORMAT(a.create_time, '%Y-%m-%d') desc, a.merchant_id desc
</select>
<select id="listOrerPayType" resultType="com.bsd.pjcloud.hard.api.vo.order.HardOrderPayTypeVo">
@@ -3,5 +3,5 @@ package com.bsd.pjcloud.thirdparty.vo.ks;
import lombok.Data;
@Data
public class KsBarcodeLikeVo {
public class KsBarcodeLikeVo extends KsBaseInnerVo {
}
@@ -0,0 +1,14 @@
package com.bsd.pjcloud.thirdparty.vo.ks;
import cn.hutool.core.util.ObjectUtil;
import lombok.Data;
@Data
public class KsBaseInnerVo {
private String message;
public boolean isSuccess() {
return ObjectUtil.isEmpty(message);
}
}
@@ -0,0 +1,25 @@
package com.bsd.pjcloud.thirdparty.vo.ks;
import cn.hutool.core.util.ObjectUtil;
import lombok.Data;
@Data
public class KsBaseVo {
static private Integer successCode = 200;
private String request_id;
private Long cost;
private Integer code;
private String msg;
private String data;
public boolean isSuccess() {
return ObjectUtil.equal(code, KsBaseVo.successCode);
}
}
@@ -53,7 +53,7 @@ public class ThirdKsApiController {
}
@Inner
@Operation(summary = "SKU审核结果主动获取")
@Operation(summary = "SKU删除")
@PostMapping("/sku-delete")
public R<KsSkuDeleteVo> skuDelete(@RequestBody KsSkuDeleteDto dto) {
return R.ok(thirdKsApiService.skuDelete(dto));
@@ -29,7 +29,7 @@ public interface ThirdKsApiService {
KsSkuEditVo skuEdit(KsSkuEditDto dto);
/**
* SKU审核结果主动获取
* SKU删除
*/
KsSkuDeleteVo skuDelete(KsSkuDeleteDto dto);
@@ -1,19 +1,24 @@
package com.bsd.pjcloud.thirdparty.service.impl.ks;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.json.JSONUtil;
import com.bsd.pjcloud.thirdparty.config.KsDiscernConfig;
import com.bsd.pjcloud.thirdparty.dto.door.DoorRegisterDto;
import com.bsd.pjcloud.thirdparty.dto.ks.*;
import com.bsd.pjcloud.thirdparty.entity.door.ThirdDoorLogEntity;
import com.bsd.pjcloud.thirdparty.service.ThirdDoorLogService;
import com.bsd.pjcloud.thirdparty.service.ThirdKsApiService;
import com.bsd.pjcloud.thirdparty.utils.door.api.DoorApi;
import com.bsd.pjcloud.thirdparty.utils.ks.api.KsApi;
import com.bsd.pjcloud.thirdparty.vo.door.DoorRegisterVo;
import com.bsd.pjcloud.thirdparty.vo.ks.*;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
@Service
@Validated
@@ -21,14 +26,33 @@ import org.springframework.validation.annotation.Validated;
@RequiredArgsConstructor
public class ThirdKsApiServiceImpl implements ThirdKsApiService {
private final String TAG = "旷世api";
private final KsDiscernConfig ksDiscernConfig;
private final ThirdDoorLogService doorLogService;
/**
* 常规SKU提交审核
*/
@Override
public KsSkuSubmitVo skuSubmit(KsSkuSubmitDto dto) {
return null;
long startTime = System.currentTimeMillis();
KsBaseVo ksBaseVo = new KsBaseVo();
KsApi.Api api = KsApi.SKU_SUBMIT.setBaseUrl(ksDiscernConfig.getBaseUrl()).setParams(BeanUtil.beanToMap(dto));
ThirdDoorLogEntity logEntity = api.getInitLogEntity();
logEntity.setReq(JSONUtil.toJsonStr(dto));
try {
} catch (Exception e) {
String error = String.format("|%s||skuSubmit|意外的错误error|%s|stack|%s|", TAG, e.getMessage(), Arrays.toString(e.getStackTrace()));
log.error(error);
logEntity.setError(error);
} finally {
logEntity.setTimeConsuming(Long.toString(System.currentTimeMillis() - startTime));
doorLogService.save(logEntity);
}
return JSONUtil.toBean(ksBaseVo.getData(), KsSkuSubmitVo.class);
}
/**
@@ -36,7 +60,22 @@ public class ThirdKsApiServiceImpl implements ThirdKsApiService {
*/
@Override
public KsSkuSubmitCollectionVo skuSubmitCollection(KsSkuSubmitCollectionDto dto) {
return null;
long startTime = System.currentTimeMillis();
KsBaseVo ksBaseVo = new KsBaseVo();
KsApi.Api api = KsApi.SKU_SUBMIT_COLLECTION.setBaseUrl(ksDiscernConfig.getBaseUrl()).setParams(BeanUtil.beanToMap(dto));
ThirdDoorLogEntity logEntity = api.getInitLogEntity();
logEntity.setReq(JSONUtil.toJsonStr(dto));
try {
} catch (Exception e) {
String error = String.format("|%s||skuSubmitCollection|意外的错误error|%s|stack|%s|", TAG, e.getMessage(), Arrays.toString(e.getStackTrace()));
log.error(error);
logEntity.setError(error);
} finally {
logEntity.setTimeConsuming(Long.toString(System.currentTimeMillis() - startTime));
doorLogService.save(logEntity);
}
return JSONUtil.toBean(ksBaseVo.getData(), KsSkuSubmitCollectionVo.class);
}
/**
@@ -44,7 +83,22 @@ public class ThirdKsApiServiceImpl implements ThirdKsApiService {
*/
@Override
public KsSkuResultVo skuResult(KsSkuResultDto dto) {
return null;
long startTime = System.currentTimeMillis();
KsBaseVo ksBaseVo = new KsBaseVo();
KsApi.Api api = KsApi.SKU_RESULT.setBaseUrl(ksDiscernConfig.getBaseUrl()).setParams(BeanUtil.beanToMap(dto));
ThirdDoorLogEntity logEntity = api.getInitLogEntity();
logEntity.setReq(JSONUtil.toJsonStr(dto));
try {
} catch (Exception e) {
String error = String.format("|%s||skuResult|意外的错误error|%s|stack|%s|", TAG, e.getMessage(), Arrays.toString(e.getStackTrace()));
log.error(error);
logEntity.setError(error);
} finally {
logEntity.setTimeConsuming(Long.toString(System.currentTimeMillis() - startTime));
doorLogService.save(logEntity);
}
return JSONUtil.toBean(ksBaseVo.getData(), KsSkuResultVo.class);
}
/**
@@ -52,15 +106,45 @@ public class ThirdKsApiServiceImpl implements ThirdKsApiService {
*/
@Override
public KsSkuEditVo skuEdit(KsSkuEditDto dto) {
return null;
long startTime = System.currentTimeMillis();
KsBaseVo ksBaseVo = new KsBaseVo();
KsApi.Api api = KsApi.SKU_EDIT.setBaseUrl(ksDiscernConfig.getBaseUrl()).setParams(BeanUtil.beanToMap(dto));
ThirdDoorLogEntity logEntity = api.getInitLogEntity();
logEntity.setReq(JSONUtil.toJsonStr(dto));
try {
} catch (Exception e) {
String error = String.format("|%s||skuEdit|意外的错误error|%s|stack|%s|", TAG, e.getMessage(), Arrays.toString(e.getStackTrace()));
log.error(error);
logEntity.setError(error);
} finally {
logEntity.setTimeConsuming(Long.toString(System.currentTimeMillis() - startTime));
doorLogService.save(logEntity);
}
return JSONUtil.toBean(ksBaseVo.getData(), KsSkuEditVo.class);
}
/**
* SKU审核结果主动获取
* SKU删除
*/
@Override
public KsSkuDeleteVo skuDelete(KsSkuDeleteDto dto) {
return null;
long startTime = System.currentTimeMillis();
KsBaseVo ksBaseVo = new KsBaseVo();
KsApi.Api api = KsApi.SKU_DELETE.setBaseUrl(ksDiscernConfig.getBaseUrl()).setParams(BeanUtil.beanToMap(dto));
ThirdDoorLogEntity logEntity = api.getInitLogEntity();
logEntity.setReq(JSONUtil.toJsonStr(dto));
try {
} catch (Exception e) {
String error = String.format("|%s||skuDelete|意外的错误error|%s|stack|%s|", TAG, e.getMessage(), Arrays.toString(e.getStackTrace()));
log.error(error);
logEntity.setError(error);
} finally {
logEntity.setTimeConsuming(Long.toString(System.currentTimeMillis() - startTime));
doorLogService.save(logEntity);
}
return JSONUtil.toBean(ksBaseVo.getData(), KsSkuDeleteVo.class);
}
/**
@@ -68,7 +152,22 @@ public class ThirdKsApiServiceImpl implements ThirdKsApiService {
*/
@Override
public KsBarcodeSkuVo barcodeSku(KsBarcodeSkuDto dto) {
return null;
long startTime = System.currentTimeMillis();
KsBaseVo ksBaseVo = new KsBaseVo();
KsApi.Api api = KsApi.BARCODE_SKU.setBaseUrl(ksDiscernConfig.getBaseUrl()).setParams(BeanUtil.beanToMap(dto));
ThirdDoorLogEntity logEntity = api.getInitLogEntity();
logEntity.setReq(JSONUtil.toJsonStr(dto));
try {
} catch (Exception e) {
String error = String.format("|%s||barcodeSku|意外的错误error|%s|stack|%s|", TAG, e.getMessage(), Arrays.toString(e.getStackTrace()));
log.error(error);
logEntity.setError(error);
} finally {
logEntity.setTimeConsuming(Long.toString(System.currentTimeMillis() - startTime));
doorLogService.save(logEntity);
}
return JSONUtil.toBean(ksBaseVo.getData(), KsBarcodeSkuVo.class);
}
/**
@@ -76,7 +175,24 @@ public class ThirdKsApiServiceImpl implements ThirdKsApiService {
*/
@Override
public KsBarcodeSkuVo barcodeSkuId(Long ksSkuId) {
return null;
Map<String, Object> dtoMap = new HashMap<>();
dtoMap.put("ks_sku_id", ksSkuId);
long startTime = System.currentTimeMillis();
KsBaseVo ksBaseVo = new KsBaseVo();
KsApi.Api api = KsApi.BARCODE_SKU.setBaseUrl(ksDiscernConfig.getBaseUrl()).setParams(BeanUtil.beanToMap(dtoMap));
ThirdDoorLogEntity logEntity = api.getInitLogEntity();
logEntity.setReq(JSONUtil.toJsonStr(dtoMap));
try {
} catch (Exception e) {
String error = String.format("|%s||barcodeSkuId|意外的错误error|%s|stack|%s|", TAG, e.getMessage(), Arrays.toString(e.getStackTrace()));
log.error(error);
logEntity.setError(error);
} finally {
logEntity.setTimeConsuming(Long.toString(System.currentTimeMillis() - startTime));
doorLogService.save(logEntity);
}
return JSONUtil.toBean(ksBaseVo.getData(), KsBarcodeSkuVo.class);
}
/**
@@ -85,16 +201,32 @@ public class ThirdKsApiServiceImpl implements ThirdKsApiService {
@Override
public KsBarcodeLikeVo barcodeSkuLike(KsBarcodeLikeDto dto) {
long startTime = System.currentTimeMillis();
KsApi.Api api = KsApi.BARCODE_SKU_LIKE.setBaseUrl(ksDiscernConfig.getBaseUrl());
KsBaseVo ksBaseVo = new KsBaseVo();
KsApi.Api api = KsApi.BARCODE_SKU_LIKE.setBaseUrl(ksDiscernConfig.getBaseUrl()).setParams(BeanUtil.beanToMap(dto));
ThirdDoorLogEntity logEntity = api.getInitLogEntity();
logEntity.setReq(JSONUtil.toJsonStr(dto));
try {
String body = JSONUtil.toJsonStr(dto);
String res = api.getHttpRequest().body(body).execute().body();
if (ObjectUtil.isEmpty(res)) throw new RuntimeException("response响应为空");
logEntity.setRes(res);
ksBaseVo = JSONUtil.toBean(res, KsBaseVo.class);
if (!ksBaseVo.isSuccess()) {
String errorLog = String.format("请求错误res|%s|url|%s|body|%s|", res, api, body);
log.error(errorLog);
KsBarcodeLikeVo errorVo = new KsBarcodeLikeVo();
errorVo.setMessage(ksBaseVo.getMsg());
return errorVo;
}
} catch (Exception e) {
String error = String.format("|%s||barcodeSkuLike|意外的错误error|%s|stack|%s|", TAG, e.getMessage(), Arrays.toString(e.getStackTrace()));
log.error(error);
logEntity.setError(error);
} finally {
logEntity.setTimeConsuming(Long.toString(System.currentTimeMillis() - startTime));
doorLogService.save(logEntity);
}
return null;
return JSONUtil.toBean(ksBaseVo.getData(), KsBarcodeLikeVo.class);
}
/**
@@ -102,7 +234,22 @@ public class ThirdKsApiServiceImpl implements ThirdKsApiService {
*/
@Override
public KsRecognitionVo recognition(KsRecognitionDto dto) {
return null;
long startTime = System.currentTimeMillis();
KsBaseVo ksBaseVo = new KsBaseVo();
KsApi.Api api = KsApi.BARCODE_SKU.setBaseUrl(ksDiscernConfig.getBaseUrl()).setParams(BeanUtil.beanToMap(dto));
ThirdDoorLogEntity logEntity = api.getInitLogEntity();
logEntity.setReq(JSONUtil.toJsonStr(dto));
try {
} catch (Exception e) {
String error = String.format("|%s||recognition|意外的错误error|%s|stack|%s|", TAG, e.getMessage(), Arrays.toString(e.getStackTrace()));
log.error(error);
logEntity.setError(error);
} finally {
logEntity.setTimeConsuming(Long.toString(System.currentTimeMillis() - startTime));
doorLogService.save(logEntity);
}
return JSONUtil.toBean(ksBaseVo.getData(), KsRecognitionVo.class);
}
/**
@@ -110,6 +257,21 @@ public class ThirdKsApiServiceImpl implements ThirdKsApiService {
*/
@Override
public KsRecognitionResultVo recognitionResult(KsRecognitionResultDto dto) {
return null;
long startTime = System.currentTimeMillis();
KsBaseVo ksBaseVo = new KsBaseVo();
KsApi.Api api = KsApi.BARCODE_SKU.setBaseUrl(ksDiscernConfig.getBaseUrl()).setParams(BeanUtil.beanToMap(dto));
ThirdDoorLogEntity logEntity = api.getInitLogEntity();
logEntity.setReq(JSONUtil.toJsonStr(dto));
try {
} catch (Exception e) {
String error = String.format("|%s||recognitionResult|意外的错误error|%s|stack|%s|", TAG, e.getMessage(), Arrays.toString(e.getStackTrace()));
log.error(error);
logEntity.setError(error);
} finally {
logEntity.setTimeConsuming(Long.toString(System.currentTimeMillis() - startTime));
doorLogService.save(logEntity);
}
return JSONUtil.toBean(ksBaseVo.getData(), KsRecognitionResultVo.class);
}
}
@@ -31,7 +31,7 @@ public class KsApi {
// 常规SKU修改
public static final KsApi.Api SKU_EDIT = KsApi.Api.builder().url("/openapi/sc/v1/sku/%s").bizType(ThordDoorApiTypeEnum.REGISTER).method("patch").contentType("application/json").build();
// 常规SKU修改
// SKU删除
public static final KsApi.Api SKU_DELETE = KsApi.Api.builder().url("/openapi/sc/v1/sku/%s").bizType(ThordDoorApiTypeEnum.REGISTER).method("delete").contentType("application/json").build();
// 根据69码查询标准库和私有库商品信息