Explorar el Código

收益记录查询

liude hace 1 año
padre
commit
c859372450

+ 9 - 0
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/dto/ReservationDTO.java

@@ -54,6 +54,15 @@ public class ReservationDTO implements Serializable {
      */
     private ReserveStatus status;
 
+    /**
+     * 商品id
+     */
+    private Long goodsId;
+    /**
+     * 商品名称
+     */
+    private String goodsName;
+
     /**
      * 商家信息
      */

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

@@ -0,0 +1,31 @@
+package com.chelvc.cloud.vehicle.api.param;
+import com.chelvc.framework.common.model.Paging;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 收益流水记录表数据模型
+ *
+ * @author liude
+ * @date 2024/03/30
+ */
+@Data
+@SuperBuilder
+@NoArgsConstructor
+@AllArgsConstructor
+public class CurrencyRecordPagingParam implements Serializable {
+    /**
+     * 分页信息
+     */
+    @NotNull(message = "分页不能为空")
+    private Paging paging;
+
+
+}

+ 11 - 0
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/param/ReservationModifyParam.java

@@ -34,4 +34,15 @@ public class ReservationModifyParam implements Serializable {
      */
     @NotNull(message = "约定时间不能为空")
     private Date appointTime;
+    /**
+     * 商品id
+     */
+    @NotNull(message = "商家ID不能为空")
+    private Long goodsId;
+
+    /**
+     * 商品名称
+     */
+    @Size(max = 255, message = "商品名称长度不能大于255")
+    private String goodsName;
 }

+ 16 - 0
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/service/CurrencyRecordService.java

@@ -1,5 +1,10 @@
 package com.chelvc.cloud.vehicle.api.service;
 
+import com.chelvc.cloud.vehicle.api.dto.CurrencyRecordDTO;
+
+import java.util.List;
+import java.util.Map;
+
 /**
  * 收益流水记录表数据模型
  *
@@ -7,4 +12,15 @@ package com.chelvc.cloud.vehicle.api.service;
  * @date 2024/03/15
  */
 public interface CurrencyRecordService {
+    /**
+     * 收益流水记录
+     * @return 收益流水记录列表
+     */
+    List<CurrencyRecordDTO> listCurrencyRecord();
+
+    /**
+     * 获取用户得总收益、本周收益、本月收益、可提现金额
+     * @return
+     */
+    Map<String, Object> getCurrencyRecord();
 }

+ 9 - 0
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/dao/CurrencyRecordMapper.java

@@ -5,6 +5,8 @@ import com.chelvc.cloud.vehicle.server.entity.Article;
 import com.chelvc.cloud.vehicle.server.entity.CurrencyRecord;
 import org.apache.ibatis.annotations.Mapper;
 
+import java.util.Map;
+
 /**
  * 收益流水记录表数据模型
  *
@@ -13,4 +15,11 @@ import org.apache.ibatis.annotations.Mapper;
  */
 @Mapper
 public interface CurrencyRecordMapper extends BaseMapper<CurrencyRecord> {
+
+    /**
+     * 获取7天收益、总收益、一个月得收益
+     * @param userId
+     * @return
+     */
+    Map<String,Object> getCurrencyRecord(Long userId);
 }

+ 11 - 0
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/Reservation.java

@@ -15,6 +15,8 @@ import lombok.NoArgsConstructor;
 import lombok.ToString;
 import lombok.experimental.SuperBuilder;
 
+import javax.validation.constraints.NotNull;
+
 /**
  * 预约记录数据模型
  *
@@ -64,4 +66,13 @@ public class Reservation extends ModifyEntity<Long> {
      */
     @TableField(exist = false)
     private MerchantDTO merchant;
+
+    /**
+     * 商品id
+     */
+    private Long goodsId;
+    /**
+     * 商品名称
+     */
+    private String goodsName;
 }

+ 17 - 14
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/CurrencyRecordServiceImpl.java

@@ -1,25 +1,15 @@
 package com.chelvc.cloud.vehicle.server.service.impl;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.chelvc.cloud.vehicle.api.dto.CarouselImagesDTO;
-import com.chelvc.cloud.vehicle.api.param.CarouselImagesModifyParam;
-import com.chelvc.cloud.vehicle.api.param.CarouselImagesPagingParam;
-import com.chelvc.cloud.vehicle.server.copier.CarouselImagesCopier;
-import com.chelvc.cloud.vehicle.server.dao.CarouselImagesMapper;
+import com.chelvc.cloud.vehicle.api.dto.CurrencyRecordDTO;
+import com.chelvc.cloud.vehicle.server.copier.CurrencyRecordCopier;
 import com.chelvc.cloud.vehicle.server.dao.CurrencyRecordMapper;
-import com.chelvc.cloud.vehicle.server.entity.CarouselImages;
 import com.chelvc.cloud.vehicle.server.entity.CurrencyRecord;
-import com.chelvc.cloud.vehicle.server.service.CarouselImagesService;
 import com.chelvc.cloud.vehicle.server.service.CurrencyRecordService;
-import com.chelvc.framework.common.model.Pagination;
-import com.chelvc.framework.common.util.AssertUtils;
-import com.chelvc.framework.common.util.StringUtils;
-import com.chelvc.framework.database.context.DatabaseContextHolder;
-import lombok.NonNull;
+import com.chelvc.framework.base.context.SessionContextHolder;
 import org.apache.dubbo.config.annotation.DubboService;
 
 import java.util.List;
-import java.util.Objects;
+import java.util.Map;
 
 /**
  * 收益流水记录表操作接口
@@ -31,4 +21,17 @@ import java.util.Objects;
 public class CurrencyRecordServiceImpl extends ServiceImpl<CurrencyRecordMapper, CurrencyRecord> implements CurrencyRecordService,
         com.chelvc.cloud.vehicle.api.service.CurrencyRecordService {
 
+     @Override
+     public List<CurrencyRecordDTO> listCurrencyRecord(){
+      Long userId = SessionContextHolder.getId();
+         List<CurrencyRecord> currencyRecords = this.lambdaQuery()
+                 .eq(CurrencyRecord::getUserId,userId)
+                 .list();
+      return CurrencyRecordCopier.INSTANCE.copying(currencyRecords);
+     }
+    @Override
+    public Map<String, Object> getCurrencyRecord(){
+        Long userId = SessionContextHolder.getId();
+        return this.baseMapper.getCurrencyRecord(userId);
+    }
  }

+ 6 - 1
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/MerchantServiceImpl.java

@@ -159,8 +159,13 @@ public class MerchantServiceImpl extends ServiceImpl<MerchantMapper, Merchant> i
                 .eq(Merchant::getName, param.getName())
                 .eq(Merchant::getStatus, MerchantStatus.ONLINE).count();
         AssertUtils.available(count < 1, "商家名称已存在");
+        Long userId = SessionContextHolder.getId();
+        // 判断商家名称是否存在
+        Integer count1 = this.lambdaQuery()
+                .eq(Merchant::getUserId, userId).count();
+        AssertUtils.available(count < 1, "暂时不支持多商家模式");
         Merchant merchant = MerchantCopier.INSTANCE.copying(param);
-        merchant.setUserId(0L);
+        merchant.setUserId(userId);
         merchant.setScore(0D);
         merchant.setSale(0);
         merchant.setStatus(MerchantStatus.ONLINE);

+ 9 - 7
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/OmsOrderServiceImpl.java

@@ -297,20 +297,22 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper, OmsOrder> i
     @Override
     public void cancelOrder(Long orderId) {
         //查询未付款的取消订单
-        OmsOrderExampleDTO example = new OmsOrderExampleDTO();
-        example.createCriteria().andIdEqualTo(orderId).andStatusEqualTo(0).andDeleteStatusEqualTo(0);
-        List<OmsOrder> cancelOrderList = this.baseMapper.selectByExample(example);
+        List<OmsOrder> cancelOrderList = this.lambdaQuery()
+                .eq(OmsOrder::getId,orderId)
+                .eq(OmsOrder::getStatus,0)
+                .list();
         if (CollectionUtils.isEmpty(cancelOrderList)) {
             return;
         }
         OmsOrder cancelOrder = cancelOrderList.get(0);
         if (cancelOrder != null) {
-            //修改订单状态为取消
-            cancelOrder.setStatus(5);
-//            this.baseMapper.updateByPrimaryKeySelective(cancelOrder);
+            //修改订单状态为交易取消
+            List<Long> ids = new ArrayList<>();
+            ids.add(cancelOrder.getId());
+            this.baseMapper.updateOrderStatus(ids, 5);
             OmsOrderItem orderItem = new OmsOrderItem();
             orderItem.setOrderId(orderId);
-            List<OmsOrderItem> orderItemList = this.omsOrderItemService.selectByExample(orderItem);
+//            List<OmsOrderItem> orderItemList = this.omsOrderItemService.selectByExample(orderItem);
             //解除订单商品库存锁定
 //            if (!CollectionUtils.isEmpty(orderItemList)) {
 //                this.baseMapper.releaseSkuStockLock(orderItemList);

+ 4 - 4
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/ReservationServiceImpl.java

@@ -136,10 +136,10 @@ public class ReservationServiceImpl extends ServiceImpl<ReservationMapper, Reser
                 .list();
         List<ReservationDTO> reservations = ReservationCopier.INSTANCE.copying(list);
         reservations.forEach(item -> {
-//            EmployeeDTO employeeDTO = this.employeeService.getEmployee(item.getUserId());
-//            if (employeeDTO != null) {
-//                item.setUsername(employeeDTO.getUsername());
-//            }
+            UserDTO user = this.userService.getUser(item.getUserId());
+            if (user != null) {
+                item.setUsername(user.getNickname());
+            }
             MerchantDTO merchantDTO = this.merchantService.getMerchantById(item.getMerchantId());
             item.setMerchant(merchantDTO);
         });

+ 15 - 0
vehicle-server/src/main/resources/mapper/CurrencyRecordMapper.xml

@@ -0,0 +1,15 @@
+<?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.CurrencyRecordMapper">
+    
+    <select id="getCurrencyRecord" resultType="java.util.Map">
+        SELECT
+        ( SELECT sum( reality_amount ) FROM currency_record WHERE create_time >= CURDATE() - INTERVAL 60 DAY AND create_time = CURDATE() AND user_id = #{userId} ) monthAmount,
+        ( SELECT sum( reality_amount ) FROM currency_record WHERE create_time >= CURDATE() - INTERVAL 8 DAY AND create_time = CURDATE() AND user_id = #{userId} ) dayAmount,
+        ( SELECT sum( reality_amount ) FROM currency_record WHERE user_id = #{userId} ) totalAmount
+        FROM
+        dual
+    </select>
+</mapper>

+ 3 - 1
vehicle-server/src/main/resources/mapper/ReservationMapper.xml

@@ -12,6 +12,8 @@
         <result column="creator" property="creator" jdbcType="BIGINT"/>
         <result column="create_time" property="createTime" jdbcType="TIMESTAMP"/>
         <result column="updater" property="updater" jdbcType="BIGINT"/>
+        <result column="goods_id" property="goodsId" jdbcType="BIGINT"/>
+        <result column="goods_name" property="goodsName" jdbcType="VARCHAR"/>
         <result column="update_time" property="updateTime" jdbcType="TIMESTAMP"/>
         <association property="merchant" javaType="com.chelvc.cloud.vehicle.api.dto.MerchantDTO">
             <id column="merchant_id" property="id" jdbcType="BIGINT"/>
@@ -26,7 +28,7 @@
 
     <select id="listUserReservations" resultMap="RESERVATION_RESULT_MAP">
         select rn.id,rn.user_id,rn.merchant_id,rn.mobile,rn.appoint_time,rn.status, mt.name, mt.logo, mt.score,
-        mt.sale, mt.address
+        mt.sale, mt.address,rn.goods_id,rn.goods_name
         from reservation rn
         inner join merchant mt on merchant_id = mt.id and mt.status = 'ONLINE'
         where rn.user_id = #{userId}