提交 18fa77bd authored 作者: renjiancai's avatar renjiancai

--no commit message

上级 1db7e310
package com.zrqx.core.form.resource.bg;
import java.util.List;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class SaveResourceRelationForm {
@ApiModelProperty("当前资源id")
@ApiModelProperty("当前id")
private Integer id;
@ApiModelProperty("管理资源id")
private String objectId;
@ApiModelProperty("被关联资源id")
private Integer[] resourceIds;
@ApiModelProperty("资源类型 图书 文章 视频 音频 图片 课件 期刊 pdf")
private List<String> resourceIds;
@ApiModelProperty("资源名称")
private List<String> name;
@ApiModelProperty("资源类型 图书 文章 ")
private Integer resourceType;
}
......@@ -16,7 +16,7 @@ public class QueryEbookInfoForm {
private String author;
@ApiModelProperty("ISBN")
private String isbn;
@ApiModelProperty("筛选 1:无作者 author 2:无封面 bookCover 3:无简介 summary 4:未定价 pricing")
@ApiModelProperty("筛选 1:无作者 author 2:无封面 bookCover 3:无简介 summary")
private Integer option;
@ApiModelProperty(value="上传时间-开始")
private String beginTime;
......@@ -24,7 +24,7 @@ public class QueryEbookInfoForm {
private String endTime;
@ApiModelProperty("书刊类型 0外版书 1本版书")
private Integer type;
@ApiModelProperty("销售状态 0 不可售 1 可售")
@ApiModelProperty("销售状态 0 不可售 1VIP会员免费 2 购买单品 ")
private Integer status;
@ApiModelProperty("电子书状态 0:录入中 1:待审核 2:审核中 3:审核不通过 4:已上架 5:已下架")
private Integer bookStatus;
......@@ -32,6 +32,4 @@ public class QueryEbookInfoForm {
private List<Integer> diyTypeId;
@ApiModelProperty("自定义分类code")
private String diyTypeCode;
@ApiModelProperty("民族 1蒙古族 2侗族 3藏族 4朝鲜族 5土家族 6回族 7满族 8汉族")
private Integer nationsType;
}
package com.zrqx.core.form.resource.bg.ebook;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import java.util.List;
import com.zrqx.core.model.resource.ebook.EbookDiyType;
import com.zrqx.core.model.resource.ebook.EbookLabelContentDiyType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.zrqx.core.model.resource.ebook.EbookDiyType;
@Data
@ApiModel(value="SaveUpdateEbookForm",description="添加或修改医著")
public class SaveUpdateEbookForm {
......@@ -42,18 +42,18 @@ public class SaveUpdateEbookForm {
private String midpicid;
@ApiModelProperty("书刊类型 0外版书 1本版书")
private Integer type;
@ApiModelProperty("销售状态 0 不可售 1 可售")
@ApiModelProperty("销售状态 0 不可售 1VIP会员免费 2 购买单品 ")
private Integer status;
@ApiModelProperty("关键词")
private String keywords;
@ApiModelProperty("电子书封面")
private String bookCover;
@ApiModelProperty("纸质书购买地址")
private String address;
@ApiModelProperty("上下架状态 0:录入中 1:待审核 2:审核中 3:审核不通过 4:已上架 5:已下架")
private Integer bookStatus;
@ApiModelProperty("pdf文件")
private String pdfFile;
@ApiModelProperty("内容简介")
private String summary;
@ApiModelProperty("图书目录")
......@@ -67,9 +67,6 @@ public class SaveUpdateEbookForm {
@ApiModelProperty("分类id")
private List<EbookDiyType> diyType;
@ApiModelProperty("标签id")
private List<EbookLabelContentDiyType> label;
@ApiModelProperty("民族 1蒙古族 2侗族 3藏族 4朝鲜族 5土家族 6回族 7满族 8汉族")
private Integer nationsType;
@ApiModelProperty(value = "资源类型")
private Integer resourceType;
}
......@@ -2,7 +2,6 @@ package com.zrqx.core.form.resource.bg.ebook;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import java.util.List;
import lombok.Data;
......@@ -15,12 +14,8 @@ public class UpdateEbookForm {
private List<String> ids;
@ApiModelProperty("上下架状态 2:审核中 3:审核不通过 4:上架 5:下架")
private Integer bookStatus;
@ApiModelProperty("销售状态 0 不可售 1 可售")
@ApiModelProperty("销售状态 0 不可售 1VIP会员免费 2 购买单品 ")
private Integer status;
@ApiModelProperty("售价选项 0 免费,1收费")
private Integer priceOption;
@ApiModelProperty("售价 元")
private BigDecimal price;
@ApiModelProperty(value = "分类id")
private List<EbookDiyType> diyType;
}
......@@ -47,12 +47,12 @@ public class Book {
private String fontCount;
@ApiModelProperty("版次")
private String revision;
@ApiModelProperty("中图分类")
private String midpicid;
@ApiModelProperty("书刊类型 0外版书 1本版书")
private Integer type;
@ApiModelProperty("销售状态 0 不可售 1 可售")
@ApiModelProperty("销售状态 0 不可售 1VIP会员免费 2 购买单品 ")
private Integer status;
@ApiModelProperty("纸质书购买地址")
private String address;
@ApiModelProperty("民族 1蒙古族 2侗族 3藏族 4朝鲜族 5土家族 6回族 7满族 8汉族")
private Integer nationsType;
......
......@@ -28,7 +28,6 @@ public class Ebook {
@ApiModelProperty("电子书封面")
private String bookCover;
@ApiModelProperty("上下架状态 0:录入中 1:待审核 2:审核中 3:审核不通过 4:已上架 5:已下架")
private Integer bookStatus;
@ApiModelProperty("上架时间")
......
package com.zrqx.core.model.resource.ebook;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value="EbookLabelContentDiyType",description="电子书与标签关系表")
@Table(name = "res_Ebook_Label_Content_Diy_Type")
public class EbookLabelContentDiyType {
@Id
@GeneratedValue(generator="JDBC")
@ApiModelProperty("电子书与标签内容关系表id")
private Integer id;
@ApiModelProperty("电子书id")
private String ebookId;
@ApiModelProperty(value = "标签id")
private Integer labelId;
@ApiModelProperty(value = "标签内容id")
private Integer labelContentDiyTypeId;
@ApiModelProperty(value = "标签内容code")
private String labelContentDiyTypeCode;
}
package com.zrqx.core.model.resource.ebook;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import lombok.Data;
@Data
@Table(name = "res_ebook_resource")
@ApiModel(value = "EbookResource", description = "图书关联资源")
public class EbookResource {
@Id
@GeneratedValue(generator="JDBC")
@ApiModelProperty("关联表id")
private Integer id;
@ApiModelProperty("关联关联id")
private String objectId;
@ApiModelProperty("被关联资源id")
private String resourceId;
@ApiModelProperty("资源类型")
private Integer resourceType;
@ApiModelProperty("创建时间")
private Date createTime;
@ApiModelProperty("资源名")
private String name;
@ApiModelProperty("排序号")
private Integer sort;
}
......@@ -10,14 +10,12 @@ public class EbookListVO {
private String id;
@ApiModelProperty(value = "电子书名")
private String name;
@ApiModelProperty(value = "电子书封面")
private String bookCover;
@ApiModelProperty("作者")
private String author;
@ApiModelProperty("ISBN")
private String isbn;
@ApiModelProperty("售价")
private String price;
@ApiModelProperty("销售状态 0 不可售 1VIP会员免费 2 购买单品 ")
private Integer status;
@ApiModelProperty("上传时间")
private String uploadTime;
@ApiModelProperty("更新时间")
......
package com.zrqx.core.vo.resource.ebook;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import java.util.List;
import com.zrqx.core.model.resource.ebook.EbookDiyType;
import com.zrqx.core.model.resource.ebook.EbookLabelContentDiyType;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.zrqx.core.model.resource.ebook.EbookDiyType;
/**
* 电子书vo
* @author Conan
......@@ -41,34 +41,24 @@ public class EbookVO {
private String bookCover;
@ApiModelProperty("关键词")
private String keywords;
@ApiModelProperty("中图分类")
private String midpicid;
@ApiModelProperty("民族 1蒙古族 2侗族 3藏族 4朝鲜族 5土家族 6回族 7满族 8汉族")
private Integer nationsType;
@ApiModelProperty("纸质书购买地址")
private String address;
@ApiModelProperty(value = "分类id")
private List<EbookDiyType> diyType;
@ApiModelProperty(value = "标签id")
private List<EbookLabelContentDiyType> label;
@ApiModelProperty("内容简介")
private String summary;
@ApiModelProperty("图书目录")
private String bookCatalog;
@ApiModelProperty("pdf文件")
private String pdfFile;
@ApiModelProperty("定价 元 在前台展示为划线价格")
private BigDecimal pricing;
@ApiModelProperty("售价选项 0 免费,1费")
@ApiModelProperty("售价选项 0 免费,1费")
private Integer priceOption;
@ApiModelProperty("售价 元")
private BigDecimal price;
@ApiModelProperty("书刊类型 0外版书 1本版书")
private Integer type;
@ApiModelProperty("销售状态 0 不可售 1 可售")
@ApiModelProperty("销售状态 0 不可售 1VIP会员免费 2 购买单品 ")
private Integer status;
@ApiModelProperty(value = "pdf原始名")
private String pdf_zh;
}
......@@ -315,14 +315,14 @@ public class ArticleLibraryController {
@PostMapping(value = ResourceRequestPath.RELATION_RESOURCE + ResourceRequestPath.SAVE)
public CallBack<Boolean> saveRelation(@RequestBody SaveResourceRelationForm entity) {
if (entity.getId() == null || entity.getResourceIds() == null || entity.getResourceType() == null
|| entity.getResourceIds().length == 0) {
|| entity.getResourceIds().size() == 0) {
throw new ParameterValidateException(ResponseCodeEnum.MISS_EXCEPTION.getCode(), "必须指定id、被关联的resourceId、资源类型");
}
List<ArticleResource> recordList = new ArrayList<ArticleResource>();
Arrays.asList(entity.getResourceIds()).forEach(resourceId -> {
ArticleResource e = new ArticleResource();
e.setId(entity.getId());
e.setResourceId(resourceId);
//e.setResourceId(resourceId);
e.setCreateTime(new Date());
e.setResourceType(entity.getResourceType());
recordList.add(e);
......
......@@ -186,14 +186,14 @@ public class AudioLibraryController {
@ApiOperation(value = "保存相关资源" , notes ="保存相关资源")
@PostMapping(value = ResourceRequestPath.RELATION_RESOURCE + ResourceRequestPath.SAVE)
public CallBack<Boolean> saveRelation(@RequestBody SaveResourceRelationForm entity){
if(entity.getId() == null || entity.getResourceIds() == null || entity.getResourceType() == null || entity.getResourceIds().length == 0){
if(entity.getId() == null || entity.getResourceIds() == null || entity.getResourceType() == null || entity.getResourceIds().size() == 0){
throw new ParameterValidateException(ResponseCodeEnum.MISS_EXCEPTION.getCode(), "必须指定id、被关联的resourceId、资源类型");
}
List<AudioResource> recordList = new ArrayList<AudioResource>();
Arrays.asList(entity.getResourceIds()).forEach(resourceId -> {
AudioResource e = new AudioResource();
e.setId(entity.getId());
e.setResourceId(resourceId);
//e.setResourceId(resourceId);
e.setCreateTime(new Date());
e.setResourceType(entity.getResourceType());
recordList.add(e);
......
......@@ -188,14 +188,14 @@ public class CoursewareLibraryController {
@ApiOperation(value = "保存相关资源" , notes ="保存相关资源")
@PostMapping(value = ResourceRequestPath.RELATION_RESOURCE + ResourceRequestPath.SAVE)
public CallBack<Boolean> saveRelation(@RequestBody SaveResourceRelationForm entity){
if(entity.getId() == null || entity.getResourceIds() == null || entity.getResourceType() == null || entity.getResourceIds().length == 0){
if(entity.getId() == null || entity.getResourceIds() == null || entity.getResourceType() == null || entity.getResourceIds().size() == 0){
throw new ParameterValidateException(ResponseCodeEnum.MISS_EXCEPTION.getCode(), "必须指定id、被关联的resourceId、资源类型");
}
List<CoursewareResource> recordList = new ArrayList<CoursewareResource>();
Arrays.asList(entity.getResourceIds()).forEach(resourceId -> {
CoursewareResource e = new CoursewareResource();
e.setId(entity.getId());
e.setResourceId(resourceId);
//e.setResourceId(resourceId);
e.setCreateTime(new Date());
e.setResourceType(entity.getResourceType());
recordList.add(e);
......
......@@ -5,11 +5,12 @@ import io.swagger.annotations.ApiOperation;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
......@@ -24,6 +25,7 @@ import tk.mybatis.mapper.entity.Example;
import com.zrqx.core.constant.resource.ResourceRequestPath;
import com.zrqx.core.enums.AllResourceTypeEnum;
import com.zrqx.core.enums.GoodsTypeEnum;
import com.zrqx.core.enums.ResponseCodeEnum;
import com.zrqx.core.enums.resource.BookSaleStatusEnum;
import com.zrqx.core.enums.resource.EbookOptionEnum;
import com.zrqx.core.enums.resource.EbookStatusEnum;
......@@ -32,19 +34,18 @@ import com.zrqx.core.exception.BaseException;
import com.zrqx.core.exception.BusinessValidateException;
import com.zrqx.core.exception.ParameterValidateException;
import com.zrqx.core.form.resource.bg.QueryResourceForPoPForm;
import com.zrqx.core.form.resource.bg.SaveResourceRelationForm;
import com.zrqx.core.form.resource.bg.ebook.QueryEbookInfoForm;
import com.zrqx.core.form.resource.bg.ebook.SaveUpdateEbookForm;
import com.zrqx.core.form.resource.bg.ebook.UpdateEbookForm;
import com.zrqx.core.form.resource.bg.recommend.UpdateRecommendResourceForm;
import com.zrqx.core.model.resource.articlelibrary.ArticleLibrary;
import com.zrqx.core.model.resource.articlelibrary.ArticleLibraryDiyType;
import com.zrqx.core.model.resource.ebook.Book;
import com.zrqx.core.model.resource.ebook.EbookResource;
import com.zrqx.core.model.resource.ebook.Ebook;
import com.zrqx.core.model.resource.ebook.EbookDiyType;
import com.zrqx.core.model.resource.ebook.EbookLabelContentDiyType;
import com.zrqx.core.model.resource.imagelibrary.ImageLibrary;
import com.zrqx.core.model.resource.imagelibrary.ImageLibraryDiyType;
import com.zrqx.core.model.resource.marketing.PromotionContent;
import com.zrqx.core.util.page.PageInfo;
import com.zrqx.core.util.page.PageParam;
import com.zrqx.core.util.response.CallBack;
......@@ -54,15 +55,13 @@ import com.zrqx.core.vo.resource.ebook.EbookVO;
import com.zrqx.resource.bg.service.articlelibrary.ArticleLibraryDiyTypeService;
import com.zrqx.resource.bg.service.articlelibrary.ArticleLibraryService;
import com.zrqx.resource.bg.service.articlelibrary.ChapterLibraryService;
import com.zrqx.resource.bg.service.ebook.EbookResourceService;
import com.zrqx.resource.bg.service.ebook.BookService;
import com.zrqx.resource.bg.service.ebook.EbookDiyTypeService;
import com.zrqx.resource.bg.service.ebook.EbookLabelContentDiyTypeService;
import com.zrqx.resource.bg.service.ebook.EbookService;
import com.zrqx.resource.bg.service.imagelibrary.ImageLibraryDiyTypeRelationService;
import com.zrqx.resource.bg.service.imagelibrary.ImageLibraryService;
import com.zrqx.resource.bg.service.marketing.PromotionContentService;
import com.zrqx.resource.bg.service.pdffilelibrary.PdfLibraryService;
import com.zrqx.resource.bg.service.recommend.RecommendResourceService;
import com.zrqx.resource.commons.Redis;
/**
......@@ -83,8 +82,6 @@ public class EbookController {
@Autowired
private EbookDiyTypeService dtservice;
@Autowired
private EbookLabelContentDiyTypeService lcdtservice;
@Autowired
private Redis redis;
@Autowired
......@@ -100,34 +97,22 @@ public class EbookController {
private ImageLibraryService ilService;
@Autowired
private ImageLibraryDiyTypeRelationService ildtrService;
/** 推荐位内容 */
@Autowired
private RecommendResourceService recommendResourceService;
/** 促销内容 */
@Autowired
private PromotionContentService promotionContentService;
private EbookResourceService resourceService;
@ApiOperation("保存电子书")
@ApiOperation("保存/更新电子书")
@PostMapping(ResourceRequestPath.SAVE)
public CallBack<?> saveBook(@RequestBody SaveUpdateEbookForm form) {
if (!ebookservice.saveOrUpdate(form)) {
throw new BusinessValidateException("操作失败");
}
// 促销活动内容修改
PromotionContent con = new PromotionContent();
con.setResourceId(form.getId());
con.setResourceType(AllResourceTypeEnum.YIZHU.getCode());
con.setName(form.getName());
promotionContentService.updateContent(con);
// 推荐位内容修改
UpdateRecommendResourceForm res = new UpdateRecommendResourceForm();
/* UpdateRecommendResourceForm res = new UpdateRecommendResourceForm();
res.setResId(form.getId());
res.setResType(AllResourceTypeEnum.YIZHU.getCode());
res.setResImg(form.getBookCover());
res.setResName(form.getName());
recommendResourceService.updateResourceContent(res);
recommendResourceService.updateResourceContent(res);*/
return CallBack.success(true);
}
......@@ -144,31 +129,8 @@ public class EbookController {
example.createCriteria().andEqualTo("ebookId", oid);
List<EbookDiyType> dtList = dtservice.selectByExample(example);
vo.setDiyType(dtList);
// 组装标签分类
example = lcdtservice.createExample();
example.createCriteria().andEqualTo("ebookId", oid);
List<EbookLabelContentDiyType> lcdList = lcdtservice.selectByExample(example);
vo.setLabel(lcdList);
if (StringUtils.isNotBlank(ebook.getPdfFile())) {
vo.setPdf_zh(pdfLibraryService.getOriginalFileName(ebook.getPdfFile()));
}
return CallBack.success(vo);
}
@ApiOperation(value = "批量修改价格", notes = "批量修改价格")
@PostMapping(value = ResourceRequestPath.BATCH_UPDATE_PRICE)
public CallBack<Boolean> update1(@RequestBody UpdateEbookForm form) {
Ebook eb = new Ebook();
eb.setPriceOption(form.getPriceOption());
eb.setPrice(form.getPrice());
Example example = dtservice.createExample();
example.createCriteria().andIn("id", form.getIds());
if (!ebookservice.UpdateByExampleSelective(eb,example)) {
throw new BusinessValidateException("操作失败");
}
return CallBack.success();
}
@ApiOperation(value = "批量修改分类", notes = "批量修改分类")
@PostMapping(value = ResourceRequestPath.BATCH_UPDATE_DIYTIPE)
public CallBack<Boolean> update2(@RequestBody UpdateEbookForm form) {
......@@ -234,14 +196,6 @@ public class EbookController {
} else {
throw new ParameterValidateException("请求参数有误,请检查!");
}
// 修改文章状态
if (form.getBookStatus() == EbookStatusEnum._5.getCode()) {
Example example = alservice.createExample();
example.createCriteria().andIn("bookId", form.getIds());
ArticleLibrary article = new ArticleLibrary();
article.setStatus(LibraryStatusEnum.STATUS_2.getCode());
alservice.UpdateByExampleSelective(article,example);
}
return CallBack.success();
}
......@@ -264,11 +218,6 @@ public class EbookController {
// 不能变更为6逻辑删除
throw new BusinessValidateException("请先下架,再删除数据。");
}
// 这里需要级联删除其他接口关联资源
// ----推荐位内容
recommendResourceService.delectByResourceIds(ids, AllResourceTypeEnum.YIZHU.getCode());
// ----促销活动
promotionContentService.delectByResourceIds(ids, AllResourceTypeEnum.YIZHU.getCode());
// 文章
// 修改文章状态
Example example = alservice.createExample();
......@@ -278,13 +227,10 @@ public class EbookController {
alservice.UpdateByExampleSelective(article,example);
return CallBack.success();
}
@ApiOperation("查询电子书列表")
@GetMapping(ResourceRequestPath.PAGE)
public CallBack<PageInfo<EbookListVO>> getBookList(QueryEbookInfoForm form, PageParam pageParam) {
if (null != pageParam && StringUtils.isBlank(pageParam.getOrderBy())) {
pageParam.setOrderBy("uploadTime desc");
}
pageParam.setOrderBy("uploadTime desc");
return CallBack.success(ebookservice.page(form, pageParam));
}
......@@ -300,7 +246,32 @@ public class EbookController {
public CallBack<PageInfo<EbookListVO>> page(QueryResourceForPoPForm form, PageParam pageParam) {
return CallBack.success(ebookservice.pageByTitleAndDiyType(form, pageParam));
}
@ApiOperation(value = "保存相关资源", notes = "保存相关资源")
@PostMapping(value = ResourceRequestPath.RELATION_RESOURCE + ResourceRequestPath.SAVE)
public CallBack<Boolean> saveRelation(@RequestBody SaveResourceRelationForm entity) {
if (entity.getId() == null || entity.getResourceIds() == null || entity.getResourceType() == null
|| entity.getResourceIds().size() == 0) {
throw new ParameterValidateException(ResponseCodeEnum.MISS_EXCEPTION.getCode(), "必须指定id、被关联的resourceId、资源类型");
}
List<EbookResource> recordList = new ArrayList<EbookResource>();
for (int i = 0; i < entity.getResourceIds().size(); i++) {
EbookResource e = new EbookResource();
e.setObjectId(entity.getObjectId());
e.setResourceId(entity.getResourceIds().get(i));
e.setName(entity.getName().get(i));
e.setCreateTime(new Date());
e.setResourceType(entity.getResourceType());
Integer maxOrderNum = resourceService.getMaxOrderNum();
e.setSort(maxOrderNum+1);
recordList.add(e);
}
return CallBack.success(resourceService.insertList(recordList));
}
@ApiOperation(value = "查询自定义分类当前最大排序号" , notes ="查询当前最大排序号")
@GetMapping(value = ResourceRequestPath.MAXORDERNUM)
public CallBack<Integer> getMaxOrderNum(){
return CallBack.success(resourceService.getMaxOrderNum());
}
/**
* 批量修改
*
......
......@@ -189,14 +189,14 @@ public class ImageLibraryController {
@ApiOperation(value = "保存相关资源" , notes ="保存相关资源")
@PostMapping(value = ResourceRequestPath.RELATION_RESOURCE + ResourceRequestPath.SAVE)
public CallBack<Boolean> saveRelation(@RequestBody SaveResourceRelationForm entity){
if(entity.getId() == null || entity.getResourceIds() == null || entity.getResourceType() == null || entity.getResourceIds().length == 0){
if(entity.getId() == null || entity.getResourceIds() == null || entity.getResourceType() == null || entity.getResourceIds().size() == 0){
throw new ParameterValidateException(ResponseCodeEnum.MISS_EXCEPTION.getCode(), "必须指定id、被关联的resourceId、资源类型");
}
List<ImageResource> recordList = new ArrayList<ImageResource>();
Arrays.asList(entity.getResourceIds()).forEach(resourceId -> {
ImageResource e = new ImageResource();
e.setId(entity.getId());
e.setResourceId(resourceId);
//e.setResourceId(resourceId);
e.setCreateTime(new Date());
e.setResourceType(entity.getResourceType());
recordList.add(e);
......
......@@ -185,14 +185,14 @@ public class VideoLibraryController {
@ApiOperation(value = "保存相关资源" , notes ="保存相关资源")
@PostMapping(value = ResourceRequestPath.RELATION_RESOURCE + ResourceRequestPath.SAVE)
public CallBack<Boolean> saveRelation(@RequestBody SaveResourceRelationForm entity){
if(entity.getId()!= null || entity.getResourceIds() == null || entity.getResourceType() == null || entity.getResourceIds().length == 0){
if(entity.getId()!= null || entity.getResourceIds() == null || entity.getResourceType() == null || entity.getResourceIds().size() == 0){
throw new ParameterValidateException(ResponseCodeEnum.MISS_EXCEPTION.getCode(), "必须指定id、被关联的resourceId、资源类型");
}
List<VideoResource> recordList = new ArrayList<VideoResource>();
Arrays.asList(entity.getResourceIds()).forEach(resourceId -> {
VideoResource e = new VideoResource();
e.setId(entity.getId());
e.setResourceId(resourceId);
//e.setResourceId(resourceId);
e.setCreateTime(new Date());
e.setResourceType(entity.getResourceType());
recordList.add(e);
......
package com.zrqx.resource.bg.mapper.ebook;
import com.zrqx.core.mapper.BaseMapper;
import com.zrqx.core.model.resource.ebook.EbookLabelContentDiyType;
/**
* 图书和标签关系
*/
public interface EbookLabelContentDiyTypeMapper extends BaseMapper<EbookLabelContentDiyType> {
}
......@@ -43,9 +43,6 @@ public interface EbookMapper extends BaseMapper<Ebook>{
+ "<if test='option==3'>"
+ " AND be.summary is null "
+ "</if>"
+ "<if test='option==4'>"
+ " AND be.pricing is null "
+ "</if>"
+ "<if test='bookStatus!=null'>"
+ " AND be.bookStatus = #{bookStatus} "
+ "</if>"
......@@ -67,9 +64,6 @@ public interface EbookMapper extends BaseMapper<Ebook>{
+ "#{id}"
+ "</foreach>"
+ "</if>"
+ "<if test='nationsType != null ' >"
+ "and bb.nationsType = #{nationsType} "
+ "</if>"
+ "<if test='"+ NOTBLANK +"(nai)'>"
+ " AND (bb.name like concat(#{nai},'%') OR bb.author like concat(#{nai},'%') OR bb.isbn like concat(#{nai},'%')) "
+ "</if>"
......
package com.zrqx.resource.bg.mapper.ebook;
import java.util.List;
import org.apache.ibatis.annotations.Select;
import com.zrqx.core.form.resource.bg.QueryResourceRelationForm;
import com.zrqx.core.mapper.BaseMapper;
import com.zrqx.core.model.resource.ebook.EbookResource;
import com.zrqx.core.vo.resource.ResourceRelationVo;
public interface EbookResourceMapper extends BaseMapper<EbookResource> {
@Select("<script>"
+ "select id,objectId,name,resourceId,resourceType,createTime from res_book_resource "
+ "where objectId = #{id} "
+ "<if test='resourceType != null'> and resourceType = #{resourceType}</if>"
+ "<if test='name != null'> and name like concat(#{name},'%')</if>"
+ "</script>")
List<ResourceRelationVo> queryByIdAndResourceType(QueryResourceRelationForm entity);
/**
* 查询排序号最大值
* @return
*/
@Select("select sort from res_book_resource")
Integer getMaxOrderNum();
}
package com.zrqx.resource.bg.service.ebook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.zrqx.core.mapper.BaseMapper;
import com.zrqx.core.model.resource.ebook.EbookLabelContentDiyType;
import com.zrqx.core.service.BaseServiceImpl;
import com.zrqx.resource.bg.mapper.ebook.EbookLabelContentDiyTypeMapper;
/**
* 图书库和标签
*/
@Service
public class EbookLabelContentDiyTypeSerivceImpl extends BaseServiceImpl<EbookLabelContentDiyType,Integer> implements EbookLabelContentDiyTypeService {
@Autowired
private EbookLabelContentDiyTypeMapper mapper;
@Override
public BaseMapper<EbookLabelContentDiyType> getMapper() {
return mapper;
}
}
package com.zrqx.resource.bg.service.ebook;
import com.zrqx.core.model.resource.ebook.EbookLabelContentDiyType;
import com.zrqx.core.service.BaseService;
/**
* 图书库和标签
*/
public interface EbookLabelContentDiyTypeService extends BaseService<EbookLabelContentDiyType,Integer>{
}
package com.zrqx.resource.bg.service.ebook;
import java.util.List;
import com.zrqx.core.form.resource.bg.QueryResourceRelationForm;
import com.zrqx.core.model.resource.ebook.EbookResource;
import com.zrqx.core.service.BaseService;
import com.zrqx.core.util.page.PageParam;
import com.zrqx.core.vo.resource.ResourceRelationVo;
public interface EbookResourceService extends BaseService<EbookResource, Integer> {
/**
* 获取相关资源列表
* @param entity
* @param pageParam
* @return
* @author yzg
* @date: 2018年7月24日 上午9:09:34
*/
List<ResourceRelationVo> queryByIdAndResourceType(QueryResourceRelationForm entity, PageParam pageParam);
/**
* 批量删除相关资源
* @param ids
* @return
* @author rjc
* @date: 2019年2月15日 下午5:20:48
*/
boolean batchDeleteResource(List<String> ids);
/**
* 查询当前最大排序号
* @param id
* @return
*/
Integer getMaxOrderNum();
}
package com.zrqx.resource.bg.service.ebook;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.github.pagehelper.PageHelper;
import com.zrqx.core.exception.BaseException;
import com.zrqx.core.form.resource.bg.QueryResourceRelationForm;
import com.zrqx.core.mapper.BaseMapper;
import com.zrqx.core.model.resource.ebook.EbookResource;
import com.zrqx.core.service.BaseServiceImpl;
import com.zrqx.core.util.page.PageParam;
import com.zrqx.core.vo.resource.ResourceRelationVo;
import com.zrqx.resource.bg.mapper.ebook.EbookResourceMapper;
@Service
public class EbookResourceServiceImpl extends BaseServiceImpl<EbookResource, Integer> implements EbookResourceService{
@Autowired
private EbookResourceMapper bookResourceMapper;
@Override
public BaseMapper<EbookResource> getMapper() {
// TODO Auto-generated method stub
return bookResourceMapper;
}
/**
* 获取相关资源列表
* @see com.zrqx.resource.bg.service.articlelibrary.ArticleResourceService#queryByIdAndResourceType(com.zrqx.core.form.resource.bg.QueryResourceRelationForm, com.zrqx.core.util.PageParam)
* @param entity
* @param pageParam
* @return
* @author yzg
* @date: 2018年7月24日 上午9:10:11
*/
@Override
public List<ResourceRelationVo> queryByIdAndResourceType(QueryResourceRelationForm entity, PageParam pageParam) {
PageHelper.startPage(pageParam);
// TODO Auto-generated method stub
return bookResourceMapper.queryByIdAndResourceType(entity);
}
@Override
public boolean batchDeleteResource(List<String> ids) {
if (ids.size() == 0) {
throw new BaseException(-7,"没有选中任何数据,请重新选择");
}
//createCriteria().andIn("id", ids);
List<EbookResource> list = bookResourceMapper.selectByExample(example);
for (EbookResource entity : list) {
bookResourceMapper.deleteByPrimaryKey(entity);
}
return true;
}
@Override
public Integer getMaxOrderNum() {
PageHelper.startPage(1, 1, "sort desc");
Integer maxOrderNum = bookResourceMapper.getMaxOrderNum();
return maxOrderNum == null ? 0 : maxOrderNum;
}
}
......@@ -11,7 +11,6 @@ import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import com.zrqx.core.enums.AllResourceTypeEnum;
import com.zrqx.core.enums.resource.EbookOptionEnum;
import com.zrqx.core.enums.resource.PriceOptionEnum;
import com.zrqx.core.form.resource.bg.QueryResourceForPoPForm;
import com.zrqx.core.form.resource.bg.ebook.QueryEbookInfoForm;
......@@ -21,14 +20,12 @@ import com.zrqx.core.mapper.BaseMapper;
import com.zrqx.core.model.resource.ebook.Book;
import com.zrqx.core.model.resource.ebook.Ebook;
import com.zrqx.core.model.resource.ebook.EbookDiyType;
import com.zrqx.core.model.resource.ebook.EbookLabelContentDiyType;
import com.zrqx.core.service.BaseServiceImpl;
import com.zrqx.core.util.page.PageInfo;
import com.zrqx.core.util.page.PageParam;
import com.zrqx.core.vo.resource.ebook.EbookListVO;
import com.zrqx.resource.bg.mapper.ebook.BookMapper;
import com.zrqx.resource.bg.mapper.ebook.EbookDiyTypeMapper;
import com.zrqx.resource.bg.mapper.ebook.EbookLabelContentDiyTypeMapper;
import com.zrqx.resource.bg.mapper.ebook.EbookMapper;
/**
......@@ -46,9 +43,6 @@ public class EbookServiceImpl extends BaseServiceImpl<Ebook, String> implements
private EbookMapper ebookMapper;
@Autowired
private EbookDiyTypeMapper ebookDiyTypeMapper;
@Autowired
private EbookLabelContentDiyTypeMapper ebookLabelDiyTypeMapper;
@Override
public BaseMapper<Ebook> getMapper() {
return ebookMapper;
......@@ -101,10 +95,6 @@ public class EbookServiceImpl extends BaseServiceImpl<Ebook, String> implements
EbookDiyType ebdt = new EbookDiyType();
ebdt.setEbookId(ebook.getId());
ebookDiyTypeMapper.delete(ebdt);
// 删除原有标签关系表中的关系
EbookLabelContentDiyType ebldt = new EbookLabelContentDiyType();
ebldt.setEbookId(ebook.getId());
ebookLabelDiyTypeMapper.delete(ebldt);
}
// 添加关系
if (form.getDiyType() != null && form.getDiyType().size() > 0) {
......@@ -112,12 +102,6 @@ public class EbookServiceImpl extends BaseServiceImpl<Ebook, String> implements
dtlist.forEach(li -> li.setEbookId(ebook.getId()));
ebookDiyTypeMapper.insertList(dtlist);
}
// 添加与标签的关系
if (form.getLabel() != null && form.getLabel().size() > 0) {
List<EbookLabelContentDiyType> ldtList = form.getLabel();
ldtList.forEach(li -> li.setEbookId(ebook.getId()));
ebookLabelDiyTypeMapper.insertList(ldtList);
}
return true;
}
......
package com.zrqx.resource.fg.mapper.ebook;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import com.zrqx.core.mapper.BaseMapper;
import com.zrqx.core.model.resource.ebook.EbookLabelContentDiyType;
import com.zrqx.core.model.resource.label.LabelContentDiyType;
import com.zrqx.core.vo.resource.fg.label.FgLabelInfoVO;
/**
* 图书和标签关系
*/
public interface FgEbookLabelContentDiyTypeMapper extends BaseMapper<EbookLabelContentDiyType> {
@Select("<script>"
+ "SELECT DISTINCT al.labelId, l.name, l.englishName, l.nationsType "
+ "FROM res_ebook a "
+ "left join res_ebook_label_content_diy_type al ON a.id = al.ebookId "
+ "left join res_label_content_diy_type lc on al.labelContentDiyTypeId = lc.id "
+ "left join res_label l on al.labelId = l.id "
+ "where 1=1 "
+ "and a.bookStatus = 4 and lc.status = 1 "
+ "<if test='" +LIST_NOT_EMPTY + "(ids)'>"
+ "and a.id in "
+ " <foreach collection=\"ids\" index=\"index\" item=\"id\" open=\"(\" separator=\",\" close=\")\">"
+ "#{id}"
+ "</foreach>"
+ "</if>"
+ "</script>")
List<FgLabelInfoVO> queryLabelList(@Param("ids")List<String> ids);
@Select("<script>"
+ "SELECT DISTINCT al.labelId, al.labelContentDiyTypeId id, lc.labelContent, lc.parentId, lc.englishName, lc.sort, al.labelContentDiyTypeCode code "
+ "FROM res_ebook a "
+ "left join res_ebook_label_content_diy_type al ON a.id = al.ebookId "
+ "left join res_label_content_diy_type lc on al.labelContentDiyTypeId = lc.id "
+ "where 1=1 "
+ "and a.bookStatus = 4 and lc.status = 1 "
+ "<if test='" +LIST_NOT_EMPTY + "(ids)'>"
+ "and a.id in "
+ " <foreach collection=\"ids\" index=\"index\" item=\"id\" open=\"(\" separator=\",\" close=\")\">"
+ "#{id}"
+ "</foreach>"
+ "</if>"
+ "</script>")
List<LabelContentDiyType> queryLabelContentList(@Param("ids")List<String> ids);
}
package com.zrqx.resource.fg.service.ebook;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.github.pagehelper.PageHelper;
import com.zrqx.core.mapper.BaseMapper;
import com.zrqx.core.model.resource.ebook.EbookLabelContentDiyType;
import com.zrqx.core.model.resource.label.LabelContentDiyType;
import com.zrqx.core.service.BaseServiceImpl;
import com.zrqx.core.util.bean.BeanUtils;
import com.zrqx.core.util.bean.Copy;
import com.zrqx.core.vo.resource.fg.label.FgLabelContentDiyTypeVO;
import com.zrqx.core.vo.resource.fg.label.FgLabelInfoVO;
import com.zrqx.resource.fg.mapper.ebook.FgEbookLabelContentDiyTypeMapper;
/**
* 图书库和标签
*/
@Service
public class FgEbookLabelContentDiyTypeSerivceImpl extends BaseServiceImpl<EbookLabelContentDiyType,Integer> implements FgEbookLabelContentDiyTypeService {
@Autowired
private FgEbookLabelContentDiyTypeMapper mapper;
@Override
public BaseMapper<EbookLabelContentDiyType> getMapper() {
return mapper;
}
/**
* 资源列表页-查询对应资源类型下的所有自定义分类
*/
@Override
public List<FgLabelInfoVO> queryLabelList(List<String> ids){
PageHelper.orderBy("sort");
List<FgLabelInfoVO> list = mapper.queryLabelList(ids);
List<LabelContentDiyType> contentList = mapper.queryLabelContentList(ids);
Map<Integer, List<LabelContentDiyType>> map = contentList.stream().collect(Collectors.groupingBy(LabelContentDiyType :: getLabelId));
list.forEach(li ->{
List<FgLabelContentDiyTypeVO> contentVO = BeanUtils.copyList(map.get(li.getLabelId()), FgLabelContentDiyTypeVO.class);
li.setLabelContent(contentVO);
});
/*vo.forEach(v -> {
PageHelper.orderBy("sort");
LabelContentDiyType dt = new LabelContentDiyType();
dt.setLabelId(v.getLabelId());
dt.setStatus(Integer.parseInt(BooleanStatusEnum.YES.getCode()));
List<LabelContentDiyType> list = labelContentDiyTypeMapper.select(dt);
List<FgLabelContentDiyTypeVO> voList = Copy.copyList(list, FgLabelContentDiyTypeVO.class, obj -> obj.getParentId().intValue() == 0 && obj.getLabelId() == v.getLabelId());
tree(list,voList);
v.setLabelContent(voList);
});*/
return list;
}
public List<FgLabelContentDiyTypeVO> tree1(List<LabelContentDiyType> list,List<FgLabelContentDiyTypeVO> voList){
voList.forEach(entity ->{
//第一次设置 一级分类的子类 后续递归设置 子类的子类
entity.setList(Copy.copyList(list, FgLabelContentDiyTypeVO.class, obj -> obj.getParentId().intValue() == entity.getId().intValue()));
//当前分类存在子类 开始递归子类
if(entity.getList().size() > 0){
tree1(list, entity.getList());
}
});
return voList;
}
}
package com.zrqx.resource.fg.service.ebook;
import java.util.List;
import com.zrqx.core.model.resource.ebook.EbookLabelContentDiyType;
import com.zrqx.core.service.BaseService;
import com.zrqx.core.vo.resource.fg.label.FgLabelInfoVO;
/**
* 图书库和标签
*/
public interface FgEbookLabelContentDiyTypeService extends BaseService<EbookLabelContentDiyType,Integer>{
/**
* 获取标签
* @param ids
* @return
* @author ycw
* @date: 2019年3月1日 下午6:24:13
*/
List<FgLabelInfoVO> queryLabelList(List<String> ids);
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论