Browse Source

待配货开单报错,分享页下单,客户没有欠款。

dev
wangfukang 2 years ago
parent
commit
051be1469a
  1. 10
      hiver-admin/src/main/resources/application.yml
  2. 16
      hiver-admin/test-output/test-report.html
  3. 2
      hiver-core/src/main/resources/mapper/LogisticsEntruckingLogMapper.xml
  4. 40
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/SaleController.java
  5. 3
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/customercategory/entity/CustomerCategory.java

10
hiver-admin/src/main/resources/application.yml

@ -25,8 +25,8 @@ spring:
timeout-per-shutdown-phase: 10S timeout-per-shutdown-phase: 10S
# 数据源 # 数据源
datasource: datasource:
url: jdbc:mysql://154.8.162.157:3306/hiver_shop?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true&allowMultiQueries=true # url: jdbc:mysql://154.8.162.157:3306/hiver_shop?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true&allowMultiQueries=true
# url: jdbc:mysql://8.140.198.243:3306/hiver_shop?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true&allowMultiQueries=true url: jdbc:mysql://8.140.198.243:3306/hiver_shop?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true&allowMultiQueries=true
username: reddoor username: reddoor
# Jasypt加密 可到common-utils中找到JasyptUtil加解密工具类生成加密结果 格式为ENC(加密结果) 以下解密结果为123456 # Jasypt加密 可到common-utils中找到JasyptUtil加解密工具类生成加密结果 格式为ENC(加密结果) 以下解密结果为123456
password: ENC(Zla4U4+yRLPhicvuX2TmiEgxEpzP4dk8BHzFDEtiEhwLQIIaftZrrEUJZce6efoe) password: ENC(Zla4U4+yRLPhicvuX2TmiEgxEpzP4dk8BHzFDEtiEhwLQIIaftZrrEUJZce6efoe)
@ -67,8 +67,8 @@ spring:
ddl-auto: update ddl-auto: update
# Redis 若设有密码自行添加配置password # Redis 若设有密码自行添加配置password
redis: redis:
host: 154.8.162.157 # host: 154.8.162.157
# host: 8.140.198.243 host: 8.140.198.243
password: reddoor168 password: reddoor168
# 数据库索引 默认0 # 数据库索引 默认0
database: 1 database: 1
@ -338,7 +338,7 @@ ignored:
- /hiver/app/logisticsOrder/getLogisticsOrderDetail - /hiver/app/logisticsOrder/getLogisticsOrderDetail
- /hiver/app/customer/findByUserPhoneAndShopId - /hiver/app/customer/findByUserPhoneAndShopId
# 分享页获取店铺分类 # 分享页获取店铺分类
- app/productCategory/listByShopId - /hiver/app/productCategory/listByShopId
# 临时增加 # 临时增加
- /hiver/app/logisticsOrder/addLogisticsOrder - /hiver/app/logisticsOrder/addLogisticsOrder

16
hiver-admin/test-output/test-report.html

@ -35,7 +35,7 @@
<a href="#"><span class="badge badge-primary">Hiver</span></a> <a href="#"><span class="badge badge-primary">Hiver</span></a>
</li> </li>
<li class="m-r-10"> <li class="m-r-10">
<a href="#"><span class="badge badge-primary">九月 07, 2024 16:05:02</span></a> <a href="#"><span class="badge badge-primary">九月 08, 2024 15:39:34</span></a>
</li> </li>
</ul> </ul>
</div> </div>
@ -84,7 +84,7 @@
<div class="test-detail"> <div class="test-detail">
<span class="meta text-white badge badge-sm"></span> <span class="meta text-white badge badge-sm"></span>
<p class="name">passTest</p> <p class="name">passTest</p>
<p class="text-sm"><span>16:05:02 下午</span> / <span>0.017 secs</span></p> <p class="text-sm"><span>15:39:35 下午</span> / <span>0.026 secs</span></p>
</div> </div>
<div class="test-contents d-none"> <div class="test-contents d-none">
<div class="detail-head"> <div class="detail-head">
@ -92,9 +92,9 @@
<div class="info"> <div class="info">
<div class='float-right'><span class='badge badge-default'>#test-id=1</span></div> <div class='float-right'><span class='badge badge-default'>#test-id=1</span></div>
<h5 class="test-status text-pass">passTest</h5> <h5 class="test-status text-pass">passTest</h5>
<span class='badge badge-success'>09.07.2024 16:05:02</span> <span class='badge badge-success'>09.08.2024 15:39:35</span>
<span class='badge badge-danger'>09.07.2024 16:05:02</span> <span class='badge badge-danger'>09.08.2024 15:39:35</span>
<span class='badge badge-default'>0.017 secs</span> <span class='badge badge-default'>0.026 secs</span>
</div> </div>
<div class="m-t-10 m-l-5"></div> <div class="m-t-10 m-l-5"></div>
</div> </div>
@ -104,7 +104,7 @@
<tbody> <tbody>
<tr class="event-row"> <tr class="event-row">
<td><span class="badge log pass-bg">Pass</span></td> <td><span class="badge log pass-bg">Pass</span></td>
<td>16:05:02</td> <td>15:39:35</td>
<td> <td>
Test passed Test passed
</td> </td>
@ -128,13 +128,13 @@
<div class="col-md-3"> <div class="col-md-3">
<div class="card"><div class="card-body"> <div class="card"><div class="card-body">
<p class="m-b-0">Started</p> <p class="m-b-0">Started</p>
<h3>九月 07, 2024 16:05:02</h3> <h3>九月 08, 2024 15:39:34</h3>
</div></div> </div></div>
</div> </div>
<div class="col-md-3"> <div class="col-md-3">
<div class="card"><div class="card-body"> <div class="card"><div class="card-body">
<p class="m-b-0">Ended</p> <p class="m-b-0">Ended</p>
<h3>九月 07, 2024 16:05:02</h3> <h3>九月 08, 2024 15:39:35</h3>
</div></div> </div></div>
</div> </div>
<div class="col-md-3"> <div class="col-md-3">

2
hiver-core/src/main/resources/mapper/LogisticsEntruckingLogMapper.xml

@ -178,7 +178,7 @@
and create_time BETWEEN #{nowDate} AND #{afterDay} and create_time BETWEEN #{nowDate} AND #{afterDay}
</foreach> </foreach>
</update> </update>
<select id="getCarStatistics" resultType="cc.hiver.core.logisticsentruckinglog.vo.StatisticsVo" parameterType="cc.hiver.core.logisticsentruckinglog.vo.LogisticsOrderQueryVo"> <select id="getCarStatistics" resultType="cc.hiver.core.logisticsorder.vo.StatisticsVo" parameterType="cc.hiver.core.logisticsorder.vo.LogisticsOrderQueryVo">
SELECT SELECT
SUM(t.car_fee) AS total_loading_fee, SUM(t.car_fee) AS total_loading_fee,
SUM(t.car_freight) AS total_transportation_fee SUM(t.car_freight) AS total_transportation_fee

40
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/SaleController.java

@ -2,6 +2,7 @@ package cc.hiver.mall.controller;
import cc.hiver.core.common.annotation.RateLimiter; import cc.hiver.core.common.annotation.RateLimiter;
import cc.hiver.core.common.constant.CommonConstant; import cc.hiver.core.common.constant.CommonConstant;
import cc.hiver.core.common.constant.DealingsRecordConstant;
import cc.hiver.core.common.constant.SaleConstant; import cc.hiver.core.common.constant.SaleConstant;
import cc.hiver.core.common.constant.WorkerConstant; import cc.hiver.core.common.constant.WorkerConstant;
import cc.hiver.core.common.utils.BeanUtils; import cc.hiver.core.common.utils.BeanUtils;
@ -16,6 +17,7 @@ import cc.hiver.core.service.LogiticsCompanyService;
import cc.hiver.core.service.WorkerService; import cc.hiver.core.service.WorkerService;
import cc.hiver.core.vo.WorkerQueryVO; import cc.hiver.core.vo.WorkerQueryVO;
import cc.hiver.mall.common.constant.OrderConstant; import cc.hiver.mall.common.constant.OrderConstant;
import cc.hiver.mall.debt.constant.DebtConstant;
import cc.hiver.mall.debt.entity.Debt; import cc.hiver.mall.debt.entity.Debt;
import cc.hiver.mall.debt.service.DebtService; import cc.hiver.mall.debt.service.DebtService;
import cc.hiver.mall.entity.*; import cc.hiver.mall.entity.*;
@ -139,12 +141,50 @@ public class SaleController {
// 设置店铺id为缓存中的内容 // 设置店铺id为缓存中的内容
// shopId从缓存中设置 // shopId从缓存中设置
final String shopId = securityUtil.getShopId(); final String shopId = securityUtil.getShopId();
final Shop shop = shopService.get(shopId); final Shop shop = shopService.get(shopId);
saleQueryDTO.getSale().setShopId(shopId); saleQueryDTO.getSale().setShopId(shopId);
saleQueryDTO.getSale().setShopName(shop.getShopName()); saleQueryDTO.getSale().setShopName(shop.getShopName());
// 根据该客户的欠款信息 // 根据该客户的欠款信息
final String userId = saleQueryDTO.getSale().getUserId(); final String userId = saleQueryDTO.getSale().getUserId();
final Debt debt = debtService.selectByUserId(shopId, userId); final Debt debt = debtService.selectByUserId(shopId, userId);
// 20240908 如果没有查询到下游客户欠款,那么就新增一条初始欠款
if (ObjectUtils.isEmpty(debt)) {
final User user = securityUtil.getCurrUser();
final Debt addDebt = new Debt();
addDebt.setCreateBy(user.getId());
addDebt.setCreateTime(new Date());
addDebt.setUserId(userId);
addDebt.setShopId(shopId);
addDebt.setUserPhone(saleQueryDTO.getMobile());
addDebt.setUserAdress(saleQueryDTO.getSale().getReceiveAddress());
addDebt.setUserName(saleQueryDTO.getSale().getUserName());
addDebt.setAmountOwed(BigDecimal.ZERO);
addDebt.setUserType(DebtConstant.USER_TYPE[0]);
debtService.save(addDebt);
// 新增交易记录
// 2. 新增欠款记录
final DealingsRecord dealingsRecord = new DealingsRecord();
dealingsRecord.setCreateBy(user.getId());
dealingsRecord.setCreateByName(user.getNickname());
dealingsRecord.setCreateTime(new Date());
dealingsRecord.setDealingsUserId(saleQueryDTO.getSale().getUserId());
dealingsRecord.setDealingsUserName(saleQueryDTO.getSale().getUserName());
dealingsRecord.setUserType(DealingsRecordConstant.TYPE[1]);
dealingsRecord.setDealingsWay("新增客户");
dealingsRecord.setShopId(shopId);
// 销售金额
dealingsRecord.setSaleAmount(BigDecimal.ZERO);
// 退货金额
dealingsRecord.setReturnAmount(BigDecimal.ZERO);
// 上次欠款
dealingsRecord.setLastDebtAmount(BigDecimal.ZERO);
// 最新欠款
dealingsRecord.setBalanceDue(BigDecimal.ZERO);
dealingsRecord.setAmount(BigDecimal.ZERO);
dealingsRecord.setDealingsType(DealingsRecordConstant.DEALINGS_TYPE[3]);
dealingsRecordService.save(dealingsRecord);
}
final BigDecimal amountOwed = debt.getAmountOwed(); final BigDecimal amountOwed = debt.getAmountOwed();
// 20240616 开单可能值包含退货单 // 20240616 开单可能值包含退货单
Sale sale = saleQueryDTO.getSale(); Sale sale = saleQueryDTO.getSale();

3
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/customercategory/entity/CustomerCategory.java

@ -20,6 +20,9 @@ import lombok.EqualsAndHashCode;
public class CustomerCategory extends HiverBaseEntity { public class CustomerCategory extends HiverBaseEntity {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "创建人姓名")
private String createByName;
@ApiModelProperty(value = "店铺id") @ApiModelProperty(value = "店铺id")
private String shopId; private String shopId;

Loading…
Cancel
Save