From 65643f2285e3780f249f3a6052a669d77d2c42bc Mon Sep 17 00:00:00 2001 From: wangfukang <15630117759@163.com> Date: Fri, 22 Nov 2024 09:38:23 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=A9=E6=B5=81=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hiver-admin/test-output/test-report.html | 14 +-- .../constant/DealingsRecordConstant.java | 4 +- .../impl/LogisticsAddressBookServiceImpl.java | 92 ++++++++++--------- .../mall/debt/controller/DebtController.java | 23 +++++ .../cc/hiver/mall/debt/mapper/DebtMapper.java | 2 + .../hiver/mall/debt/service/DebtService.java | 8 ++ .../debt/service/impl/DebtServiceImpl.java | 62 +++++++++++++ .../resources/mapper/DealingsRecordMapper.xml | 2 +- 8 files changed, 154 insertions(+), 53 deletions(-) diff --git a/hiver-admin/test-output/test-report.html b/hiver-admin/test-output/test-report.html index 2cceb583..3204292c 100644 --- a/hiver-admin/test-output/test-report.html +++ b/hiver-admin/test-output/test-report.html @@ -35,7 +35,7 @@ Hiver
  • -十一月 18, 2024 20:21:08 +十一月 21, 2024 21:56:37
  • @@ -84,7 +84,7 @@

    passTest

    -

    20:21:09 下午 / 0.016 secs

    +

    21:56:37 下午 / 0.016 secs

    @@ -92,8 +92,8 @@
    #test-id=1
    passTest
    -11.18.2024 20:21:09 -11.18.2024 20:21:09 +11.21.2024 21:56:37 +11.21.2024 21:56:37 0.016 secs
    @@ -104,7 +104,7 @@ 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')