Răsfoiți Sursa

文件上传以及用户查询

liude 1 an în urmă
părinte
comite
cbdc5a9e02
17 a modificat fișierele cu 312 adăugiri și 15 ștergeri
  1. 3 0
      vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/dto/HelpDTO.java
  2. 2 1
      vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/dto/NoticeDTO.java
  3. 8 0
      vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/param/CategoryPagingParam.java
  4. 4 0
      vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/param/MerchantPagingParam.java
  5. 8 0
      vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/service/IHelpCategoryService.java
  6. 16 0
      vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/service/MerchantService.java
  7. 7 0
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/dao/MerchantMapper.java
  8. 42 0
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/CategoryServiceImpl.java
  9. 28 0
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/CouponServiceImpl.java
  10. 26 0
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/GoodsServiceImpl.java
  11. 17 0
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/HelpCategoryServiceImpl.java
  12. 12 1
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/HelpServiceImpl.java
  13. 77 0
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/MerchantServiceImpl.java
  14. 0 2
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/OmsOrderServiceImpl.java
  15. 11 9
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/ReservationServiceImpl.java
  16. 49 0
      vehicle-server/src/main/resources/mapper/MerchantMapper.xml
  17. 2 2
      vehicle-server/src/main/resources/mapper/OmsOrderMapper.xml

+ 3 - 0
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/dto/HelpDTO.java

@@ -28,6 +28,9 @@ public class HelpDTO implements Serializable
     /** 分类ID */
     private Long categoryId;
 
+    /** 分类名称 */
+    private String categoryName;
+
     /** 图标 */
     private String icon;
 

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

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

+ 8 - 0
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/param/CategoryPagingParam.java

@@ -37,4 +37,12 @@ public class CategoryPagingParam implements Serializable {
      * 是否启用
      */
     private Boolean enabled;
+    /**
+     * 平台类型
+     */
+    private String type;
+    /**
+     * 商家ID
+     */
+    private Long merchantId;
 }

+ 4 - 0
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/param/MerchantPagingParam.java

@@ -43,4 +43,8 @@ public class MerchantPagingParam implements Serializable {
      * 商家状态
      */
     private MerchantStatus status;
+    /**
+     * 商家ID
+     */
+    private Long merchantId;
 }

+ 8 - 0
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/service/IHelpCategoryService.java

@@ -64,4 +64,12 @@ public interface IHelpCategoryService
      * @return
      */
     Pagination<HelpCategoryDTO> getHelpCategoryPaging(HelpCategoryPagingParam param);
+
+
+    /**
+     * 查询帮助分类列表
+     *
+     * @return 帮助分类集合
+     */
+    public List<HelpCategoryDTO> selectHelpCategories();
 }

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

@@ -7,6 +7,7 @@ import com.chelvc.cloud.vehicle.api.param.*;
 import com.chelvc.framework.common.model.Pagination;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * 商家业务接口
@@ -124,4 +125,19 @@ public interface MerchantService {
      * @param businessStatus 营业状态
      */
     public void updateMerchantBusinessStatus(Long merchantId,String businessStatus);
+
+    /**
+     * 获取商家营业状况
+     * @return
+     */
+    Map<String,Object> operatConditions();
+
+    /**
+     * 经营报表
+     * @return 经营报表信息
+     */
+    Map<String,Object> operatReport();
 }
+
+
+

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

@@ -13,6 +13,7 @@ import org.apache.ibatis.annotations.Param;
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 商家数据操作接口
@@ -101,4 +102,10 @@ public interface MerchantMapper extends BaseMapper<Merchant> {
     BigDecimal queryTotalCommissionAmountByLastMonth(@Param("lastMonthStartLocalTime") LocalDateTime lastMonthStartLocalTime,
                                            @Param("lastMonthEndLocalTime") LocalDateTime lastMonthEndLocalTime,
                                            @Param("regionId") Integer regionId, @Param("level") Integer level);
+
+    /**
+     * 获取商家营业状况
+     * @return
+     */
+    Map<String,Object> operatConditions(@Param("merchantId")Long merchantId);
 }

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

@@ -7,6 +7,7 @@ import java.util.Objects;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.chelvc.cloud.uc.api.model.Scope;
 import com.chelvc.cloud.vehicle.api.dto.CategoryDTO;
 import com.chelvc.cloud.vehicle.api.param.CategoryListParam;
 import com.chelvc.cloud.vehicle.api.param.CategoryModifyParam;
@@ -15,12 +16,17 @@ import com.chelvc.cloud.vehicle.server.copier.CategoryCopier;
 import com.chelvc.cloud.vehicle.server.dao.CategoryMapper;
 import com.chelvc.cloud.vehicle.server.entity.Category;
 import com.chelvc.cloud.vehicle.server.service.CategoryService;
+import com.chelvc.cloud.vehicle.server.service.MerchantService;
+import com.chelvc.framework.base.context.SessionContextHolder;
 import com.chelvc.framework.common.model.Pagination;
 import com.chelvc.framework.common.util.AssertUtils;
+import com.chelvc.framework.common.util.ObjectUtils;
 import com.chelvc.framework.common.util.StringUtils;
 import com.chelvc.framework.database.context.DatabaseContextHolder;
 import lombok.NonNull;
+import lombok.RequiredArgsConstructor;
 import org.apache.dubbo.config.annotation.DubboService;
+import org.springframework.beans.factory.annotation.Autowired;
 
 /**
  * 分类业务操作实现
@@ -29,13 +35,27 @@ import org.apache.dubbo.config.annotation.DubboService;
  * @date 2023/5/2
  */
 @DubboService(interfaceClass = com.chelvc.cloud.vehicle.api.service.CategoryService.class)
+@RequiredArgsConstructor(onConstructor = @__(@Autowired))
 public class CategoryServiceImpl extends ServiceImpl<CategoryMapper, Category> implements CategoryService,
         com.chelvc.cloud.vehicle.api.service.CategoryService {
+
+    private final MerchantService merchantService;
+
     @Override
     public Long addCategory(@NonNull CategoryModifyParam param) {
         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) {
+        }else {
+            List<Long> merchants = this.merchantService.getMerchantIdsByUserId(userId);
+            if (ObjectUtils.isEmpty(merchants)) {
+                return null;
+            }
+            param.setMerchantId(merchants.get(0));
+        }
         this.save(category);
         return category.getId();
     }
@@ -49,15 +69,37 @@ public class CategoryServiceImpl extends ServiceImpl<CategoryMapper, Category> i
 
     @Override
     public Pagination<CategoryDTO> getCategoryPaging(@NonNull CategoryPagingParam param) {
+        Long userId = SessionContextHolder.getId();
+        Scope scope = StringUtils.ifEmpty(SessionContextHolder.getScope(), Scope::parse);
+        if (scope == Scope.ADMIN) {
+        }else {
+            List<Long> merchants = this.merchantService.getMerchantIdsByUserId(userId);
+            if (ObjectUtils.isEmpty(merchants)) {
+                return null;
+            }
+            param.setMerchantId(merchants.get(0));
+        }
         Page<Category> page = this.lambdaQuery()
                 .like(StringUtils.notEmpty(param.getName()), Category::getName, param.getName())
+                .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())
                 .orderByAsc(Category::getSort).page(DatabaseContextHolder.page(param.getPaging()));
         return DatabaseContextHolder.pagination(page, CategoryCopier.INSTANCE::copying);
     }
 
     @Override
     public List<CategoryDTO> listActiveCategories(CategoryListParam param) {
+        Long userId = SessionContextHolder.getId();
+        Scope scope = StringUtils.ifEmpty(SessionContextHolder.getScope(), Scope::parse);
+        if (scope == Scope.ADMIN) {
+        }else {
+            List<Long> merchants = this.merchantService.getMerchantIdsByUserId(userId);
+            if (ObjectUtils.isEmpty(merchants)) {
+                return null;
+            }
+            param.setMerchantId(merchants.get(0));
+        }
         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())

+ 28 - 0
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/CouponServiceImpl.java

@@ -7,6 +7,7 @@ import java.util.stream.Collectors;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.chelvc.cloud.uc.api.model.Scope;
 import com.chelvc.cloud.vehicle.api.dto.CouponDTO;
 import com.chelvc.cloud.vehicle.api.param.CouponModifyParam;
 import com.chelvc.cloud.vehicle.api.param.CouponPagingParam;
@@ -14,12 +15,17 @@ 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.service.CouponService;
+import com.chelvc.cloud.vehicle.server.service.MerchantService;
+import com.chelvc.framework.base.context.SessionContextHolder;
 import com.chelvc.framework.common.exception.ResourceUnavailableException;
 import com.chelvc.framework.common.model.Pagination;
 import com.chelvc.framework.common.util.AssertUtils;
+import com.chelvc.framework.common.util.ObjectUtils;
 import com.chelvc.framework.database.context.DatabaseContextHolder;
 import lombok.NonNull;
+import lombok.RequiredArgsConstructor;
 import org.apache.dubbo.config.annotation.DubboService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
 
@@ -30,8 +36,10 @@ import org.springframework.util.StringUtils;
  * @date 2023/7/17
  */
 @DubboService(interfaceClass = com.chelvc.cloud.vehicle.api.service.CouponService.class)
+@RequiredArgsConstructor(onConstructor = @__(@Autowired))
 public class CouponServiceImpl extends ServiceImpl<CouponMapper, Coupon> implements CouponService,
         com.chelvc.cloud.vehicle.api.service.CouponService {
+    private final MerchantService merchantService;
     @Override
     public List<CouponDTO> listUserGoodsActiveCoupons(@NonNull Long userId, Collection<Long> goodsCouponIds) {
         return this.baseMapper.listUserGoodsActiveCoupons(userId, goodsCouponIds);
@@ -40,6 +48,16 @@ public class CouponServiceImpl extends ServiceImpl<CouponMapper, Coupon> impleme
     @Override
     public Long addCoupon(@NonNull CouponModifyParam param) {
         Coupon coupon = CouponCopier.INSTANCE.copying(param);
+        Long userId = SessionContextHolder.getId();
+        Scope scope = com.chelvc.framework.common.util.StringUtils.ifEmpty(SessionContextHolder.getScope(), Scope::parse);
+        if (scope == Scope.ADMIN) {
+        }else {
+            List<Long> merchants = this.merchantService.getMerchantIdsByUserId(userId);
+            if (ObjectUtils.isEmpty(merchants)) {
+                return null;
+            }
+            param.setMerchantId(merchants.get(0));
+        }
         this.save(coupon);
         return coupon.getId();
     }
@@ -65,6 +83,16 @@ public class CouponServiceImpl extends ServiceImpl<CouponMapper, Coupon> impleme
 
     @Override
     public Pagination<CouponDTO> getCouponPaging(@NonNull CouponPagingParam param) {
+        Long userId = SessionContextHolder.getId();
+        Scope scope = com.chelvc.framework.common.util.StringUtils.ifEmpty(SessionContextHolder.getScope(), Scope::parse);
+        if (scope == Scope.ADMIN) {
+        }else {
+            List<Long> merchants = this.merchantService.getMerchantIdsByUserId(userId);
+            if (ObjectUtils.isEmpty(merchants)) {
+                return null;
+            }
+            param.setMerchantId(merchants.get(0));
+        }
         // 查询优惠券列表
         Page<Coupon> page = this.lambdaQuery()
                 .eq(Objects.nonNull(param.getMerchantId()), Coupon::getMerchantId, param.getMerchantId())

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

@@ -2,6 +2,7 @@ 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.uc.api.model.Scope;
 import com.chelvc.cloud.vehicle.api.constant.CategoryType;
 import com.chelvc.cloud.vehicle.api.constant.GoodsStatus;
 import com.chelvc.cloud.vehicle.api.dto.GoodsDTO;
@@ -18,9 +19,11 @@ import com.chelvc.cloud.vehicle.server.service.CategoryService;
 import com.chelvc.cloud.vehicle.server.service.CommentService;
 import com.chelvc.cloud.vehicle.server.service.CouponService;
 import com.chelvc.cloud.vehicle.server.service.GoodsService;
+import com.chelvc.cloud.vehicle.server.service.MerchantService;
 import com.chelvc.framework.base.context.SessionContextHolder;
 import com.chelvc.framework.common.model.Pagination;
 import com.chelvc.framework.common.util.AssertUtils;
+import com.chelvc.framework.common.util.ObjectUtils;
 import com.chelvc.framework.common.util.StringUtils;
 import com.chelvc.framework.database.context.DatabaseContextHolder;
 import lombok.NonNull;
@@ -46,6 +49,7 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
     private final CouponService couponService;
     private final CommentService commentService;
     private final CategoryService categoryService;
+    private final MerchantService merchantService;
 
     @Override
     public List<CategoryType> listMerchantGoodsCategoryTypes(@NonNull Long merchantId) {
@@ -88,12 +92,24 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
 
     @Override
     public Long addGoods(GoodsModifyParam param){
+        Scope scope = StringUtils.ifEmpty(SessionContextHolder.getScope(), Scope::parse);
+        Long userId = SessionContextHolder.getId();
         Goods goods = GoodsCopier.INSTANCE.copying(param);
+        if (scope == Scope.ADMIN) {
+
+        }else{
+            List<Long> merchants = this.merchantService.getMerchantIdsByUserId(userId);
+            if (ObjectUtils.isEmpty(merchants)) {
+                return null;
+            }
+            goods.setMerchantId(merchants.get(0));
+        }
         goods.setScore(0D);
         goods.setSale(0);
         goods.setStatus(GoodsStatus.ONLINE);
         this.save(goods);
         return goods.getId();
+
     }
 
     @Override
@@ -111,6 +127,16 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
 
     @Override
     public Pagination<GoodsDTO> getGoodsPaging(@NonNull GoodsPagingParam param) {
+        Long userId = SessionContextHolder.getId();
+        Scope scope = StringUtils.ifEmpty(SessionContextHolder.getScope(), Scope::parse);
+        if (scope == Scope.ADMIN) {
+         }else {
+            List<Long> merchants = this.merchantService.getMerchantIdsByUserId(userId);
+            if (ObjectUtils.isEmpty(merchants)) {
+                return null;
+            }
+            param.setMerchantId(merchants.get(0));
+        }
         Page<Goods> page = this.lambdaQuery()
                 .eq(Objects.nonNull(param.getMerchantId()), Goods::getMerchantId, param.getMerchantId())
                 .eq(Objects.nonNull(param.getCategoryId()), Goods::getCategoryId, param.getCategoryId())

+ 17 - 0
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/HelpCategoryServiceImpl.java

@@ -130,4 +130,21 @@ public class HelpCategoryServiceImpl extends ServiceImpl<HelpCategoryMapper,Help
                 .page(DatabaseContextHolder.page(param.getPaging()));
         return DatabaseContextHolder.pagination(page, HelpCategoryCopier.INSTANCE::copying);
     }
+
+
+    /**
+     * 查询帮助分类列表
+     *
+     * @return 帮助分类
+     */
+    @Override
+    public List<HelpCategoryDTO> selectHelpCategories()
+    {
+        List<HelpCategory> helpCategories = this.lambdaQuery()
+                .eq(HelpCategory::getShowStatus,0)
+                .orderByDesc(HelpCategory::getSort)
+                .list();
+        List<HelpCategoryDTO> helpCategoryList = HelpCategoryCopier.INSTANCE.copying(helpCategories);
+        return helpCategoryList;
+    }
 }

+ 12 - 1
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/HelpServiceImpl.java

@@ -5,9 +5,11 @@ import java.util.List;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.chelvc.cloud.vehicle.api.dto.HelpCategoryDTO;
 import com.chelvc.cloud.vehicle.api.dto.HelpDTO;
 import com.chelvc.cloud.vehicle.api.param.HelpModifyParam;
 import com.chelvc.cloud.vehicle.api.param.HelpPagingParam;
+import com.chelvc.cloud.vehicle.api.service.IHelpCategoryService;
 import com.chelvc.cloud.vehicle.server.copier.HelpCopier;
 import com.chelvc.cloud.vehicle.server.dao.HelpMapper;
 import com.chelvc.cloud.vehicle.server.entity.Help;
@@ -33,6 +35,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 public class HelpServiceImpl extends ServiceImpl<HelpMapper, Help> implements
         IHelpService, com.chelvc.cloud.vehicle.api.service.IHelpService {
 
+    private final IHelpCategoryService helpCategoryService;
+
     /**
      * 查询帮助
      *
@@ -112,7 +116,14 @@ public class HelpServiceImpl extends ServiceImpl<HelpMapper, Help> implements
                 .like(StringUtils.notEmpty(param.getTitle()), Help::getTitle, param.getTitle())
                 .orderByDesc(Help::getShowStatus)
                 .page(DatabaseContextHolder.page(param.getPaging()));
-        return DatabaseContextHolder.pagination(page, HelpCopier.INSTANCE::copying);
+        Pagination<HelpDTO> pagination = DatabaseContextHolder.pagination(page, HelpCopier.INSTANCE::copying);
+        pagination.getRecords().forEach(item ->{
+            HelpCategoryDTO helpCategoryDTO = this.helpCategoryService.selectHelpCategoryById(item.getCategoryId());
+            if (helpCategoryDTO != null){
+                item.setCategoryName(helpCategoryDTO.getName());
+            }
+        });
+        return pagination;
     }
 
     @Override

+ 77 - 0
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/MerchantServiceImpl.java

@@ -4,7 +4,9 @@ import java.math.BigDecimal;
 import java.time.LocalTime;
 import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.Objects;
 import java.util.stream.Collectors;
 
@@ -13,6 +15,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.chelvc.cloud.uc.api.dto.UserDTO;
+import com.chelvc.cloud.uc.api.model.Scope;
 import com.chelvc.cloud.uc.api.service.EmployeeService;
 import com.chelvc.cloud.uc.api.service.UserService;
 import com.chelvc.cloud.vehicle.api.constant.MerchantStatus;
@@ -42,6 +45,7 @@ import com.chelvc.cloud.vehicle.server.service.OmsCartItemService;
 import com.chelvc.framework.base.context.SessionContextHolder;
 import com.chelvc.framework.common.model.Pagination;
 import com.chelvc.framework.common.util.AssertUtils;
+import com.chelvc.framework.common.util.ObjectUtils;
 import com.chelvc.framework.common.util.StringUtils;
 import com.chelvc.framework.database.context.DatabaseContextHolder;
 import com.chelvc.framework.location.Address;
@@ -177,9 +181,20 @@ public class MerchantServiceImpl extends ServiceImpl<MerchantMapper, Merchant> i
 
     @Override
     public Pagination<MerchantDTO> getMerchantPaging(@NonNull MerchantPagingParam param) {
+        Long userId = SessionContextHolder.getId();
+        Scope scope = com.chelvc.framework.common.util.StringUtils.ifEmpty(SessionContextHolder.getScope(), Scope::parse);
+        if (scope == Scope.ADMIN) {
+        }else {
+            List<Long> merchants = this.getMerchantIdsByUserId(userId);
+            if (ObjectUtils.isEmpty(merchants)) {
+                return null;
+            }
+            param.setMerchantId(merchants.get(0));
+        }
         Page<Merchant> page = this.lambdaQuery()
                 .like(StringUtils.notEmpty(param.getName()), Merchant::getName, param.getName())
                 .eq(Objects.nonNull(param.getRecommend()), Merchant::getRecommend, param.getRecommend())
+                .eq(StringUtils.notEmpty(param.getMerchantId()),Merchant::getId,param.getMerchantId())
                 .eq(Objects.nonNull(param.getStatus()), Merchant::getStatus, param.getStatus())
                 .orderByDesc(Merchant::getCreateTime).page(DatabaseContextHolder.page(param.getPaging()));
         return DatabaseContextHolder.pagination(page, MerchantCopier.INSTANCE::copying);
@@ -335,4 +350,66 @@ public class MerchantServiceImpl extends ServiceImpl<MerchantMapper, Merchant> i
                 .one();
         return MerchantCopier.INSTANCE.copying(merchants);
     }
+
+
+
+    /**
+     * 获取商家营业状况
+     * @return
+     */
+    @Override
+    public Map<String,Object> operatConditions(){
+        Long merchantId = null;
+        Map<String,Object> map = new HashMap<>();
+        Long userId = SessionContextHolder.getId();
+        Scope scope = com.chelvc.framework.common.util.StringUtils.ifEmpty(SessionContextHolder.getScope(), Scope::parse);
+        if (scope == Scope.ADMIN) {
+        }else {
+            List<Long> merchants = this.getMerchantIdsByUserId(userId);
+            if (ObjectUtils.isEmpty(merchants)) {
+                return null;
+            }
+            merchantId = merchants.get(0);
+        }
+        map = this.baseMapper.operatConditions(merchantId);
+
+        return map;
+    }
+
+
+    /**
+     * 经营报表
+     * @return 经营报表信息
+     */
+    @Override
+    public Map<String,Object> operatReport(){
+        Long merchantId = null;
+        Map<String,Object> map = new HashMap<>();
+        Long userId = SessionContextHolder.getId();
+        Scope scope = com.chelvc.framework.common.util.StringUtils.ifEmpty(SessionContextHolder.getScope(), Scope::parse);
+        if (scope == Scope.ADMIN) {
+        }else {
+            List<Long> merchants = this.getMerchantIdsByUserId(userId);
+            if (ObjectUtils.isEmpty(merchants)) {
+                return null;
+            }
+            merchantId = merchants.get(0);
+        }
+        map = this.baseMapper.operatConditions(merchantId);
+        List<String> months = new ArrayList<>();
+        months.add("01");
+        months.add("02");
+        months.add("03");
+        months.add("04");
+        months.add("05");
+        months.add("06");
+        months.add("07");
+        months.add("08");
+        months.add("09");
+        months.add("10");
+        months.add("11");
+        months.add("12");
+
+        return map;
+    }
 }

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

@@ -77,8 +77,6 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper, OmsOrder> i
 
     private final MerchantService merchantService;
 
-    private final EmployeeService employeeService;
-
     private final OrderHandleService orderHandleService;
 
     @Override

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

@@ -7,8 +7,10 @@ import java.util.stream.Collectors;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.chelvc.cloud.uc.api.dto.EmployeeDTO;
+import com.chelvc.cloud.uc.api.dto.UserDTO;
 import com.chelvc.cloud.uc.api.model.Scope;
 import com.chelvc.cloud.uc.api.service.EmployeeService;
+import com.chelvc.cloud.uc.api.service.UserService;
 import com.chelvc.cloud.vehicle.api.constant.ReserveStatus;
 import com.chelvc.cloud.vehicle.api.dto.MerchantDTO;
 import com.chelvc.cloud.vehicle.api.dto.ReservationDTO;
@@ -44,7 +46,7 @@ public class ReservationServiceImpl extends ServiceImpl<ReservationMapper, Reser
 
     private final MerchantService merchantService;
 
-    private final EmployeeService employeeService;
+    private final UserService userService;
 
     @Override
     public void addReservation(@NonNull Long merchantId, @NonNull ReservationModifyParam param) {
@@ -89,10 +91,10 @@ public class ReservationServiceImpl extends ServiceImpl<ReservationMapper, Reser
             Pagination<ReservationDTO> pagination = DatabaseContextHolder.pagination(page,
                     ReservationCopier.INSTANCE::copying);
             pagination.getRecords().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);
             });
@@ -110,10 +112,10 @@ public class ReservationServiceImpl extends ServiceImpl<ReservationMapper, Reser
             Pagination<ReservationDTO> pagination = DatabaseContextHolder.pagination(page,
                     ReservationCopier.INSTANCE::copying);
             pagination.getRecords().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);
             });

+ 49 - 0
vehicle-server/src/main/resources/mapper/MerchantMapper.xml

@@ -185,4 +185,53 @@
         </if>
         AND (om.create_time between #{monthStartLocalTime} and #{monthEndLocalTime})
     </select>
+
+    <select id="operatConditions" resultType="java.util.Map">
+        SELECT
+            ( SELECT count( 0 ) FROM reservation WHERE DATE_FORMAT( create_time, '%Y%m%d' ) = DATE_FORMAT( CURDATE(), '%Y%m%d' )
+        <if test="merchantId != null">
+            and merchant_id = #{merchantId}
+        </if>) todayresevation,
+            (
+                SELECT
+                    count( 0 )
+                FROM
+                    reservation
+                WHERE
+                        DATE_FORMAT( create_time, '%Y%m%d' ) = DATE_FORMAT( CURDATE()- 1, '%Y%m%d' )
+        <if test="merchantId != null">
+            and merchant_id = #{merchantId}
+        </if>) yesterresevation,
+            ( SELECT count( 0 ) FROM oms_order WHERE DATE_FORMAT( payment_time, '%Y%m%d' ) = DATE_FORMAT( CURDATE(), '%Y%m%d' )
+        <if test="merchantId != null">
+            and merchant_id = #{merchantId}
+        </if>) todayorder,
+            (
+                SELECT
+                    count( 0 )
+                FROM
+                    oms_order
+                WHERE
+                        DATE_FORMAT( payment_time, '%Y%m%d' ) = DATE_FORMAT( CURDATE()- 1, '%Y%m%d' )
+        <if test="merchantId != null">
+            and merchant_id = #{merchantId}
+        </if>) yesterorder,
+            ( SELECT sum( pay_amount ) FROM oms_order WHERE DATE_FORMAT( payment_time, '%Y%m%d' ) = DATE_FORMAT( CURDATE(), '%Y%m%d' )
+        <if test="merchantId != null">
+            and merchant_id = #{merchantId}
+        </if>) todayamount,
+            (
+                SELECT
+                    sum( pay_amount )
+                FROM
+                    oms_order
+                WHERE
+                        DATE_FORMAT( payment_time, '%Y%m%d' ) = DATE_FORMAT( CURDATE()- 1, '%Y%m%d' )
+        <if test="merchantId != null">
+            and merchant_id = #{merchantId}
+        </if>) yesteramount
+        FROM
+            DUAL
+
+    </select>
 </mapper>

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

@@ -932,9 +932,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         WHERE
             STATUS = '3'
             and merchant_id = #{merchantId}
-          AND DATE_FORMAT( payment_time, 'yyyyMMdd' ) = DATE_FORMAT(
+          AND DATE_FORMAT( payment_time, '%Y%m%d' ) = DATE_FORMAT(
                 now(),
-                'yyyyMMdd')
+                '%Y%m%d')
     </select>