diff --git a/ptos_open/src/main/java/com/ccsens/ptos_open/api/PluginController.java b/ptos_open/src/main/java/com/ccsens/ptos_open/api/PluginController.java index 01bde09..c87cf9a 100644 --- a/ptos_open/src/main/java/com/ccsens/ptos_open/api/PluginController.java +++ b/ptos_open/src/main/java/com/ccsens/ptos_open/api/PluginController.java @@ -59,9 +59,17 @@ public class PluginController { public JsonResponse updatePlugin(@ApiParam @Validated @RequestBody QueryDto params) throws Exception{ log.info("修改插件:{}",params); pluginService.updatePlugin(params.getParam(),params.getUserId()); - log.info("修改插件成功"); return JsonResponse.newInstance().ok(); } + @MustLogin + @ApiOperation(value = "根据id查询插件", notes = "") + @RequestMapping(value = "/queryIdPlugin", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse queryIdPlugin(@ApiParam @Validated @RequestBody QueryDto params) throws Exception{ + log.info("根据id查询插件:{}",params); + PluginVo.PluginInfo pluginInfo = pluginService. queryIdPlugin(params.getParam(),params.getUserId()); + log.info("返回插件信息"); + return JsonResponse.newInstance().ok(pluginInfo); + } } diff --git a/ptos_open/src/main/java/com/ccsens/ptos_open/bean/dto/PluginDto.java b/ptos_open/src/main/java/com/ccsens/ptos_open/bean/dto/PluginDto.java index 27de65b..6ff6d7a 100644 --- a/ptos_open/src/main/java/com/ccsens/ptos_open/bean/dto/PluginDto.java +++ b/ptos_open/src/main/java/com/ccsens/ptos_open/bean/dto/PluginDto.java @@ -82,4 +82,11 @@ public class PluginDto { private byte publish; } + + @Data + @ApiModel("根据id查找插件") + public static class QueryIdPlugin { + @ApiModelProperty("插件id") + private Long id; + } } diff --git a/ptos_open/src/main/java/com/ccsens/ptos_open/persist/dao/UserDao.java b/ptos_open/src/main/java/com/ccsens/ptos_open/persist/dao/UserDao.java new file mode 100644 index 0000000..5dd6337 --- /dev/null +++ b/ptos_open/src/main/java/com/ccsens/ptos_open/persist/dao/UserDao.java @@ -0,0 +1,7 @@ +package com.ccsens.ptos_open.persist.dao; + +public interface UserDao { + String getUserNameById(Long userId); + + +} diff --git a/ptos_open/src/main/java/com/ccsens/ptos_open/service/BusinessService.java b/ptos_open/src/main/java/com/ccsens/ptos_open/service/BusinessService.java index e72d2fe..41e117b 100644 --- a/ptos_open/src/main/java/com/ccsens/ptos_open/service/BusinessService.java +++ b/ptos_open/src/main/java/com/ccsens/ptos_open/service/BusinessService.java @@ -115,7 +115,7 @@ public class BusinessService implements IBusinessService { } Boolean p = pluginDao.verifyById(businessPlugin.getPluginId()); if (!p) { - throw new BaseException(OpenCodeError.NOT_PLUGIN); + throw new BaseException(OpenCodeError.NOT_BUSINESS); } //修改关联的信息 businessPlugin.setConfig(param.getConfig()); @@ -125,13 +125,13 @@ public class BusinessService implements IBusinessService { @Override public BusinessVo.BusinessInfo queryIdBusiness(BusinessDto.QueryIdBusiness param, Long userId) { - //检查该id业务是否存在 - Boolean b = businessDao.verifyById(param.getBusinessId()); - if (b == null || !b) { - throw new BaseException(OpenCodeError.NOT_BUSINESS); - } + //查询业务信息 OpenBusiness openBusiness = businessDao.selectByPrimaryKey(param.getBusinessId()); + if(ObjectUtil.isNull(openBusiness)){ + throw new BaseException(OpenCodeError.NOT_BUSINESS); + } + //返回业务信息 BusinessVo.BusinessInfo businessInfo = new BusinessVo.BusinessInfo(); businessInfo.setId(openBusiness.getId()); businessInfo.setName(openBusiness.getName()); diff --git a/ptos_open/src/main/java/com/ccsens/ptos_open/service/IPluginService.java b/ptos_open/src/main/java/com/ccsens/ptos_open/service/IPluginService.java index 9e40dab..71e1f9e 100644 --- a/ptos_open/src/main/java/com/ccsens/ptos_open/service/IPluginService.java +++ b/ptos_open/src/main/java/com/ccsens/ptos_open/service/IPluginService.java @@ -31,4 +31,10 @@ public interface IPluginService { */ void updatePlugin(PluginDto.UpdatePlugin param, Long userId); + /** + * 根据id查询插件 + * @param param 插件信息 + * @param userId userId + */ + PluginVo.PluginInfo queryIdPlugin(PluginDto.QueryIdPlugin param, Long userId); } diff --git a/ptos_open/src/main/java/com/ccsens/ptos_open/service/PluginService.java b/ptos_open/src/main/java/com/ccsens/ptos_open/service/PluginService.java index 2a5fa4c..ab14c26 100644 --- a/ptos_open/src/main/java/com/ccsens/ptos_open/service/PluginService.java +++ b/ptos_open/src/main/java/com/ccsens/ptos_open/service/PluginService.java @@ -5,13 +5,13 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Snowflake; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; +import com.ccsens.ptos_open.bean.dto.BusinessDto; import com.ccsens.ptos_open.bean.dto.PluginDto; -import com.ccsens.ptos_open.bean.po.OpenPlugin; -import com.ccsens.ptos_open.bean.po.OpenPluginImg; -import com.ccsens.ptos_open.bean.po.OpenPluginImgExample; -import com.ccsens.ptos_open.bean.po.OpenPluginWithBLOBs; +import com.ccsens.ptos_open.bean.po.*; +import com.ccsens.ptos_open.bean.vo.BusinessVo; import com.ccsens.ptos_open.bean.vo.PluginVo; import com.ccsens.ptos_open.persist.dao.PluginDao; +import com.ccsens.ptos_open.persist.dao.UserDao; import com.ccsens.ptos_open.persist.mapper.OpenPluginImgMapper; import com.ccsens.ptos_open.util.OpenCodeError; import com.ccsens.util.CodeEnum; @@ -34,7 +34,10 @@ import java.util.List; @Service @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) public class PluginService implements IPluginService { - + @Resource + private OpenPluginImgMapper imgMapper; + @Resource + private UserDao userDao; @Resource private PluginDao pluginDao; @Resource @@ -169,6 +172,49 @@ public class PluginService implements IPluginService { pluginDao.updateByPrimaryKeySelective(plugin); } + @Override + public PluginVo.PluginInfo queryIdPlugin(PluginDto.QueryIdPlugin param, Long userId) { + + //查询插件信息 + OpenPluginWithBLOBs openPlugin = pluginDao.selectByPrimaryKey(param.getId()); + if(ObjectUtil.isNull(openPlugin)){ + throw new BaseException(OpenCodeError.NOT_PLUGIN); + } + //返回插件信息 + PluginVo.PluginInfo pluginInfo = new PluginVo.PluginInfo(); + pluginInfo.setId(openPlugin.getId()); + pluginInfo.setName(openPlugin.getName()); + pluginInfo.setVersions(openPlugin.getVersions()); + pluginInfo.setIntro(openPlugin.getIntro()); + pluginInfo.setUpdatedTime(openPlugin.getUpdatedAt().getTime()); + pluginInfo.setAuthorId(openPlugin.getCreatorId()); + //作者id查user表 + String userName = userDao.getUserNameById(openPlugin.getCreatorId()); + pluginInfo.setAuthorName(userName); + //通过id查询预览图 + OpenPluginImgExample imgExample = new OpenPluginImgExample(); + imgExample.createCriteria().andPluginIdEqualTo(openPlugin.getId()).andTypeEqualTo((byte)0); + List Img =imgMapper.selectByExample(imgExample); + String path = null; + if(Img != null && Img.size() != 0){ + Img.get(0); + path = Img.get(0).getFilePath(); + } + pluginInfo.setPreview(path); + + if(openPlugin.getCreatorId() == userId) { + Byte main = 1; + pluginInfo.setMine(main); + } else { + Byte main = 0; + pluginInfo.setMine(main); + } + pluginInfo.setHtml(openPlugin.getHtml()); + pluginInfo.setCss(openPlugin.getCss()); + pluginInfo.setJs(openPlugin.getJs()); + pluginInfo.setConfig(openPlugin.getConfig()); + return pluginInfo; + } } diff --git a/ptos_open/src/main/resources/mapper_dao/UserDao.xml b/ptos_open/src/main/resources/mapper_dao/UserDao.xml new file mode 100644 index 0000000..55e6efa --- /dev/null +++ b/ptos_open/src/main/resources/mapper_dao/UserDao.xml @@ -0,0 +1,17 @@ + + + + + + + \ No newline at end of file