Răsfoiți Sursa

Merge remote-tracking branch 'origin/dev' into dev

jinshihui 6 zile în urmă
părinte
comite
53e561b842

+ 10 - 0
nightFragrance-massage/src/main/java/com/ylx/project/controller/ProjectController.java

@@ -9,6 +9,7 @@ import com.ylx.project.domain.Project;
 import com.ylx.project.domain.dto.ProjectAddDTO;
 import com.ylx.project.domain.dto.ProjectSearchDTO;
 import com.ylx.project.domain.dto.ProjectUpdateDTO;
+import com.ylx.project.domain.vo.ProjectBaseVo;
 import com.ylx.project.domain.vo.ProjectDetailVo;
 import com.ylx.project.domain.vo.ProjectPageVo;
 import com.ylx.project.service.ProjectService;
@@ -20,6 +21,7 @@ import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.util.List;
 
 @RestController
 @RequestMapping("/project")
@@ -128,4 +130,12 @@ public class ProjectController {
         }
     }
 
+    @PreAuthorize("@customerAuth.isCustomer()")
+    @ApiOperation("客户端根据服务类目获取服务项目集合数据")
+    @GetMapping("/type/{type}")
+    public R<List<ProjectBaseVo>> getProjectTabList(@PathVariable("type") Integer type) {
+        List<ProjectBaseVo> list = this.projectService.getProjectTabListByType(type);
+        return R.ok(list);
+    }
+
 }

+ 21 - 0
nightFragrance-massage/src/main/java/com/ylx/project/domain/vo/ProjectBaseVo.java

@@ -0,0 +1,21 @@
+package com.ylx.project.domain.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+@ApiModel("项目详情vo")
+public class ProjectBaseVo implements Serializable {
+
+    private static final long serialVersionUID = -5680743000457655672L;
+
+    @ApiModelProperty("id")
+    private Long id;
+
+    @ApiModelProperty("标题")
+    private String title;
+
+}

+ 18 - 0
nightFragrance-massage/src/main/java/com/ylx/project/enums/ProjectStatusEnum.java

@@ -0,0 +1,18 @@
+package com.ylx.project.enums;
+
+import lombok.Getter;
+
+@Getter
+public enum ProjectStatusEnum {
+
+    ON_SHELF(0, "上架"),
+    OFF_SHELF(1, "下架");
+
+    private final Integer code;
+    private final String info;
+
+    ProjectStatusEnum(Integer code, String info) {
+        this.code = code;
+        this.info = info;
+    }
+}

+ 5 - 0
nightFragrance-massage/src/main/java/com/ylx/project/service/ProjectService.java

@@ -11,9 +11,12 @@ import com.ylx.project.domain.Project;
 import com.ylx.project.domain.dto.ProjectAddDTO;
 import com.ylx.project.domain.dto.ProjectSearchDTO;
 import com.ylx.project.domain.dto.ProjectUpdateDTO;
+import com.ylx.project.domain.vo.ProjectBaseVo;
 import com.ylx.project.domain.vo.ProjectDetailVo;
 import com.ylx.project.domain.vo.ProjectPageVo;
 
+import java.util.List;
+
 public interface ProjectService extends IService<Project> {
 
     Page<ProjectPageVo> list(Page<Project> page, ProjectSearchDTO dto);
@@ -29,4 +32,6 @@ public interface ProjectService extends IService<Project> {
     IPage<ProductOptionVO> selectOptionUnionPage(Page page, OptionDTO dto);
 
     Page<ProductServiceOptionVO> selectServiceOptionsPage(Page page, ServiceOptionDTO dto);
+
+    List<ProjectBaseVo> getProjectTabListByType(Integer type);
 }

+ 16 - 0
nightFragrance-massage/src/main/java/com/ylx/project/service/impl/ProjectServiceImpl.java

@@ -13,6 +13,7 @@ import com.ylx.common.core.domain.entity.SysDictData;
 import com.ylx.common.exception.ServiceException;
 import com.ylx.common.utils.DateUtils;
 import com.ylx.common.utils.SecurityUtils;
+import com.ylx.giftCard.domain.vo.GiftCardVO;
 import com.ylx.massage.domain.dto.OptionDTO;
 import com.ylx.massage.domain.dto.ServiceOptionDTO;
 import com.ylx.massage.domain.vo.ProductOptionVO;
@@ -21,8 +22,10 @@ import com.ylx.project.domain.Project;
 import com.ylx.project.domain.dto.ProjectAddDTO;
 import com.ylx.project.domain.dto.ProjectSearchDTO;
 import com.ylx.project.domain.dto.ProjectUpdateDTO;
+import com.ylx.project.domain.vo.ProjectBaseVo;
 import com.ylx.project.domain.vo.ProjectDetailVo;
 import com.ylx.project.domain.vo.ProjectPageVo;
+import com.ylx.project.enums.ProjectStatusEnum;
 import com.ylx.project.mapper.ProjectMapper;
 import com.ylx.project.service.ProjectService;
 import com.ylx.servicecategory.domain.ServiceCategory;
@@ -35,6 +38,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -170,6 +174,18 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         return baseMapper.selectServiceOptionsPage(page, dto);
     }
 
+    @Override
+    public List<ProjectBaseVo> getProjectTabListByType(Integer type) {
+
+        LambdaQueryWrapper<Project> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(Project::getType, type)
+                .eq(Project::getStatus, ProjectStatusEnum.ON_SHELF.getCode());
+
+        List<Project> projects = this.baseMapper.selectList(wrapper);
+
+        return BeanUtil.copyToList(projects, ProjectBaseVo.class);
+    }
+
     private ProjectPageVo convertToVo(Project entity) {
         ProjectPageVo vo = new ProjectPageVo();
         // 属性拷贝(推荐)