Browse Source

功能优化

dev
wangfukang 1 year ago
parent
commit
1244cf1b41
  1. 18
      hiver-admin/test-output/test-report.html
  2. 14
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/CommonController.java
  3. 18
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/CustomerController.java
  4. 24
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/SupplierControlller.java
  5. 17
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/mapper/PurchaseMapper.java
  6. 6
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/mapper/ReturnSaleMapper.java
  7. 5
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/mapper/SaleMapper.java
  8. 2
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/debt/service/impl/DebtServiceImpl.java
  9. 9
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/query/CustomerPageQuery.java
  10. 27
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/vo/CustomerDataVo.java
  11. 27
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/vo/SupplierDataVo.java
  12. 19
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/purchasereturn/mapper/PurchaseReturnMapper.java
  13. 11
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/purchasereturn/service/PurchaseReturnService.java
  14. 19
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/purchasereturn/service/impl/PurchaseReturnServiceImpl.java
  15. 11
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/SupplierService.java
  16. 10
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/mybatis/CustomerService.java
  17. 9
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/mybatis/PurchaseService.java
  18. 4
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/mybatis/ReturnSaleService.java
  19. 9
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/mybatis/SaleService.java
  20. 31
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/SupplierServiceImpl.java
  21. 30
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/CustomerServiceImpl.java
  22. 17
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/PurchaseServiceImpl.java
  23. 22
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/ReturnSaleServiceImpl.java
  24. 21
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/SaleServiceImpl.java
  25. 31
      hiver-modules/hiver-mall/src/main/resources/mapper/PurchaseMapper.xml
  26. 30
      hiver-modules/hiver-mall/src/main/resources/mapper/PurchaseReturnMapper.xml
  27. 34
      hiver-modules/hiver-mall/src/main/resources/mapper/ReturnSaleMapper.xml
  28. 32
      hiver-modules/hiver-mall/src/main/resources/mapper/SaleMapper.xml

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

@ -5,7 +5,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Hiver测试报告</title>
<title>Hiver���Ա���</title>
<link rel="apple-touch-icon" href="spark/logo.png">
<link rel="shortcut icon" href="spark/logo.png">
<link rel="stylesheet" href="spark/spark-style.css">
@ -35,7 +35,7 @@
<a href="#"><span class="badge badge-primary">Hiver</span></a>
</li>
<li class="m-r-10">
<a href="#"><span class="badge badge-primary">十月 23, 2024 23:46:29</span></a>
<a href="#"><span class="badge badge-primary">ʮ�� 24, 2024 20:09:59</span></a>
</li>
</ul>
</div>
@ -84,7 +84,7 @@
<div class="test-detail">
<span class="meta text-white badge badge-sm"></span>
<p class="name">passTest</p>
<p class="text-sm"><span>23:46:29 下午</span> / <span>0.01 secs</span></p>
<p class="text-sm"><span>20:10:00 ����</span> / <span>0.017 secs</span></p>
</div>
<div class="test-contents d-none">
<div class="detail-head">
@ -92,9 +92,9 @@
<div class="info">
<div class='float-right'><span class='badge badge-default'>#test-id=1</span></div>
<h5 class="test-status text-pass">passTest</h5>
<span class='badge badge-success'>10.23.2024 23:46:29</span>
<span class='badge badge-danger'>10.23.2024 23:46:29</span>
<span class='badge badge-default'>0.01 secs</span>
<span class='badge badge-success'>10.24.2024 20:10:00</span>
<span class='badge badge-danger'>10.24.2024 20:10:00</span>
<span class='badge badge-default'>0.017 secs</span>
</div>
<div class="m-t-10 m-l-5"></div>
</div>
@ -104,7 +104,7 @@
<tbody>
<tr class="event-row">
<td><span class="badge log pass-bg">Pass</span></td>
<td>23:46:29</td>
<td>20:10:00</td>
<td>
Test passed
</td>
@ -128,13 +128,13 @@
<div class="col-md-3">
<div class="card"><div class="card-body">
<p class="m-b-0">Started</p>
<h3>十月 23, 2024 23:46:29</h3>
<h3>ʮ�� 24, 2024 20:09:59</h3>
</div></div>
</div>
<div class="col-md-3">
<div class="card"><div class="card-body">
<p class="m-b-0">Ended</p>
<h3>十月 23, 2024 23:46:29</h3>
<h3>ʮ�� 24, 2024 20:10:00</h3>
</div></div>
</div>
<div class="col-md-3">

14
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/CommonController.java

@ -169,8 +169,22 @@ public class CommonController {
@ApiOperation("批量通过ids删除")
public Result delAllByIds(@RequestParam String[] ids) {
for (String id : ids) {
final User user = userService.get(id);
// 员工信息
userService.delete(id);
// 员工店铺关联信息
final String shopId = securityUtil.getShopId();
shopUserService.deleteAllByShopIdAndUserId(shopId, id);
// 手动删除缓存
final String oldToken = redisTemplate.get(SecurityConstant.USER_TOKEN + user.getUsername() + "type:0");
if (CharSequenceUtil.isNotBlank(oldToken)) {
redisTemplate.delete(SecurityConstant.TOKEN_PRE + oldToken);
}
redisTemplate.delete("userRole::" + id);
redisTemplate.delete("userRole::depIds:" + id);
redisTemplate.delete("permission::userMenuList:" + id);
}
return ResultUtil.success("批量通过id删除数据成功");
}

18
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/CustomerController.java

@ -16,6 +16,7 @@ import cc.hiver.core.service.UserService;
import cc.hiver.mall.entity.Customer;
import cc.hiver.mall.pojo.dto.DebtCustomer;
import cc.hiver.mall.pojo.query.CustomerPageQuery;
import cc.hiver.mall.pojo.vo.CustomerDataVo;
import cc.hiver.mall.service.mybatis.CustomerService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@ -274,4 +275,21 @@ public class CustomerController {
final Map<String, Object> map = customerService.getCustomerBuyHistory(productId, attributeList, customerId);
return new ResultUtil<Map<String, Object>>().setData(map);
}
/**
* 查询客户 拿货总金额商品总款数总件数退货总金额商品总款数总件数
* @author 王富康
* @date 2024/10/24
* @param customerPageQuery
* @return Result<List<Supplier>>
*/
@RequestMapping(value = "/getCustomerData", method = RequestMethod.POST)
@ApiOperation("查询客户 拿货(总金额)商品总款数、总件数、退货(总金额)商品总款数、总件数")
public Result<CustomerDataVo> getCustomerData(@RequestBody CustomerPageQuery customerPageQuery) {
if (StringUtils.isEmpty(customerPageQuery.getCustomerId())) {
return ResultUtil.error("客户id不能为空");
}
final CustomerDataVo customerData = customerService.getCustomerData(customerPageQuery);
return new ResultUtil<CustomerDataVo>().setData(customerData);
}
}

24
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/SupplierControlller.java

@ -14,6 +14,8 @@ import cc.hiver.mall.debt.entity.Debt;
import cc.hiver.mall.debt.service.DebtService;
import cc.hiver.mall.entity.DealingsRecord;
import cc.hiver.mall.entity.Supplier;
import cc.hiver.mall.pojo.query.PurchasePageQuery;
import cc.hiver.mall.pojo.vo.SupplierDataVo;
import cc.hiver.mall.service.SupplierService;
import cc.hiver.mall.service.mybatis.DealingsRecordService;
import io.swagger.annotations.Api;
@ -22,10 +24,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
import java.util.Date;
@ -181,4 +180,21 @@ public class SupplierControlller {
final List<Supplier> suppliers = supplierService.getbySupplierName(supplierName, shopId);
return new ResultUtil<List<Supplier>>().setData(suppliers);
}
/**
* 查询供应商总金额商品总款数总件数采购退货总金额商品总款数总件数
* @author 王富康
* @date 2024/10/24
* @param purchasePageQuery
* @return Result<List<Supplier>>
*/
@RequestMapping(value = "/getSupplierData", method = RequestMethod.POST)
@ApiOperation("查询供应商(总金额)商品总款数、总件数、采购退货(总金额)商品总款数、总件数")
public Result<SupplierDataVo> getSupplierData(@RequestBody PurchasePageQuery purchasePageQuery) {
if (StringUtils.isEmpty(purchasePageQuery.getSupplierId())) {
return ResultUtil.error("供应商id不能为空");
}
final SupplierDataVo suppliers = supplierService.getSupplierData(purchasePageQuery);
return new ResultUtil<SupplierDataVo>().setData(suppliers);
}
}

17
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/mapper/PurchaseMapper.java

@ -7,6 +7,7 @@ import cc.hiver.mall.entity.PurchaseExample;
import cc.hiver.mall.pojo.dto.DebtSupplier;
import cc.hiver.mall.pojo.query.PurchasePageQuery;
import cc.hiver.mall.pojo.vo.PurchasingCostDetailVo;
import cc.hiver.mall.pojo.vo.SupplierDataVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
@ -63,4 +64,20 @@ public interface PurchaseMapper extends BaseMapper<Purchase> {
* @return Page<Purchase>
*/
Page<Purchase> getPurchaseListBySupplierId(Page<Purchase> page,@Param("purchasePageQuery") PurchasePageQuery purchasePageQuery);
/**
* 查询供应商总金额商品总款数
* @author 王富康
* @date 2024/10/24
* @param purchasePageQuery
*/
SupplierDataVo getPurchasePrice(@Param("purchasePageQuery") PurchasePageQuery purchasePageQuery);
/**
* 查询供应商总件数
* @author 王富康
* @date 2024/10/24
* @param purchasePageQuery
*/
SupplierDataVo getPurchaseCount(@Param("purchasePageQuery") PurchasePageQuery purchasePageQuery);
}

6
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/mapper/ReturnSaleMapper.java

@ -4,7 +4,9 @@ import cc.hiver.mall.bill.vo.ArrearsVo;
import cc.hiver.mall.bill.vo.CustomerBillQueryVo;
import cc.hiver.mall.entity.ReturnSale;
import cc.hiver.mall.entity.ReturnSaleExample;
import cc.hiver.mall.pojo.query.CustomerPageQuery;
import cc.hiver.mall.pojo.query.ReturnSalePageQuery;
import cc.hiver.mall.pojo.vo.CustomerDataVo;
import cc.hiver.mall.pojo.vo.ReturnSaleVo;
import cc.hiver.mall.pojo.vo.ReturnTotalAmountDetailVo;
import cc.hiver.mall.pojo.vo.SaleAllVO;
@ -93,4 +95,8 @@ public interface ReturnSaleMapper extends BaseMapper<ReturnSale> {
* @return Integer
*/
Integer getCustomerReturnHistory(@Param("productId") String productId,@Param("attributeList") String attributeList,@Param("customerId") String customerId);
CustomerDataVo getSaleReturnPrice(@Param("customerPageQuery") CustomerPageQuery customerPageQuery);
CustomerDataVo getSaleReturnCount(@Param("customerPageQuery") CustomerPageQuery customerPageQuery);
}

5
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/mapper/SaleMapper.java

@ -6,6 +6,7 @@ import cc.hiver.mall.bill.vo.CustomerBillSaleVo;
import cc.hiver.mall.entity.Sale;
import cc.hiver.mall.entity.SaleExample;
import cc.hiver.mall.pojo.dto.ShopRevenue;
import cc.hiver.mall.pojo.query.CustomerPageQuery;
import cc.hiver.mall.pojo.query.SalePageQuery;
import cc.hiver.mall.pojo.query.SalesRankingQueryCriteria;
import cc.hiver.mall.pojo.vo.*;
@ -142,4 +143,8 @@ public interface SaleMapper extends BaseMapper<Sale> {
Page<TotalAmountDetailByProductVo> totalAmountDetailByProduct(Page<TotalAmountDetailByProductVo> page, @Param("salePageQuery") SalePageQuery salePageQuery);
List<BuyCountVo> buyCount(@Param("customerId")String customerId, @Param("productIdList") List<String> productIdList);
CustomerDataVo getSalePrice(@Param("customerPageQuery")CustomerPageQuery customerPageQuery);
CustomerDataVo getSaleCount(@Param("customerPageQuery")CustomerPageQuery customerPageQuery);
}

2
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/debt/service/impl/DebtServiceImpl.java

@ -327,7 +327,9 @@ public class DebtServiceImpl extends ServiceImpl<DebtMapper, Debt> implements De
BigDecimal newDebtAmount = BigDecimal.ZERO;
lastDebtAmount = oldDebt.getAmountOwed() == null ? BigDecimal.ZERO : oldDebt.getAmountOwed();
// 计算欠款
if (oldDebt.getAmountOwed() != null) {
newDebtAmount = oldDebt.getAmountOwed().subtract(debt.getAmountOwed());
}
oldDebt.setAmountOwed(newDebtAmount);
debtMapper.updateById(oldDebt);
// 2. 新增欠款记录

9
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/query/CustomerPageQuery.java

@ -33,6 +33,9 @@ public class CustomerPageQuery extends HiverBasePageQuery {
@ApiModelProperty("店铺ID")
private String shopId;
@ApiModelProperty("客户id")
private String customerId;
@ApiModelProperty("删除标识")
private Integer delFlag;
@ -42,5 +45,11 @@ public class CustomerPageQuery extends HiverBasePageQuery {
@ApiModelProperty("查询超过多少天未拿货的")
private String notBuyDays;
@ApiModelProperty(value = "起始日期")
private String startDate;
@ApiModelProperty(value = "结束日期")
private String endDate;
}

27
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/vo/CustomerDataVo.java

@ -0,0 +1,27 @@
package cc.hiver.mall.pojo.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 供应商总金额商品总款数总件数采购退货总金额商品总款数总件数Vo
* @author 王富康
* @date 2024/10/24
*/
@Data
@ApiModel(value = "供应商(总金额)商品总款数、总件数、采购退货(总金额)商品总款数、总件数")
public class CustomerDataVo {
@ApiModelProperty(value = "供应商(总金额)商品总款数")
private String salePrice;
@ApiModelProperty(value = "总件数")
private Integer saleCount;
@ApiModelProperty(value = "采购退货(总金额)商品总款数")
private String saleReturnPrice;
@ApiModelProperty(value = "采购退货总件数")
private Integer saleReturnCount;
}

27
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/vo/SupplierDataVo.java

@ -0,0 +1,27 @@
package cc.hiver.mall.pojo.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 供应商总金额商品总款数总件数采购退货总金额商品总款数总件数Vo
* @author 王富康
* @date 2024/10/24
*/
@Data
@ApiModel(value = "供应商(总金额)商品总款数、总件数、采购退货(总金额)商品总款数、总件数")
public class SupplierDataVo {
@ApiModelProperty(value = "供应商(总金额)商品总款数")
private String purchasePrice;
@ApiModelProperty(value = "总件数")
private Integer purchaseCount;
@ApiModelProperty(value = "采购退货(总金额)商品总款数")
private String purchaseReturnPrice;
@ApiModelProperty(value = "采购退货总件数")
private Integer purchaseReturnCount;
}

19
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/purchasereturn/mapper/PurchaseReturnMapper.java

@ -1,5 +1,7 @@
package cc.hiver.mall.purchasereturn.mapper;
import cc.hiver.mall.pojo.query.PurchasePageQuery;
import cc.hiver.mall.pojo.vo.SupplierDataVo;
import cc.hiver.mall.purchasereturn.entity.PurchaseReturn;
import cc.hiver.mall.purchasereturn.vo.PurchaseReturnQueryVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@ -27,4 +29,21 @@ public interface PurchaseReturnMapper extends BaseMapper<PurchaseReturn> {
void cancelPurchaseReturnById(@Param("id") String id);
/**
* 查询供应商 采购退货总金额商品总款数
* @author 王富康
* @date 2024/10/24
* @param purchasePageQuery
* @return SupplierDataVo
*/
SupplierDataVo getPurchaseReturnPrice(@Param("purchasePageQuery") PurchasePageQuery purchasePageQuery);
/**
* 查询供应商 采购退货总件数
* @author 王富康
* @date 2024/10/24
* @param purchasePageQuery
* @return SupplierDataVo
*/
SupplierDataVo getPurchaseReturnCount(@Param("purchasePageQuery") PurchasePageQuery purchasePageQuery);
}

11
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/purchasereturn/service/PurchaseReturnService.java

@ -1,5 +1,7 @@
package cc.hiver.mall.purchasereturn.service;
import cc.hiver.mall.pojo.query.PurchasePageQuery;
import cc.hiver.mall.pojo.vo.SupplierDataVo;
import cc.hiver.mall.purchasereturn.entity.PurchaseReturn;
import cc.hiver.mall.purchasereturn.vo.PurchaseReturnDataVo;
import cc.hiver.mall.purchasereturn.vo.PurchaseReturnQueryVo;
@ -42,4 +44,13 @@ public interface PurchaseReturnService extends IService<PurchaseReturn> {
* @date 2024/8/17
*/
void cancelPurchaseReturn(String id);
/**
* 查询供应商 采购退货总金额商品总款数总件数
* @author 王富康
* @date 2024/10/24
* @param purchasePageQuery
* @return SupplierDataVo
*/
SupplierDataVo getSupplierReturnPurchaseInfo(PurchasePageQuery purchasePageQuery);
}

19
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/purchasereturn/service/impl/PurchaseReturnServiceImpl.java

@ -8,6 +8,8 @@ import cc.hiver.mall.entity.Product;
import cc.hiver.mall.entity.Stock;
import cc.hiver.mall.entity.StockLog;
import cc.hiver.mall.entity.Supplier;
import cc.hiver.mall.pojo.query.PurchasePageQuery;
import cc.hiver.mall.pojo.vo.SupplierDataVo;
import cc.hiver.mall.purchasereturn.constant.PurchaseReturnConstant;
import cc.hiver.mall.purchasereturn.entity.PurchaseReturn;
import cc.hiver.mall.purchasereturn.entity.PurchaseReturnDetail;
@ -231,4 +233,21 @@ public class PurchaseReturnServiceImpl extends ServiceImpl<PurchaseReturnMapper,
dealingsRecordService.cancelRecord(id);
}
/**
* 查询供应商 采购退货总金额商品总款数总件数
* @author 王富康
* @date 2024/10/24
* @param purchasePageQuery
* @return SupplierDataVo
*/
@Override
public SupplierDataVo getSupplierReturnPurchaseInfo(PurchasePageQuery purchasePageQuery) {
final SupplierDataVo supplierDataVo = new SupplierDataVo();
final SupplierDataVo purchaseReturnPrice = purchaseReturnMapper.getPurchaseReturnPrice(purchasePageQuery);
final SupplierDataVo purchaseReturnCount = purchaseReturnMapper.getPurchaseReturnCount(purchasePageQuery);
supplierDataVo.setPurchaseReturnPrice(purchaseReturnPrice.getPurchaseReturnPrice());
supplierDataVo.setPurchaseReturnCount(purchaseReturnCount.getPurchaseReturnCount());
return supplierDataVo;
}
}

11
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/SupplierService.java

@ -2,6 +2,8 @@ package cc.hiver.mall.service;
import cc.hiver.core.base.HiverBaseService;
import cc.hiver.mall.entity.Supplier;
import cc.hiver.mall.pojo.query.PurchasePageQuery;
import cc.hiver.mall.pojo.vo.SupplierDataVo;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
@ -26,4 +28,13 @@ public interface SupplierService extends HiverBaseService<Supplier, String> {
* @date 2024/8/11
*/
List<Supplier> getbySupplierName(String supplierName, String shopId);
/**
* 查询供应商总金额商品总款数总件数采购退货总金额商品总款数总件数
* @author 王富康
* @date 2024/10/24
* @param purchasePageQuery
* @return SupplierDataVo
*/
SupplierDataVo getSupplierData(PurchasePageQuery purchasePageQuery);
}

10
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/mybatis/CustomerService.java

@ -3,6 +3,7 @@ package cc.hiver.mall.service.mybatis;
import cc.hiver.mall.entity.Customer;
import cc.hiver.mall.pojo.dto.DebtCustomer;
import cc.hiver.mall.pojo.query.CustomerPageQuery;
import cc.hiver.mall.pojo.vo.CustomerDataVo;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
@ -37,4 +38,13 @@ public interface CustomerService extends IService<Customer> {
List<Customer> findByUserPhoneAndShopId(String userPhone, String shopId);
Map<String, Object> getCustomerBuyHistory(String productId, String attributeList, String customerId);
/**
* 查询客户 拿货总金额商品总款数总件数退货总金额商品总款数总件数
* @author 王富康
* @date 2024/10/24
* @param customerPageQuery
* @return SupplierDataVo
*/
CustomerDataVo getCustomerData(CustomerPageQuery customerPageQuery);
}

9
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/mybatis/PurchaseService.java

@ -7,6 +7,7 @@ import cc.hiver.mall.pojo.dto.DebtSupplier;
import cc.hiver.mall.pojo.query.PurchasePageQuery;
import cc.hiver.mall.pojo.vo.PurchaseVo;
import cc.hiver.mall.pojo.vo.PurchasingCostDetailVo;
import cc.hiver.mall.pojo.vo.SupplierDataVo;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
@ -79,4 +80,12 @@ public interface PurchaseService extends IService<Purchase> {
void cancelPurchase(String id);
boolean insert(Purchase purchase);
/**
* 查询供应商总金额商品总款数总件数
* @author 王富康
* @date 2024/10/24
* @param purchasePageQuery
*/
SupplierDataVo getSupplierPurchaseInfo(PurchasePageQuery purchasePageQuery);
}

4
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/mybatis/ReturnSaleService.java

@ -3,7 +3,9 @@ package cc.hiver.mall.service.mybatis;
import cc.hiver.mall.bill.vo.ArrearsVo;
import cc.hiver.mall.bill.vo.CustomerBillQueryVo;
import cc.hiver.mall.entity.ReturnSale;
import cc.hiver.mall.pojo.query.CustomerPageQuery;
import cc.hiver.mall.pojo.query.ReturnSalePageQuery;
import cc.hiver.mall.pojo.vo.CustomerDataVo;
import cc.hiver.mall.pojo.vo.ReturnSaleVo;
import cc.hiver.mall.pojo.vo.ReturnTotalAmountDetailVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -61,4 +63,6 @@ public interface ReturnSaleService extends IService<ReturnSale> {
* @return Integer
*/
Integer getCustomerReturnHistory(String productId, String attributeList, String customerId);
CustomerDataVo getCustomerSaleReturnInfo(CustomerPageQuery customerPageQuery);
}

9
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/mybatis/SaleService.java

@ -5,6 +5,7 @@ import cc.hiver.mall.bill.vo.CustomerBillQueryVo;
import cc.hiver.mall.bill.vo.CustomerBillSaleVo;
import cc.hiver.mall.entity.Sale;
import cc.hiver.mall.pojo.dto.SaleQueryDTO;
import cc.hiver.mall.pojo.query.CustomerPageQuery;
import cc.hiver.mall.pojo.query.SalePageQuery;
import cc.hiver.mall.pojo.query.SalesRankingQueryCriteria;
import cc.hiver.mall.pojo.vo.*;
@ -159,4 +160,12 @@ public interface SaleService extends IService<Sale> {
*/
List<BuyCountVo> buyCount(String customerId, List<String> productIdList);
/**
* 查询客户 拿货总金额商品总款数总件数
* @author 王富康
* @date 2024/10/24
* @param customerPageQuery
* @return CustomerDataVo
*/
CustomerDataVo getCustomerSaleInfo(CustomerPageQuery customerPageQuery);
}

31
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/SupplierServiceImpl.java

@ -9,8 +9,12 @@ import cc.hiver.mall.debt.entity.Debt;
import cc.hiver.mall.debt.service.DebtService;
import cc.hiver.mall.entity.DealingsRecord;
import cc.hiver.mall.entity.Supplier;
import cc.hiver.mall.pojo.query.PurchasePageQuery;
import cc.hiver.mall.pojo.vo.SupplierDataVo;
import cc.hiver.mall.purchasereturn.service.PurchaseReturnService;
import cc.hiver.mall.service.SupplierService;
import cc.hiver.mall.service.mybatis.DealingsRecordService;
import cc.hiver.mall.service.mybatis.PurchaseService;
import cn.hutool.core.text.CharSequenceUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@ -43,6 +47,12 @@ public class SupplierServiceImpl implements SupplierService {
@Autowired
private DealingsRecordService dealingsRecordService;
@Autowired
private PurchaseService purchaseService;
@Autowired
private PurchaseReturnService purchaseReturnService;
@Override
public HiverBaseDao<Supplier, String> getRepository() {
return supplierDao;
@ -172,4 +182,25 @@ public class SupplierServiceImpl implements SupplierService {
public List<Supplier> getbySupplierName(String supplierName, String shopId) {
return supplierDao.getbySupplierName(supplierName, shopId);
}
/**
* 查询供应商总金额商品总款数总件数采购退货总金额商品总款数总件数
* @author 王富康
* @date 2024/10/24
* @param purchasePageQuery
* @return SupplierDataVo
*/
@Override
public SupplierDataVo getSupplierData(PurchasePageQuery purchasePageQuery) {
final SupplierDataVo returnSupplierDataVo = new SupplierDataVo();
// 查询供应商(总金额)商品总款数、总件数
final SupplierDataVo supplierPurchaseInfo = purchaseService.getSupplierPurchaseInfo(purchasePageQuery);
returnSupplierDataVo.setPurchasePrice(supplierPurchaseInfo.getPurchasePrice());
returnSupplierDataVo.setPurchaseCount(supplierPurchaseInfo.getPurchaseCount());
// 查询供应商 采购退货(总金额)商品总款数、总件数
final SupplierDataVo supplierReturnPurchaseInfo = purchaseReturnService.getSupplierReturnPurchaseInfo(purchasePageQuery);
returnSupplierDataVo.setPurchaseReturnPrice(supplierReturnPurchaseInfo.getPurchaseReturnPrice());
returnSupplierDataVo.setPurchaseReturnCount(supplierReturnPurchaseInfo.getPurchaseReturnCount());
return returnSupplierDataVo;
}
}

30
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/CustomerServiceImpl.java

@ -21,10 +21,8 @@ import cc.hiver.mall.entity.Customer;
import cc.hiver.mall.entity.DealingsRecord;
import cc.hiver.mall.pojo.dto.DebtCustomer;
import cc.hiver.mall.pojo.query.CustomerPageQuery;
import cc.hiver.mall.service.mybatis.CustomerService;
import cc.hiver.mall.service.mybatis.DealingsRecordService;
import cc.hiver.mall.service.mybatis.ReturnSaleService;
import cc.hiver.mall.service.mybatis.SaleDetailService;
import cc.hiver.mall.pojo.vo.CustomerDataVo;
import cc.hiver.mall.service.mybatis.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
@ -62,6 +60,9 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer> i
@Autowired
private SaleDetailService saleDetailService;
@Autowired
private SaleService saleService;
@Autowired
private ReturnSaleService returnSaleService;
@ -237,4 +238,25 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer> i
result.put("returnCount",returnCount);
return result;
}
/**
* 查询客户 拿货总金额商品总款数总件数退货总金额商品总款数总件数
* @author 王富康
* @date 2024/10/24
* @param customerPageQuery
* @return SupplierDataVo
*/
@Override
public CustomerDataVo getCustomerData(CustomerPageQuery customerPageQuery) {
final CustomerDataVo customerDataVo = new CustomerDataVo();
// 查询客户 拿货(总金额)商品总款数、总件数
final CustomerDataVo saleDataVo = saleService.getCustomerSaleInfo(customerPageQuery);
customerDataVo.setSalePrice(saleDataVo.getSalePrice());
customerDataVo.setSaleCount(saleDataVo.getSaleCount());
// 查询客户 退货(总金额)商品总款数、总件数
final CustomerDataVo returnSaleInfo = returnSaleService.getCustomerSaleReturnInfo(customerPageQuery);
customerDataVo.setSaleReturnPrice(returnSaleInfo.getSaleReturnPrice());
customerDataVo.setSaleReturnCount(returnSaleInfo.getSaleReturnCount());
return customerDataVo;
}
}

17
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/PurchaseServiceImpl.java

@ -15,6 +15,7 @@ import cc.hiver.mall.pojo.query.PurchasePageQuery;
import cc.hiver.mall.pojo.vo.ProductCategoryVo;
import cc.hiver.mall.pojo.vo.PurchaseVo;
import cc.hiver.mall.pojo.vo.PurchasingCostDetailVo;
import cc.hiver.mall.pojo.vo.SupplierDataVo;
import cc.hiver.mall.purchaseocr.entity.PurchaseOcrPicture;
import cc.hiver.mall.purchaseocr.service.PurchaseOcrPictureService;
import cc.hiver.mall.purchaseocr.vo.PurchaseOcrCountVo;
@ -763,4 +764,20 @@ public class PurchaseServiceImpl extends ServiceImpl<PurchaseMapper, Purchase> i
final int insert = purchaseMapper.insert(purchase);
return insert > 0;
}
/**
* 查询供应商总金额商品总款数总件数
* @author 王富康
* @date 2024/10/24
* @param purchasePageQuery
*/
@Override
public SupplierDataVo getSupplierPurchaseInfo(PurchasePageQuery purchasePageQuery) {
final SupplierDataVo supplierDataVo = new SupplierDataVo();
final SupplierDataVo purchasePrice = purchaseMapper.getPurchasePrice(purchasePageQuery);
final SupplierDataVo purchaseCount = purchaseMapper.getPurchaseCount(purchasePageQuery);
supplierDataVo.setPurchasePrice(purchasePrice.getPurchasePrice());
supplierDataVo.setPurchaseCount(purchaseCount.getPurchaseCount());
return supplierDataVo;
}
}

22
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/ReturnSaleServiceImpl.java

@ -9,7 +9,9 @@ import cc.hiver.mall.entity.ReturnDetail;
import cc.hiver.mall.entity.ReturnSale;
import cc.hiver.mall.pojo.dto.ReturnSaleDetailDTO;
import cc.hiver.mall.pojo.dto.SaleDetailQueryDTO;
import cc.hiver.mall.pojo.query.CustomerPageQuery;
import cc.hiver.mall.pojo.query.ReturnSalePageQuery;
import cc.hiver.mall.pojo.vo.CustomerDataVo;
import cc.hiver.mall.pojo.vo.ReturnSaleVo;
import cc.hiver.mall.pojo.vo.ReturnTotalAmountDetailVo;
import cc.hiver.mall.service.mybatis.ProductService;
@ -287,4 +289,24 @@ public class ReturnSaleServiceImpl extends ServiceImpl<ReturnSaleMapper, ReturnS
public Integer getCustomerReturnHistory(String productId, String attributeList, String customerId) {
return returnSaleMapper.getCustomerReturnHistory(productId, attributeList, customerId);
}
/**
* 查询客户 退货总金额商品总款数总件数
* @author 王富康
* @date 2024/10/24
* @param customerPageQuery
* @return CustomerDataVo
*/
@Override
public CustomerDataVo getCustomerSaleReturnInfo(CustomerPageQuery customerPageQuery) {
final CustomerDataVo customerDataVo = new CustomerDataVo();
// 查询客户 退货(总金额)商品总款数
final CustomerDataVo salePrice = returnSaleMapper.getSaleReturnPrice(customerPageQuery);
// 查询客户 退货 总件数
final CustomerDataVo saleCount = returnSaleMapper.getSaleReturnCount(customerPageQuery);
customerDataVo.setSaleReturnPrice(salePrice.getSaleReturnPrice());
customerDataVo.setSaleReturnCount(saleCount.getSaleReturnCount());
return customerDataVo;
}
}

21
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/SaleServiceImpl.java

@ -23,6 +23,7 @@ import cc.hiver.mall.debt.service.DebtService;
import cc.hiver.mall.deductlog.service.DeductLogService;
import cc.hiver.mall.entity.*;
import cc.hiver.mall.pojo.dto.*;
import cc.hiver.mall.pojo.query.CustomerPageQuery;
import cc.hiver.mall.pojo.query.SalePageQuery;
import cc.hiver.mall.pojo.query.SalesRankingQueryCriteria;
import cc.hiver.mall.pojo.vo.*;
@ -1317,6 +1318,26 @@ public class SaleServiceImpl extends ServiceImpl<SaleMapper, Sale> implements Sa
return saleMapper.buyCount(customerId,productIdList);
}
/**
* 查询客户 拿货总金额商品总款数总件数
* @author 王富康
* @date 2024/10/24
* @param customerPageQuery
* @return CustomerDataVo
*/
@Override
public CustomerDataVo getCustomerSaleInfo(CustomerPageQuery customerPageQuery) {
final CustomerDataVo customerDataVo = new CustomerDataVo();
// 查询客户 拿货(总金额)商品总款数
final CustomerDataVo salePrice = saleMapper.getSalePrice(customerPageQuery);
// 查询客户 总件数
final CustomerDataVo saleCount = saleMapper.getSaleCount(customerPageQuery);
customerDataVo.setSalePrice(salePrice.getSalePrice());
customerDataVo.setSaleCount(saleCount.getSaleCount());
return customerDataVo;
}
/**
* 使用正则表达式替换输入字符串中连续的字符为相应数量的X字符
*

31
hiver-modules/hiver-mall/src/main/resources/mapper/PurchaseMapper.xml

@ -582,4 +582,35 @@
order by create_time desc
</select>
<!--查询供应商(总金额)商品总款数-->
<select id="getSupplierPurchaseInfo" resultType="cc.hiver.mall.pojo.vo.SupplierDataVo">
select sum(should_pay) as purchase_price
from t_purchase
where supplier_id = #{purchasePageQuery.supplierId}
and del_flag = 0
and in_storage_status = 1
<if test='purchasePageQuery.startDate !=null and purchasePageQuery.endDate !=null'>
and create_time BETWEEN #{purchasePageQuery.startDate} AND #{purchasePageQuery.endDate}
</if>
</select>
<!--查询供应商总件数-->
<select id="getSupplierPurchaseInfo" resultType="cc.hiver.mall.pojo.vo.SupplierDataVo">
SELECT
sum( dd.product_count ) as purchase_count,
dd.product_id
FROM
t_purchase_detail dd
JOIN t_purchase tt ON dd.purchase_id = tt.id
WHERE
dd.supplier_id = #{purchasePageQuery.supplierId}
AND tt.del_flag = 0
AND tt.in_storage_status = 1
<if test='purchasePageQuery.startDate !=null and purchasePageQuery.endDate !=null'>
and tt.create_time BETWEEN #{purchasePageQuery.startDate} AND #{purchasePageQuery.endDate}
</if>
GROUP BY
dd.product_id
</select>
</mapper>

30
hiver-modules/hiver-mall/src/main/resources/mapper/PurchaseReturnMapper.xml

@ -70,4 +70,34 @@
</update>
<select id="getPurchaseReturnPrice" resultType="cc.hiver.mall.pojo.vo.SupplierDataVo">
SELECT
sum( already_pay ) as purchase_return_price
FROM
t_purchase_return
WHERE
supplier_id = #{purchasePageQuery.supplierId}
AND del_flag = 0
<if test='purchasePageQuery.startDate !=null and purchasePageQuery.endDate !=null'>
and purchase_time BETWEEN #{purchasePageQuery.startDate} AND #{purchasePageQuery.endDate}
</if>
</select>
<select id="getPurchaseReturnCount" resultType="cc.hiver.mall.pojo.vo.SupplierDataVo">
SELECT
sum( dd.product_count ) as purchase_return_count,
dd.product_id
FROM
t_purchase_return_detail dd
JOIN t_purchase_return tt ON dd.purchase_id = tt.id
WHERE
tt.supplier_id = #{purchasePageQuery.supplierId}
AND tt.del_flag = 0
<if test='purchasePageQuery.startDate !=null and purchasePageQuery.endDate !=null'>
and tt.purchase_time BETWEEN #{purchasePageQuery.startDate} AND #{purchasePageQuery.endDate}
</if>
GROUP BY
dd.product_id
</select>
</mapper>

34
hiver-modules/hiver-mall/src/main/resources/mapper/ReturnSaleMapper.xml

@ -708,4 +708,38 @@
AND ss.STATUS = 4
AND ss.user_id = #{customerId}
</select>
<select id="getSaleReturnPrice" resultType="cc.hiver.mall.pojo.vo.CustomerDataVo">
SELECT
sum( tt.real_amount ) as sale_return_price
FROM
t_return_sale tt
JOIN t_sale ss ON ss.id = tt.sale_id
WHERE
ss.user_id = #{customerPageQuery.customerId}
AND ss.del_flag = 0
AND ss.STATUS = 4
<if test='customerPageQuery.startDate !=null and customerPageQuery.endDate !=null'>
and ss.create_time BETWEEN #{customerPageQuery.startDate} AND #{customerPageQuery.endDate}
</if>
</select>
<select id="getSaleReturnCount" resultType="cc.hiver.mall.pojo.vo.CustomerDataVo">
SELECT
sum( tt.product_count ) as sale_return_count,
tt.product_id
FROM
t_return_detail tt
JOIN t_sale ss ON ss.id = tt.sale_id
WHERE
ss.user_id = #{customerPageQuery.customerId}
AND ss.del_flag = 0
AND ss.STATUS = 4
<if test='customerPageQuery.startDate !=null and customerPageQuery.endDate !=null'>
and ss.create_time BETWEEN #{customerPageQuery.startDate} AND #{customerPageQuery.endDate}
</if>
GROUP BY
tt.product_id
</select>
</mapper>

32
hiver-modules/hiver-mall/src/main/resources/mapper/SaleMapper.xml

@ -1394,4 +1394,36 @@ GROUP BY
GROUP BY
dd.product_id
</select>
<select id="getSalePrice" resultType="cc.hiver.mall.pojo.vo.CustomerDataVo">
SELECT
sum( total_amount ) as sale_price
FROM
t_sale
WHERE
user_id = #{customerPageQuery.customerId}
AND del_flag = 0
AND STATUS = 4
<if test='customerPageQuery.startDate !=null and customerPageQuery.endDate !=null'>
and create_time BETWEEN #{customerPageQuery.startDate} AND #{customerPageQuery.endDate}
</if>
</select>
<select id="getSaleCount" resultType="cc.hiver.mall.pojo.vo.CustomerDataVo">
SELECT
sum( dd.product_count ) as sale_count,
dd.product_id
FROM
t_sale_detail dd
JOIN t_sale tt ON dd.sale_id = tt.id
WHERE
tt.user_id = #{customerPageQuery.customerId}
AND tt.del_flag = 0
AND tt.STATUS = 4
<if test='customerPageQuery.startDate !=null and customerPageQuery.endDate !=null'>
and tt.create_time BETWEEN #{customerPageQuery.startDate} AND #{customerPageQuery.endDate}
</if>
GROUP BY
dd.product_id
</select>
</mapper>
Loading…
Cancel
Save