Sfoglia il codice sorgente

Merge remote-tracking branch 'origin/master'

Valley 1 anno fa
parent
commit
e73cd02f40

+ 36 - 0
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/dto/MerchantBalanceDetailDTO.java

@@ -0,0 +1,36 @@
+package com.chelvc.cloud.vehicle.api.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+public class MerchantBalanceDetailDTO implements Serializable {
+
+    private static final long serialVersionUID = 4117711721816177519L;
+
+    private Long id;
+    /**
+     * 商家id
+     */
+    private Long userId;
+    /**
+     * 流水类型:0-收入;1-支出
+     */
+    private Integer type;
+    /**
+     * 操作类型:1-订单收益;2-提现
+     */
+    private Integer operateType;
+    /**
+     * 操作金额
+     */
+    private BigDecimal operateAmount;
+    /**
+     * 剩余金额
+     */
+    private BigDecimal surplusAmount;
+    private Date createTime;
+}

+ 31 - 0
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/param/QueryMerchantBalanceParam.java

@@ -0,0 +1,31 @@
+package com.chelvc.cloud.vehicle.api.param;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+@Data
+public class QueryMerchantBalanceParam implements Serializable {
+    private static final long serialVersionUID = 2535007246313969081L;
+
+    /**
+     * 开始时间
+     */
+    private Date startTime;
+
+    /**
+     * 结束时间
+     */
+    private Date endTime;
+
+    /**
+     * 流水类型:0-收入;1-支出
+     */
+    private Integer type;
+
+    /**
+     * 操作类型:1-订单收益;2-提现
+     */
+    private Integer operateType;
+}

+ 14 - 0
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/service/IOmsOrderService.java

@@ -82,4 +82,18 @@ public interface IOmsOrderService
      * 用户根据订单ID删除订单
      */
     void deleteOrder(Long orderId);
+
+    /**
+     * 获取订单量及收入
+     * @return
+     */
+    Map<String,Object> getOrderQuantity();
+
+    /**
+     * 商家端分页查询订单
+     *
+     * @param param 查询参数
+     * @return 订单分页信息
+     */
+    Pagination<OmsOrderDTO> getMerchantOrderPaging(OrderPagingParam param);
 }

+ 11 - 0
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/service/MerchantBalanceDetailService.java

@@ -0,0 +1,11 @@
+package com.chelvc.cloud.vehicle.api.service;
+
+import com.chelvc.cloud.vehicle.api.dto.MerchantBalanceDetailDTO;
+import com.chelvc.cloud.vehicle.api.param.QueryMerchantBalanceParam;
+import com.chelvc.framework.common.model.Pagination;
+
+public interface MerchantBalanceDetailService {
+
+    Pagination<MerchantBalanceDetailDTO> queryByUserId(QueryMerchantBalanceParam param, Integer pageNum,
+                                                       Integer pageSize, Long userId);
+}

+ 19 - 0
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/dao/MerchantBalanceDetailMapper.java

@@ -0,0 +1,19 @@
+package com.chelvc.cloud.vehicle.server.dao;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.chelvc.cloud.vehicle.api.dto.MerchantBalanceDetailDTO;
+import com.chelvc.cloud.vehicle.server.entity.MerchantBalanceDetail;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+@Mapper
+@Repository
+public interface MerchantBalanceDetailMapper extends BaseMapper<MerchantBalanceDetail> {
+
+    IPage<MerchantBalanceDetailDTO> queryByUserId(@Param("page") Page<MerchantBalanceDetailDTO> page, @Param(Constants.WRAPPER) QueryWrapper<MerchantBalanceDetail> queryWrapper);
+}

+ 7 - 0
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/dao/OmsOrderMapper.java

@@ -11,6 +11,7 @@ import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * 订单Mapper接口
@@ -109,4 +110,10 @@ public interface OmsOrderMapper extends BaseMapper<OmsOrder>
      * 解除取消订单的库存锁定
      */
     int releaseSkuStockLock(@Param("itemList") List<OmsOrderItem> orderItemList);
+
+    /**
+     * 获取今日订单量及收入
+     * @return
+     */
+    Map<String,Object> getOrderQuantity();
 }

+ 29 - 0
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/MerchantBalanceDetail.java

@@ -0,0 +1,29 @@
+package com.chelvc.cloud.vehicle.server.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.chelvc.framework.database.entity.Entity;
+import lombok.*;
+import lombok.experimental.SuperBuilder;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@SuperBuilder
+@NoArgsConstructor
+@AllArgsConstructor
+@ToString(callSuper = true)
+@TableName(autoResultMap = true)
+public class MerchantBalanceDetail implements Entity<Long> {
+    private static final long serialVersionUID = -4673150288436488029L;
+    @TableId(type = IdType.ASSIGN_ID)
+    private Long id;
+    private Long userId;
+    private Integer type;
+    private Integer operateType;
+    private BigDecimal operateAmount;
+    private BigDecimal surplusAmount;
+    private Date createTime;
+}

+ 58 - 0
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/MerchantBalanceDetailServiceImpl.java

@@ -0,0 +1,58 @@
+package com.chelvc.cloud.vehicle.server.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.chelvc.cloud.vehicle.api.dto.MerchantBalanceDetailDTO;
+import com.chelvc.cloud.vehicle.api.param.QueryMerchantBalanceParam;
+import com.chelvc.cloud.vehicle.api.service.MerchantBalanceDetailService;
+import com.chelvc.cloud.vehicle.server.dao.MerchantBalanceDetailMapper;
+import com.chelvc.cloud.vehicle.server.entity.MerchantBalanceDetail;
+import com.chelvc.framework.common.model.Pagination;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.dubbo.config.annotation.DubboService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Slf4j
+@Service
+@RequiredArgsConstructor(onConstructor = @__(@Autowired))
+@DubboService(interfaceClass = com.chelvc.cloud.vehicle.api.service.MerchantBalanceDetailService.class)
+public class MerchantBalanceDetailServiceImpl implements MerchantBalanceDetailService {
+
+    private final MerchantBalanceDetailMapper merchantBalanceDetailMapper;
+
+    @Override
+    public Pagination<MerchantBalanceDetailDTO> queryByUserId(QueryMerchantBalanceParam param,
+                                                              Integer pageNum, Integer pageSize, Long userId) {
+        if(param == null || userId == null){
+            return null;
+        }
+        Page<MerchantBalanceDetailDTO> page = new Page<>(pageNum, pageSize);
+        IPage<MerchantBalanceDetailDTO> result = merchantBalanceDetailMapper
+                .queryByUserId(page, queryWrapper(param, userId));
+        return Pagination.<MerchantBalanceDetailDTO>builder().total(result.getTotal()).pages(result.getPages())
+                .records(result.getRecords()).build();
+    }
+
+    public QueryWrapper<MerchantBalanceDetail> queryWrapper(QueryMerchantBalanceParam param, Long userId) {
+        QueryWrapper<MerchantBalanceDetail> lqw = Wrappers.query();
+        lqw.eq("t1.user_id", userId);
+        if(param.getType() != null){
+            lqw.eq("t1.type", param.getType());
+        }
+        if(param.getOperateType() != null){
+            lqw.eq("t1.operate_type", param.getOperateType());
+        }
+        if(param.getStartTime() != null){
+            lqw.ge("t1.create_time", param.getStartTime());
+        }
+        if(param.getEndTime() != null){
+            lqw.lt("t1.create_time", param.getEndTime());
+        }
+        lqw.orderByDesc("t1.create_time");
+        return lqw;
+    }
+}

+ 13 - 0
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/OmsOrderServiceImpl.java

@@ -719,6 +719,19 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper, OmsOrder> i
         return calcAmount;
     }
 
+    @Override
+    public Map<String,Object> getOrderQuantity(){
+        return this.baseMapper.getOrderQuantity();
+    }
+    @Override
+    public Pagination<OmsOrderDTO> getMerchantOrderPaging(OrderPagingParam param){
+        Page<OmsOrder> page = this.lambdaQuery()
+                .eq(StringUtils.nonEmpty(param.getStatus()),OmsOrder :: getStatus,param.getStatus())
+                .orderByDesc(OmsOrder :: getCreateTime)
+                .page(PagingUtils.convert(param.getPaging()));
+        return PagingUtils.convert(page, OrderCopier.INSTANCE::copying);
+    }
+
 
 
 

+ 24 - 0
vehicle-server/src/main/resources/mapper/MerchantBalanceDetailMapper.xml

@@ -0,0 +1,24 @@
+<?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.chelvc.cloud.vehicle.server.dao.MerchantBalanceDetailMapper">
+
+    <resultMap type="com.chelvc.cloud.vehicle.api.dto.MerchantBalanceDetailDTO" id="MerchantBalanceDetailResult">
+    <result property="id" column="id"/>
+    <result property="userId" column="user_id"/>
+    <result property="operateType" column="operate_type"/>
+    <result property="operateAmount" column="operate_amount"/>
+    <result property="surplusAmount" column="surplus_amount"/>
+    <result property="type" column="type"/>
+    <result property="createTime" column="create_time"/>
+    </resultMap>
+
+    <select id="queryByUserId" parameterType="java.lang.Long" resultMap="MerchantBalanceDetailResult">
+        SELECT
+        t1.*
+        FROM
+        merchant_balance_detail t1
+        ${ew.getCustomSqlSegment}
+    </select>
+</mapper>

+ 14 - 0
vehicle-server/src/main/resources/mapper/OmsOrderMapper.xml

@@ -922,6 +922,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </update>
 
 
+    <select id="getOrderQuantity" resultType="java.util.Map">
+        SELECT
+            count( 0 ) orderCount,
+            sum( pay_amount ) amount
+        FROM
+            oms_order
+        WHERE
+            STATUS = '3'
+          AND DATE_FORMAT( payment_time, 'yyyyMMdd' ) = DATE_FORMAT(
+                now(),
+                'yyyyMMdd')
+    </select>
+
+
 
 
 </mapper>