Browse Source

功能优化

dev
wangfukang 1 year ago
parent
commit
1244cf1b41
  1. 18
      hiver-admin/test-output/test-report.html
  2. 18
      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> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <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="apple-touch-icon" href="spark/logo.png">
<link rel="shortcut icon" href="spark/logo.png"> <link rel="shortcut icon" href="spark/logo.png">
<link rel="stylesheet" href="spark/spark-style.css"> <link rel="stylesheet" href="spark/spark-style.css">
@ -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">十月 23, 2024 23:46:29</span></a> <a href="#"><span class="badge badge-primary">ʮ�� 24, 2024 20:09:59</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>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>
<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'>10.23.2024 23:46:29</span> <span class='badge badge-success'>10.24.2024 20:10:00</span>
<span class='badge badge-danger'>10.23.2024 23:46:29</span> <span class='badge badge-danger'>10.24.2024 20:10:00</span>
<span class='badge badge-default'>0.01 secs</span> <span class='badge badge-default'>0.017 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>23:46:29</td> <td>20:10:00</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>十月 23, 2024 23:46:29</h3> <h3>ʮ�� 24, 2024 20:09:59</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>十月 23, 2024 23:46:29</h3> <h3>ʮ�� 24, 2024 20:10:00</h3>
</div></div> </div></div>
</div> </div>
<div class="col-md-3"> <div class="col-md-3">

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

@ -152,9 +152,9 @@ public class CommonController {
final String shopId = securityUtil.getShopId(); final String shopId = securityUtil.getShopId();
final ShopUser shopUser = shopUserService.selectByUserIdAndShopId(user.getId(), shopId); final ShopUser shopUser = shopUserService.selectByUserIdAndShopId(user.getId(), shopId);
// 这里接收前台得到type,只用于shop_user的type,不会对user的type产生影响 // 这里接收前台得到type,只用于shop_user的type,不会对user的type产生影响
if(!shopUser.getType().equals(Integer.valueOf(user.getType()))){ if (!shopUser.getType().equals(Integer.valueOf(user.getType()))) {
// 如果修改了权限信息,那么就需要清除用户缓存,重新登录 // 如果修改了权限信息,那么就需要清除用户缓存,重新登录
final String oldToken = redisTemplate.get(SecurityConstant.USER_TOKEN + user.getUsername()+"type:"+user.getType()); final String oldToken = redisTemplate.get(SecurityConstant.USER_TOKEN + user.getUsername() + "type:" + user.getType());
if (CharSequenceUtil.isNotBlank(oldToken)) { if (CharSequenceUtil.isNotBlank(oldToken)) {
redisTemplate.delete(SecurityConstant.TOKEN_PRE + oldToken); redisTemplate.delete(SecurityConstant.TOKEN_PRE + oldToken);
} }
@ -169,8 +169,22 @@ public class CommonController {
@ApiOperation("批量通过ids删除") @ApiOperation("批量通过ids删除")
public Result delAllByIds(@RequestParam String[] ids) { public Result delAllByIds(@RequestParam String[] ids) {
for (String id : ids) { for (String id : ids) {
final User user = userService.get(id);
// 员工信息
userService.delete(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删除数据成功"); 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.entity.Customer;
import cc.hiver.mall.pojo.dto.DebtCustomer; import cc.hiver.mall.pojo.dto.DebtCustomer;
import cc.hiver.mall.pojo.query.CustomerPageQuery; import cc.hiver.mall.pojo.query.CustomerPageQuery;
import cc.hiver.mall.pojo.vo.CustomerDataVo;
import cc.hiver.mall.service.mybatis.CustomerService; import cc.hiver.mall.service.mybatis.CustomerService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 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); final Map<String, Object> map = customerService.getCustomerBuyHistory(productId, attributeList, customerId);
return new ResultUtil<Map<String, Object>>().setData(map); 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.debt.service.DebtService;
import cc.hiver.mall.entity.DealingsRecord; import cc.hiver.mall.entity.DealingsRecord;
import cc.hiver.mall.entity.Supplier; 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.SupplierService;
import cc.hiver.mall.service.mybatis.DealingsRecordService; import cc.hiver.mall.service.mybatis.DealingsRecordService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@ -22,10 +24,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
@ -181,4 +180,21 @@ public class SupplierControlller {
final List<Supplier> suppliers = supplierService.getbySupplierName(supplierName, shopId); final List<Supplier> suppliers = supplierService.getbySupplierName(supplierName, shopId);
return new ResultUtil<List<Supplier>>().setData(suppliers); 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.dto.DebtSupplier;
import cc.hiver.mall.pojo.query.PurchasePageQuery; import cc.hiver.mall.pojo.query.PurchasePageQuery;
import cc.hiver.mall.pojo.vo.PurchasingCostDetailVo; 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.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -63,4 +64,20 @@ public interface PurchaseMapper extends BaseMapper<Purchase> {
* @return Page<Purchase> * @return Page<Purchase>
*/ */
Page<Purchase> getPurchaseListBySupplierId(Page<Purchase> page,@Param("purchasePageQuery") PurchasePageQuery purchasePageQuery); 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.bill.vo.CustomerBillQueryVo;
import cc.hiver.mall.entity.ReturnSale; import cc.hiver.mall.entity.ReturnSale;
import cc.hiver.mall.entity.ReturnSaleExample; 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.query.ReturnSalePageQuery;
import cc.hiver.mall.pojo.vo.CustomerDataVo;
import cc.hiver.mall.pojo.vo.ReturnSaleVo; import cc.hiver.mall.pojo.vo.ReturnSaleVo;
import cc.hiver.mall.pojo.vo.ReturnTotalAmountDetailVo; import cc.hiver.mall.pojo.vo.ReturnTotalAmountDetailVo;
import cc.hiver.mall.pojo.vo.SaleAllVO; import cc.hiver.mall.pojo.vo.SaleAllVO;
@ -93,4 +95,8 @@ public interface ReturnSaleMapper extends BaseMapper<ReturnSale> {
* @return Integer * @return Integer
*/ */
Integer getCustomerReturnHistory(@Param("productId") String productId,@Param("attributeList") String attributeList,@Param("customerId") String customerId); 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.Sale;
import cc.hiver.mall.entity.SaleExample; import cc.hiver.mall.entity.SaleExample;
import cc.hiver.mall.pojo.dto.ShopRevenue; 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.SalePageQuery;
import cc.hiver.mall.pojo.query.SalesRankingQueryCriteria; import cc.hiver.mall.pojo.query.SalesRankingQueryCriteria;
import cc.hiver.mall.pojo.vo.*; 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); Page<TotalAmountDetailByProductVo> totalAmountDetailByProduct(Page<TotalAmountDetailByProductVo> page, @Param("salePageQuery") SalePageQuery salePageQuery);
List<BuyCountVo> buyCount(@Param("customerId")String customerId, @Param("productIdList") List<String> productIdList); 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; BigDecimal newDebtAmount = BigDecimal.ZERO;
lastDebtAmount = oldDebt.getAmountOwed() == null ? BigDecimal.ZERO : oldDebt.getAmountOwed(); lastDebtAmount = oldDebt.getAmountOwed() == null ? BigDecimal.ZERO : oldDebt.getAmountOwed();
// 计算欠款 // 计算欠款
if (oldDebt.getAmountOwed() != null) {
newDebtAmount = oldDebt.getAmountOwed().subtract(debt.getAmountOwed()); newDebtAmount = oldDebt.getAmountOwed().subtract(debt.getAmountOwed());
}
oldDebt.setAmountOwed(newDebtAmount); oldDebt.setAmountOwed(newDebtAmount);
debtMapper.updateById(oldDebt); debtMapper.updateById(oldDebt);
// 2. 新增欠款记录 // 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") @ApiModelProperty("店铺ID")
private String shopId; private String shopId;
@ApiModelProperty("客户id")
private String customerId;
@ApiModelProperty("删除标识") @ApiModelProperty("删除标识")
private Integer delFlag; private Integer delFlag;
@ -42,5 +45,11 @@ public class CustomerPageQuery extends HiverBasePageQuery {
@ApiModelProperty("查询超过多少天未拿货的") @ApiModelProperty("查询超过多少天未拿货的")
private String notBuyDays; 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; 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.entity.PurchaseReturn;
import cc.hiver.mall.purchasereturn.vo.PurchaseReturnQueryVo; import cc.hiver.mall.purchasereturn.vo.PurchaseReturnQueryVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@ -27,4 +29,21 @@ public interface PurchaseReturnMapper extends BaseMapper<PurchaseReturn> {
void cancelPurchaseReturnById(@Param("id") String id); 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; 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.entity.PurchaseReturn;
import cc.hiver.mall.purchasereturn.vo.PurchaseReturnDataVo; import cc.hiver.mall.purchasereturn.vo.PurchaseReturnDataVo;
import cc.hiver.mall.purchasereturn.vo.PurchaseReturnQueryVo; import cc.hiver.mall.purchasereturn.vo.PurchaseReturnQueryVo;
@ -42,4 +44,13 @@ public interface PurchaseReturnService extends IService<PurchaseReturn> {
* @date 2024/8/17 * @date 2024/8/17
*/ */
void cancelPurchaseReturn(String id); 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.Stock;
import cc.hiver.mall.entity.StockLog; import cc.hiver.mall.entity.StockLog;
import cc.hiver.mall.entity.Supplier; 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.constant.PurchaseReturnConstant;
import cc.hiver.mall.purchasereturn.entity.PurchaseReturn; import cc.hiver.mall.purchasereturn.entity.PurchaseReturn;
import cc.hiver.mall.purchasereturn.entity.PurchaseReturnDetail; import cc.hiver.mall.purchasereturn.entity.PurchaseReturnDetail;
@ -231,4 +233,21 @@ public class PurchaseReturnServiceImpl extends ServiceImpl<PurchaseReturnMapper,
dealingsRecordService.cancelRecord(id); 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.core.base.HiverBaseService;
import cc.hiver.mall.entity.Supplier; 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.Page;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
@ -26,4 +28,13 @@ public interface SupplierService extends HiverBaseService<Supplier, String> {
* @date 2024/8/11 * @date 2024/8/11
*/ */
List<Supplier> getbySupplierName(String supplierName, String shopId); 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.entity.Customer;
import cc.hiver.mall.pojo.dto.DebtCustomer; import cc.hiver.mall.pojo.dto.DebtCustomer;
import cc.hiver.mall.pojo.query.CustomerPageQuery; 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.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
@ -37,4 +38,13 @@ public interface CustomerService extends IService<Customer> {
List<Customer> findByUserPhoneAndShopId(String userPhone, String shopId); List<Customer> findByUserPhoneAndShopId(String userPhone, String shopId);
Map<String, Object> getCustomerBuyHistory(String productId, String attributeList, String customerId); 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.query.PurchasePageQuery;
import cc.hiver.mall.pojo.vo.PurchaseVo; import cc.hiver.mall.pojo.vo.PurchaseVo;
import cc.hiver.mall.pojo.vo.PurchasingCostDetailVo; 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.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
@ -79,4 +80,12 @@ public interface PurchaseService extends IService<Purchase> {
void cancelPurchase(String id); void cancelPurchase(String id);
boolean insert(Purchase purchase); 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.ArrearsVo;
import cc.hiver.mall.bill.vo.CustomerBillQueryVo; import cc.hiver.mall.bill.vo.CustomerBillQueryVo;
import cc.hiver.mall.entity.ReturnSale; 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.query.ReturnSalePageQuery;
import cc.hiver.mall.pojo.vo.CustomerDataVo;
import cc.hiver.mall.pojo.vo.ReturnSaleVo; import cc.hiver.mall.pojo.vo.ReturnSaleVo;
import cc.hiver.mall.pojo.vo.ReturnTotalAmountDetailVo; import cc.hiver.mall.pojo.vo.ReturnTotalAmountDetailVo;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
@ -61,4 +63,6 @@ public interface ReturnSaleService extends IService<ReturnSale> {
* @return Integer * @return Integer
*/ */
Integer getCustomerReturnHistory(String productId, String attributeList, String customerId); 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.bill.vo.CustomerBillSaleVo;
import cc.hiver.mall.entity.Sale; import cc.hiver.mall.entity.Sale;
import cc.hiver.mall.pojo.dto.SaleQueryDTO; 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.SalePageQuery;
import cc.hiver.mall.pojo.query.SalesRankingQueryCriteria; import cc.hiver.mall.pojo.query.SalesRankingQueryCriteria;
import cc.hiver.mall.pojo.vo.*; import cc.hiver.mall.pojo.vo.*;
@ -159,4 +160,12 @@ public interface SaleService extends IService<Sale> {
*/ */
List<BuyCountVo> buyCount(String customerId, List<String> productIdList); 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.debt.service.DebtService;
import cc.hiver.mall.entity.DealingsRecord; import cc.hiver.mall.entity.DealingsRecord;
import cc.hiver.mall.entity.Supplier; 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.SupplierService;
import cc.hiver.mall.service.mybatis.DealingsRecordService; import cc.hiver.mall.service.mybatis.DealingsRecordService;
import cc.hiver.mall.service.mybatis.PurchaseService;
import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.core.text.CharSequenceUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -43,6 +47,12 @@ public class SupplierServiceImpl implements SupplierService {
@Autowired @Autowired
private DealingsRecordService dealingsRecordService; private DealingsRecordService dealingsRecordService;
@Autowired
private PurchaseService purchaseService;
@Autowired
private PurchaseReturnService purchaseReturnService;
@Override @Override
public HiverBaseDao<Supplier, String> getRepository() { public HiverBaseDao<Supplier, String> getRepository() {
return supplierDao; return supplierDao;
@ -172,4 +182,25 @@ public class SupplierServiceImpl implements SupplierService {
public List<Supplier> getbySupplierName(String supplierName, String shopId) { public List<Supplier> getbySupplierName(String supplierName, String shopId) {
return supplierDao.getbySupplierName(supplierName, 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.entity.DealingsRecord;
import cc.hiver.mall.pojo.dto.DebtCustomer; import cc.hiver.mall.pojo.dto.DebtCustomer;
import cc.hiver.mall.pojo.query.CustomerPageQuery; import cc.hiver.mall.pojo.query.CustomerPageQuery;
import cc.hiver.mall.service.mybatis.CustomerService; import cc.hiver.mall.pojo.vo.CustomerDataVo;
import cc.hiver.mall.service.mybatis.DealingsRecordService; import cc.hiver.mall.service.mybatis.*;
import cc.hiver.mall.service.mybatis.ReturnSaleService;
import cc.hiver.mall.service.mybatis.SaleDetailService;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -62,6 +60,9 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer> i
@Autowired @Autowired
private SaleDetailService saleDetailService; private SaleDetailService saleDetailService;
@Autowired
private SaleService saleService;
@Autowired @Autowired
private ReturnSaleService returnSaleService; private ReturnSaleService returnSaleService;
@ -237,4 +238,25 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer> i
result.put("returnCount",returnCount); result.put("returnCount",returnCount);
return result; 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.ProductCategoryVo;
import cc.hiver.mall.pojo.vo.PurchaseVo; import cc.hiver.mall.pojo.vo.PurchaseVo;
import cc.hiver.mall.pojo.vo.PurchasingCostDetailVo; 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.entity.PurchaseOcrPicture;
import cc.hiver.mall.purchaseocr.service.PurchaseOcrPictureService; import cc.hiver.mall.purchaseocr.service.PurchaseOcrPictureService;
import cc.hiver.mall.purchaseocr.vo.PurchaseOcrCountVo; 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); final int insert = purchaseMapper.insert(purchase);
return insert > 0; 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.entity.ReturnSale;
import cc.hiver.mall.pojo.dto.ReturnSaleDetailDTO; import cc.hiver.mall.pojo.dto.ReturnSaleDetailDTO;
import cc.hiver.mall.pojo.dto.SaleDetailQueryDTO; 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.query.ReturnSalePageQuery;
import cc.hiver.mall.pojo.vo.CustomerDataVo;
import cc.hiver.mall.pojo.vo.ReturnSaleVo; import cc.hiver.mall.pojo.vo.ReturnSaleVo;
import cc.hiver.mall.pojo.vo.ReturnTotalAmountDetailVo; import cc.hiver.mall.pojo.vo.ReturnTotalAmountDetailVo;
import cc.hiver.mall.service.mybatis.ProductService; 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) { public Integer getCustomerReturnHistory(String productId, String attributeList, String customerId) {
return returnSaleMapper.getCustomerReturnHistory(productId, attributeList, 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.deductlog.service.DeductLogService;
import cc.hiver.mall.entity.*; import cc.hiver.mall.entity.*;
import cc.hiver.mall.pojo.dto.*; 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.SalePageQuery;
import cc.hiver.mall.pojo.query.SalesRankingQueryCriteria; import cc.hiver.mall.pojo.query.SalesRankingQueryCriteria;
import cc.hiver.mall.pojo.vo.*; import cc.hiver.mall.pojo.vo.*;
@ -1317,6 +1318,26 @@ public class SaleServiceImpl extends ServiceImpl<SaleMapper, Sale> implements Sa
return saleMapper.buyCount(customerId,productIdList); 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字符 * 使用正则表达式替换输入字符串中连续的字符为相应数量的X字符
* *

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

@ -582,4 +582,35 @@
order by create_time desc order by create_time desc
</select> </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> </mapper>

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

@ -70,4 +70,34 @@
</update> </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> </mapper>

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

@ -708,4 +708,38 @@
AND ss.STATUS = 4 AND ss.STATUS = 4
AND ss.user_id = #{customerId} AND ss.user_id = #{customerId}
</select> </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> </mapper>

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

@ -1394,4 +1394,36 @@ GROUP BY
GROUP BY GROUP BY
dd.product_id dd.product_id
</select> </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> </mapper>
Loading…
Cancel
Save