| Pass |
- 20:21:09 |
+ 21:56:37 |
Test passed
|
@@ -128,13 +128,13 @@
Started
-
十一月 18, 2024 20:21:08
+
十一月 21, 2024 21:56:37
Ended
-
十一月 18, 2024 20:21:09
+
十一月 21, 2024 21:56:37
diff --git a/hiver-core/src/main/java/cc/hiver/core/common/constant/DealingsRecordConstant.java b/hiver-core/src/main/java/cc/hiver/core/common/constant/DealingsRecordConstant.java
index 49df3ddb..3fa39e40 100644
--- a/hiver-core/src/main/java/cc/hiver/core/common/constant/DealingsRecordConstant.java
+++ b/hiver-core/src/main/java/cc/hiver/core/common/constant/DealingsRecordConstant.java
@@ -13,8 +13,8 @@ public interface DealingsRecordConstant {
Integer[] TYPE = {0, 1};
/**
- * 浜ゆ槗绫诲瀷锛0:寮鍗曪紱1锛氶璐(搴旇鏄病鐢ㄥ埌)锛2锛氬洖娆撅紝3锛氭柊澧炲鎴/渚涘簲鍟嗘瑺娆撅紝4锛氬厖鍊硷紱5锛氳拷鍔犳瑺娆;6:鎾ら攢璁㈠崟;7:鍏ュ簱锛8锛氬垹闄や氦鏄撹褰; 9:鍏ュ簱閫璐э紱10锛氭挙閿鍏ュ簱閫璐
+ * 浜ゆ槗绫诲瀷锛0:寮鍗曪紱1锛氶璐(搴旇鏄病鐢ㄥ埌)锛2锛氬洖娆撅紝3锛氭柊澧炲鎴/渚涘簲鍟嗘瑺娆撅紝4锛氬厖鍊硷紱5锛氳拷鍔犳瑺娆;6:鎾ら攢璁㈠崟;7:鍏ュ簱锛8锛氬垹闄や氦鏄撹褰; 9:鍏ュ簱閫璐э紱10锛氭挙閿鍏ュ簱閫璐;99:鎾ら攢娆犳璁板綍
*/
- Integer[] DEALINGS_TYPE = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
+ Integer[] DEALINGS_TYPE = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,99};
}
diff --git a/hiver-core/src/main/java/cc/hiver/core/logisticsaddressbook/service/impl/LogisticsAddressBookServiceImpl.java b/hiver-core/src/main/java/cc/hiver/core/logisticsaddressbook/service/impl/LogisticsAddressBookServiceImpl.java
index 65e1b824..f2156aa4 100644
--- a/hiver-core/src/main/java/cc/hiver/core/logisticsaddressbook/service/impl/LogisticsAddressBookServiceImpl.java
+++ b/hiver-core/src/main/java/cc/hiver/core/logisticsaddressbook/service/impl/LogisticsAddressBookServiceImpl.java
@@ -46,25 +46,27 @@ public class LogisticsAddressBookServiceImpl extends ServiceImpl getLogisticsAddressBookPageList(LogisticsAddressBookQueryVo logisticsAddressBookQueryVo) {
final Page page = new Page<>();
final LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>();
- if (logisticsAddressBookQueryVo != null && StringUtils.isNotEmpty(logisticsAddressBookQueryVo.getKeyWord())) {
- wrapper.like(LogisticsAddressBook::getShipperOrReceiverName, logisticsAddressBookQueryVo.getKeyWord()).or()
- .like(LogisticsAddressBook::getMobile, logisticsAddressBookQueryVo.getKeyWord());
- }
if (logisticsAddressBookQueryVo != null && logisticsAddressBookQueryVo.getAddressType() != null) {
wrapper.eq(LogisticsAddressBook::getAddressType, logisticsAddressBookQueryVo.getAddressType());
}
if (logisticsAddressBookQueryVo != null && logisticsAddressBookQueryVo.getCompanyId() != null) {
wrapper.eq(LogisticsAddressBook::getCompanyId, logisticsAddressBookQueryVo.getCompanyId());
}
+
+ if (logisticsAddressBookQueryVo != null && StringUtils.isNotEmpty(logisticsAddressBookQueryVo.getKeyWord())) {
+ wrapper.like(LogisticsAddressBook::getShipperOrReceiverName, logisticsAddressBookQueryVo.getKeyWord()).or()
+ .like(LogisticsAddressBook::getMobile, logisticsAddressBookQueryVo.getKeyWord());
+ }
page.setCurrent(logisticsAddressBookQueryVo.getPageNum());
page.setSize(logisticsAddressBookQueryVo.getPageSize());
return logisticsAddressBookMapper.selectPage(page, wrapper);
diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/debt/controller/DebtController.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/debt/controller/DebtController.java
index 54b475dd..f774f9dc 100644
--- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/debt/controller/DebtController.java
+++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/debt/controller/DebtController.java
@@ -130,4 +130,27 @@ public class DebtController {
final DebtOfShopVo debtOfShopVo = debtService.getAllBalanceByShopId(queryDebtVo);
return new ResultUtil<>().setData(debtOfShopVo);
}
+
+ /**
+ * 鎾ら攢鍏呭
+ *
+ * @param id
+ * @return Result
+ * @author 鐜嬪瘜搴
+ * @date 2024/11/20
+ */
+ @RequestMapping(value = "/revokeDebt", method = RequestMethod.POST)
+ @ApiOperation("鎾ら攢鍏呭")
+ public Result revokeDebt(String id, String remark) {
+ if (StringUtils.isEmpty(id)) {
+ return ResultUtil.error("娆犳id涓嶈兘涓虹┖");
+ }
+ try {
+ debtService.revokeDebt(id, remark);
+ return ResultUtil.success("鎾ら攢鎴愬姛锛");
+ } catch (Exception e) {
+ log.error(e.getMessage(), e);
+ return ResultUtil.error("鎾ら攢澶辫触锛");
+ }
+ }
}
diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/debt/mapper/DebtMapper.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/debt/mapper/DebtMapper.java
index 51472cf6..aecadbeb 100644
--- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/debt/mapper/DebtMapper.java
+++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/debt/mapper/DebtMapper.java
@@ -6,9 +6,11 @@ import cc.hiver.mall.debt.vo.QueryDebtVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
import java.util.List;
+@Repository
public interface DebtMapper extends BaseMapper {
Page getDebtByShopId(Page page, @Param("queryDebtVo") QueryDebtVo queryDebtVo);
diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/debt/service/DebtService.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/debt/service/DebtService.java
index e4e12fd5..93eee80c 100644
--- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/debt/service/DebtService.java
+++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/debt/service/DebtService.java
@@ -94,4 +94,12 @@ public interface DebtService extends IService {
* @date 2024/10/11
*/
DebtOfShopVo getAllBalanceByShopId(QueryDebtVo queryDebtVo);
+
+ /**
+ * 鎾ら攢鍏呭
+ * @author 鐜嬪瘜搴
+ * @date 2024/11/20
+ * @param id
+ */
+ void revokeDebt(String id, String remark);
}
diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/debt/service/impl/DebtServiceImpl.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/debt/service/impl/DebtServiceImpl.java
index e85f80de..aa4d0e03 100644
--- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/debt/service/impl/DebtServiceImpl.java
+++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/debt/service/impl/DebtServiceImpl.java
@@ -1,5 +1,6 @@
package cc.hiver.mall.debt.service.impl;
+import cc.hiver.core.common.constant.CommonConstant;
import cc.hiver.core.common.constant.DealingsRecordConstant;
import cc.hiver.core.common.exception.HiverException;
import cc.hiver.core.common.utils.SecurityUtil;
@@ -443,4 +444,65 @@ public class DebtServiceImpl extends ServiceImpl implements De
public DebtOfShopVo getAllBalanceByShopId(QueryDebtVo queryDebtVo) {
return debtMapper.getAllBalanceByShopId(queryDebtVo);
}
+
+ /**
+ * 鎾ら攢娆犳璁板綍
+ *
+ * @param id
+ * @param remark
+ * @author 鐜嬪瘜搴
+ * @date 2024/11/20
+ */
+ @Override
+ public void revokeDebt(String id, String remark) {
+ final DealingsRecord oldDealingsRecord = dealingsRecordService.getById(id);
+ if (oldDealingsRecord == null) {
+ throw new HiverException("鏈煡璇㈠埌娆犳璁板綍淇℃伅锛");
+ }
+ // 鑾峰彇褰撳墠娆犳
+ final String shopId = securityUtil.getShopId();
+ final User user = securityUtil.getCurrUser();
+ final Debt oldDebt = debtMapper.selectByUserId(shopId, oldDealingsRecord.getDealingsUserId());
+ // 鍥為閲戦
+ // 闇瑕佸洖閫鐨勯噾棰
+ final BigDecimal needRevokeAmount = oldDealingsRecord.getAmount();
+
+ BigDecimal lastDebtAmount = BigDecimal.ZERO;
+ BigDecimal newDebtAmount = BigDecimal.ZERO;
+ lastDebtAmount = oldDebt.getAmountOwed() == null ? BigDecimal.ZERO : oldDebt.getAmountOwed();
+ // 璁$畻娆犳
+ if (oldDebt.getAmountOwed() != null) {
+ newDebtAmount = oldDebt.getAmountOwed().add(needRevokeAmount);
+ }
+ oldDebt.setAmountOwed(newDebtAmount);
+ debtMapper.updateById(oldDebt);
+ // 鑾峰彇娆犳璁板綍
+ // 2. 鏂板娆犳璁板綍
+ // 鍒涘缓浜
+ final DealingsRecord dealingsRecord = new DealingsRecord();
+ dealingsRecord.setCreateBy(user.getId());
+ dealingsRecord.setCreateByName(user.getNickname());
+ dealingsRecord.setCreateTime(new Date());
+ dealingsRecord.setDelFlag(CommonConstant.DEL_FLAG_FALSE);
+ dealingsRecord.setDealingsUserId(oldDebt.getUserId());
+ dealingsRecord.setDealingsUserName(oldDebt.getUserName());
+ dealingsRecord.setDealingsWay("鎾ら攢娆犳璁板綍");
+ dealingsRecord.setShopId(shopId);
+ // 涓婃娆犳
+ dealingsRecord.setLastDebtAmount(lastDebtAmount);
+ // 鏈鏂版瑺娆
+ dealingsRecord.setBalanceDue(newDebtAmount);
+ // 閲戦
+ dealingsRecord.setAmount(needRevokeAmount);
+ // 鍏呭
+ dealingsRecord.setDealingsType(DealingsRecordConstant.DEALINGS_TYPE[11]);
+ dealingsRecord.setDealingsTime(new Date());
+ dealingsRecord.setRemark(remark);
+
+ dealingsRecord.setUserType(DealingsRecordConstant.TYPE[1]);
+ dealingsRecordService.save(dealingsRecord);
+ // 鍘熸潵鐨勪氦鏄撹褰曞彉涓哄凡鎾ら攢
+ oldDealingsRecord.setDelFlag(CommonConstant.DEL_FLAG_TRUE);
+ dealingsRecordService.updateById(oldDealingsRecord);
+ }
}
diff --git a/hiver-modules/hiver-mall/src/main/resources/mapper/DealingsRecordMapper.xml b/hiver-modules/hiver-mall/src/main/resources/mapper/DealingsRecordMapper.xml
index ce0e1cc5..426b80ce 100644
--- a/hiver-modules/hiver-mall/src/main/resources/mapper/DealingsRecordMapper.xml
+++ b/hiver-modules/hiver-mall/src/main/resources/mapper/DealingsRecordMapper.xml
@@ -203,7 +203,7 @@
WHERE
tdr.del_flag != 2
- and tdr.dealings_type in ( '2','3','4','5','6','7' )
+ and tdr.dealings_type in ( '2','3','4','5','6','7','99' )
and tdr.dealings_user_id = #{supplierBillQueryVo.supplierId}
and tdr.shop_id = #{supplierBillQueryVo.shopId}
and (tdr.sale_id is null or ts.in_storage_status = '1')