xia
3 years ago
29 changed files with 1133 additions and 1 deletions
-
109system/src/main/java/com/canvas/web/config/SwaggerConfig.java
-
21system/src/main/java/com/canvas/web/modules/material/criteria/MaterialQueryCriteria.java
-
32system/src/main/java/com/canvas/web/modules/material/criteria/ThemeQueryCriteria.java
-
30system/src/main/java/com/canvas/web/modules/material/domain/MaterialClass.java
-
47system/src/main/java/com/canvas/web/modules/material/domain/MaterialFolder.java
-
29system/src/main/java/com/canvas/web/modules/material/domain/OrgaClass.java
-
36system/src/main/java/com/canvas/web/modules/material/domain/ThemeClass.java
-
47system/src/main/java/com/canvas/web/modules/material/domain/ThemeFolder.java
-
30system/src/main/java/com/canvas/web/modules/material/domain/ThemeInFolder.java
-
14system/src/main/java/com/canvas/web/modules/material/dto/FolderDTO.java
-
21system/src/main/java/com/canvas/web/modules/material/dto/MaterialDTO.java
-
15system/src/main/java/com/canvas/web/modules/material/dto/ThemeClassDTO.java
-
10system/src/main/java/com/canvas/web/modules/material/repository/MaterialClassRepository.java
-
13system/src/main/java/com/canvas/web/modules/material/repository/MaterialFolderRepository.java
-
37system/src/main/java/com/canvas/web/modules/material/repository/MaterialRepository.java
-
10system/src/main/java/com/canvas/web/modules/material/repository/OrgaClassRepository.java
-
18system/src/main/java/com/canvas/web/modules/material/repository/ThemeClassRepository.java
-
13system/src/main/java/com/canvas/web/modules/material/repository/ThemeFolderRepository.java
-
7system/src/main/java/com/canvas/web/modules/material/repository/ThemeInFolderRepository.java
-
132system/src/main/java/com/canvas/web/modules/material/rest/MaterialController.java
-
43system/src/main/java/com/canvas/web/modules/material/rest/ThemeClassController.java
-
40system/src/main/java/com/canvas/web/modules/material/service/MaterialService.java
-
15system/src/main/java/com/canvas/web/modules/material/service/ThemeClassService.java
-
245system/src/main/java/com/canvas/web/modules/material/service/impl/MaterialServiceImpl.java
-
59system/src/main/java/com/canvas/web/modules/material/service/impl/ThemeClassServiceImpl.java
-
17system/src/main/java/com/canvas/web/modules/material/vo/AlbumVO.java
-
18system/src/main/java/com/canvas/web/modules/material/vo/MyMaterialVO.java
-
24system/src/main/java/com/canvas/web/modules/material/vo/ThemeVO.java
@ -0,0 +1,109 @@ |
|||||
|
package com.canvas.web.config; |
||||
|
|
||||
|
import com.fasterxml.classmate.TypeResolver; |
||||
|
import com.google.common.base.Predicates; |
||||
|
import io.swagger.annotations.ApiModel; |
||||
|
import io.swagger.annotations.ApiModelProperty; |
||||
|
import lombok.Data; |
||||
|
import org.springframework.beans.factory.annotation.Value; |
||||
|
import org.springframework.context.annotation.Bean; |
||||
|
import org.springframework.context.annotation.Configuration; |
||||
|
import org.springframework.core.Ordered; |
||||
|
import org.springframework.data.domain.Pageable; |
||||
|
import springfox.documentation.builders.ApiInfoBuilder; |
||||
|
import springfox.documentation.builders.ParameterBuilder; |
||||
|
import springfox.documentation.builders.PathSelectors; |
||||
|
import springfox.documentation.schema.AlternateTypeRule; |
||||
|
import springfox.documentation.schema.AlternateTypeRuleConvention; |
||||
|
import springfox.documentation.schema.ModelRef; |
||||
|
import springfox.documentation.service.ApiInfo; |
||||
|
import springfox.documentation.service.Parameter; |
||||
|
import springfox.documentation.spi.DocumentationType; |
||||
|
import springfox.documentation.spring.web.plugins.Docket; |
||||
|
import springfox.documentation.swagger2.annotations.EnableSwagger2; |
||||
|
|
||||
|
import java.util.ArrayList; |
||||
|
import java.util.List; |
||||
|
|
||||
|
import static com.google.common.collect.Lists.newArrayList; |
||||
|
import static springfox.documentation.schema.AlternateTypeRules.newRule; |
||||
|
|
||||
|
|
||||
|
@Configuration |
||||
|
@EnableSwagger2 |
||||
|
public class SwaggerConfig { |
||||
|
|
||||
|
@Value("${jwt.header}") |
||||
|
private String tokenHeader; |
||||
|
|
||||
|
@Value("${jwt.token-start-with}") |
||||
|
private String tokenStartWith; |
||||
|
|
||||
|
@Value("${swagger.enabled}") |
||||
|
private Boolean enabled; |
||||
|
|
||||
|
@Bean |
||||
|
@SuppressWarnings("all") |
||||
|
public Docket createRestApi() { |
||||
|
ParameterBuilder ticketPar = new ParameterBuilder(); |
||||
|
List<Parameter> pars = new ArrayList<>(); |
||||
|
ticketPar.name(tokenHeader).description("token") |
||||
|
.modelRef(new ModelRef("string")) |
||||
|
.parameterType("header") |
||||
|
.defaultValue(tokenStartWith + " ") |
||||
|
.required(true) |
||||
|
.build(); |
||||
|
pars.add(ticketPar.build()); |
||||
|
return new Docket(DocumentationType.SWAGGER_2) |
||||
|
.enable(enabled) |
||||
|
.apiInfo(apiInfo()) |
||||
|
.select() |
||||
|
.paths(Predicates.not(PathSelectors.regex("/error.*"))) |
||||
|
.build() |
||||
|
.globalOperationParameters(pars); |
||||
|
} |
||||
|
|
||||
|
private ApiInfo apiInfo() { |
||||
|
return new ApiInfoBuilder() |
||||
|
.description("画屏管理系统") |
||||
|
.title("画屏 接口文档") |
||||
|
.version("1.1") |
||||
|
.build(); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 将Pageable转换展示在swagger中 |
||||
|
*/ |
||||
|
@Configuration |
||||
|
class SwaggerDataConfig { |
||||
|
|
||||
|
@Bean |
||||
|
public AlternateTypeRuleConvention pageableConvention(final TypeResolver resolver) { |
||||
|
return new AlternateTypeRuleConvention() { |
||||
|
@Override |
||||
|
public int getOrder() { |
||||
|
return Ordered.HIGHEST_PRECEDENCE; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public List<AlternateTypeRule> rules() { |
||||
|
return newArrayList(newRule(resolver.resolve(Pageable.class), resolver.resolve(Page.class))); |
||||
|
} |
||||
|
}; |
||||
|
} |
||||
|
|
||||
|
@ApiModel |
||||
|
@Data |
||||
|
private static class Page { |
||||
|
@ApiModelProperty("页码 (0..N)") |
||||
|
private Integer page; |
||||
|
|
||||
|
@ApiModelProperty("每页显示的数目") |
||||
|
private Integer size; |
||||
|
|
||||
|
@ApiModelProperty("以下列格式排序标准:property[,asc | desc]。 默认排序顺序为升序。 支持多种排序条件:如:id,asc") |
||||
|
private List<String> sort; |
||||
|
} |
||||
|
} |
@ -0,0 +1,21 @@ |
|||||
|
package com.canvas.web.modules.material.criteria; |
||||
|
|
||||
|
|
||||
|
import com.canvas.web.annotation.Query; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
@Data |
||||
|
public class MaterialQueryCriteria { |
||||
|
|
||||
|
@Query |
||||
|
private String materialName; |
||||
|
|
||||
|
@Query |
||||
|
private Integer materialType; |
||||
|
|
||||
|
@Query |
||||
|
private String orgaId; |
||||
|
|
||||
|
@Query |
||||
|
private String folderId; |
||||
|
} |
@ -0,0 +1,32 @@ |
|||||
|
package com.canvas.web.modules.material.criteria; |
||||
|
|
||||
|
|
||||
|
import com.canvas.web.annotation.Query; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
import java.sql.Timestamp; |
||||
|
|
||||
|
@Data |
||||
|
public class ThemeQueryCriteria { |
||||
|
|
||||
|
@Query |
||||
|
private String themeName; |
||||
|
|
||||
|
@Query |
||||
|
private String themeClass; |
||||
|
|
||||
|
@Query |
||||
|
private Integer deviceDirection; |
||||
|
|
||||
|
@Query |
||||
|
private String orgaId; |
||||
|
|
||||
|
@Query |
||||
|
private String startTime; |
||||
|
|
||||
|
@Query |
||||
|
private String endTime; |
||||
|
|
||||
|
@Query |
||||
|
private String folderId; |
||||
|
} |
@ -0,0 +1,30 @@ |
|||||
|
package com.canvas.web.modules.material.domain; |
||||
|
|
||||
|
import io.swagger.annotations.ApiModelProperty; |
||||
|
import lombok.Getter; |
||||
|
import lombok.Setter; |
||||
|
import org.hibernate.annotations.GenericGenerator; |
||||
|
|
||||
|
import javax.persistence.*; |
||||
|
|
||||
|
@Getter |
||||
|
@Setter |
||||
|
@Entity |
||||
|
@Table(name = "material_class") |
||||
|
public class MaterialClass { |
||||
|
|
||||
|
@Id |
||||
|
@Column(name = "id") |
||||
|
@GeneratedValue(generator = "idGenerator") |
||||
|
@GenericGenerator(name = "idGenerator", strategy = "uuid") |
||||
|
private String id; |
||||
|
|
||||
|
@Column(name = "material_id") |
||||
|
@ApiModelProperty(value = "素材id") |
||||
|
private String materialId; |
||||
|
|
||||
|
@Column(name = "class_id") |
||||
|
@ApiModelProperty(value = "分类id") |
||||
|
private String classId; |
||||
|
|
||||
|
} |
@ -0,0 +1,47 @@ |
|||||
|
package com.canvas.web.modules.material.domain; |
||||
|
|
||||
|
import com.canvas.web.base.BaseEntity; |
||||
|
import io.swagger.annotations.ApiModelProperty; |
||||
|
import lombok.Getter; |
||||
|
import lombok.Setter; |
||||
|
import org.hibernate.annotations.GenericGenerator; |
||||
|
|
||||
|
import javax.persistence.*; |
||||
|
import java.io.Serializable; |
||||
|
|
||||
|
@Getter |
||||
|
@Setter |
||||
|
@Entity |
||||
|
@Table(name = "material_folder") |
||||
|
public class MaterialFolder extends BaseEntity implements Serializable { |
||||
|
|
||||
|
@Id |
||||
|
@Column(name = "id") |
||||
|
@GeneratedValue(generator = "idGenerator") |
||||
|
@GenericGenerator(name = "idGenerator", strategy = "uuid") |
||||
|
private String id; |
||||
|
|
||||
|
@Column(name = "fid") |
||||
|
@ApiModelProperty(value = "上层id") |
||||
|
private String fid; |
||||
|
|
||||
|
@Column(name = "name") |
||||
|
@ApiModelProperty(value = "文件夹名称") |
||||
|
private String name; |
||||
|
|
||||
|
@Column(name = "img_path") |
||||
|
@ApiModelProperty(value = "文件夹封面图片路径") |
||||
|
private String imgPath; |
||||
|
|
||||
|
@Column(name = "orga_id") |
||||
|
@ApiModelProperty(value = "机构id") |
||||
|
private String orgaId; |
||||
|
|
||||
|
@Column(name = "is_state") |
||||
|
@ApiModelProperty(value = "状态") |
||||
|
private Integer isState; |
||||
|
|
||||
|
@Column(name = "is_del") |
||||
|
@ApiModelProperty(value = "是否删除") |
||||
|
private Boolean isDel; |
||||
|
} |
@ -0,0 +1,29 @@ |
|||||
|
package com.canvas.web.modules.material.domain; |
||||
|
|
||||
|
import io.swagger.annotations.ApiModelProperty; |
||||
|
import lombok.Getter; |
||||
|
import lombok.Setter; |
||||
|
import org.hibernate.annotations.GenericGenerator; |
||||
|
|
||||
|
import javax.persistence.*; |
||||
|
|
||||
|
@Getter |
||||
|
@Setter |
||||
|
@Entity |
||||
|
@Table(name = "orga_class") |
||||
|
public class OrgaClass { |
||||
|
|
||||
|
@Id |
||||
|
@Column(name = "id") |
||||
|
@GeneratedValue(generator = "idGenerator") |
||||
|
@GenericGenerator(name = "idGenerator", strategy = "uuid") |
||||
|
private String id; |
||||
|
|
||||
|
@Column(name = "orga_id") |
||||
|
@ApiModelProperty(value = "机构id") |
||||
|
private String orgaId; |
||||
|
|
||||
|
@Column(name = "class_id") |
||||
|
@ApiModelProperty(value = "类别id") |
||||
|
private String classId; |
||||
|
} |
@ -0,0 +1,36 @@ |
|||||
|
package com.canvas.web.modules.material.domain; |
||||
|
|
||||
|
import com.canvas.web.base.BaseEntity; |
||||
|
import io.swagger.annotations.ApiModelProperty; |
||||
|
import lombok.Getter; |
||||
|
import lombok.Setter; |
||||
|
import org.hibernate.annotations.GenericGenerator; |
||||
|
|
||||
|
import javax.persistence.*; |
||||
|
import java.io.Serializable; |
||||
|
|
||||
|
@Getter |
||||
|
@Setter |
||||
|
@Entity |
||||
|
@Table(name = "theme_class") |
||||
|
public class ThemeClass extends BaseEntity implements Serializable { |
||||
|
|
||||
|
@Id |
||||
|
@Column(name = "id") |
||||
|
@GeneratedValue(generator = "idGenerator") |
||||
|
@GenericGenerator(name = "idGenerator", strategy = "uuid") |
||||
|
private String id; |
||||
|
|
||||
|
@Column(name = "class_name") |
||||
|
@ApiModelProperty(value = "类别名称") |
||||
|
private String className; |
||||
|
|
||||
|
@Column(name = "is_all") |
||||
|
@ApiModelProperty(value = "是否全部机构可查看") |
||||
|
private Boolean isAll; |
||||
|
|
||||
|
@Column(name = "is_del") |
||||
|
@ApiModelProperty(value = "是否删除") |
||||
|
private Boolean isDel; |
||||
|
|
||||
|
} |
@ -0,0 +1,47 @@ |
|||||
|
package com.canvas.web.modules.material.domain; |
||||
|
|
||||
|
import com.canvas.web.base.BaseEntity; |
||||
|
import io.swagger.annotations.ApiModelProperty; |
||||
|
import lombok.Getter; |
||||
|
import lombok.Setter; |
||||
|
import org.hibernate.annotations.GenericGenerator; |
||||
|
|
||||
|
import javax.persistence.*; |
||||
|
import java.io.Serializable; |
||||
|
|
||||
|
@Getter |
||||
|
@Setter |
||||
|
@Entity |
||||
|
@Table(name = "theme_folder") |
||||
|
public class ThemeFolder extends BaseEntity implements Serializable { |
||||
|
|
||||
|
@Id |
||||
|
@Column(name = "id") |
||||
|
@GeneratedValue(generator = "idGenerator") |
||||
|
@GenericGenerator(name = "idGenerator", strategy = "uuid") |
||||
|
private String id; |
||||
|
|
||||
|
@Column(name = "fid") |
||||
|
@ApiModelProperty(value = "上层id") |
||||
|
private String fid; |
||||
|
|
||||
|
@Column(name = "name") |
||||
|
@ApiModelProperty(value = "文件夹名称") |
||||
|
private String name; |
||||
|
|
||||
|
@Column(name = "img_path") |
||||
|
@ApiModelProperty(value = "文件夹封面图片路径") |
||||
|
private String imgPath; |
||||
|
|
||||
|
@Column(name = "orga_id") |
||||
|
@ApiModelProperty(value = "机构id") |
||||
|
private String orgaId; |
||||
|
|
||||
|
@Column(name = "is_state") |
||||
|
@ApiModelProperty(value = "状态") |
||||
|
private Integer isState; |
||||
|
|
||||
|
@Column(name = "is_del") |
||||
|
@ApiModelProperty(value = "是否删除") |
||||
|
private Boolean isDel; |
||||
|
} |
@ -0,0 +1,30 @@ |
|||||
|
package com.canvas.web.modules.material.domain; |
||||
|
|
||||
|
import io.swagger.annotations.ApiModelProperty; |
||||
|
import lombok.Getter; |
||||
|
import lombok.Setter; |
||||
|
import org.hibernate.annotations.GenericGenerator; |
||||
|
|
||||
|
import javax.persistence.*; |
||||
|
|
||||
|
@Getter |
||||
|
@Setter |
||||
|
@Entity |
||||
|
@Table(name = "theme_in_folder") |
||||
|
public class ThemeInFolder { |
||||
|
|
||||
|
@Id |
||||
|
@Column(name = "id") |
||||
|
@GeneratedValue(generator = "idGenerator") |
||||
|
@GenericGenerator(name = "idGenerator", strategy = "uuid") |
||||
|
private String id; |
||||
|
|
||||
|
@Column(name = "tf_id") |
||||
|
@ApiModelProperty(value = "文件夹id") |
||||
|
private String tfId; |
||||
|
|
||||
|
@Column(name = "theme_id") |
||||
|
@ApiModelProperty(value = "主题素材id") |
||||
|
private String themeId; |
||||
|
|
||||
|
} |
@ -0,0 +1,14 @@ |
|||||
|
package com.canvas.web.modules.material.dto; |
||||
|
|
||||
|
import lombok.Getter; |
||||
|
import lombok.Setter; |
||||
|
|
||||
|
@Getter |
||||
|
@Setter |
||||
|
public class FolderDTO { |
||||
|
private String id; |
||||
|
private String name; |
||||
|
private String fid; |
||||
|
private String imgPath; |
||||
|
private String orgaId; |
||||
|
} |
@ -0,0 +1,21 @@ |
|||||
|
package com.canvas.web.modules.material.dto; |
||||
|
|
||||
|
import lombok.Getter; |
||||
|
import lombok.Setter; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
@Getter |
||||
|
@Setter |
||||
|
public class MaterialDTO { |
||||
|
|
||||
|
private String materialId; |
||||
|
private String materialName; |
||||
|
private Integer materialType; |
||||
|
private Integer storeType; |
||||
|
private String depositUrl; |
||||
|
private String imgPath; |
||||
|
private String deviceDirection; |
||||
|
private String orgaId; |
||||
|
private List<String> classIds; |
||||
|
} |
@ -0,0 +1,15 @@ |
|||||
|
package com.canvas.web.modules.material.dto; |
||||
|
|
||||
|
import lombok.Getter; |
||||
|
import lombok.Setter; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
@Getter |
||||
|
@Setter |
||||
|
public class ThemeClassDTO { |
||||
|
private String id; |
||||
|
private String className; |
||||
|
private Boolean isAll; |
||||
|
private List<String> orgaIds; |
||||
|
} |
@ -0,0 +1,10 @@ |
|||||
|
package com.canvas.web.modules.material.repository; |
||||
|
|
||||
|
import com.canvas.web.modules.material.domain.MaterialClass; |
||||
|
import org.springframework.data.jpa.repository.JpaRepository; |
||||
|
|
||||
|
public interface MaterialClassRepository extends JpaRepository<MaterialClass, String> { |
||||
|
|
||||
|
void deleteAllByMaterialId(String materialId); |
||||
|
|
||||
|
} |
@ -0,0 +1,13 @@ |
|||||
|
package com.canvas.web.modules.material.repository; |
||||
|
|
||||
|
import com.canvas.web.modules.material.domain.MaterialFolder; |
||||
|
import org.springframework.data.jpa.repository.JpaRepository; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
public interface MaterialFolderRepository extends JpaRepository<MaterialFolder, String> { |
||||
|
|
||||
|
MaterialFolder findFirstByOrgaIdAndFidIsNull(String orgaId); |
||||
|
List<MaterialFolder> findAllByOrgaIdAndFid(String orgaId, String fid); |
||||
|
List<MaterialFolder> findAllByFid(String fid); |
||||
|
} |
@ -0,0 +1,10 @@ |
|||||
|
package com.canvas.web.modules.material.repository; |
||||
|
|
||||
|
import com.canvas.web.modules.material.domain.OrgaClass; |
||||
|
import org.springframework.data.jpa.repository.JpaRepository; |
||||
|
|
||||
|
public interface OrgaClassRepository extends JpaRepository<OrgaClass, String> { |
||||
|
|
||||
|
void deleteAllByClassId(String classId); |
||||
|
|
||||
|
} |
@ -0,0 +1,18 @@ |
|||||
|
package com.canvas.web.modules.material.repository; |
||||
|
|
||||
|
import com.canvas.web.modules.material.domain.ThemeClass; |
||||
|
import org.springframework.data.jpa.repository.JpaRepository; |
||||
|
import org.springframework.data.jpa.repository.Query; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import java.util.Map; |
||||
|
|
||||
|
public interface ThemeClassRepository extends JpaRepository<ThemeClass, String> { |
||||
|
|
||||
|
@Query(nativeQuery = true, |
||||
|
value = "select tc.id as id,tc.class_name as className from theme_class tc where tc.is_all = true " + |
||||
|
"UNION " + |
||||
|
"select tc.id as id,tc.class_name as className from theme_class tc inner join orga_class oc on tc.id = oc.class_id where tc.id = ?1 ") |
||||
|
List<Map<String,Object>> getThemeByOrgaId(String orgaId); |
||||
|
|
||||
|
} |
@ -0,0 +1,13 @@ |
|||||
|
package com.canvas.web.modules.material.repository; |
||||
|
|
||||
|
import com.canvas.web.modules.material.domain.ThemeFolder; |
||||
|
import org.springframework.data.jpa.repository.JpaRepository; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
public interface ThemeFolderRepository extends JpaRepository<ThemeFolder, String> { |
||||
|
|
||||
|
ThemeFolder findFirstByOrgaIdAndFidIsNull(String orgaId); |
||||
|
List<ThemeFolder> findAllByOrgaIdAndFid(String orgaId, String fid); |
||||
|
List<ThemeFolder> findAllByFid(String fid); |
||||
|
} |
@ -0,0 +1,7 @@ |
|||||
|
package com.canvas.web.modules.material.repository; |
||||
|
|
||||
|
import com.canvas.web.modules.material.domain.ThemeInFolder; |
||||
|
import org.springframework.data.jpa.repository.JpaRepository; |
||||
|
|
||||
|
public interface ThemeInFolderRepository extends JpaRepository<ThemeInFolder, String> { |
||||
|
} |
@ -0,0 +1,132 @@ |
|||||
|
package com.canvas.web.modules.material.rest; |
||||
|
|
||||
|
import com.canvas.web.modules.material.criteria.MaterialQueryCriteria; |
||||
|
import com.canvas.web.modules.material.criteria.ThemeQueryCriteria; |
||||
|
import com.canvas.web.modules.material.dto.FolderDTO; |
||||
|
import com.canvas.web.modules.material.dto.MaterialDTO; |
||||
|
import com.canvas.web.modules.material.service.MaterialService; |
||||
|
import com.canvas.web.modules.material.vo.AlbumVO; |
||||
|
import com.canvas.web.modules.material.vo.MyMaterialVO; |
||||
|
import com.canvas.web.modules.material.vo.ThemeVO; |
||||
|
import com.canvas.web.modules.utils.Response; |
||||
|
import com.canvas.web.modules.utils.ResultUtils; |
||||
|
import com.canvas.web.modules.utils.enums.ResponseEnum; |
||||
|
import io.swagger.annotations.Api; |
||||
|
import io.swagger.annotations.ApiOperation; |
||||
|
import lombok.RequiredArgsConstructor; |
||||
|
import org.springframework.data.domain.Pageable; |
||||
|
import org.springframework.validation.annotation.Validated; |
||||
|
import org.springframework.web.bind.annotation.*; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
@RestController |
||||
|
@RequiredArgsConstructor |
||||
|
@Api(tags = "素材库管理") |
||||
|
@RequestMapping("/api/material") |
||||
|
public class MaterialController { |
||||
|
|
||||
|
private final MaterialService materialService; |
||||
|
|
||||
|
@ApiOperation("编辑主题/素材") |
||||
|
@PostMapping("/save") |
||||
|
public Response<Object> save( |
||||
|
@Validated @RequestBody MaterialDTO dto |
||||
|
){ |
||||
|
materialService.edit(dto); |
||||
|
return Response.success(dto.getMaterialId()== null ? ResponseEnum.CREATED : ResponseEnum.UPDATE_SUCCESS); |
||||
|
} |
||||
|
|
||||
|
@ApiOperation("主题库素材历史列表") |
||||
|
@GetMapping("/getThemeHistoryList") |
||||
|
public Response<ResultUtils<List<ThemeVO>>> getThemeHistoryList( |
||||
|
ThemeQueryCriteria criteria, Pageable page |
||||
|
){ |
||||
|
return Response.success(materialService.themeHistoryList(criteria.getThemeName(),criteria.getStartTime(),criteria.getEndTime(),page)); |
||||
|
} |
||||
|
|
||||
|
@ApiOperation("主题库素材历史列表") |
||||
|
@GetMapping("/getThemeLibrary") |
||||
|
public Response<ResultUtils<List<ThemeVO>>> getThemeLibrary( |
||||
|
ThemeQueryCriteria criteria, Pageable page |
||||
|
){ |
||||
|
return Response.success(materialService.getThemeLibrary(criteria.getThemeName(),criteria.getThemeClass(),criteria.getDeviceDirection(),page)); |
||||
|
} |
||||
|
|
||||
|
@ApiOperation("我的画布") |
||||
|
@PostMapping("/myAlbum") |
||||
|
public Response<AlbumVO> myAlbum( |
||||
|
ThemeQueryCriteria criteria, Pageable page |
||||
|
){ |
||||
|
AlbumVO vo = new AlbumVO(); |
||||
|
vo.setMaterialFolders(materialService.getAlbumFolder(criteria.getOrgaId(),criteria.getFolderId(),page.getPageNumber())); |
||||
|
vo.setPageThemeVO(materialService.getMyAlbumTheme(criteria.getOrgaId(),criteria.getFolderId(),criteria.getThemeName(),page)); |
||||
|
return Response.success(vo); |
||||
|
} |
||||
|
|
||||
|
@ApiOperation("编辑文件夹-主题库") |
||||
|
@PostMapping("/saveThemeFolder") |
||||
|
public Response<Object> saveThemeFolder( |
||||
|
@Validated @RequestBody FolderDTO dto |
||||
|
){ |
||||
|
materialService.editThemeFolder(dto); |
||||
|
return Response.success(dto.getId()== null ? ResponseEnum.CREATED : ResponseEnum.UPDATE_SUCCESS); |
||||
|
} |
||||
|
|
||||
|
@ApiOperation("添加到画册-主题库") |
||||
|
@PostMapping("/addMyAlbum") |
||||
|
public Response<Object> addMyAlbum( |
||||
|
String tfId,String themeId,String orgaId |
||||
|
){ |
||||
|
materialService.addMyAlbum(tfId,themeId,orgaId); |
||||
|
return Response.success(ResponseEnum.CREATED); |
||||
|
} |
||||
|
|
||||
|
@ApiOperation("删除我的画册主题素材") |
||||
|
@PostMapping("/deleteMyAlbum") |
||||
|
public Response<Object> deleteMyAlbum( |
||||
|
String id |
||||
|
){ |
||||
|
materialService.deleteMyAlbum(id); |
||||
|
return Response.success(ResponseEnum.DELETE_SUCCESS); |
||||
|
} |
||||
|
|
||||
|
@ApiOperation("删除文件夹-主题库") |
||||
|
@PostMapping("/deleteThemeFolder") |
||||
|
public Response<Object> deleteThemeFolder( |
||||
|
String id |
||||
|
){ |
||||
|
materialService.deleteThemeFolder(id); |
||||
|
return Response.success(ResponseEnum.DELETE_SUCCESS); |
||||
|
} |
||||
|
|
||||
|
@ApiOperation("编辑文件夹-素材库") |
||||
|
@PostMapping("/saveMaterialFolder") |
||||
|
public Response<Object> saveMaterialFolder( |
||||
|
@Validated @RequestBody FolderDTO dto |
||||
|
){ |
||||
|
materialService.editMaterialFolder(dto); |
||||
|
return Response.success(dto.getId()== null ? ResponseEnum.CREATED : ResponseEnum.UPDATE_SUCCESS); |
||||
|
} |
||||
|
|
||||
|
@ApiOperation("删除文件夹-素材库") |
||||
|
@PostMapping("/deleteMaterialFolder") |
||||
|
public Response<Object> deleteMaterialFolder( |
||||
|
String id |
||||
|
){ |
||||
|
materialService.deleteMaterialFolder(id); |
||||
|
return Response.success(ResponseEnum.DELETE_SUCCESS); |
||||
|
} |
||||
|
|
||||
|
@ApiOperation("我的素材") |
||||
|
@PostMapping("/myMaterial") |
||||
|
public Response<MyMaterialVO> myMaterial( |
||||
|
MaterialQueryCriteria criteria, Pageable page |
||||
|
){ |
||||
|
MyMaterialVO vo = new MyMaterialVO(); |
||||
|
vo.setMaterialFolders(materialService.getMaterialFolder(criteria.getOrgaId(),criteria.getFolderId(),page.getPageNumber())); |
||||
|
vo.setPageThemeVO(materialService.getMyMaterial(criteria.getOrgaId(),criteria.getFolderId(),criteria.getMaterialName(),criteria.getMaterialType(),page)); |
||||
|
return Response.success(vo); |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,43 @@ |
|||||
|
package com.canvas.web.modules.material.rest; |
||||
|
|
||||
|
import com.canvas.web.modules.device.dto.DeviceDTO; |
||||
|
import com.canvas.web.modules.material.domain.ThemeClass; |
||||
|
import com.canvas.web.modules.material.dto.ThemeClassDTO; |
||||
|
import com.canvas.web.modules.material.service.ThemeClassService; |
||||
|
import com.canvas.web.modules.utils.Response; |
||||
|
import com.canvas.web.modules.utils.enums.ResponseEnum; |
||||
|
import io.swagger.annotations.Api; |
||||
|
import io.swagger.annotations.ApiOperation; |
||||
|
import lombok.RequiredArgsConstructor; |
||||
|
import org.springframework.validation.annotation.Validated; |
||||
|
import org.springframework.web.bind.annotation.*; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import java.util.Map; |
||||
|
|
||||
|
@RestController |
||||
|
@RequiredArgsConstructor |
||||
|
@Api(tags = "主题分类管理") |
||||
|
@RequestMapping("/api/themeClass") |
||||
|
public class ThemeClassController { |
||||
|
|
||||
|
ThemeClassService themeClassService; |
||||
|
|
||||
|
@ApiOperation("编辑分类") |
||||
|
@PostMapping("/save") |
||||
|
public Response<Object> save( |
||||
|
@Validated @RequestBody ThemeClassDTO dto |
||||
|
){ |
||||
|
themeClassService.edit(dto); |
||||
|
return Response.success(dto.getId()== null ? ResponseEnum.CREATED : ResponseEnum.UPDATE_SUCCESS); |
||||
|
} |
||||
|
|
||||
|
@ApiOperation("根据机构id查询主题列表") |
||||
|
@GetMapping("/getThemeList") |
||||
|
public Response<List<Map<String,Object>>> getTheme( |
||||
|
String orgaId |
||||
|
){ |
||||
|
return Response.success(themeClassService.getTheme(orgaId)); |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,40 @@ |
|||||
|
package com.canvas.web.modules.material.service; |
||||
|
|
||||
|
import com.canvas.web.modules.material.domain.MaterialFolder; |
||||
|
import com.canvas.web.modules.material.domain.ThemeFolder; |
||||
|
import com.canvas.web.modules.material.dto.FolderDTO; |
||||
|
import com.canvas.web.modules.material.dto.MaterialDTO; |
||||
|
import com.canvas.web.modules.material.vo.ThemeVO; |
||||
|
import com.canvas.web.modules.utils.ResultUtils; |
||||
|
import org.springframework.data.domain.Pageable; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
public interface MaterialService { |
||||
|
//编辑素材库信息 |
||||
|
void edit(MaterialDTO dto); |
||||
|
//分页查询主题素材历史信息 |
||||
|
ResultUtils<List<ThemeVO>> themeHistoryList(String themeName, String startTime, String endTime, Pageable pageable); |
||||
|
//分页查询主题库信息 |
||||
|
ResultUtils<List<ThemeVO>> getThemeLibrary(String themeName, String themeClass, Integer deviceDirection, Pageable pageable); |
||||
|
//根据机构id获取我的画册文件夹 |
||||
|
List<ThemeFolder> getAlbumFolder(String orgaId, String folderId, Integer pageNum); |
||||
|
//根据机构id获取素材文件夹 |
||||
|
List<MaterialFolder> getMaterialFolder(String orgaId, String folderId, Integer pageNum); |
||||
|
//分页获取我的画册文件夹内素材 |
||||
|
ResultUtils<List<ThemeVO>> getMyAlbumTheme(String orgaId,String folderId,String themeName,Pageable pageable); |
||||
|
//分页获取素材库内容 |
||||
|
ResultUtils<List<ThemeVO>> getMyMaterial(String orgaId,String folderId,String materialName,Integer materialType,Pageable pageable); |
||||
|
//编辑主题库文件夹 |
||||
|
void editThemeFolder(FolderDTO dto); |
||||
|
//编辑素材库文件夹 |
||||
|
void editMaterialFolder(FolderDTO dto); |
||||
|
//添加素材到我的画册 |
||||
|
void addMyAlbum(String tfId,String themeId,String orgaId); |
||||
|
//删除我的画册主题素材 |
||||
|
void deleteMyAlbum(String id); |
||||
|
//删除主题库文件夹 |
||||
|
void deleteThemeFolder(String id); |
||||
|
//删除素材库文件夹 |
||||
|
void deleteMaterialFolder(String id); |
||||
|
} |
@ -0,0 +1,15 @@ |
|||||
|
package com.canvas.web.modules.material.service; |
||||
|
|
||||
|
import com.canvas.web.modules.material.domain.ThemeClass; |
||||
|
import com.canvas.web.modules.material.dto.ThemeClassDTO; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import java.util.Map; |
||||
|
|
||||
|
public interface ThemeClassService { |
||||
|
|
||||
|
void edit(ThemeClassDTO dto); |
||||
|
//根据机构id查询主题类别 |
||||
|
List<Map<String,Object>> getTheme(String orgaId); |
||||
|
|
||||
|
} |
@ -0,0 +1,245 @@ |
|||||
|
package com.canvas.web.modules.material.service.impl; |
||||
|
|
||||
|
import com.canvas.web.modules.material.domain.*; |
||||
|
import com.canvas.web.modules.material.dto.FolderDTO; |
||||
|
import com.canvas.web.modules.material.dto.MaterialDTO; |
||||
|
import com.canvas.web.modules.material.repository.*; |
||||
|
import com.canvas.web.modules.material.service.MaterialService; |
||||
|
import com.canvas.web.modules.material.vo.ThemeVO; |
||||
|
import com.canvas.web.modules.utils.MapUtil; |
||||
|
import com.canvas.web.modules.utils.PageSort; |
||||
|
import com.canvas.web.modules.utils.ResultUtils; |
||||
|
import com.canvas.web.utils.StringUtils; |
||||
|
import lombok.RequiredArgsConstructor; |
||||
|
import org.apache.xmlbeans.impl.inst2xsd.SalamiSliceStrategy; |
||||
|
import org.springframework.data.domain.Page; |
||||
|
import org.springframework.data.domain.PageRequest; |
||||
|
import org.springframework.data.domain.Pageable; |
||||
|
import org.springframework.data.domain.Sort; |
||||
|
import org.springframework.stereotype.Service; |
||||
|
|
||||
|
import java.sql.Timestamp; |
||||
|
import java.util.ArrayList; |
||||
|
import java.util.Date; |
||||
|
import java.util.List; |
||||
|
import java.util.Map; |
||||
|
|
||||
|
@Service |
||||
|
@RequiredArgsConstructor |
||||
|
public class MaterialServiceImpl implements MaterialService { |
||||
|
|
||||
|
MaterialRepository materialRepository; |
||||
|
MaterialClassRepository materialClassRepository; |
||||
|
ThemeFolderRepository themeFolderRepository; |
||||
|
MaterialFolderRepository materialFolderRepository; |
||||
|
ThemeInFolderRepository themeInFolderRepository; |
||||
|
|
||||
|
@Override |
||||
|
public void edit(MaterialDTO dto) { |
||||
|
Material material = new Material(); |
||||
|
//修改 |
||||
|
if(null != dto.getMaterialId()){ |
||||
|
material = materialRepository.findById(dto.getMaterialId()).get(); |
||||
|
material.setUpdateTime(new Timestamp(new Date().getTime())); |
||||
|
}else{ |
||||
|
material.setCreateTime(new Timestamp(new Date().getTime())); |
||||
|
material.setUpdateTime(new Timestamp(new Date().getTime())); |
||||
|
material.setIsDel(false); |
||||
|
material.setIsState(1); |
||||
|
} |
||||
|
material.setName(dto.getMaterialName()); |
||||
|
material.setType(dto.getMaterialType()); |
||||
|
material.setStoreType(dto.getStoreType()); |
||||
|
material.setDepositUrl(dto.getDepositUrl()); |
||||
|
material.setImgPath(dto.getImgPath()); |
||||
|
material.setDeviceDirection(dto.getDeviceDirection()); |
||||
|
material.setOrgaId(dto.getOrgaId()); |
||||
|
material = materialRepository.saveAndFlush(material); |
||||
|
|
||||
|
//如果是主题库 添加主题库类别 |
||||
|
if(material.getStoreType() == 2){ |
||||
|
materialClassRepository.deleteAllByMaterialId(material.getId()); |
||||
|
List<MaterialClass> materialClasses = new ArrayList<>(); |
||||
|
for(int i = 0 ;i<dto.getClassIds().size();i++){ |
||||
|
MaterialClass mc = new MaterialClass(); |
||||
|
mc.setMaterialId(material.getId()); |
||||
|
mc.setClassId(dto.getClassIds().get(i)); |
||||
|
materialClasses.add(mc); |
||||
|
} |
||||
|
|
||||
|
materialClassRepository.saveAll(materialClasses); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public ResultUtils<List<ThemeVO>> themeHistoryList(String themeName, String startTime, String endTime, Pageable pageable) { |
||||
|
PageRequest page= PageSort.pageRequest(pageable.getPageNumber(), pageable.getPageSize(), "create_time", Sort.Direction.DESC); |
||||
|
//分页查询 |
||||
|
Page<Map<String,Object>> pageMap = materialRepository.getThemeHistoryList(themeName,startTime,endTime,page); |
||||
|
//初始化分页返回数据 |
||||
|
List<ThemeVO> themeVOList = MapUtil.setList(pageMap.getContent(),ThemeVO.class); |
||||
|
return ResultUtils.getResult(themeVOList,pageMap); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public ResultUtils<List<ThemeVO>> getThemeLibrary(String themeName, String themeClass, Integer deviceDirection, Pageable pageable) { |
||||
|
PageRequest page= PageSort.pageRequest(pageable.getPageNumber(), pageable.getPageSize(), "create_time", Sort.Direction.DESC); |
||||
|
//分页查询 |
||||
|
Page<Map<String,Object>> pageMap = materialRepository.getThemeLibrary(themeName,themeClass,deviceDirection,page); |
||||
|
//初始化分页返回数据 |
||||
|
List<ThemeVO> themeVOList = MapUtil.setList(pageMap.getContent(),ThemeVO.class); |
||||
|
return ResultUtils.getResult(themeVOList,pageMap); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public List<ThemeFolder> getAlbumFolder(String orgaId, String folderId, Integer pageNum) { |
||||
|
//当页面为1时 则为画布初始化 |
||||
|
if(pageNum == 1){ |
||||
|
ThemeFolder firstMaterialFolder = themeFolderRepository.findFirstByOrgaIdAndFidIsNull(orgaId); |
||||
|
if(null == firstMaterialFolder){ |
||||
|
firstMaterialFolder = new ThemeFolder(); |
||||
|
firstMaterialFolder.setIsDel(false); |
||||
|
firstMaterialFolder.setIsState(1); |
||||
|
firstMaterialFolder.setOrgaId(orgaId); |
||||
|
firstMaterialFolder = themeFolderRepository.save(firstMaterialFolder); |
||||
|
folderId = firstMaterialFolder.getId(); |
||||
|
} |
||||
|
} |
||||
|
return themeFolderRepository.findAllByOrgaIdAndFid(orgaId,folderId); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public List<MaterialFolder> getMaterialFolder(String orgaId, String folderId, Integer pageNum) { |
||||
|
//当页面为1时 则为素材库初始化 |
||||
|
if(pageNum == 1){ |
||||
|
MaterialFolder firstMaterialFolder = materialFolderRepository.findFirstByOrgaIdAndFidIsNull(orgaId); |
||||
|
if(null == firstMaterialFolder){ |
||||
|
firstMaterialFolder = new MaterialFolder(); |
||||
|
firstMaterialFolder.setIsDel(false); |
||||
|
firstMaterialFolder.setIsState(1); |
||||
|
firstMaterialFolder.setOrgaId(orgaId); |
||||
|
firstMaterialFolder = materialFolderRepository.save(firstMaterialFolder); |
||||
|
folderId = firstMaterialFolder.getId(); |
||||
|
} |
||||
|
} |
||||
|
return materialFolderRepository.findAllByOrgaIdAndFid(orgaId,folderId); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public ResultUtils<List<ThemeVO>> getMyAlbumTheme(String orgaId, String folderId, String themeName, Pageable pageable) { |
||||
|
PageRequest page= PageSort.pageRequest(pageable.getPageNumber(), pageable.getPageSize(), "create_time", Sort.Direction.DESC); |
||||
|
folderId = folderId != null ? folderId : themeFolderRepository.findFirstByOrgaIdAndFidIsNull(orgaId).getId(); |
||||
|
Page<Map<String,Object>> pageMap = materialRepository.getMyAlbumTheme(folderId,themeName,page); |
||||
|
List<ThemeVO> themeVOList = MapUtil.setList(pageMap.getContent(),ThemeVO.class); |
||||
|
return ResultUtils.getResult(themeVOList,pageMap); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public ResultUtils<List<ThemeVO>> getMyMaterial(String orgaId, String folderId, String materialName,Integer materialType, Pageable pageable) { |
||||
|
PageRequest page= PageSort.pageRequest(pageable.getPageNumber(), pageable.getPageSize(), "create_time", Sort.Direction.DESC); |
||||
|
folderId = folderId != null ? folderId : materialFolderRepository.findFirstByOrgaIdAndFidIsNull(orgaId).getId(); |
||||
|
Page<Map<String,Object>> pageMap = materialRepository.getMyMaterial(folderId,materialName,materialType,page); |
||||
|
return null; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void editThemeFolder(FolderDTO dto) { |
||||
|
ThemeFolder folder = new ThemeFolder(); |
||||
|
if(null != dto.getId()){ |
||||
|
folder = themeFolderRepository.findById(dto.getId()).get(); |
||||
|
}else{ |
||||
|
folder.setCreateTime(new Timestamp(new Date().getTime())); |
||||
|
folder.setIsDel(false); |
||||
|
folder.setIsState(1); |
||||
|
} |
||||
|
folder.setFid(dto.getFid()); |
||||
|
folder.setName(dto.getName()); |
||||
|
folder.setImgPath(dto.getImgPath()); |
||||
|
folder.setOrgaId(dto.getOrgaId()); |
||||
|
folder.setUpdateTime(new Timestamp(new Date().getTime())); |
||||
|
themeFolderRepository.saveAndFlush(folder); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void editMaterialFolder(FolderDTO dto) { |
||||
|
MaterialFolder folder = new MaterialFolder(); |
||||
|
if(null != dto.getId()){ |
||||
|
folder = materialFolderRepository.findById(dto.getId()).get(); |
||||
|
}else{ |
||||
|
folder.setCreateTime(new Timestamp(new Date().getTime())); |
||||
|
folder.setIsDel(false); |
||||
|
folder.setIsState(1); |
||||
|
} |
||||
|
folder.setFid(dto.getFid()); |
||||
|
folder.setName(dto.getName()); |
||||
|
folder.setImgPath(dto.getImgPath()); |
||||
|
folder.setOrgaId(dto.getOrgaId()); |
||||
|
folder.setUpdateTime(new Timestamp(new Date().getTime())); |
||||
|
materialFolderRepository.saveAndFlush(folder); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void addMyAlbum(String tfId, String themeId,String orgaId) { |
||||
|
ThemeInFolder themeInFolder = new ThemeInFolder(); |
||||
|
if(StringUtils.isEmpty(tfId)){ |
||||
|
ThemeFolder firstMaterialFolder = themeFolderRepository.findFirstByOrgaIdAndFidIsNull(orgaId); |
||||
|
if(null == firstMaterialFolder){ |
||||
|
firstMaterialFolder = new ThemeFolder(); |
||||
|
firstMaterialFolder.setIsDel(false); |
||||
|
firstMaterialFolder.setIsState(1); |
||||
|
firstMaterialFolder.setOrgaId(orgaId); |
||||
|
firstMaterialFolder = themeFolderRepository.save(firstMaterialFolder); |
||||
|
tfId = firstMaterialFolder.getId(); |
||||
|
} |
||||
|
} |
||||
|
themeInFolder.setThemeId(themeId); |
||||
|
themeInFolder.setTfId(tfId); |
||||
|
themeInFolderRepository.saveAndFlush(themeInFolder); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void deleteMyAlbum(String id) { |
||||
|
themeInFolderRepository.deleteById(id); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void deleteThemeFolder(String id) { |
||||
|
List<String> resultString = new ArrayList<>(); |
||||
|
resultString = getThemeFolder(id,resultString); |
||||
|
System.out.println(resultString); |
||||
|
themeFolderRepository.deleteAllById(resultString); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void deleteMaterialFolder(String id) { |
||||
|
List<String> resultString = new ArrayList<>(); |
||||
|
resultString = getMaterialFolder(id,resultString); |
||||
|
System.out.println(resultString); |
||||
|
materialFolderRepository.deleteAllById(resultString); |
||||
|
} |
||||
|
|
||||
|
public List<String> getThemeFolder(String id,List<String> resultString){ |
||||
|
List<ThemeFolder> themeFolders = themeFolderRepository.findAllByFid(id); |
||||
|
if(null == themeFolders){ |
||||
|
return resultString; |
||||
|
}else{ |
||||
|
for(int i = 0;i<themeFolders.size();i++){ |
||||
|
getThemeFolder(themeFolders.get(i).getId(),resultString); |
||||
|
} |
||||
|
return resultString; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public List<String> getMaterialFolder(String id,List<String> resultString){ |
||||
|
List<MaterialFolder> materialFolders = materialFolderRepository.findAllByFid(id); |
||||
|
if(null == materialFolders){ |
||||
|
return resultString; |
||||
|
}else{ |
||||
|
for(int i = 0;i<materialFolders.size();i++){ |
||||
|
getMaterialFolder(materialFolders.get(i).getId(),resultString); |
||||
|
} |
||||
|
return resultString; |
||||
|
} |
||||
|
} |
||||
|
} |
@ -0,0 +1,59 @@ |
|||||
|
package com.canvas.web.modules.material.service.impl; |
||||
|
|
||||
|
|
||||
|
import com.canvas.web.modules.material.domain.OrgaClass; |
||||
|
import com.canvas.web.modules.material.domain.ThemeClass; |
||||
|
import com.canvas.web.modules.material.dto.ThemeClassDTO; |
||||
|
import com.canvas.web.modules.material.repository.OrgaClassRepository; |
||||
|
import com.canvas.web.modules.material.repository.ThemeClassRepository; |
||||
|
import com.canvas.web.modules.material.service.ThemeClassService; |
||||
|
import lombok.RequiredArgsConstructor; |
||||
|
import org.springframework.stereotype.Service; |
||||
|
|
||||
|
import java.sql.Timestamp; |
||||
|
import java.util.ArrayList; |
||||
|
import java.util.Date; |
||||
|
import java.util.List; |
||||
|
import java.util.Map; |
||||
|
|
||||
|
@Service |
||||
|
@RequiredArgsConstructor |
||||
|
public class ThemeClassServiceImpl implements ThemeClassService { |
||||
|
|
||||
|
ThemeClassRepository themeClassRepository; |
||||
|
OrgaClassRepository orgaClassRepository; |
||||
|
|
||||
|
@Override |
||||
|
public void edit(ThemeClassDTO dto) { |
||||
|
ThemeClass themeClass = new ThemeClass(); |
||||
|
if(null != dto.getId()){ |
||||
|
themeClass = themeClassRepository.findById(dto.getId()).get(); |
||||
|
themeClass.setUpdateTime(new Timestamp(new Date().getTime())); |
||||
|
}else{ |
||||
|
themeClass.setCreateTime(new Timestamp(new Date().getTime())); |
||||
|
themeClass.setUpdateTime(new Timestamp(new Date().getTime())); |
||||
|
} |
||||
|
themeClass.setIsAll(dto.getIsAll()); |
||||
|
themeClass.setClassName(dto.getClassName()); |
||||
|
themeClass = themeClassRepository.saveAndFlush(themeClass); |
||||
|
if(themeClass.getIsAll()){ |
||||
|
orgaClassRepository.deleteAllByClassId(themeClass.getId()); |
||||
|
}else if(null != dto.getOrgaIds() || dto.getOrgaIds().size() !=0){ |
||||
|
orgaClassRepository.deleteAllByClassId(themeClass.getId()); |
||||
|
List<OrgaClass> orgaClassList = new ArrayList<>(); |
||||
|
for(int i = 0;i<dto.getOrgaIds().size();i++){ |
||||
|
OrgaClass orgaClass = new OrgaClass(); |
||||
|
orgaClass.setClassId(themeClass.getId()); |
||||
|
orgaClass.setOrgaId(dto.getOrgaIds().get(i)); |
||||
|
orgaClassList.add(orgaClass); |
||||
|
} |
||||
|
orgaClassRepository.saveAllAndFlush(orgaClassList); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public List<Map<String,Object>> getTheme(String orgaId) { |
||||
|
List<Map<String,Object>> list = themeClassRepository.getThemeByOrgaId(orgaId); |
||||
|
return list; |
||||
|
} |
||||
|
} |
@ -0,0 +1,17 @@ |
|||||
|
package com.canvas.web.modules.material.vo; |
||||
|
|
||||
|
import com.canvas.web.modules.material.domain.ThemeFolder; |
||||
|
import com.canvas.web.modules.utils.ResultUtils; |
||||
|
import lombok.Getter; |
||||
|
import lombok.Setter; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
@Getter |
||||
|
@Setter |
||||
|
public class AlbumVO { |
||||
|
|
||||
|
private List<ThemeFolder> materialFolders; |
||||
|
private ResultUtils<List<ThemeVO>> pageThemeVO; |
||||
|
|
||||
|
} |
@ -0,0 +1,18 @@ |
|||||
|
package com.canvas.web.modules.material.vo; |
||||
|
|
||||
|
import com.canvas.web.modules.material.domain.MaterialFolder; |
||||
|
import com.canvas.web.modules.material.domain.ThemeFolder; |
||||
|
import com.canvas.web.modules.utils.ResultUtils; |
||||
|
import lombok.Getter; |
||||
|
import lombok.Setter; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
@Getter |
||||
|
@Setter |
||||
|
public class MyMaterialVO { |
||||
|
|
||||
|
private List<MaterialFolder> materialFolders; |
||||
|
private ResultUtils<List<ThemeVO>> pageThemeVO; |
||||
|
|
||||
|
} |
@ -0,0 +1,24 @@ |
|||||
|
package com.canvas.web.modules.material.vo; |
||||
|
|
||||
|
import com.canvas.web.modules.material.domain.MaterialClass; |
||||
|
import lombok.Getter; |
||||
|
import lombok.Setter; |
||||
|
|
||||
|
import java.sql.Timestamp; |
||||
|
import java.util.List; |
||||
|
|
||||
|
@Getter |
||||
|
@Setter |
||||
|
public class ThemeVO { |
||||
|
|
||||
|
private String materialId; |
||||
|
private String materialName; |
||||
|
private String materialType; |
||||
|
private String depositUrl; |
||||
|
private String imgPath; |
||||
|
private String classes; |
||||
|
private Integer deviceDirection; |
||||
|
private Timestamp createTime; |
||||
|
private Boolean isDel; |
||||
|
|
||||
|
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue