浏览代码

下载订单列表

lyhzzz 2 年之前
父节点
当前提交
1ea47a2feb

+ 7 - 1
README.md

@@ -52,6 +52,12 @@
     http://120.25.146.52:3090/project/102/interface/api/9758
 2.新增权益添加参数
     http://120.25.146.52:3090/project/102/interface/api/5744
-3.权益订单列表
+3.权益订单列表添加返回
     http://120.25.146.52:3090/project/102/interface/api/5936
+4.权益详情添加返回
+    http://120.25.146.52:3090/project/102/interface/api/5738
+5.新增下载次数添加参数
+    http://120.25.146.52:3090/project/102/interface/api/5750
+6.下载订单列表添加返回
+    http://120.25.146.52:3090/project/102/interface/api/5942
 ~~~~

+ 6 - 0
pom.xml

@@ -162,6 +162,12 @@
       <version>3.0.0-SNAPSHOT</version>
     </dependency>
 
+    <dependency>
+      <groupId>com.fdkankan</groupId>
+      <artifactId>4dkankan-utils-reg</artifactId>
+      <version>3.0.0-SNAPSHOT</version>
+    </dependency>
+
   </dependencies>
 
   <build>

+ 0 - 21
src/main/java/com/fdkankan/manage/controller/IncrementOrderMgController.java

@@ -1,21 +0,0 @@
-package com.fdkankan.manage.controller;
-
-
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * <p>
- * 增值权益订单表 前端控制器
- * </p>
- *
- * @author 
- * @since 2023-07-06
- */
-@RestController
-@RequestMapping("/service/manage/incrementOrderMg")
-public class IncrementOrderMgController {
-
-}
-

+ 1 - 1
src/main/java/com/fdkankan/manage/controller/UserController.java

@@ -94,7 +94,7 @@ public class UserController {
      */
     @PostMapping("/addDownNum")
     public ResultData addDownNum(@RequestBody UserIncrementParam param){
-        if(param.getUserId() == null || param.getCount() == null){
+        if(param.getUserId() == null || param.getCount() == null || param.getDownType() == null){
             throw  new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
         }
         userService.addDownNum(param);

+ 166 - 0
src/main/java/com/fdkankan/manage/entity/DownloadOrderMg.java

@@ -0,0 +1,166 @@
+package com.fdkankan.manage.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 下载次数订单表
+ * </p>
+ *
+ * @author 
+ * @since 2023-07-07
+ */
+@Getter
+@Setter
+@TableName("t_download_order_mg")
+public class DownloadOrderMg implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 订单号
+     */
+    @TableField("order_sn")
+    private String orderSn;
+
+    /**
+     * 金额
+     */
+    @TableField("amount")
+    private BigDecimal amount;
+
+    /**
+     * 支付宝的交易号或者微信支付订单号
+     */
+    @TableField("number")
+    private String number;
+
+    /**
+     * 付款方式,0表示微信,1表示支付宝,2表示paypal,3表示其他
+     */
+    @TableField("pay_type")
+    private Integer payType;
+
+    /**
+     * 状态,0或-1表示未付款,-2表示已退款,1表示已付款
+     */
+    @TableField("pay_status")
+    private Integer payStatus;
+
+    /**
+     * 状态,1增加下载次数
+     */
+    @TableField("status")
+    private Integer status;
+
+    /**
+     * 交易时间
+     */
+    @TableField("trade_time")
+    private Date tradeTime;
+
+    /**
+     * 用户表t_user的id
+     */
+    @TableField("user_id")
+    private Long userId;
+
+    /**
+     * 购买数量
+     */
+    @TableField("count")
+    private Integer count;
+
+    /**
+     * 0表示国内订单,1表示国外订单
+     */
+    @TableField("abroad")
+    private Integer abroad;
+
+    /**
+     * 创建时间
+     */
+    @TableField("create_time")
+    private Date createTime;
+
+    /**
+     * 记录的状态,A: 生效,I: 禁用
+     */
+    @TableField("rec_status")
+    @TableLogic(value = "A",delval = "I")
+    private String recStatus;
+
+    /**
+     * 更新时间
+     */
+    @TableField("update_time")
+    private Date updateTime;
+
+    /**
+     * 场景码
+     */
+    @TableField("scene_num")
+    private String sceneNum;
+
+    /**
+     * 场景名
+     */
+    @TableField("scene_name")
+    private String sceneName;
+
+    /**
+     * 时区差,单位分钟
+     */
+    @TableField("time_zone_off")
+    private Integer timeZoneOff;
+
+    /**
+     * 客户名称
+     */
+    @TableField("customer_name")
+    private String customerName;
+
+    /**
+     * 客户类别0直销,1经销
+     */
+    @TableField("customer_type")
+    private Integer customerType;
+
+    /**
+     * 终端客户
+     */
+    @TableField("end_customer")
+    private String endCustomer;
+
+    /**
+     * 使用类型
+     */
+    @TableField("use_type")
+    private Integer useType;
+
+    /**
+     * 项目号
+     */
+    @TableField("project_num")
+    private String projectNum;
+
+    /**
+     * 备注
+     */
+    @TableField("remark")
+    private String remark;
+
+
+}

+ 1 - 1
src/main/java/com/fdkankan/manage/generate/AutoGenerate.java

@@ -18,7 +18,7 @@ public class AutoGenerate {
         String path =System.getProperty("user.dir");
 
         generate(path,"manage", getTables(new String[]{
-                "t_increment_use_type",
+                "t_download_order_mg",
         }));
 
 //        generate(path,"goods", getTables(new String[]{

+ 18 - 0
src/main/java/com/fdkankan/manage/mapper/IDownloadOrderMgMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.manage.mapper;
+
+import com.fdkankan.manage.entity.DownloadOrderMg;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * 下载次数订单表 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2023-07-07
+ */
+@Mapper
+public interface IDownloadOrderMgMapper extends BaseMapper<DownloadOrderMg> {
+
+}

+ 18 - 0
src/main/java/com/fdkankan/manage/service/IDownloadOrderMgService.java

@@ -0,0 +1,18 @@
+package com.fdkankan.manage.service;
+
+import com.fdkankan.manage.entity.DownloadOrderMg;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.manage.vo.request.UserIncrementParam;
+
+/**
+ * <p>
+ * 下载次数订单表 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2023-07-07
+ */
+public interface IDownloadOrderMgService extends IService<DownloadOrderMg> {
+
+    void addOrder(UserIncrementParam param);
+}

+ 2 - 0
src/main/java/com/fdkankan/manage/service/IIncrementOrderMgService.java

@@ -16,4 +16,6 @@ import com.fdkankan.manage.vo.request.UserIncrementParam;
 public interface IIncrementOrderMgService extends IService<IncrementOrderMg> {
 
     void addOrder(UserIncrementParam param, IncrementType incrementType);
+
+    IncrementOrderMg getByOrderSn(String orderSn);
 }

+ 34 - 0
src/main/java/com/fdkankan/manage/service/impl/DownloadOrderMgServiceImpl.java

@@ -0,0 +1,34 @@
+package com.fdkankan.manage.service.impl;
+import java.math.BigDecimal;
+import java.util.Date;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.fdkankan.manage.entity.DownloadOrder;
+import com.fdkankan.manage.entity.DownloadOrderMg;
+import com.fdkankan.manage.mapper.IDownloadOrderMgMapper;
+import com.fdkankan.manage.service.IDownloadOrderMgService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.manage.util.Dateutils;
+import com.fdkankan.manage.vo.request.UserIncrementParam;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 下载次数订单表 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2023-07-07
+ */
+@Service
+public class DownloadOrderMgServiceImpl extends ServiceImpl<IDownloadOrderMgMapper, DownloadOrderMg> implements IDownloadOrderMgService {
+
+    @Override
+    public void addOrder(UserIncrementParam param) {
+        DownloadOrderMg downloadOrder = new DownloadOrderMg();
+        BeanUtil.copyProperties(param,downloadOrder);
+        downloadOrder.setOrderSn(Dateutils.getOrderSn());
+        downloadOrder.setPayStatus(1);
+        this.save(downloadOrder);
+    }
+}

+ 10 - 12
src/main/java/com/fdkankan/manage/service/impl/IncrementOrderMgServiceImpl.java

@@ -2,6 +2,8 @@ package com.fdkankan.manage.service.impl;
 import java.math.BigDecimal;
 import java.util.Date;
 
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.fdkankan.manage.entity.IncrementOrderMg;
 import com.fdkankan.manage.entity.IncrementType;
 import com.fdkankan.manage.mapper.IIncrementOrderMgMapper;
@@ -25,26 +27,22 @@ public class IncrementOrderMgServiceImpl extends ServiceImpl<IIncrementOrderMgMa
     @Override
     public void addOrder(UserIncrementParam param, IncrementType incrementType) {
         IncrementOrderMg incrementOrderMg = new IncrementOrderMg();
+        BeanUtil.copyProperties(param,incrementOrderMg);
         incrementOrderMg.setOrderSn(Dateutils.getOrderSn());
-        incrementOrderMg.setUserId(param.getUserId());
-        incrementOrderMg.setCount(param.getCount());
         incrementOrderMg.setPayStatus(1);
-        incrementOrderMg.setAbroad(0);
-        incrementOrderMg.setIncrementType(param.getIncrementTypeId());
         if(incrementType.getValidTimeType() == 0){
             incrementOrderMg.setMemberLevels("PR");
         }
         if(incrementType.getValidTimeType() == 1){
             incrementOrderMg.setMemberLevels("SE");
         }
-        incrementOrderMg.setMonthQy(param.getMonthQy());
-        incrementOrderMg.setTimeZoneOff(0);
-        incrementOrderMg.setCustomerName(param.getCustomerName());
-        incrementOrderMg.setCustomerType(param.getCustomerType());
-        incrementOrderMg.setEndCustomer(param.getEndCustomer());
-        incrementOrderMg.setUseType(param.getUseType());
-        incrementOrderMg.setProjectNum(param.getProjectNum());
-        incrementOrderMg.setRemark(param.getRemark());
         this.save(incrementOrderMg);
     }
+
+    @Override
+    public IncrementOrderMg getByOrderSn(String orderSn) {
+        LambdaQueryWrapper<IncrementOrderMg> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(IncrementOrderMg::getOrderSn,orderSn);
+        return this.getOne(wrapper);
+    }
 }

+ 10 - 0
src/main/java/com/fdkankan/manage/service/impl/UserIncrementServiceImpl.java

@@ -19,6 +19,7 @@ import com.fdkankan.manage.vo.response.UserIncrementVo;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
 
 import java.util.*;
 import java.util.stream.Collectors;
@@ -101,6 +102,15 @@ public class UserIncrementServiceImpl extends ServiceImpl<IUserIncrementMapper,
                 IncrementType incrementType = incrementTypeService.getById(record.getIncrementTypeId());
                 vo.setValidTimeType(incrementType.getValidTimeType());
             }
+            if(!StringUtils.isEmpty(record.getOrderSn()) && !record.getOrderSn().contains("O")){
+                IncrementOrderMg incrementOrderMg = iIncrementOrderMgService.getByOrderSn(record.getOrderSn());
+                if(incrementOrderMg != null){
+                    vo.setUseType(incrementOrderMg.getUseType());
+                    vo.setProjectNum(incrementOrderMg.getProjectNum());
+                    vo.setRemark(incrementOrderMg.getRemark());
+                }
+
+            }
             voList.add(vo);
         }
         Page<UserIncrementVo> voPage = new Page<>(pageNum, pageSize);

+ 16 - 3
src/main/java/com/fdkankan/manage/service/impl/UserServiceImpl.java

@@ -60,6 +60,9 @@ public class UserServiceImpl extends ServiceImpl<IUserMapper, User> implements I
     private ISysUserService sysUserService;
     @Value("${fyun.host:https://4dkk.4dage.com/}")
     private String host;
+    @Autowired
+    private IDownloadOrderMgService downloadOrderMgService;
+
 
     @Override
     public PageInfo pageList(UserParam param) {
@@ -86,11 +89,21 @@ public class UserServiceImpl extends ServiceImpl<IUserMapper, User> implements I
         if(user == null){
             throw new BusinessException(ResultCode.USER_NOT_EXIST);
         }
-        Integer totalNum = user.getDownloadNumTotal() == null ? 0 : user.getDownloadNumTotal() + param.getCount();
-        user.setDownloadNumTotal(totalNum);
-        this.updateById(user);
+
+        downloadOrderMgService.addOrder(param);
+
+        LambdaUpdateWrapper<User> wrapper = new LambdaUpdateWrapper<>();
+        wrapper.eq(User::getId,user.getId());
+        if(param.getDownType() == 0){
+            wrapper.setSql("download_num_total = download_num_total + " + param.getCount());
+        }
+        if(param.getDownType() == 1){
+            wrapper.setSql("ss_download_num_total = ss_download_num_total + " + param.getCount());
+        }
+        this.update(wrapper);
     }
 
+
     @Override
     public List<UserVo>  userDetail(Integer userId) {
         User user = this.getById(userId);

+ 5 - 0
src/main/java/com/fdkankan/manage/vo/request/UserIncrementParam.java

@@ -15,6 +15,11 @@ public class UserIncrementParam {
     private Integer monthQy;
 
     /**
+     * 0看看,看见,1深时
+     */
+    private Integer downType;
+
+    /**
      * 客户名称
      */
     private String customerName;

+ 70 - 0
src/main/java/com/fdkankan/manage/vo/response/DownOrderVo.java

@@ -39,12 +39,53 @@ public class DownOrderVo {
     @ExcelProperty("交易号")
     private String number;                //交易号
 
+    @ExcelProperty("数量")
+    private BigDecimal count;             //数量
+
     @ExcelProperty("付款状态")
     private String payStatus;           //付款状态(状态,0或-1表示未付款,-2表示已退款,1表示已付款
 
+    @ExcelIgnore
     private Integer timeZoneOff;
 
+    @ExcelProperty("客户名称")
+    private String customerName;
+
+    /**
+     * 客户类别0直销,1经销
+     */
+    @ExcelIgnore
+    private Integer customerType;
+
+    @ExcelProperty("客户类别")
+    private String customerTypeStr;
+
+    @ExcelProperty("终端客户")
+    private String endCustomer;
+
+    @ExcelIgnore
+    private Integer useType;
+
+    @ExcelProperty("使用类型")
+    private String useTypeStr;
+
+    @ExcelProperty("经销商名称")
+    private String agentName;
+
+    @ExcelProperty("项目号")
+    private String projectNum;
+
+    @ExcelProperty("冲值方式")
+    private String payMethod;
+
+    @ExcelProperty("备注")
+    private String remark;
+
+
     public String getPayType() {
+        if(payType == null){
+            return "";
+        }
         switch (payType){
             case "0" : return "微信";
             case "1" : return "支付宝";
@@ -57,6 +98,9 @@ public class DownOrderVo {
 
 
     public String getPayStatus() {
+        if(payStatus == null){
+            return "";
+        }
         switch (payStatus){
             case "-1" :
             case "0" :
@@ -66,4 +110,30 @@ public class DownOrderVo {
             default: return "";
         }
     }
+
+    public String getCustomerTypeStr() {
+        if(customerType == null){
+            return "";
+        }
+        switch (customerType){
+            case 0 : return "直销";
+            case 1 : return "经销";
+            default: return "";
+        }
+    }
+
+    public String getUseTypeStr() {
+        if(useType == null){
+            return "";
+        }
+        switch (useType){
+            case 1 : return "项目实施";
+            case 2 : return "客户试用";
+            case 3 : return "内部测试";
+            case 4 : return "正常销售";
+            case 5 : return "渠道推广";
+            case 6 : return "其它";
+            default: return "";
+        }
+    }
 }

+ 23 - 0
src/main/java/com/fdkankan/manage/vo/response/UserIncrementVo.java

@@ -15,4 +15,27 @@ public class UserIncrementVo {
     private Integer monthQy;
 
     private Integer validTimeType;      // 0年,1月,2日
+
+    private String projectNum;
+
+    private Integer useType;
+
+    private String useTypeStr;
+
+    private String remark;
+
+    public String getUseTypeStr() {
+        if(useType == null){
+            return "";
+        }
+        switch (useType){
+            case 1 : return "项目实施";
+            case 2 : return "客户试用";
+            case 3 : return "内部测试";
+            case 4 : return "正常销售";
+            case 5 : return "渠道推广";
+            case 6 : return "其它";
+            default: return "";
+        }
+    }
 }

+ 15 - 3
src/main/resources/mapper/manage/DownloadOrderMapper.xml

@@ -3,8 +3,21 @@
 <mapper namespace="com.fdkankan.manage.mapper.IDownloadOrderMapper">
 
     <select id="pageList" resultType="com.fdkankan.manage.vo.response.DownOrderVo">
-        select o.* ,u.user_name  from  t_download_order o
+        select o.* ,u.user_name  ,
+               null as customer_name,null as customer_type,null as end_customer,null as use_type ,null as project_num ,null as remark,
+              '线上' as payMethod
+        from  t_download_order o
         left join t_user u on o.user_id = u.id
+        <include refid="commonWhere"></include>
+        union all
+        SELECT o.*,u.user_name ,'线下'as payMethod from t_download_order_mg o
+        left join t_user u on o.user_id = u.id
+        <include refid="commonWhere"></include>
+
+        order by create_time desc
+    </select>
+
+    <sql id="commonWhere">
         WHERE o.rec_status = 'A' and o.pay_status ='1'
         <if test="param.orderSn !=null and param.orderSn !='' ">
             and o.order_sn like concat ('%',#{param.orderSn},'%')
@@ -21,6 +34,5 @@
         <if test="param.endTime != null and param.endTime !='' ">
             and o.trade_time &lt;= #{param.endTime}
         </if>
-        order by o.create_time desc
-    </select>
+    </sql>
 </mapper>

+ 5 - 0
src/main/resources/mapper/manage/DownloadOrderMgMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fdkankan.manage.mapper.IDownloadOrderMgMapper">
+
+</mapper>

+ 1 - 2
src/main/resources/mapper/manage/IncrementOrderMapper.xml

@@ -8,18 +8,17 @@
                '线上' as payMethod
         from  t_increment_order o
         left join t_user u on o.user_id = u.id
-        WHERE o.rec_status = 'A' and o.pay_status = '1'
         <include refid="commonWhere"></include>
         union all
         SELECT o.*,u.user_name,u.nick_name ,'线下'as payMethod from t_increment_order_mg o
         left join t_user u on o.user_id = u.id
-        WHERE o.rec_status = 'A' and o.pay_status = '1'
         <include refid="commonWhere"></include>
 
         order by create_time desc
     </select>
 
     <sql id="commonWhere">
+        WHERE o.rec_status = 'A' and o.pay_status = '1'
         <if test="param.orderSn !=null and param.orderSn !='' ">
             and o.order_sn like concat ('%',#{param.orderSn},'%')
         </if>