diff --git a/hiver-admin/src/main/resources/application.yml b/hiver-admin/src/main/resources/application.yml index 7aabbb38..3cc06acc 100644 --- a/hiver-admin/src/main/resources/application.yml +++ b/hiver-admin/src/main/resources/application.yml @@ -25,8 +25,8 @@ spring: timeout-per-shutdown-phase: 10S # 数据源 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://8.140.198.243: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 username: reddoor # Jasypt加密 可到common-utils中找到JasyptUtil加解密工具类生成加密结果 格式为ENC(加密结果) 以下解密结果为123456 password: ENC(Zla4U4+yRLPhicvuX2TmiEgxEpzP4dk8BHzFDEtiEhwLQIIaftZrrEUJZce6efoe) @@ -67,8 +67,8 @@ spring: ddl-auto: update # Redis 若设有密码自行添加配置password redis: - # host: 154.8.162.157 - host: 8.140.198.243 + host: 154.8.162.157 +# host: 8.140.198.243 password: reddoor168 # 数据库索引 默认0 database: 1 diff --git a/hiver-admin/test-output/test-report.html b/hiver-admin/test-output/test-report.html index 8b8af7e2..da8e3d31 100644 --- a/hiver-admin/test-output/test-report.html +++ b/hiver-admin/test-output/test-report.html @@ -35,7 +35,7 @@ Hiver
  • - 07, 2024 14:20:12 + 09, 2024 10:22:46
  • @@ -84,7 +84,7 @@

    passTest

    -

    14:20:12 / 0.015 secs

    +

    10:22:47 / 0.018 secs

    @@ -92,9 +92,9 @@
    #test-id=1
    passTest
    -07.07.2024 14:20:12 -07.07.2024 14:20:13 -0.015 secs +07.09.2024 10:22:47 +07.09.2024 10:22:47 +0.018 secs
    @@ -104,7 +104,7 @@ Pass - 14:20:13 + 10:22:47 Test passed @@ -128,13 +128,13 @@

    Started

    -

    07, 2024 14:20:12

    +

    09, 2024 10:22:46

    Ended

    -

    07, 2024 14:20:13

    +

    09, 2024 10:22:47

    diff --git a/hiver-modules/hiver-base/src/main/java/cc/hiver/base/controller/manage/AuthController.java b/hiver-modules/hiver-base/src/main/java/cc/hiver/base/controller/manage/AuthController.java index 4aa63024..31ecdd0f 100644 --- a/hiver-modules/hiver-base/src/main/java/cc/hiver/base/controller/manage/AuthController.java +++ b/hiver-modules/hiver-base/src/main/java/cc/hiver/base/controller/manage/AuthController.java @@ -21,6 +21,8 @@ import cc.hiver.core.entity.UserRole; import cc.hiver.core.service.RoleService; import cc.hiver.core.service.UserRoleService; import cc.hiver.core.service.UserService; +import cc.hiver.mall.debt.service.DebtService; +import cc.hiver.mall.entity.Customer; import cc.hiver.mall.entity.Shop; import cc.hiver.mall.entity.ShopUser; import cc.hiver.mall.entity.Supplier; @@ -31,6 +33,8 @@ import cc.hiver.mall.pojo.vo.ShopVo; import cc.hiver.mall.service.ShopService; import cc.hiver.mall.service.ShopUserService; import cc.hiver.mall.service.SupplierService; +import cc.hiver.mall.service.mybatis.CustomerService; +import cc.hiver.mall.service.mybatis.DealingsRecordService; import cc.hiver.mall.service.mybatis.ProductCategoryService; import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.core.util.IdUtil; @@ -111,6 +115,15 @@ public class AuthController { @Autowired private SupplierService supplierService; + @Autowired + private CustomerService customerService; + + @Autowired + private DebtService debtService; + + @Autowired + private DealingsRecordService dealingsRecordService; + @RequestMapping(value = "/login", method = RequestMethod.POST) @SystemLog(description = "账号登录", type = LogType.LOGIN) @ApiOperation("账号/手机/邮箱登录") @@ -432,6 +445,18 @@ public class AuthController { supplier.setConsigneeMobile(""); supplier.setDelFlag(CommonConstant.DEL_FLAG_FALSE); supplierService.save(supplier); + // 启用店铺的时候需要给该店铺新增一个散客的客户; + Customer customer = new Customer(); + customer.setCreateBy(user.getId()); + customer.setCreateByName(user.getNickname()); + customer.setName("散客"); + customer.setPhone("13111111111"); + customer.setProvince("暂无"); + customer.setCity("暂无"); + customer.setArea("暂无"); + customer.setUserName("sanke"); + customer.setShopId(shop.getId()); + customerService.addCustomer(customer); return ResultUtil.data(user); } diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/SaleController.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/SaleController.java index a77c8d19..e71add35 100644 --- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/SaleController.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/SaleController.java @@ -433,17 +433,17 @@ public class SaleController { @RequestMapping(value = "/listPages", method = RequestMethod.POST) @ApiOperation("根据条件获得分页") public Result queryPage(@RequestBody SaleVO saleVO) { - String shopId = ""; + /*String shopId = ""; try { // 获取请求token shopId = securityUtil.getShopId(); } catch (Exception e) { return ResultUtil.error(500, e.getMessage()); - } + }*/ if (ObjectUtils.isEmpty(saleVO)) { return new ResultUtil().setErrorMsg("请输入查询条件后再查询!"); } - saleVO.setShopId(shopId); + // saleVO.setShopId(shopId); final Page saleList = saleService.queryPage(saleVO); return new ResultUtil>().setData(saleList); } diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/ShopController.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/ShopController.java index 31a3806a..8a8ef546 100644 --- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/ShopController.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/ShopController.java @@ -26,7 +26,6 @@ import cc.hiver.core.common.vo.PageVo; import cc.hiver.core.common.vo.Result; import cc.hiver.core.entity.User; import cc.hiver.core.service.UserService; -import cc.hiver.mall.entity.Customer; import cc.hiver.mall.entity.Shop; import cc.hiver.mall.entity.ShopArea; import cc.hiver.mall.entity.ShopUser; @@ -36,7 +35,6 @@ import cc.hiver.mall.pojo.vo.QueryShopRevenueVO; import cc.hiver.mall.service.ShopAreaService; import cc.hiver.mall.service.ShopService; import cc.hiver.mall.service.ShopUserService; -import cc.hiver.mall.service.mybatis.CustomerService; import cn.hutool.core.text.CharSequenceUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -78,9 +76,6 @@ public class ShopController { @Autowired private InviteLogService inviteLogService; - @Autowired - private CustomerService customerService; - @RequestMapping(value = "/getAll", method = RequestMethod.GET) @ApiOperation("获取全部数据") public Result> getAll() { @@ -215,17 +210,6 @@ public class ShopController { final Shop shop = shopService.get(id); shop.setStatus(ShopConstant.SHOP_STATUS_NORMAL); shopService.update(shop); - - // 启用店铺的时候需要给该店铺新增一个散客的客户; - Customer customer = new Customer(); - customer.setName("散客"); - customer.setPhone("13111111111"); - customer.setProvince("暂无"); - customer.setCity("暂无"); - customer.setArea("暂无"); - customer.setUserName("sanke"); - customer.setShopId(id); - customerService.addCustomer(customer); return ResultUtil.success("操作成功"); } diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/Customer.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/Customer.java index 9a704c42..a7dd4638 100644 --- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/Customer.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/Customer.java @@ -22,6 +22,10 @@ public class Customer implements Serializable { private String createBy; + @TableField(exist = false) + @ApiModelProperty(value = "创建人") + private String createByName; + private Date createTime; private Integer delFlag; diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/SalesAndDetailsServiceImpl.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/SalesAndDetailsServiceImpl.java index 68f0f1cc..8fdb84b7 100644 --- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/SalesAndDetailsServiceImpl.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/SalesAndDetailsServiceImpl.java @@ -1,6 +1,7 @@ package cc.hiver.mall.serviceimpl; 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.UserConstant; import cc.hiver.core.common.sms.SmsUtil; @@ -14,6 +15,8 @@ import cc.hiver.core.service.LogiticsCompanyService; import cc.hiver.core.service.RoleService; import cc.hiver.core.service.UserRoleService; import cc.hiver.core.service.UserService; +import cc.hiver.mall.debt.constant.DebtConstant; +import cc.hiver.mall.debt.entity.Debt; import cc.hiver.mall.debt.service.DebtService; import cc.hiver.mall.deductlog.service.DeductLogService; import cc.hiver.mall.entity.*; @@ -92,6 +95,9 @@ public class SalesAndDetailsServiceImpl implements SalesAndDetailsService { @Autowired private DebtService debtService; + @Autowired + private DealingsRecordService dealingsRecordService; + @Override public Sale handleSalesAndDetails(SaleDTO saleDTO) { @@ -103,9 +109,9 @@ public class SalesAndDetailsServiceImpl implements SalesAndDetailsService { final BigDecimal realAmount = sale.getRealAmount(); final BigDecimal alreadyEarn = sale.getAlreadyEarn(); - if(realAmount.subtract(alreadyEarn).compareTo(BigDecimal.ZERO)>0 && alreadyEarn.compareTo(BigDecimal.ZERO)>0){ + if (realAmount.subtract(alreadyEarn).compareTo(BigDecimal.ZERO) > 0 && alreadyEarn.compareTo(BigDecimal.ZERO) > 0) { sale.setPayStatus("2"); - } else if (realAmount.subtract(alreadyEarn).compareTo(BigDecimal.ZERO)==0){ + } else if (realAmount.subtract(alreadyEarn).compareTo(BigDecimal.ZERO) == 0) { sale.setPayStatus("1"); } else { sale.setPayStatus("0"); @@ -127,9 +133,9 @@ public class SalesAndDetailsServiceImpl implements SalesAndDetailsService { final List saleDetailList = saleDTO.getSaleDetailList(); final List saleDetailList2 = new ArrayList(); - for(SaleDetail saleDetail : saleDetailList){ + for (SaleDetail saleDetail : saleDetailList) { final String productId = saleDetail.getProductId(); - product =productService.getById(productId); + product = productService.getById(productId); saleDetail.setProductName(product.getProductName()); saleDetail.setUnit(product.getUnit()); @@ -157,9 +163,9 @@ public class SalesAndDetailsServiceImpl implements SalesAndDetailsService { final BigDecimal realAmount = sale.getRealAmount(); final BigDecimal alreadyEarn = sale.getAlreadyEarn(); - if(realAmount.subtract(alreadyEarn).compareTo(BigDecimal.ZERO)>0 && alreadyEarn.compareTo(BigDecimal.ZERO)>0){ + if (realAmount.subtract(alreadyEarn).compareTo(BigDecimal.ZERO) > 0 && alreadyEarn.compareTo(BigDecimal.ZERO) > 0) { sale.setPayStatus("2"); - } else if (realAmount.subtract(alreadyEarn).compareTo(BigDecimal.ZERO)==0){ + } else if (realAmount.subtract(alreadyEarn).compareTo(BigDecimal.ZERO) == 0) { sale.setPayStatus("1"); } else { sale.setPayStatus("0"); @@ -178,7 +184,7 @@ public class SalesAndDetailsServiceImpl implements SalesAndDetailsService { * */ final List saleDetailList = saleDTO.getSaleDetailList(); - for(SaleDetail saleDetail : saleDetailList) { + for (SaleDetail saleDetail : saleDetailList) { saleDetail.setSaleId(saleId); } saleDetailService.saveBatch(saleDetailList); @@ -196,30 +202,30 @@ public class SalesAndDetailsServiceImpl implements SalesAndDetailsService { BigDecimal realAmount = sale.getRealAmount(); BigDecimal alreadyEarn = sale.getAlreadyEarn(); - if(realAmount == null){ + if (realAmount == null) { realAmount = new BigDecimal(0); } - if(alreadyEarn == null){ + if (alreadyEarn == null) { alreadyEarn = new BigDecimal(0); } - if(realAmount.subtract(alreadyEarn).compareTo(BigDecimal.ZERO)>0 && alreadyEarn.compareTo(BigDecimal.ZERO)>0){ + if (realAmount.subtract(alreadyEarn).compareTo(BigDecimal.ZERO) > 0 && alreadyEarn.compareTo(BigDecimal.ZERO) > 0) { sale.setPayStatus("2"); - } else if (realAmount.subtract(alreadyEarn).compareTo(BigDecimal.ZERO)==0){ + } else if (realAmount.subtract(alreadyEarn).compareTo(BigDecimal.ZERO) == 0) { sale.setPayStatus("1"); } else { sale.setPayStatus("0"); } // 物流公司联系电话 String transCompanyPhone = ""; - if(StringUtils.isNotEmpty(sale.getTransCompany())){ + if (StringUtils.isNotEmpty(sale.getTransCompany())) { // LogiticsCompany logiticsCompany = logiticsCompanyService.findById(sale.getTransCompany()); - if(logiticsCompany == null ){ + if (logiticsCompany == null) { // 选取的是运营区域 // 获取运营商id transCompanyPhone = operatingAreaService.getOperatingAreaById(sale.getTransCompany()); sale.setCompanyPhone(transCompanyPhone); - }else{ + } else { transCompanyPhone = logiticsCompany.getMobile(); sale.setCompanyPhone(transCompanyPhone); } @@ -229,10 +235,10 @@ public class SalesAndDetailsServiceImpl implements SalesAndDetailsService { sale.setStatus(SaleConstant.SALE_STATUS[4]); // 自送如果选择了物流公司,也需要物流公司返佣 // 选择物流公司才返佣,否则是没有选择物流公司的自提 - if(StringUtils.isNotEmpty(sale.getTransCompany())){ - deductLogService.updateRebateAmount("", sale.getTransCompany(), sale.getShopId(), sale.getId(),sale.getTransportType()); + if (StringUtils.isNotEmpty(sale.getTransCompany())) { + deductLogService.updateRebateAmount("", sale.getTransCompany(), sale.getShopId(), sale.getId(), sale.getTransportType()); } - } else if(SaleConstant.MODE_OF_SERVICE[2].equals(sale.getModeOfService())){ + } else if (SaleConstant.MODE_OF_SERVICE[2].equals(sale.getModeOfService())) { // 物流自提 sale.setStatus(SaleConstant.SALE_STATUS[13]); // 给物流公司发送一个短信 @@ -241,7 +247,7 @@ public class SalesAndDetailsServiceImpl implements SalesAndDetailsService { final Shop shop = shopService.get(shopId); final String shopAddress = shop.getShopAddress(); smsUtil.sendSms(transCompanyPhone, "{\"shopAddress\":\"" + shopAddress + "\"}", "SMS_465354371"); - }else{ + } else { //0:待抢单 1:待取货 2:已作废 3:待送达 4:已完成 //退货: //5:下游客户待退货 00:退货待抢单 01:退货待取货 02:退货已作废 03:退货待送达 04:待确认退货 4:已完成 @@ -275,9 +281,9 @@ public class SalesAndDetailsServiceImpl implements SalesAndDetailsService { int productCount = 0; - for(SaleDetailDTO saleDetailDTO : saleDetailList){ + for (SaleDetailDTO saleDetailDTO : saleDetailList) { final String productId = saleDetailDTO.getProductId(); - product =productService.getById(productId); + product = productService.getById(productId); saleDetailDTO.setProductName(product.getProductName()); saleDetailDTO.setUnit(product.getUnit()); saleDetailDTO.setShopId(sale.getShopId()); @@ -288,12 +294,12 @@ public class SalesAndDetailsServiceImpl implements SalesAndDetailsService { saleDetailDTO.setPurchasePrice(product.getPurchasePrice()); saleDetailDTO.setProductPicture(product.getProductPicture()); saleDetailDTO.setProductSn(product.getProductSn()); - for(SaleDetailQueryDTO saleDetailQueryDTO : saleDetailDTO.getStockLogList1()){ + for (SaleDetailQueryDTO saleDetailQueryDTO : saleDetailDTO.getStockLogList1()) { final SaleDetail saleDetail = new SaleDetail(); saleDetailDTO.setAttributeList(saleDetailQueryDTO.getAttributeList()); saleDetailDTO.setProductCount(saleDetailQueryDTO.getProductCount()); productCount += saleDetailQueryDTO.getProductCount(); - BeanUtils.copyBeanProp(saleDetail,saleDetailDTO); + BeanUtils.copyBeanProp(saleDetail, saleDetailDTO); saleDetail.setCreateTime(sale.getCreateTime()); saleDetail.setCreateBy(sale.getCreateBy()); saleDetailList2.add(saleDetail); @@ -338,12 +344,12 @@ public class SalesAndDetailsServiceImpl implements SalesAndDetailsService { // 退货需要选择是否使用平台取货, // 0:是-对应销售单的物流。 // 2:否- 对应销售单的自提 - if(SaleConstant.TRANSPORT_TYPE[0].equals(returnSale.getTransportType())){ + if (SaleConstant.TRANSPORT_TYPE[0].equals(returnSale.getTransportType())) { //使用平台取货 returnSale.setStatus(SaleConstant.SALE_STATUS[6]); // 修改销售单的状态 sale.setStatus(SaleConstant.SALE_STATUS[6]); - }else{ + } else { //不使用平台取货,这里不用更爱订单的状态,还是已完成 returnSale.setStatus(SaleConstant.SALE_STATUS[4]); } @@ -368,9 +374,9 @@ public class SalesAndDetailsServiceImpl implements SalesAndDetailsService { int productCount = 0; - for(ReturnSaleDetailDTO returnSaleDetailDTO : saleDetailList){ + for (ReturnSaleDetailDTO returnSaleDetailDTO : saleDetailList) { final String productId = returnSaleDetailDTO.getProductId(); - product =productService.getById(productId); + product = productService.getById(productId); returnSaleDetailDTO.setProductName(product.getProductName()); returnSaleDetailDTO.setUnit(product.getUnit()); returnSaleDetailDTO.setShopId(sale.getShopId()); @@ -382,12 +388,12 @@ public class SalesAndDetailsServiceImpl implements SalesAndDetailsService { returnSaleDetailDTO.setReturnSaleId(returnSaleId); returnSaleDetailDTO.setProductPicture(product.getProductPicture()); returnSaleDetailDTO.setProductSn(product.getProductSn()); - for(SaleDetailQueryDTO saleDetailQueryDTO : returnSaleDetailDTO.getStockLogList1()){ + for (SaleDetailQueryDTO saleDetailQueryDTO : returnSaleDetailDTO.getStockLogList1()) { final ReturnDetail returnDetail = new ReturnDetail(); returnSaleDetailDTO.setAttributeList(saleDetailQueryDTO.getAttributeList()); returnSaleDetailDTO.setProductCount(saleDetailQueryDTO.getProductCount()); productCount += saleDetailQueryDTO.getProductCount(); - BeanUtils.copyBeanProp(returnDetail,returnSaleDetailDTO); + BeanUtils.copyBeanProp(returnDetail, returnSaleDetailDTO); returnDetail.setCreateTime(returnSale.getCreateTime()); returnDetail.setCreateBy(returnSale.getCreateBy()); returnDetail.setDelFlag(CommonConstant.DEL_FLAG_FALSE); @@ -404,6 +410,37 @@ public class SalesAndDetailsServiceImpl implements SalesAndDetailsService { @Override public Sale savePresale(SaleQueryDTO saleQueryDTO) { + /** + * 1.处理Sale总订单 + * 处理订单状态/收款状态 + * */ + final Sale sale = saleQueryDTO.getSale(); + + // 查询分享单的创建人(销售员id) + // 获取分享单的id + String oldSaleId = saleQueryDTO.getOldSaleId(); + // 新增下游客户信息 + final Customer customer = new Customer(); + // 欠款信息 + final Debt debt = new Debt(); + // 2. 新增欠款记录 + final DealingsRecord dealingsRecord = new DealingsRecord(); + + if (StringUtils.isNotEmpty(oldSaleId)) { + // + Map userData = productShareService.getCreByUserData(oldSaleId); + if (userData != null) { + // 分享的人员设置为销售单的销售员 + sale.setCreateBy(String.valueOf(userData.get("id"))); + sale.setCreateByName(userData.get("nickname")); + // 欠款信息创建人 + debt.setCreateBy(String.valueOf(userData.get("id"))); + // 欠款记录信息创建人 + dealingsRecord.setCreateBy(String.valueOf(userData.get("id"))); + dealingsRecord.setCreateByName(userData.get("nickname")); + } + } + // 分享页提交订单的时候,根据手机号查询下游客户信息,如果查不到,则新增下游客户 User byMobile; String customerId = ""; @@ -448,8 +485,7 @@ public class SalesAndDetailsServiceImpl implements SalesAndDetailsService { byMobile = userService.save(byMobile); } } - // 新增下游客户信息 - final Customer customer = new Customer(); + customer.setUserId(byMobile.getId()); customer.setCreateTime(new Date()); customer.setDelFlag(CommonConstant.DEL_FLAG_FALSE); @@ -463,29 +499,43 @@ public class SalesAndDetailsServiceImpl implements SalesAndDetailsService { customerService.save(customer); // 获取新增的客户id customerId = customer.getId(); + // 客户欠款信息 + final BigDecimal amountOwed = customer.getAmountOwed() == null ? BigDecimal.ZERO : customer.getAmountOwed(); + + + debt.setCreateTime(new Date()); + debt.setUserId(customer.getId()); + debt.setShopId(saleQueryDTO.getSale().getShopId()); + debt.setUserPhone(customer.getPhone()); + debt.setUserAdress(customer.getAddress()); + debt.setUserName(customer.getName()); + debt.setAmountOwed(amountOwed); + debt.setUserType(DebtConstant.USER_TYPE[0]); + debtService.save(debt); + // 新增交易记录 + dealingsRecord.setCreateTime(new Date()); + dealingsRecord.setDealingsUserId(customer.getId()); + dealingsRecord.setDealingsUserName(customer.getName()); + dealingsRecord.setUserType(DealingsRecordConstant.TYPE[1]); + dealingsRecord.setDealingsWay("新增客户"); + dealingsRecord.setShopId(saleQueryDTO.getSale().getShopId()); + // 销售金额 + dealingsRecord.setSaleAmount(BigDecimal.ZERO); + // 退货金额 + dealingsRecord.setReturnAmount(BigDecimal.ZERO); + // 上次欠款 + dealingsRecord.setLastDebtAmount(BigDecimal.ZERO); + // 最新欠款 + dealingsRecord.setBalanceDue(amountOwed); + dealingsRecord.setAmount(amountOwed); + dealingsRecord.setDealingsType(DealingsRecordConstant.DEALINGS_TYPE[3]); + dealingsRecordService.save(dealingsRecord); } else { log.error("下游客户未填写手机号!"); return null; } - /** - * 1.处理Sale总订单 - * 处理订单状态/收款状态 - * */ - final Sale sale = saleQueryDTO.getSale(); - // 查询分享单的创建人(销售员id) - // 获取分享单的id - String oldSaleId = saleQueryDTO.getOldSaleId(); - if(StringUtils.isNotEmpty(oldSaleId)){ - // - Map userData = productShareService.getCreByUserData(oldSaleId); - if(userData != null){ - // 分享的人员设置为销售单的销售员 - sale.setCreateBy(String.valueOf(userData.get("id"))); - sale.setCreateByName(userData.get("nickname")); - } - } // 分享页提交订单这里肯定是:未收款 sale.setPayStatus("0"); // 分享页提交订单:6:待配货 @@ -547,15 +597,16 @@ public class SalesAndDetailsServiceImpl implements SalesAndDetailsService { /** * 保存挂单商品信息 + * + * @param saleDetailDTOList * @author 王富康 * @date 2023/10/28 - * @param saleDetailDTOList */ @Override - public void setSaleDetail(List saleDetailDTOList, String saleId){ + public void setSaleDetail(List saleDetailDTOList, String saleId) { Sale sale = new Sale(); // 根据销售单id 将之前所有挂单商品删除掉 - if(!saleDetailDTOList.isEmpty()){ + if (!saleDetailDTOList.isEmpty()) { // 获取销售单信息,后边保存数量 sale = saleService.getById(saleId); // 统一删除之前的商品信息 @@ -578,12 +629,12 @@ public class SalesAndDetailsServiceImpl implements SalesAndDetailsService { saleDetailDTO.setPrice(product.getPrice()); saleDetailDTO.setWholesalePrice(product.getWholesalePrice()); saleDetailDTO.setPurchasePrice(product.getPurchasePrice()); - for(SaleDetailQueryDTO saleDetailQueryDTO : saleDetailDTO.getStockLogList1()){ + for (SaleDetailQueryDTO saleDetailQueryDTO : saleDetailDTO.getStockLogList1()) { final SaleDetail saleDetail = new SaleDetail(); saleDetailDTO.setAttributeList(saleDetailQueryDTO.getAttributeList()); saleDetailDTO.setProductCount(saleDetailQueryDTO.getProductCount()); productCount += saleDetailQueryDTO.getProductCount(); - BeanUtils.copyBeanProp(saleDetail,saleDetailDTO); + BeanUtils.copyBeanProp(saleDetail, saleDetailDTO); saleDetail.setCreateTime(new Date()); saleDetail.setCreateBy(sale.getCreateBy()); saleDetailList2.add(saleDetail); diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/StockAndLogServiceImpl.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/StockAndLogServiceImpl.java index b70d9fe9..5033b65f 100644 --- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/StockAndLogServiceImpl.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/StockAndLogServiceImpl.java @@ -1,5 +1,6 @@ package cc.hiver.mall.serviceimpl; +import cc.hiver.mall.common.constant.StockLogConstant; import cc.hiver.mall.entity.Product; import cc.hiver.mall.entity.SaleDetail; import cc.hiver.mall.entity.Stock; @@ -138,7 +139,7 @@ public class StockAndLogServiceImpl implements StockAndLogService { //2.记录库存履历 final StockLog stockLog = new StockLog(); //以商品维度,如果没有库存反向插入一条负库存入库 - stockLog.setChangeType("0"); + stockLog.setChangeType(StockLogConstant.CHANGE_TYPE[1]); stockLog.setOrderId(saleId); stockLog.setDetailId(saleDetailDTO.getDetailId()); stockLog.setProductId(productId); @@ -158,7 +159,7 @@ public class StockAndLogServiceImpl implements StockAndLogService { //2.记录库存履历 final StockLog stockLog = new StockLog(); //出库 - stockLog.setChangeType("1"); + stockLog.setChangeType(StockLogConstant.CHANGE_TYPE[1]); stockLog.setOrderId(saleId); stockLog.setDetailId(saleDetailDTO.getDetailId()); stockLog.setProductId(productId); @@ -221,7 +222,7 @@ public class StockAndLogServiceImpl implements StockAndLogService { //2.记录库存履历 final StockLog stockLog = new StockLog(); stockLog.setOrderId(saleDetailDTO.getSaleId()); - stockLog.setChangeType("0");//以商品维度,如果没有库存反向插入一条正库存入库 + stockLog.setChangeType(StockLogConstant.CHANGE_TYPE[0]);//以商品维度,如果没有库存反向插入一条正库存入库 stockLog.setProductId(productId); stockLog.setAttributeList(saleDetailQueryDTO.getAttributeList()); stockLog.setStock(0);//入库前数量 @@ -240,7 +241,7 @@ public class StockAndLogServiceImpl implements StockAndLogService { //2.记录库存履历 final StockLog stockLog = new StockLog(); stockLog.setOrderId(saleDetailDTO.getSaleId()); - stockLog.setChangeType("0");//出库 + stockLog.setChangeType(StockLogConstant.CHANGE_TYPE[0]);//入库 stockLog.setProductId(productId); stockLog.setAttributeList(saleDetailQueryDTO.getAttributeList()); stockLog.setStock(stockCount);//入库前数量 diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/CustomerServiceImpl.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/CustomerServiceImpl.java index 4b91c9cf..1b0a807d 100644 --- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/CustomerServiceImpl.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/CustomerServiceImpl.java @@ -127,12 +127,19 @@ public class CustomerServiceImpl extends ServiceImpl i userRole.setUserId(saveUser.getId()); userRoleService.save(userRole); } - String shopId = securityUtil.getShopId(); + final String shopId; + final String createBy; + final String createByName; // shopId从缓存中设置 if(StringUtils.isEmpty(customer.getShopId())){ shopId = securityUtil.getShopId(); + final User user = securityUtil.getCurrUser(); + createBy = user.getId(); + createByName = user.getNickname(); }else{ shopId = customer.getShopId(); + createBy = customer.getCreateBy(); + createByName = customer.getCreateByName(); } // 这里是后台管理系统启用时增加散客增加的这个操作 if (StringUtils.isEmpty(customer.getShopId())) { @@ -141,11 +148,10 @@ public class CustomerServiceImpl extends ServiceImpl i } customer.setDelFlag(CommonConstant.DEL_FLAG_FALSE); final int insert = customerMapper.insert(customer); - final User user = securityUtil.getCurrUser(); // 客户欠款信息 final BigDecimal amountOwed = customer.getAmountOwed() == null ? BigDecimal.ZERO : customer.getAmountOwed(); final Debt debt = new Debt(); - debt.setCreateBy(user.getId()); + debt.setCreateBy(createBy); debt.setCreateTime(new Date()); debt.setUserId(customer.getId()); debt.setShopId(shopId); @@ -158,8 +164,8 @@ public class CustomerServiceImpl extends ServiceImpl i // 新增交易记录 // 2. 新增欠款记录 final DealingsRecord dealingsRecord = new DealingsRecord(); - dealingsRecord.setCreateBy(user.getId()); - dealingsRecord.setCreateByName(user.getNickname()); + dealingsRecord.setCreateBy(createBy); + dealingsRecord.setCreateByName(createByName); dealingsRecord.setCreateTime(new Date()); dealingsRecord.setDealingsUserId(customer.getId()); dealingsRecord.setDealingsUserName(customer.getName()); diff --git a/hiver-modules/hiver-mall/src/main/resources/mapper/ReturnSaleMapper.xml b/hiver-modules/hiver-mall/src/main/resources/mapper/ReturnSaleMapper.xml index 67ec02af..1405785f 100644 --- a/hiver-modules/hiver-mall/src/main/resources/mapper/ReturnSaleMapper.xml +++ b/hiver-modules/hiver-mall/src/main/resources/mapper/ReturnSaleMapper.xml @@ -631,7 +631,7 @@ SELECT - create_by_name,count(*) as totalCount,sum( real_amount ) as totalPrice + create_by_name,count(*) as totalCount,sum( total_amount ) as totalPrice FROM t_sale @@ -889,7 +889,7 @@ trans_company, company_name, product_count, remark, sale_name, company_phone, cr