订单分润统计

This commit is contained in:
19173159168
2025-08-23 17:45:27 +08:00
parent 3de561a277
commit 5552778829
14 changed files with 1273 additions and 6 deletions

View File

@ -0,0 +1,153 @@
package com.ruoyi.orders.controller;
import java.util.List;
import java.util.Map;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.operation.domain.Company;
import com.ruoyi.operation.service.ICompanyService;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.orders.domain.ZcOrderDistrib;
import com.ruoyi.orders.service.IZcOrderDistribService;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 订单分成统计Controller
*
* @author ruoyi
* @date 2025-08-20
*/
@Controller
@RequestMapping("/orders/distrib")
public class ZcOrderDistribController extends BaseController
{
private String prefix = "orders/distrib";
@Autowired
private IZcOrderDistribService zcOrderDistribService;
@Autowired
private ICompanyService companyService;
@RequiresPermissions("orders:distrib:view")
@GetMapping()
public String distrib(ModelMap mmap, ZcOrderDistrib zcOrderDistrib)
{
List<Company> companyList = companyService.getCompanyList(new Company(),getSysUser()); // 获取运营商列表
mmap.put("companyList", companyList); // 将运营商列表传递到前端
mmap.put("zcOrderDistrib", zcOrderDistrib);
return prefix + "/distrib";
}
/**
* 查询订单分成统计列表
*/
@RequiresPermissions("orders:distrib:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(ZcOrderDistrib zcOrderDistrib)
{
startPage();
// 运营者账号,只能查询所属商户数据
if(UserConstants.USER_TYPE_02 .equals(getSysUser().getUserType())){
zcOrderDistrib.setCompanyId(getSysUser().getGroupId());
}
List<ZcOrderDistrib> list = zcOrderDistribService.selectZcOrderDistribList(zcOrderDistrib);
return getDataTable(list);
}
@PostMapping("/summary")
@ResponseBody
public Map<String, Object> getSummaryStats(ZcOrderDistrib zcOrderDistrib) {
Map<String, Object> summary = zcOrderDistribService.getSummaryStats(zcOrderDistrib);
return summary;
}
/**
* 导出订单分成统计列表
*/
@RequiresPermissions("orders:distrib:export")
@Log(title = "订单分成统计", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(ZcOrderDistrib zcOrderDistrib)
{
// 运营者账号,只能查询所属商户数据
if(UserConstants.USER_TYPE_02 .equals(getSysUser().getUserType())){
zcOrderDistrib.setCompanyId(getSysUser().getGroupId());
}
List<ZcOrderDistrib> list = zcOrderDistribService.selectZcOrderDistribList(zcOrderDistrib);
ExcelUtil<ZcOrderDistrib> util = new ExcelUtil<ZcOrderDistrib>(ZcOrderDistrib.class);
return util.exportExcel(list, "订单分成统计数据");
}
/**
* 新增订单分成统计
*/
@GetMapping("/add")
public String add()
{
return prefix + "/add";
}
/**
* 新增保存订单分成统计
*/
@RequiresPermissions("orders:distrib:add")
@Log(title = "订单分成统计", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(ZcOrderDistrib zcOrderDistrib)
{
return toAjax(zcOrderDistribService.insertZcOrderDistrib(zcOrderDistrib));
}
/**
* 修改订单分成统计
*/
@RequiresPermissions("orders:distrib:edit")
@GetMapping("/edit/{id}")
public String edit(@PathVariable("id") Long id, ModelMap mmap)
{
ZcOrderDistrib zcOrderDistrib = zcOrderDistribService.selectZcOrderDistribById(id);
mmap.put("zcOrderDistrib", zcOrderDistrib);
return prefix + "/edit";
}
/**
* 修改保存订单分成统计
*/
@RequiresPermissions("orders:distrib:edit")
@Log(title = "订单分成统计", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(ZcOrderDistrib zcOrderDistrib)
{
return toAjax(zcOrderDistribService.updateZcOrderDistrib(zcOrderDistrib));
}
/**
* 删除订单分成统计
*/
@RequiresPermissions("orders:distrib:remove")
@Log(title = "订单分成统计", businessType = BusinessType.DELETE)
@PostMapping( "/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
return toAjax(zcOrderDistribService.deleteZcOrderDistribByIds(ids));
}
}

View File

@ -0,0 +1,172 @@
package com.ruoyi.orders.domain;
import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.springframework.data.annotation.Transient;
/**
* 订单分成统计对象 zc_order_distrib
*
* @author ruoyi
* @date 2025-08-20
*/
public class ZcOrderDistrib extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** ID主键 */
private Long id;
/** 关联的订单ID外键 */
@Excel(name = "关联的订单ID", readConverterExp = "外=键")
private Long orderId;
/** 订单编号 */
@Excel(name = "订单编号")
private String orderNo;
/** 运营商id */
private Long companyId;
/** 门店 */
private Long storeId;
/** 引荐人id */
private Long referralUserId;
/** 分配类型:company运营商store门店referral推荐人platform平台 */
private String distribType;
/** 分配比例 */
private BigDecimal distribRate;
/** 分配金额 */
private BigDecimal distribAmount;
/** 删除标志0代表存在 2代表删除 */
private String delFlag;
@Transient
private ZcOrderMain zcOrderMain;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setOrderId(Long orderId)
{
this.orderId = orderId;
}
public Long getOrderId()
{
return orderId;
}
public void setOrderNo(String orderNo)
{
this.orderNo = orderNo;
}
public String getOrderNo()
{
return orderNo;
}
public void setCompanyId(Long companyId)
{
this.companyId = companyId;
}
public Long getCompanyId()
{
return companyId;
}
public void setStoreId(Long storeId)
{
this.storeId = storeId;
}
public Long getStoreId()
{
return storeId;
}
public void setReferralUserId(Long referralUserId)
{
this.referralUserId = referralUserId;
}
public Long getReferralUserId()
{
return referralUserId;
}
public void setDistribType(String distribType)
{
this.distribType = distribType;
}
public String getDistribType()
{
return distribType;
}
public void setDistribRate(BigDecimal distribRate)
{
this.distribRate = distribRate;
}
public BigDecimal getDistribRate()
{
return distribRate;
}
public void setDistribAmount(BigDecimal distribAmount)
{
this.distribAmount = distribAmount;
}
public BigDecimal getDistribAmount()
{
return distribAmount;
}
public void setDelFlag(String delFlag)
{
this.delFlag = delFlag;
}
public String getDelFlag()
{
return delFlag;
}
public ZcOrderMain getZcOrderMain() {
return zcOrderMain;
}
public void setZcOrderMain(ZcOrderMain zcOrderMain) {
this.zcOrderMain = zcOrderMain;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("orderId", getOrderId())
.append("orderNo", getOrderNo())
.append("companyId", getCompanyId())
.append("storeId", getStoreId())
.append("referralUserId", getReferralUserId())
.append("distribType", getDistribType())
.append("distribRate", getDistribRate())
.append("distribAmount", getDistribAmount())
.append("delFlag", getDelFlag())
.append("createTime", getCreateTime())
.append("updateTime", getUpdateTime())
.toString();
}
}

View File

@ -61,6 +61,14 @@ public class ZcOrderSub extends BaseEntity
/** 删除标志0代表存在 2代表删除 */
private String delFlag;
@Excel(name = "支付状态")
private String payStatus;
/**平台支付流水号*/
@Excel(name = "平台支付流水号")
private String transactionId;
private Long bOrderId;
public void setSuborderId(Long suborderId)
{
this.suborderId = suborderId;
@ -161,6 +169,30 @@ public class ZcOrderSub extends BaseEntity
return delFlag;
}
public String getPayStatus() {
return payStatus;
}
public void setPayStatus(String payStatus) {
this.payStatus = payStatus;
}
public String getTransactionId() {
return transactionId;
}
public void setTransactionId(String transactionId) {
this.transactionId = transactionId;
}
public Long getbOrderId() {
return bOrderId;
}
public void setbOrderId(Long bOrderId) {
this.bOrderId = bOrderId;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)

View File

@ -0,0 +1,70 @@
package com.ruoyi.orders.mapper;
import java.util.List;
import java.util.Map;
import com.ruoyi.orders.domain.ZcOrderDistrib;
/**
* 订单分成统计Mapper接口
*
* @author ruoyi
* @date 2025-08-20
*/
public interface ZcOrderDistribMapper
{
/**
* 查询订单分成统计
*
* @param id 订单分成统计主键
* @return 订单分成统计
*/
public ZcOrderDistrib selectZcOrderDistribById(Long id);
/**
* 查询订单分成统计列表
*
* @param zcOrderDistrib 订单分成统计
* @return 订单分成统计集合
*/
public List<ZcOrderDistrib> selectZcOrderDistribList(ZcOrderDistrib zcOrderDistrib);
/**
* 查询汇总统计信息
* @param zcOrderDistrib 查询条件
* @return 汇总统计结果
*/
Map<String, Object> selectZcOrderDistribSummary(ZcOrderDistrib zcOrderDistrib);
/**
* 新增订单分成统计
*
* @param zcOrderDistrib 订单分成统计
* @return 结果
*/
public int insertZcOrderDistrib(ZcOrderDistrib zcOrderDistrib);
/**
* 修改订单分成统计
*
* @param zcOrderDistrib 订单分成统计
* @return 结果
*/
public int updateZcOrderDistrib(ZcOrderDistrib zcOrderDistrib);
/**
* 删除订单分成统计
*
* @param id 订单分成统计主键
* @return 结果
*/
public int deleteZcOrderDistribById(Long id);
/**
* 批量删除订单分成统计
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteZcOrderDistribByIds(String[] ids);
}

View File

@ -0,0 +1,71 @@
package com.ruoyi.orders.service;
import java.util.List;
import java.util.Map;
import com.ruoyi.orders.domain.ZcOrderDistrib;
/**
* 订单分成统计Service接口
*
* @author ruoyi
* @date 2025-08-20
*/
public interface IZcOrderDistribService
{
/**
* 查询订单分成统计
*
* @param id 订单分成统计主键
* @return 订单分成统计
*/
public ZcOrderDistrib selectZcOrderDistribById(Long id);
/**
* 查询订单分成统计列表
*
* @param zcOrderDistrib 订单分成统计
* @return 订单分成统计集合
*/
public List<ZcOrderDistrib> selectZcOrderDistribList(ZcOrderDistrib zcOrderDistrib);
/**
* 获取汇总统计信息
* @param zcOrderDistrib 查询条件
* @return 汇总统计结果
*/
Map<String, Object> getSummaryStats(ZcOrderDistrib zcOrderDistrib);
/**
* 新增订单分成统计
*
* @param zcOrderDistrib 订单分成统计
* @return 结果
*/
public int insertZcOrderDistrib(ZcOrderDistrib zcOrderDistrib);
/**
* 修改订单分成统计
*
* @param zcOrderDistrib 订单分成统计
* @return 结果
*/
public int updateZcOrderDistrib(ZcOrderDistrib zcOrderDistrib);
/**
* 批量删除订单分成统计
*
* @param ids 需要删除的订单分成统计主键集合
* @return 结果
*/
public int deleteZcOrderDistribByIds(String ids);
/**
* 删除订单分成统计信息
*
* @param id 订单分成统计主键
* @return 结果
*/
public int deleteZcOrderDistribById(Long id);
}

View File

@ -0,0 +1,104 @@
package com.ruoyi.orders.service.impl;
import java.util.List;
import java.util.Map;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.orders.mapper.ZcOrderDistribMapper;
import com.ruoyi.orders.domain.ZcOrderDistrib;
import com.ruoyi.orders.service.IZcOrderDistribService;
import com.ruoyi.common.core.text.Convert;
/**
* 订单分成统计Service业务层处理
*
* @author ruoyi
* @date 2025-08-20
*/
@Service
public class ZcOrderDistribServiceImpl implements IZcOrderDistribService
{
@Autowired
private ZcOrderDistribMapper zcOrderDistribMapper;
/**
* 查询订单分成统计
*
* @param id 订单分成统计主键
* @return 订单分成统计
*/
@Override
public ZcOrderDistrib selectZcOrderDistribById(Long id)
{
return zcOrderDistribMapper.selectZcOrderDistribById(id);
}
/**
* 查询订单分成统计列表
*
* @param zcOrderDistrib 订单分成统计
* @return 订单分成统计
*/
@Override
public List<ZcOrderDistrib> selectZcOrderDistribList(ZcOrderDistrib zcOrderDistrib)
{
return zcOrderDistribMapper.selectZcOrderDistribList(zcOrderDistrib);
}
@Override
public Map<String, Object> getSummaryStats(ZcOrderDistrib zcOrderDistrib) {
return zcOrderDistribMapper.selectZcOrderDistribSummary(zcOrderDistrib);
}
/**
* 新增订单分成统计
*
* @param zcOrderDistrib 订单分成统计
* @return 结果
*/
@Override
public int insertZcOrderDistrib(ZcOrderDistrib zcOrderDistrib)
{
zcOrderDistrib.setCreateTime(DateUtils.getNowDate());
return zcOrderDistribMapper.insertZcOrderDistrib(zcOrderDistrib);
}
/**
* 修改订单分成统计
*
* @param zcOrderDistrib 订单分成统计
* @return 结果
*/
@Override
public int updateZcOrderDistrib(ZcOrderDistrib zcOrderDistrib)
{
zcOrderDistrib.setUpdateTime(DateUtils.getNowDate());
return zcOrderDistribMapper.updateZcOrderDistrib(zcOrderDistrib);
}
/**
* 批量删除订单分成统计
*
* @param ids 需要删除的订单分成统计主键
* @return 结果
*/
@Override
public int deleteZcOrderDistribByIds(String ids)
{
return zcOrderDistribMapper.deleteZcOrderDistribByIds(Convert.toStrArray(ids));
}
/**
* 删除订单分成统计信息
*
* @param id 订单分成统计主键
* @return 结果
*/
@Override
public int deleteZcOrderDistribById(Long id)
{
return zcOrderDistribMapper.deleteZcOrderDistribById(id);
}
}