xuhy
2025-10-13 bbd4ef13878442b64d517d14bc5d5f86b98267de
导出
4个文件已修改
1个文件已添加
174 ■■■■ 已修改文件
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/DataStatisticsController.java 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSysOrderController.java 55 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/model/TErpProcurement.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/query/DataStatisticsQuery.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TErpProcurementMapper.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/DataStatisticsController.java
@@ -1,14 +1,107 @@
package com.ruoyi.web.controller.api;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.model.TCrmSupplier;
import com.ruoyi.system.model.TErpProcurement;
import com.ruoyi.system.query.DataStatisticsQuery;
import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.system.service.TCrmSupplierService;
import com.ruoyi.system.service.TErpProcurementService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.time.LocalDate;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Api(tags = "数据统计")
@RestController
@RequestMapping("/t-crm-branch-area")
@RequestMapping("/data-statistics")
public class DataStatisticsController {
    private final TErpProcurementService erpProcurementService;
    private final TokenService tokenService;
    private final ISysUserService sysUserService;
    private final TCrmSupplierService crmSupplierService;
    @Autowired
    public DataStatisticsController(TErpProcurementService erpProcurementService, TokenService tokenService, ISysUserService sysUserService, TCrmSupplierService crmSupplierService) {
        this.erpProcurementService = erpProcurementService;
        this.tokenService = tokenService;
        this.sysUserService = sysUserService;
        this.crmSupplierService = crmSupplierService;
    }
    /**
     * 供应商采购统计
     */
    @ApiOperation(value = "供应商采购统计")
    @PostMapping(value = "/supplierProcurementStatistics")
    public R<Map<String, Object>> supplierProcurementStatistics(@Validated @RequestBody DataStatisticsQuery query) {
        Long userId = tokenService.getLoginUser().getUserId();
        String startTime = null;
        String endTime = null;
        switch (query.getTimeType()){
            case 1:
                startTime = LocalDate.now() + " 00:00:00";
                endTime = LocalDate.now() + " 23:59:59";
                break;
            case 2:
                startTime = LocalDate.now().minusDays(1) + " 00:00:00";
                endTime = LocalDate.now().minusDays(1) + " 23:59:59";
                break;
            case 3:
                startTime = LocalDate.now().minusDays(6) + " 00:00:00";
                endTime = LocalDate.now() + " 23:59:59";
                break;
            case 4:
                startTime = LocalDate.now().minusMonths(6) + " 00:00:00";
                endTime = LocalDate.now() + " 23:59:59";
                break;
            case 5:
                startTime = LocalDate.now().minusYears(1) + " 00:00:00";
                endTime = LocalDate.now() + " 23:59:59";
                break;
        }
        TCrmSupplier crmSupplier = crmSupplierService.getOne(Wrappers.lambdaQuery(TCrmSupplier.class)
                .eq(TCrmSupplier::getUserId, userId));
        Map<String, Object> map = new HashMap<>();
        List<TErpProcurement> orderTotal = erpProcurementService.list(Wrappers.lambdaQuery(TErpProcurement.class)
                .eq(TErpProcurement::getSupplierId, crmSupplier.getId())
                .in(TErpProcurement::getStatus, 3,4,5));
        map.put("orderTotal", orderTotal.size()); // 总数
        List<TErpProcurement> orderQuantity = erpProcurementService.list(Wrappers.lambdaQuery(TErpProcurement.class)
                .eq(TErpProcurement::getSupplierId, crmSupplier.getId())
                .between(TErpProcurement::getPayTime, startTime, endTime)
                .in(TErpProcurement::getStatus, 3,4,5));
        map.put("orderQuantity", orderQuantity.size()); // 订单数
        if(CollectionUtils.isEmpty(orderTotal)){
            map.put("orderMoney", 0); // 订单金额
            map.put("commissionMoney", 0); // 分佣金额
        }else {
//            orderQuantity.stream().
//            map.put("commissionMoney", );
//            map.put("orderMoney", );
        }
        return R.ok();
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSysOrderController.java
@@ -1,69 +1,32 @@
package com.ruoyi.web.controller.api;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.lkl.laop.sdk.exception.SDKException;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.ip.IpUtils;
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.dto.TSysOrderDto;
import com.ruoyi.system.model.*;
import com.ruoyi.system.query.TErpGoodsWarehouseQuery;
import com.ruoyi.system.model.TCrmClinic;
import com.ruoyi.system.model.TSysAppUser;
import com.ruoyi.system.model.TSysOrder;
import com.ruoyi.system.model.TSysOrderGoods;
import com.ruoyi.system.query.TSysAppUserQuery;
import com.ruoyi.system.query.TSysEducationalInfoQuery;
import com.ruoyi.system.query.TSysOrderQuery;
import com.ruoyi.system.service.*;
import com.ruoyi.system.service.TCrmClinicService;
import com.ruoyi.system.service.TSysAppUserService;
import com.ruoyi.system.service.TSysOrderGoodsService;
import com.ruoyi.system.service.TSysOrderService;
import com.ruoyi.system.vo.TSysOrderDetailVo;
import com.ruoyi.system.vo.TSysOrderPageVo;
import com.ruoyi.web.core.config.LakalaConfig;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.SneakyThrows;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.io.IOUtils;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.conn.ClientConnectionManager;
import org.apache.http.conn.scheme.Scheme;
import org.apache.http.conn.scheme.SchemeRegistry;
import org.apache.http.conn.ssl.SSLSocketFactory;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;
import java.io.*;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.nio.charset.StandardCharsets;
import java.security.*;
import java.security.cert.*;
import java.security.spec.InvalidKeySpecException;
import java.security.spec.PKCS8EncodedKeySpec;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.stream.Collectors;
/**
 * <p>
@@ -74,7 +37,7 @@
 * @since 2025-08-20
 */
@RestController
@RequestMapping("")
@RequestMapping("/sys-order")
@Api(tags = "订单管理")
public class TSysOrderController {
ruoyi-system/src/main/java/com/ruoyi/system/model/TErpProcurement.java
@@ -128,6 +128,10 @@
    @TableField("merchant_no")
    private String merchantNo;
    @ApiModelProperty(value = "供应商分佣金额")
    @TableField("supplier_money")
    private BigDecimal supplierMoney;
    /**
     * 新增执行
     */
ruoyi-system/src/main/java/com/ruoyi/system/query/DataStatisticsQuery.java
New file
@@ -0,0 +1,19 @@
package com.ruoyi.system.query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
@Data
@ApiModel(value = "数据统计查询参数DataStatisticsQuery")
public class DataStatisticsQuery implements Serializable {
    @NotNull(message = "时间类型不能为空")
    @ApiModelProperty(value = "时间类型 1=今日 2=昨天 3=最近七天 4=最近半年 5=最近一年")
    private Integer timeType;
}
ruoyi-system/src/main/resources/mapper/system/TErpProcurementMapper.xml
@@ -11,6 +11,7 @@
        <result column="pay_number" property="payNumber" />
        <result column="pay_transaction_id" property="payTransactionId" />
        <result column="status" property="status" />
        <result column="supplier_money" property="supplierMoney" />
        <result column="create_time" property="createTime" />
        <result column="update_time" property="updateTime" />
        <result column="create_by" property="createBy" />