Bladeren bron

商家、角色、商品优化

liude 1 jaar geleden
bovenliggende
commit
73401afdbd

+ 2 - 1
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/dto/CommissionConfigDTO.java

@@ -4,6 +4,7 @@ import lombok.Data;
 import lombok.NoArgsConstructor;
 import lombok.experimental.SuperBuilder;
 
+import java.io.Serializable;
 import java.math.BigDecimal;
 import java.util.Date;
 
@@ -17,7 +18,7 @@ import java.util.Date;
 @SuperBuilder
 @NoArgsConstructor
 @AllArgsConstructor
-public class CommissionConfigDTO{
+public class CommissionConfigDTO implements Serializable {
     /**
      * 主键
      */

+ 4 - 0
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/dto/CouponDTO.java

@@ -30,6 +30,10 @@ public class CouponDTO implements Serializable {
      * 商家ID
      */
     private Long merchantId;
+    /**
+     * 商家名称
+     */
+    private String merchantName;
 
     /**
      * 优惠券类型

+ 4 - 0
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/dto/GoodsDTO.java

@@ -47,6 +47,10 @@ public class GoodsDTO implements Serializable {
      * 商家ID
      */
     private Long merchantId;
+    /**
+     * 商家名称
+     */
+    private String merchantName;
 
     /**
      * 商品名称

+ 2 - 1
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/param/GoodsModifyParam.java

@@ -8,6 +8,7 @@ import lombok.experimental.SuperBuilder;
 import javax.validation.constraints.NotEmpty;
 import javax.validation.constraints.NotNull;
 import javax.validation.constraints.Size;
+import java.io.Serializable;
 import java.util.List;
 
 /**
@@ -21,7 +22,7 @@ import java.util.List;
 @NoArgsConstructor
 @AllArgsConstructor
 @ToString(callSuper = true)
-public class GoodsModifyParam {
+public class GoodsModifyParam implements Serializable {
 
     /**
      * 分类类型

+ 39 - 0
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/param/ReportModifyParam.java

@@ -0,0 +1,39 @@
+package com.chelvc.cloud.vehicle.api.param;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @author liude
+ * @date 2024/03/20 16:40
+ **/
+@Data
+@SuperBuilder
+@NoArgsConstructor
+@AllArgsConstructor
+public class ReportModifyParam implements Serializable {
+
+    /**
+     * 查询类型 0-月度报表 1- 日度报表
+     */
+    private String type;
+    /**
+     * 年 查哪一年得
+     */
+    private Integer year;
+    /**
+     * 查哪一月得
+     */
+    private Integer month;
+    /**
+     * 商家ID
+     */
+    private Long merchant;
+
+
+}

+ 1 - 1
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/service/MerchantService.java

@@ -136,7 +136,7 @@ public interface MerchantService {
      * 经营报表
      * @return 经营报表信息
      */
-    List<Map<String,Object>> operatReport();
+    List<Map<String,Object>> operatReport(ReportModifyParam param);
 }
 
 

+ 7 - 1
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/dao/MerchantMapper.java

@@ -113,5 +113,11 @@ public interface MerchantMapper extends BaseMapper<Merchant> {
      * 经营报表
      * @return 经营报表信息
      */
-    List<Map<String,Object>> operatReport(@Param("merchantId")Long merchantId);
+    List<Map<String,Object>> operatReportByYear(@Param("merchantId")Long merchantId,@Param("year")Integer year);
+
+    /**
+     * 经营报表
+     * @return 经营报表信息
+     */
+    List<Map<String,Object>> operatReportByMonth(@Param("merchantId")Long merchantId,@Param("year")Integer year,@Param("month")Integer month);
 }

+ 18 - 18
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/CategoryServiceImpl.java

@@ -46,18 +46,18 @@ public class CategoryServiceImpl extends ServiceImpl<CategoryMapper, Category> i
         Integer count = this.lambdaQuery().eq(Category::getName, param.getName()).count();
         AssertUtils.available(count <= 0, "分类名称已存在");
         Category category = CategoryCopier.INSTANCE.copying(param);
-        Long userId = SessionContextHolder.getId();
-        Scope scope = StringUtils.ifEmpty(SessionContextHolder.getScope(), Scope::parse);
-        if (scope == Scope.ADMIN) {
-            category.setType("0");
-        }else {
-            List<Long> merchants = this.merchantService.getMerchantIdsByUserId(userId);
-            if (ObjectUtils.isEmpty(merchants)) {
-                return null;
-            }
-            category.setMerchantId(merchants.get(0));
-            category.setType("1");
-        }
+//        Long userId = SessionContextHolder.getId();
+//        Scope scope = StringUtils.ifEmpty(SessionContextHolder.getScope(), Scope::parse);
+//        if (scope == Scope.ADMIN) {
+//            category.setType("0");
+//        }else {
+//            List<Long> merchants = this.merchantService.getMerchantIdsByUserId(userId);
+//            if (ObjectUtils.isEmpty(merchants)) {
+//                return null;
+//            }
+//            category.setMerchantId(merchants.get(0));
+//            category.setType("1");
+//        }
         if (StringUtils.isEmpty(category.getParentId())){
             category.setParentId(0l);
         }
@@ -86,9 +86,9 @@ public class CategoryServiceImpl extends ServiceImpl<CategoryMapper, Category> i
         }
         Page<Category> page = this.lambdaQuery()
                 .like(StringUtils.notEmpty(param.getName()), Category::getName, param.getName())
-                .eq(StringUtils.notEmpty(param.getMerchantId()),Category::getMerchantId,param.getMerchantId())
+//                .eq(StringUtils.notEmpty(param.getMerchantId()),Category::getMerchantId,param.getMerchantId())
                 .eq(Objects.nonNull(param.getEnabled()), Category::getEnabled, param.getEnabled())
-                .eq(StringUtils.notEmpty(param.getType()),Category::getType,param.getType())
+//                .eq(StringUtils.notEmpty(param.getType()),Category::getType,param.getType())
                 .orderByAsc(Category::getSort).page(DatabaseContextHolder.page(param.getPaging()));
         return DatabaseContextHolder.pagination(page, CategoryCopier.INSTANCE::copying);
     }
@@ -108,8 +108,8 @@ public class CategoryServiceImpl extends ServiceImpl<CategoryMapper, Category> i
             param.setType("1");
         }
         List<Category> categories = this.lambdaQuery().eq(Category::getEnabled, true)
-                .eq(StringUtils.notEmpty(param.getType()),Category::getType,param.getType())
-                .eq(StringUtils.notEmpty(param.getMerchantId()),Category::getMerchantId,param.getMerchantId())
+//                .eq(StringUtils.notEmpty(param.getType()),Category::getType,param.getType())
+//                .eq(StringUtils.notEmpty(param.getMerchantId()),Category::getMerchantId,param.getMerchantId())
                 .orderByAsc(Category::getSort).list();
         categories.sort(Comparator.comparing(Category::getType).thenComparing(Category::getSort));
         List<CategoryDTO> categoryDTOS = CategoryCopier.INSTANCE.copying(categories);
@@ -157,8 +157,8 @@ public class CategoryServiceImpl extends ServiceImpl<CategoryMapper, Category> i
         }
         List<Category> categories = this.lambdaQuery()
                 .eq(Category::getEnabled, true)
-                .eq(StringUtils.notEmpty(param.getType()),Category::getType,param.getType())
-                .eq(StringUtils.notEmpty(param.getMerchantId()),Category::getMerchantId,param.getMerchantId())
+//                .eq(StringUtils.notEmpty(param.getType()),Category::getType,param.getType())
+//                .eq(StringUtils.notEmpty(param.getMerchantId()),Category::getMerchantId,param.getMerchantId())
                 .orderByAsc(Category::getSort).list();
         categories.sort(Comparator.comparing(Category::getType).thenComparing(Category::getSort));
         return CategoryCopier.INSTANCE.copying(categories);

+ 9 - 1
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/CouponServiceImpl.java

@@ -14,6 +14,7 @@ import com.chelvc.cloud.vehicle.api.param.CouponPagingParam;
 import com.chelvc.cloud.vehicle.server.copier.CouponCopier;
 import com.chelvc.cloud.vehicle.server.dao.CouponMapper;
 import com.chelvc.cloud.vehicle.server.entity.Coupon;
+import com.chelvc.cloud.vehicle.server.entity.Merchant;
 import com.chelvc.cloud.vehicle.server.service.CouponService;
 import com.chelvc.cloud.vehicle.server.service.MerchantService;
 import com.chelvc.framework.base.context.SessionContextHolder;
@@ -108,7 +109,14 @@ public class CouponServiceImpl extends ServiceImpl<CouponMapper, Coupon> impleme
 
         // 构建优惠券信息
         List<CouponDTO> clients = records.stream().map(this::convert).collect(Collectors.toList());
-        return DatabaseContextHolder.pagination(page, clients);
+        Pagination<CouponDTO> pagination = DatabaseContextHolder.pagination(page, clients);
+        pagination.getRecords().forEach(item ->{
+            Merchant merchant = this.merchantService.getById(item.getMerchantId());
+            if (merchant != null){
+                item.setMerchantName(merchant.getName());
+            }
+        });
+        return pagination;
     }
 
     @Override

+ 5 - 0
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/GoodsServiceImpl.java

@@ -15,6 +15,7 @@ import com.chelvc.cloud.vehicle.server.copier.GoodsCopier;
 import com.chelvc.cloud.vehicle.server.dao.GoodsMapper;
 import com.chelvc.cloud.vehicle.server.entity.Category;
 import com.chelvc.cloud.vehicle.server.entity.Goods;
+import com.chelvc.cloud.vehicle.server.entity.Merchant;
 import com.chelvc.cloud.vehicle.server.service.CategoryService;
 import com.chelvc.cloud.vehicle.server.service.CommentService;
 import com.chelvc.cloud.vehicle.server.service.CouponService;
@@ -149,6 +150,10 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
             if (category != null){
                 item.setCategoryName(category.getName());
             }
+            Merchant merchant = this.merchantService.getById(item.getMerchantId());
+            if (merchant != null){
+                item.setMerchantName(merchant.getName());
+            }
         });
         return pagination;
     }

+ 9 - 5
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/MerchantServiceImpl.java

@@ -32,6 +32,7 @@ import com.chelvc.cloud.vehicle.api.param.MerchantPagingParam;
 import com.chelvc.cloud.vehicle.api.param.MerchantQueryParam;
 import com.chelvc.cloud.vehicle.api.param.MerchantRankParam;
 import com.chelvc.cloud.vehicle.api.param.OmsCartItemPagingParam;
+import com.chelvc.cloud.vehicle.api.param.ReportModifyParam;
 import com.chelvc.cloud.vehicle.api.util.DateTimeUtils;
 import com.chelvc.cloud.vehicle.server.copier.MerchantCopier;
 import com.chelvc.cloud.vehicle.server.dao.MerchantMapper;
@@ -372,7 +373,6 @@ public class MerchantServiceImpl extends ServiceImpl<MerchantMapper, Merchant> i
             merchantId = merchants.get(0);
         }
         map = this.baseMapper.operatConditions(merchantId);
-
         return map;
     }
 
@@ -382,7 +382,7 @@ public class MerchantServiceImpl extends ServiceImpl<MerchantMapper, Merchant> i
      * @return 经营报表信息
      */
     @Override
-    public List<Map<String,Object>> operatReport(){
+    public List<Map<String,Object>> operatReport(ReportModifyParam param){
         Long merchantId = null;
         List<Map<String,Object>> mapList = new ArrayList<>();
         Long userId = SessionContextHolder.getId();
@@ -395,8 +395,12 @@ public class MerchantServiceImpl extends ServiceImpl<MerchantMapper, Merchant> i
             }
             merchantId = merchants.get(0);
         }
-        mapList = this.baseMapper.operatReport(merchantId);
-
-        return mapList;
+        if ("0".equals(param.getType())){
+            mapList = this.baseMapper.operatReportByYear(merchantId,param.getYear());
+            return mapList;
+        }else {
+            mapList = this.baseMapper.operatReportByMonth(merchantId,param.getYear(),param.getMonth());
+            return mapList;
+        }
     }
 }

+ 34 - 2
vehicle-server/src/main/resources/mapper/MerchantMapper.xml

@@ -235,7 +235,7 @@
 
     </select>
 
-    <select id="operatReport" resultType="java.util.Map">
+    <select id="operatReportByYear" resultType="java.util.Map">
         SELECT
             t.*
         FROM
@@ -247,13 +247,45 @@
                     count( 0 ) orderCount
                 FROM
                     oms_order
+                where 1=1
+                <if test="merchantId != null">
+                    and merchant_id = #{merchantId}
+                </if>
                 GROUP BY
                     MONTH ( payment_time ),
                     YEAR ( payment_time )) t
         WHERE
-            t.YEAR = 2024
+            t.YEAR = #{year}
         order by t.`MONTH`
 
     </select>
 
+    <select id="operatReportByMonth" resultType="java.util.Map">
+        SELECT
+            t.*
+        FROM
+            (
+                SELECT MONTH
+                    ( payment_time ) MONTH,
+                    sum( pay_amount ) monthAmount,
+                    YEAR ( payment_time ) YEAR,
+                    DAY ( payment_time ) day,
+                    count( 0 ) orderCount
+                FROM
+                    oms_order
+                where 1=1
+                <if test="merchantId != null">
+                    and merchant_id = #{merchantId}
+                </if>
+                GROUP BY
+                    MONTH ( payment_time ),
+                    DAY ( payment_time ),
+                    YEAR ( payment_time )) t
+        WHERE
+            t.YEAR = #{year}
+           and  t.month = #{month}
+        order by t.`day`
+
+    </select>
+
 </mapper>