提交 d6e2d76c authored 作者: renjianyu's avatar renjianyu

--no commit message

上级 1a6ea17f
package com.zrqx.resource.bg.controller.projectlibrary;
import java.util.Date;
import java.util.List;
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;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.zrqx.core.exception.BaseException;
import com.zrqx.core.form.resource.bg.projectlibrary.BatchUpdateProjectLibraryForm;
import com.zrqx.core.form.resource.bg.projectlibrary.QueryProjectLibraryForm;
import com.zrqx.core.form.resource.bg.projectlibrary.SaveUpdateProjectLibraryForm;
import com.zrqx.core.form.resource.bg.recommend.UpdateRecommendResourceForm;
import com.zrqx.core.model.resource.rojectLibrary.ProjectLibrary;
import com.zrqx.core.util.page.PageInfo;
import com.zrqx.core.util.page.PageParam;
import com.zrqx.core.util.response.CallBack;
import com.zrqx.core.vo.resource.projectlibrary.ProjectLibraryListVO;
import com.zrqx.core.vo.resource.projectlibrary.ProjectLibraryVO;
import com.zrqx.resource.bg.service.ResourceRelationService;
import com.zrqx.resource.bg.service.projectlibrary.ProjectLibraryService;
import com.zrqx.resource.bg.service.recommend.RecommendResourceService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import tk.mybatis.mapper.entity.Example;
/**
* 视频库Controller
*/
@RestController
@RequestMapping("/bg/project-library")
@Api(description = "资源管理-专题库")
public class ProjectLibraryController {
@Autowired
private ProjectLibraryService service;
@Autowired
private ResourceRelationService resourceRelationService;
@Autowired
private RecommendResourceService recommendResourceService;
@ApiOperation(value = "新增" , notes ="新增一个")
@PostMapping(value = "/save")
public CallBack<Boolean> save(@RequestBody SaveUpdateProjectLibraryForm form){
if(!service.saveOrUpdate(form)){
throw new BaseException("操作失败");
}
return CallBack.success();
}
@ApiOperation(value = "更新" , notes ="根据ID更新")
@PostMapping(value = "/update")
public CallBack<Boolean> update(@RequestBody SaveUpdateProjectLibraryForm form){
if(!service.saveOrUpdate(form)){
throw new BaseException("操作失败");
}
ProjectLibrary entity = service.selectByPrimaryKey(form.getId());
//推荐位内容修改
UpdateRecommendResourceForm res = new UpdateRecommendResourceForm();
res.setResId(form.getId());
res.setResType(entity.getResourceType());
res.setResImg(form.getCover());
res.setResName(form.getName());
recommendResourceService.updateResourceContent(res);
return CallBack.success();
}
@ApiOperation(value = "批量 启用/禁用 " , notes ="批量 启用/禁用")
@PostMapping(value = "/batch/update/updown")
public CallBack<Boolean> updateShowState(@RequestBody BatchUpdateProjectLibraryForm form){
Example example = service.createExample();
example.createCriteria().andIn("id", form.getIds());
ProjectLibrary entity = new ProjectLibrary();
entity.setStatus(form.getStatus());
entity.setUpdateTime(new Date());
if(!service.UpdateByExampleSelective(entity,example)){
throw new BaseException("操作失败");
}
//更新推荐位资源的状态
//recommendResourceManage.updateStatus(form.getIds(), 8, form.getStatus());
return CallBack.success();
}
@ApiOperation(value = "批量删除", notes = "批量删除")
@PostMapping(value = "/batch/delete")
public CallBack<Boolean> deleteByIds(@RequestBody List<String> ids) {
return CallBack.success(service.batchDelete(ids));
}
@ApiOperation(value = "查询", notes = "根据ID查询")
@GetMapping(value = "/get/{oid}")
public CallBack<ProjectLibraryVO> getById(@PathVariable String oid) {
ProjectLibrary entity = service.selectByPrimaryKey(oid);
ProjectLibraryVO vo = new ProjectLibraryVO();
BeanUtils.copyProperties(entity,vo);
return CallBack.success(vo);
}
@ApiOperation(value = "分页查询" , notes ="查询列表")
@GetMapping(value = "/page")
public CallBack<PageInfo<ProjectLibraryListVO>> page(QueryProjectLibraryForm form, PageParam pageParam){
return CallBack.success(service.page(form, pageParam));
}
}
package com.zrqx.resource.bg.mapper.projectlibrary;
import java.util.List;
import com.zrqx.resource.bg.mapper.MapperConstants;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import com.zrqx.core.form.resource.bg.QueryResourceForPoPForm;
import com.zrqx.core.form.resource.bg.projectlibrary.QueryProjectLibraryForm;
import com.zrqx.core.mapper.BaseMapper;
import com.zrqx.core.model.resource.rojectLibrary.ProjectLibrary;
import com.zrqx.core.vo.resource.projectlibrary.ProjectLibraryListVO;
/**
* 视频库
*/
public interface ProjectLibraryMapper extends BaseMapper<ProjectLibrary> {
@Select("<script>"
+ "select a.id,a.name,a.uploadTime,a.updateTime,a.status,a.sceneStatus,a.topStatus,a.author,a.cover,a.cover1 "
+ "from res_Project_Library a "
+ "where 1=1 "
+ "<if test='"+ NOTBLANK +"(form.nai)'>"
+ " AND (a.name like concat('%',#{form.nai},'%') ) "
+ "</if>"
+ " like(a.name,form.name) "
+ " eq(a.status,form.status) "
+ " eq(a.sceneStatus,form.sceneStatus) "
+ MapperConstants.DATETIME_QUERY_CONDITION
+ " order by a.uploadTime desc "
+ "</script>")
List<ProjectLibraryListVO> query(@Param("form")QueryProjectLibraryForm form);
@Select("<script>"
+ "select a.id,a.name,a.cover,a.status,uploadTime "
+ "FROM res_Project_Library a "
+ " where 1 = 1 and a.status = 1 "
+ " like(a.name,form.title) "
+ "<if test='form.ids != null and form.ids.size > 0'>"
+ "and a.id not in "
+ " <foreach collection=\"form.ids\" index=\"index\" item=\"id\" open=\"(\" separator=\",\" close=\")\">"
+ "#{id}"
+ "</foreach>"
+ "</if>"
+ "</script>")
List<ProjectLibraryListVO> queryByTileAndDiyType(@Param("form")QueryResourceForPoPForm form);
}
package com.zrqx.resource.bg.service.projectlibrary;
import java.util.Date;
import java.util.List;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.zrqx.core.enums.AllResourceTypeEnum;
import com.zrqx.core.exception.BaseException;
import com.zrqx.core.form.resource.bg.QueryResourceForPoPForm;
import com.zrqx.core.form.resource.bg.projectlibrary.QueryProjectLibraryForm;
import com.zrqx.core.form.resource.bg.projectlibrary.SaveUpdateProjectLibraryForm;
import com.zrqx.core.mapper.BaseMapper;
import com.zrqx.core.model.resource.resourcerelation.ResourceRelation;
import com.zrqx.core.model.resource.rojectLibrary.ProjectLibrary;
import com.zrqx.core.service.BaseServiceImpl;
import com.zrqx.core.util.bean.BeanUtils;
import com.zrqx.core.util.page.PageInfo;
import com.zrqx.core.util.page.PageParam;
import com.zrqx.core.vo.resource.projectlibrary.ProjectLibraryListVO;
import com.zrqx.resource.bg.mapper.ResourceRelationMapper;
import com.zrqx.resource.bg.mapper.projectlibrary.ProjectLibraryMapper;
import com.zrqx.resource.bg.mapper.recommend.RecommendResourceMapper;
import tk.mybatis.mapper.entity.Example;
/**
* 专题库
*/
@Service
public class ProjectLibrarySerivceImpl extends BaseServiceImpl<ProjectLibrary,String> implements ProjectLibraryService {
@Autowired
private ProjectLibraryMapper mapper;
@Autowired
private RecommendResourceMapper recommendResourceMapper;
@Autowired
private ResourceRelationMapper resourceRelationMapper;
@Override
public BaseMapper<ProjectLibrary> getMapper() {
return mapper;
}
/**
* 保存或修改专题库
*/
@Override
public boolean saveOrUpdate(SaveUpdateProjectLibraryForm form) {
ProjectLibrary entity = new ProjectLibrary();
BeanUtils.copyProperties(form, entity);
if(entity.getId() == null){
//添加
//entity.setStatus(ProjectStatusEnum.STATUS_0.getCode());
entity.setStatus(1);
entity.setTopStatus(0);
entity.setUploadTime(new Date());
entity.setResourceType(AllResourceTypeEnum.PROJECT.getCode());
entity.setBrowseNum(50);
mapper.insert(entity);
}else{
//修改
entity.setUpdateTime(new Date());
mapper.updateByPrimaryKeySelective(entity);
}
return true;
}
/**
* 批量删除
* @param ids
* @return
* @author yzg
* @date: 2018年11月22日 下午2:39:23
*/
@Override
public boolean batchDelete(List<String> ids) {
if (ids.size() == 0) {
throw new BaseException( "没有选中任何数据,请重新选择");
}
Example example = createExample();
example.createCriteria().andIn("id", ids);
List<ProjectLibrary> list = mapper.selectByExample(example);
mapper.deleteByExample(example);
//这里需要级联删除其他接口关联资源
//----推荐位内容
recommendResourceMapper.delectByResourceIds(ids, AllResourceTypeEnum.PROJECT.getCode());
//----关联资源
example = new Example(ResourceRelation.class);
example.createCriteria().andIn("objectId", ids).orIn("resourceId", ids);
resourceRelationMapper.deleteByExample(example);
return true;
}
/**
* 分页查询专题库
*/
@Override
public PageInfo<ProjectLibraryListVO> page(QueryProjectLibraryForm form,
PageParam pageParam) {
startPage(pageParam);
List<ProjectLibraryListVO> list = mapper.query(form);
return new PageInfo<ProjectLibraryListVO>(list);
}
/**
* 关联资源选择弹框
*/
@Override
public PageInfo<ProjectLibraryListVO> pageByTitleAndDiyType(QueryResourceForPoPForm form, PageParam pageParam){
startPage(pageParam);
List<ProjectLibraryListVO> list = mapper.queryByTileAndDiyType(form);
return new PageInfo<ProjectLibraryListVO>(list);
}
}
package com.zrqx.resource.bg.service.projectlibrary;
import java.util.List;
import com.zrqx.core.form.resource.bg.QueryResourceForPoPForm;
import com.zrqx.core.form.resource.bg.projectlibrary.QueryProjectLibraryForm;
import com.zrqx.core.form.resource.bg.projectlibrary.SaveUpdateProjectLibraryForm;
import com.zrqx.core.model.resource.rojectLibrary.ProjectLibrary;
import com.zrqx.core.service.BaseService;
import com.zrqx.core.util.page.PageInfo;
import com.zrqx.core.util.page.PageParam;
import com.zrqx.core.vo.resource.projectlibrary.ProjectLibraryListVO;
/**
* 专题库
*/
public interface ProjectLibraryService extends BaseService<ProjectLibrary,String>{
/**
* 保存或修改专题库
* @param form
* @return
*/
boolean saveOrUpdate(SaveUpdateProjectLibraryForm form);
/**
* 批量删除
* @param ids
* @return
* @author yzg
* @date: 2018年11月22日 下午2:39:23
*/
boolean batchDelete(List<String> ids);
/**
* 分页查询专题库
* @param form
* @param pageParam
* @return
*/
PageInfo<ProjectLibraryListVO> page(QueryProjectLibraryForm form, PageParam pageParam);
/**
* 选择弹窗中的列表
* @param form
* @param pageParam
* @return
* @author ycw
* @date: 2019年1月3日 下午7:12:29
*/
PageInfo<ProjectLibraryListVO> pageByTitleAndDiyType(QueryResourceForPoPForm form, PageParam pageParam);
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论