Browse Source

售出订单

lyhzzz 2 years ago
parent
commit
46beaf29c9

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

@@ -0,0 +1,166 @@
+package com.fdkankan.agent.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-11
+ */
+@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;
+
+
+}

+ 172 - 0
src/main/java/com/fdkankan/agent/entity/IncrementOrderMg.java

@@ -0,0 +1,172 @@
+package com.fdkankan.agent.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-11
+ */
+@Getter
+@Setter
+@TableName("t_increment_order_mg")
+public class IncrementOrderMg 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表示新增值权益,2表示续费增值权益  3表示增值权益1月
+     */
+    @TableField("status")
+    private Integer status;
+
+    /**
+     * 交易时间
+     */
+    @TableField("trade_time")
+    private Date tradeTime;
+
+    /**
+     * 用户表t_user的id
+     */
+    @TableField("user_id")
+    private Long userId;
+
+    /**
+     * 增值权益表t_user_increment的id,status为2时才有
+     */
+    @TableField("increment_id")
+    private Integer incrementId;
+
+    /**
+     * 购买数量
+     */
+    @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("increment_type")
+    private Integer incrementType;
+
+    /**
+     * 权益级别  PR 年会员  SE 月会员
+     */
+    @TableField("member_levels")
+    private String memberLevels;
+
+    @TableField("month_qy")
+    private Integer monthQy;
+
+    /**
+     * 时区差,单位分钟
+     */
+    @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/agent/generate/AutoGenerate.java

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

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

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

+ 18 - 0
src/main/java/com/fdkankan/agent/mapper/IIncrementOrderMgMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.agent.mapper;
+
+import com.fdkankan.agent.entity.IncrementOrderMg;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * 增值权益订单表 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2023-07-11
+ */
+@Mapper
+public interface IIncrementOrderMgMapper extends BaseMapper<IncrementOrderMg> {
+
+}

+ 1 - 0
src/main/java/com/fdkankan/agent/request/IncrementParam.java

@@ -13,5 +13,6 @@ public class IncrementParam extends RequestBase {
     private Integer count;
     private Integer totalTime;
     private String incrementEndTime;
+    private String memberLevels;
 
 }

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

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

+ 19 - 0
src/main/java/com/fdkankan/agent/service/IIncrementOrderMgService.java

@@ -0,0 +1,19 @@
+package com.fdkankan.agent.service;
+
+import com.fdkankan.agent.entity.IncrementOrderMg;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.agent.entity.User;
+import com.fdkankan.agent.request.IncrementParam;
+
+/**
+ * <p>
+ * 增值权益订单表 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2023-07-11
+ */
+public interface IIncrementOrderMgService extends IService<IncrementOrderMg> {
+
+    void addOrder(User user, IncrementParam param);
+}

+ 9 - 6
src/main/java/com/fdkankan/agent/service/impl/AgentNewLogServiceImpl.java

@@ -3,6 +3,7 @@ package com.fdkankan.agent.service.impl;
 import com.alibaba.excel.EasyExcel;
 import com.alibaba.excel.ExcelWriter;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.agent.common.PageInfo;
 import com.fdkankan.agent.common.ResultCode;
@@ -14,11 +15,8 @@ import com.fdkankan.agent.request.DownParam;
 import com.fdkankan.agent.request.IncrementParam;
 import com.fdkankan.agent.request.LogListParam;
 import com.fdkankan.agent.response.*;
-import com.fdkankan.agent.service.IAgentNewLogService;
+import com.fdkankan.agent.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.fdkankan.agent.service.IAgentNewService;
-import com.fdkankan.agent.service.IExcelService;
-import com.fdkankan.agent.service.IUserService;
 import com.fdkankan.common.util.DateUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
@@ -50,6 +48,8 @@ public class AgentNewLogServiceImpl extends ServiceImpl<IAgentNewLogMapper, Agen
     IAgentNewService  agentNewService;
     @Autowired
     IExcelService excelService;
+    @Autowired
+    IDownloadOrderMgService downloadOrderMgService;
 
     @Override
     public Object downLogList(DownParam param) {
@@ -71,9 +71,12 @@ public class AgentNewLogServiceImpl extends ServiceImpl<IAgentNewLogMapper, Agen
         if(agent.getDownSubNum() <=0 ){
             throw new BusinessException(ResultCode.DOWN_NUM_EMPTY);
         }
+        LambdaUpdateWrapper<User> wrapper = new LambdaUpdateWrapper<>();
+        wrapper.eq(User::getId,user.getId());
+        wrapper.setSql("download_num_total = download_num_total + " + param.getCount());
 
-        user.setDownloadNumTotal(user.getDownloadNumTotal() + param.getCount() );
-        userService.updateById(user);
+        downloadOrderMgService.addOrder(user,param.getCount());
+        userService.update(wrapper);
         agentNewService.subNum(agent,user.getId(),null,param.getCount(),param.getTotalTime(),0);
     }
 

+ 37 - 0
src/main/java/com/fdkankan/agent/service/impl/DownloadOrderMgServiceImpl.java

@@ -0,0 +1,37 @@
+package com.fdkankan.agent.service.impl;
+import java.math.BigDecimal;
+import java.util.Date;
+
+import com.fdkankan.agent.entity.DownloadOrderMg;
+import com.fdkankan.agent.entity.User;
+import com.fdkankan.agent.mapper.IDownloadOrderMgMapper;
+import com.fdkankan.agent.service.IDownloadOrderMgService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.agent.util.Dateutils;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 下载次数订单表 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2023-07-11
+ */
+@Service
+public class DownloadOrderMgServiceImpl extends ServiceImpl<IDownloadOrderMgMapper, DownloadOrderMg> implements IDownloadOrderMgService {
+
+    @Override
+    public void addOrder(User user, Integer count) {
+        DownloadOrderMg orderMg = new DownloadOrderMg();
+        orderMg.setOrderSn(Dateutils.getOrderSn());
+        orderMg.setPayStatus(1);
+        orderMg.setUserId(user.getId());
+        orderMg.setCount(count);
+        orderMg.setCustomerName(user.getNickName());
+        orderMg.setCustomerType(1);
+        orderMg.setUseType(4);
+        orderMg.setRemark("经销商平台售出");
+        this.save(orderMg);
+    }
+}

+ 41 - 0
src/main/java/com/fdkankan/agent/service/impl/IncrementOrderMgServiceImpl.java

@@ -0,0 +1,41 @@
+package com.fdkankan.agent.service.impl;
+import java.math.BigDecimal;
+import java.util.Date;
+
+import com.fdkankan.agent.entity.IncrementOrderMg;
+import com.fdkankan.agent.entity.User;
+import com.fdkankan.agent.mapper.IIncrementOrderMgMapper;
+import com.fdkankan.agent.request.IncrementParam;
+import com.fdkankan.agent.service.IIncrementOrderMgService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.agent.util.Dateutils;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 增值权益订单表 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2023-07-11
+ */
+@Service
+public class IncrementOrderMgServiceImpl extends ServiceImpl<IIncrementOrderMgMapper, IncrementOrderMg> implements IIncrementOrderMgService {
+    @Override
+    public void addOrder(User user, IncrementParam param) {
+        IncrementOrderMg orderMg = new IncrementOrderMg();
+        orderMg.setOrderSn(Dateutils.getOrderSn());
+        orderMg.setPayStatus(1);
+        orderMg.setUserId(user.getId());
+        orderMg.setIncrementId(param.getId());
+        orderMg.setCount(param.getCount());
+        orderMg.setIncrementType(param.getIncrementTypeId());
+        orderMg.setMemberLevels(param.getMemberLevels());
+        orderMg.setMonthQy(1);
+        orderMg.setCustomerName(user.getNickName());
+        orderMg.setCustomerType(1);
+        orderMg.setUseType(4);
+        orderMg.setRemark("经销商售出");
+        this.save(orderMg);
+    }
+}

+ 33 - 15
src/main/java/com/fdkankan/agent/service/impl/UserIncrementServiceImpl.java

@@ -1,6 +1,7 @@
 package com.fdkankan.agent.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.agent.common.PageInfo;
 import com.fdkankan.agent.common.ResultCode;
@@ -13,11 +14,8 @@ import com.fdkankan.agent.mapper.IUserIncrementMapper;
 import com.fdkankan.agent.request.IncrementParam;
 import com.fdkankan.agent.response.AgentNewVo;
 import com.fdkankan.agent.response.UserIncrementVo;
-import com.fdkankan.agent.service.IAgentNewService;
-import com.fdkankan.agent.service.IIncrementTypeService;
-import com.fdkankan.agent.service.IUserIncrementService;
+import com.fdkankan.agent.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.fdkankan.agent.service.IUserService;
 import com.fdkankan.common.util.DateUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -46,6 +44,8 @@ public class UserIncrementServiceImpl extends ServiceImpl<IUserIncrementMapper,
     IIncrementTypeService incrementTypeService;
     @Autowired
     IAgentNewService agentNewService;
+    @Autowired
+    IIncrementOrderMgService incrementOrderMgService;
 
 
     @Override
@@ -95,6 +95,13 @@ public class UserIncrementServiceImpl extends ServiceImpl<IUserIncrementMapper,
         if(user == null){
             throw new BusinessException(ResultCode.USER_NOT_EXIST);
         }
+        if(incrementType.getValidTimeType() == 0){
+            param.setMemberLevels("PR");
+        }
+        if(incrementType.getValidTimeType() == 1){
+            param.setMemberLevels("SE");
+        }
+        incrementOrderMgService.addOrder(user,param);
 
         List<UserIncrement> userIncrementList = new ArrayList<>();
         for (int i = 0 ; i<param.getCount() ;i++) {
@@ -109,20 +116,18 @@ public class UserIncrementServiceImpl extends ServiceImpl<IUserIncrementMapper,
             userIncrement.setIncrementEndTime(param.getIncrementEndTime());
             userIncrement.setIncrementTypeId(param.getIncrementTypeId());
             userIncrement.setAgentId(agentNewVo.getId());
-            if(incrementType.getValidTimeType() == 0){
-                userIncrement.setMemberLevels("PR");
-            }
-            if(incrementType.getValidTimeType() == 1){
-                userIncrement.setMemberLevels("SE");
-            }
+            userIncrement.setMemberLevels(param.getMemberLevels());
             userIncrement.setMonthQy(1);
             userIncrementList.add(userIncrement);
         }
 
         if(userIncrementList.size() >0){
             this.saveBatch(userIncrementList);
-            user.setDownloadNumTotal(user.getDownloadNumTotal() + param.getCount() *param.getTotalTime() *  incrementType.getDownloadNum());
-            userService.updateById(user);
+            LambdaUpdateWrapper<User> wrapper = new LambdaUpdateWrapper<>();
+            wrapper.eq(User::getId,user.getId());
+            wrapper.setSql("download_num_total = download_num_total + " + param.getCount() *param.getTotalTime() *  incrementType.getDownloadNum());
+
+            userService.update(wrapper);
             agentNewService.subNum(agentNewVo,user.getId(),incrementType,param.getCount(),param.getTotalTime(),0);
 
         }
@@ -138,6 +143,10 @@ public class UserIncrementServiceImpl extends ServiceImpl<IUserIncrementMapper,
         if(userIncrement == null){
             throw new BusinessException(ResultCode.INCREMENT_EMPTY);
         }
+        User user = userService.getById(userIncrement.getUserId());
+        if(user == null){
+            throw new BusinessException(ResultCode.USER_NOT_EXIST);
+        }
         IncrementType incrementType = incrementTypeService.getById(userIncrement.getIncrementTypeId());
         if(incrementType == null){
             throw new BusinessException(ResultCode.INCREMENT_TYPE_EMPTY);
@@ -152,15 +161,24 @@ public class UserIncrementServiceImpl extends ServiceImpl<IUserIncrementMapper,
                 throw new BusinessException(ResultCode.INCREMENT_NUM_EMPTY);
             }
         }
+        if(incrementType.getValidTimeType() == 0){
+            param.setMemberLevels("PR");
+        }
+        if(incrementType.getValidTimeType() == 1){
+            param.setMemberLevels("SE");
+        }
+        incrementOrderMgService.addOrder(user,param);
+
         userIncrement.setIsExpired(0);
         userIncrement.setIncrementEndTime(param.getIncrementEndTime());
         userIncrement.setUpdateTime(null);
         this.updateById(userIncrement);
 
-        User user = userService.getById(userIncrement.getUserId());
+        LambdaUpdateWrapper<User> wrapper = new LambdaUpdateWrapper<>();
+        wrapper.eq(User::getId,user.getId());
+        wrapper.setSql("download_num_total = download_num_total + " + incrementType.getDownloadNum());
 
-        user.setDownloadNumTotal(user.getDownloadNumTotal() +  incrementType.getDownloadNum());
-        userService.updateById(user);
+        userService.update(wrapper);
         agentNewService.subNum(agentNewVo,user.getId(),incrementType,1,param.getTotalTime(),1);
 
     }

+ 11 - 0
src/main/java/com/fdkankan/agent/util/Dateutils.java

@@ -13,6 +13,7 @@ public class Dateutils {
     public static int  DAY =  Calendar.DAY_OF_MONTH;
     public static int  WEEK =  Calendar.WEEK_OF_MONTH;
     public static int  MONTH =  Calendar.MONTH;
+    public static String orderSn = "yyyyMMddHHmmssSSS";
 
     /**
      * 获取指定时间区间的所有数据(包含日期和月份)
@@ -154,4 +155,14 @@ public class Dateutils {
         return endTime +" 23:59:59";
     }
 
+    public synchronized static String getOrderSn() {
+        try {
+            Thread.sleep(1L);
+        }catch (Exception e){
+
+        }
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(orderSn);
+        Date date = new Date();
+        return simpleDateFormat.format(date);
+    }
 }

+ 5 - 0
src/main/resources/mapper/agent/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.agent.mapper.IDownloadOrderMgMapper">
+
+</mapper>

+ 5 - 0
src/main/resources/mapper/agent/IncrementOrderMgMapper.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.agent.mapper.IIncrementOrderMgMapper">
+
+</mapper>