From 1d5589ac334a13371f547585e34db19b033eda65 Mon Sep 17 00:00:00 2001 From: Yen Date: Fri, 5 Jul 2024 15:46:28 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=90=88=E5=B9=B6?= =?UTF-8?q?=E6=A0=B8=E9=94=80=E7=8A=B6=E6=80=81=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/qs/serve/common/util/HttpUtil.java | 7 ++ .../GoodsCustomerPriceController.java | 11 +++ .../goods/entity/dto/InventoryCusPrice.java | 2 + .../service/GoodsCustomerPriceService.java | 7 ++ .../impl/GoodsCustomerPriceServiceImpl.java | 78 +++++++++++++++++++ .../modules/tbs/common/TbsSeeYonConst.java | 1 + .../vtb/mapper/VtbVerificationMapper.java | 4 + ...VerificationBatchOperationServiceImpl.java | 5 +- .../impl/VtbVerificationServiceImpl.java | 10 ++- 9 files changed, 122 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/qs/serve/common/util/HttpUtil.java b/src/main/java/com/qs/serve/common/util/HttpUtil.java index d6b8790f..42f28786 100644 --- a/src/main/java/com/qs/serve/common/util/HttpUtil.java +++ b/src/main/java/com/qs/serve/common/util/HttpUtil.java @@ -8,6 +8,7 @@ import org.apache.http.HttpEntity; import org.apache.http.ParseException; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; +import org.apache.http.client.config.RequestConfig; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; @@ -54,6 +55,12 @@ public class HttpUtil { post.addHeader(key,headers.get(key)); } } + post.setConfig( + RequestConfig.custom() + //连接超时60秒 + .setConnectTimeout(60*1000) + .build() + ); //执行post请求 response = client.execute(post); //访问成功状态码为200 diff --git a/src/main/java/com/qs/serve/modules/goods/controller/GoodsCustomerPriceController.java b/src/main/java/com/qs/serve/modules/goods/controller/GoodsCustomerPriceController.java index 62f87127..bfad5de4 100644 --- a/src/main/java/com/qs/serve/modules/goods/controller/GoodsCustomerPriceController.java +++ b/src/main/java/com/qs/serve/modules/goods/controller/GoodsCustomerPriceController.java @@ -115,5 +115,16 @@ public class GoodsCustomerPriceController { return R.isTrue(result); } + + /** + * 同步客户特殊价 + * @return + */ + @GetMapping("/sync") + public R syncCusInvPrice(){ + goodsCustomerPriceService.syncCustomerPrice(); + return R.ok(); + } + } diff --git a/src/main/java/com/qs/serve/modules/goods/entity/dto/InventoryCusPrice.java b/src/main/java/com/qs/serve/modules/goods/entity/dto/InventoryCusPrice.java index 749bc890..65d3baa2 100644 --- a/src/main/java/com/qs/serve/modules/goods/entity/dto/InventoryCusPrice.java +++ b/src/main/java/com/qs/serve/modules/goods/entity/dto/InventoryCusPrice.java @@ -13,6 +13,8 @@ import java.util.Date; @Data public class InventoryCusPrice { + private Long rowId; + private String cusCode; private String invCode; diff --git a/src/main/java/com/qs/serve/modules/goods/service/GoodsCustomerPriceService.java b/src/main/java/com/qs/serve/modules/goods/service/GoodsCustomerPriceService.java index 3220663c..033fa3a4 100644 --- a/src/main/java/com/qs/serve/modules/goods/service/GoodsCustomerPriceService.java +++ b/src/main/java/com/qs/serve/modules/goods/service/GoodsCustomerPriceService.java @@ -24,7 +24,14 @@ public interface GoodsCustomerPriceService extends IService GoodsCustomerPrice getBySupplierIdAndCode(String supplierId,String skuCode); + GoodsCustomerPrice getByCusCodeAndSkuCode(String supplierCode,String skuCode); + List getBySupplierCodeAndCode(String supplierCode, List skuCode); + /** + * 同步客户特殊价 + */ + void syncCustomerPrice(); + } diff --git a/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsCustomerPriceServiceImpl.java b/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsCustomerPriceServiceImpl.java index b87da564..f74e1847 100644 --- a/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsCustomerPriceServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsCustomerPriceServiceImpl.java @@ -2,16 +2,24 @@ package com.qs.serve.modules.goods.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.qs.serve.common.model.dto.R; import com.qs.serve.common.util.Assert; import com.qs.serve.common.util.AuthContextUtils; +import com.qs.serve.common.util.JsonUtil; import com.qs.serve.modules.bms.entity.BmsSupplier; import com.qs.serve.modules.bms.mapper.BmsSupplierMapper; import com.qs.serve.modules.goods.entity.GoodsSku; import com.qs.serve.modules.goods.entity.bo.GoodsCustomerPriceBo; import com.qs.serve.modules.goods.entity.bo.GoodsCustomerPriceSingleBo; +import com.qs.serve.modules.goods.entity.dto.InventoryCusPrice; import com.qs.serve.modules.goods.mapper.GoodsSkuMapper; +import com.qs.serve.modules.seeyon.service.SeeYonRequestService; +import com.qs.serve.modules.seeyon.service.impl.SeeYonRequestBaseService; +import com.qs.serve.modules.sys.entity.SysDictData; import com.qs.serve.modules.sys.entity.SysUser; +import com.qs.serve.modules.sys.mapper.SysDictDataMapper; import com.qs.serve.modules.sys.mapper.SysUserMapper; +import com.qs.serve.modules.tbs.common.TbsSeeYonConst; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -34,9 +42,11 @@ import java.util.stream.Collectors; @AllArgsConstructor public class GoodsCustomerPriceServiceImpl extends ServiceImpl implements GoodsCustomerPriceService { + private final SysDictDataMapper sysDictDataMapper; private final BmsSupplierMapper bmsSupplierMapper; private final GoodsSkuMapper goodsSkuMapper; private final SysUserMapper sysUserMapper; + private final SeeYonRequestBaseService seeYonRequestBaseService; @Override public List selectGoodsCustomerPriceList(GoodsCustomerPrice query) { @@ -125,6 +135,14 @@ public class GoodsCustomerPriceServiceImpl extends ServiceImpl lqw = new LambdaQueryWrapper<>(); + lqw.eq(GoodsCustomerPrice::getSupplierCode,supplierCode) + .eq(GoodsCustomerPrice::getSkuCode,skuCode); + return this.getOne(lqw,false); + } + @Override public List getBySupplierCodeAndCode(String supplierCode, List skuCodes) { LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); @@ -133,5 +151,65 @@ public class GoodsCustomerPriceServiceImpl extends ServiceImpl() + .eq(SysDictData::getGroupKey,DICT_KEY)); + Long maxId = 0L; + if(dictData!=null&&dictData.getKeyVal()!=null){ + maxId = Long.parseLong(dictData.getKeyVal()); + } + List cusPriceList = new ArrayList<>(); + + R res = seeYonRequestBaseService.postBase(TbsSeeYonConst.ERP_CUS_INV_LAST_UPD+"/"+maxId,null,"查询最近更新的客户特殊价"); + if(res.getStatus().equals(200)){ + cusPriceList = JsonUtil.jsonToList(res.getData(), InventoryCusPrice.class); + } + + assert cusPriceList != null; + for (InventoryCusPrice cusPrice : cusPriceList) { + if(maxId==null || cusPrice.getRowId() > maxId){ + maxId = cusPrice.getRowId(); + } + GoodsCustomerPrice customerPrice = this.getByCusCodeAndSkuCode(cusPrice.getCusCode(),cusPrice.getInvCode()); + if(customerPrice==null){ + GoodsSku goodsSku = goodsSkuMapper.selectBySkuCode(cusPrice.getInvCode()); + BmsSupplier supplier = bmsSupplierMapper.selectOne(new LambdaQueryWrapper() + .eq(BmsSupplier::getCode,cusPrice.getCusCode())); + customerPrice = new GoodsCustomerPrice(); + customerPrice.setSupplierId(supplier.getId()); + customerPrice.setSupplierCode(supplier.getCode()); + customerPrice.setSupplierName(supplier.getName()); + customerPrice.setSkuId(goodsSku.getId()+""); + customerPrice.setSkuCode(goodsSku.getSkuCode()); + customerPrice.setSkuName(goodsSku.getSkuName()); + customerPrice.setSkuUnit(goodsSku.getUnitName()); + customerPrice.setInitPrice(cusPrice.getPrice()); + customerPrice.setRealPrice(cusPrice.getPrice()); + this.save(customerPrice); + }else { + customerPrice.setRealPrice(cusPrice.getPrice()); + this.updateById(customerPrice); + } + } + if(maxId!=0){ + if(dictData==null){ + dictData = new SysDictData(); + dictData.setDictId(0L); + dictData.setGroupKey(DICT_KEY); + dictData.setKeyVal(maxId+""); + dictData.setLabel("同步客户特殊价最大值ID"); + dictData.setSort(0); + dictData.setRemark("同步客户特殊价最大值ID"); + sysDictDataMapper.insert(dictData); + }else { + dictData.setKeyVal(maxId+""); + sysDictDataMapper.updateById(dictData); + } + } + } + } diff --git a/src/main/java/com/qs/serve/modules/tbs/common/TbsSeeYonConst.java b/src/main/java/com/qs/serve/modules/tbs/common/TbsSeeYonConst.java index f786feba..7aa0e3c7 100644 --- a/src/main/java/com/qs/serve/modules/tbs/common/TbsSeeYonConst.java +++ b/src/main/java/com/qs/serve/modules/tbs/common/TbsSeeYonConst.java @@ -105,6 +105,7 @@ public interface TbsSeeYonConst { String ERP_CUS_AMOUNT = "/erp/customer/amount"; String ERP_CUS_AMOUNT_QUO = "/erp/customer/quoAmount"; String ERP_CUS_INV_PRICE = "/erp/inventory/invPrices"; + String ERP_CUS_INV_LAST_UPD = "/erp/inventory/lastUpdateCusInvPrices"; String ERP_CUS_INV_STAND = "/erp/inventory/standList"; String ERP_CUS_INV_SYNC_PRICE = "/erp/inventory/syncPrice"; String ERP_CUS_INV_SPECIAL = "/erp/inventory/specialSyncCrm"; diff --git a/src/main/java/com/qs/serve/modules/vtb/mapper/VtbVerificationMapper.java b/src/main/java/com/qs/serve/modules/vtb/mapper/VtbVerificationMapper.java index 9a52a32e..2a36fdf3 100644 --- a/src/main/java/com/qs/serve/modules/vtb/mapper/VtbVerificationMapper.java +++ b/src/main/java/com/qs/serve/modules/vtb/mapper/VtbVerificationMapper.java @@ -18,6 +18,10 @@ import java.util.List; */ public interface VtbVerificationMapper extends BaseMapper { + + @Select("select COALESCE(sum(amount),0) from vtb_verification where del_flag = 0 and batchId = #{batchId} ") + BigDecimal totalVtbAmtByBatchId(@Param("batchId")Long batchId); + @Select("select COALESCE(sum(amount),0) from vtb_verification where del_flag = 0 and activity_id = #{activityId} and verification_state = 1") BigDecimal totalActivityVerification(@Param("activityId")String activityId); diff --git a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationBatchOperationServiceImpl.java b/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationBatchOperationServiceImpl.java index 0c5fba90..34e46eae 100644 --- a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationBatchOperationServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationBatchOperationServiceImpl.java @@ -16,6 +16,7 @@ import com.qs.serve.modules.tbs.entity.vo.CtpAffairVo; import com.qs.serve.modules.vtb.common.VtbVerificationState; import com.qs.serve.modules.vtb.entity.*; import com.qs.serve.modules.vtb.entity.vo.VtbVerificationActReleaseVo; +import com.qs.serve.modules.vtb.mapper.VtbVerificationMapper; import com.qs.serve.modules.vtb.service.*; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -39,6 +40,7 @@ public class VtbVerificationBatchOperationServiceImpl implements VtbVerification private final VtbVerificationBatchService vtbVerificationBatchService; private final VtbVerificationService vtbVerificationService; + private final VtbVerificationMapper vtbVerificationMapper; private final SysUserService sysUserService; private final VtbVerificationApplication verificationApplication; private final VtbVerificationSubjectCenterService vtbVerificationSubjectCenterService; @@ -80,12 +82,11 @@ public class VtbVerificationBatchOperationServiceImpl implements VtbVerification List verificationList = vtbVerificationBatchService.listVerifications(batch.getId()); batch.setVtbBatchStatus(VtbVerificationBatch.BatchState.CHECK_OK); batch.setBackedTime(LocalDateTime.now()); - BigDecimal totalAmt = BigDecimal.ZERO; for (VtbVerification verification : verificationList) { //循环调用每个核销 vtbVerificationService.successCommit(verification.getId()); - totalAmt.add(verification.getAmount()); } + BigDecimal totalAmt = vtbVerificationMapper.totalVtbAmtByBatchId(batch.getId()); batch.setResultCheckAmount(totalAmt); vtbVerificationBatchService.updateById(batch); return null; diff --git a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java b/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java index c4f9d140..dae59b2b 100644 --- a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java @@ -1428,7 +1428,15 @@ public class VtbVerificationServiceImpl extends ServiceImpl