提交 23d29136 authored 作者: jiashixiong's avatar jiashixiong

前台公共资源接口添加查询专家

上级 257ddddc
......@@ -10,15 +10,10 @@ import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
import com.zrqx.resource.commons.vo.bg.ebook.ReadPermissionLevelVO;
import org.apache.commons.lang3.StringUtils;
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.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import com.github.pagehelper.PageHelper;
......@@ -159,6 +154,18 @@ public class EbookController {
return CallBack.success(true);
}
@ApiOperation("保存pdfId")
@PostMapping("/save/pdfid")
public CallBack<Boolean> savePdfId(@RequestBody SaveUpdateEbookForm form){
Ebook ebook = new Ebook();
ebook.setId(form.getId());
ebook.setPdfId(form.getPdfId());
if (!ebookservice.updateByPrimaryKeySelective(ebook)){
throw new BaseException("操作失败");
}
return CallBack.success(true);
}
@ApiOperation("根据id查找电子书")
@GetMapping("/{oid}")
public CallBack<EbookVO> echo(@PathVariable String oid) {
......@@ -959,4 +966,17 @@ public class EbookController {
ImportResult vo = ebookservice.importFile(file);
return CallBack.success(vo);
}
/**
* 获取用户阅读权限
* @papram:
* @return:
* @author: Jsx
* @date: 2020/12/29 16:21
*/
@ApiOperation("获取用户阅读权限")
@PostMapping("/user/read/level")
public CallBack<ReadPermissionLevelVO> getUserReadPermissionLevel(ReadPermissionLevelVO param){
return CallBack.success(ebookservice.getUserReadPermissionLevel(param));
}
}
......@@ -2,6 +2,7 @@ package com.zrqx.resource.bg.mapper.ebook;
import java.util.List;
import com.zrqx.resource.commons.vo.fg.order.OrderinfoIdVo;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
......@@ -103,4 +104,50 @@ public interface EbookMapper extends BaseMapper<Ebook>{
+ "</script>")
List<EbookListVO> queryByTileAndDiyType(@Param("form")QueryResourceForPoPForm form);
@Select("<script>"
+ " SELECT *"
+ " from res_ebook"
+ " where 1=1"
+ " eq(pdfId,pdf)"
+ "</script>")
Ebook selectPdf(@Param("pdf") Integer pdf);
/**
* 查询用户类型
* @param userId
* @return
*/
@Select("<script>"
+" select id,level"
+" FROM `hxkf-member`.m_member"
+" where 1=1"
+" eq(id,userId)"
+"</script>")
OrderinfoIdVo getUserDiy(@Param("userId") String userId);
/**
* 查询普通用户是否为vip
* @param userId
* @return
*/
@Select("<script>"
+" select vip"
+" FROM `hxkf-member`.m_personal_member"
+" where 1=1"
+" eq(id,userId)"
+"</script>")
Integer getPersonal(@Param("userId") String userId);
/**
* 查询机构用户oid
* @param id
* @return
*/
@Select("<script>"
+" select oid"
+" FROM `hxkf-member`.m_organ_member"
+" where 1=1"
+" eq(id,id)"
+"</script>")
Integer getOrganMember(@Param("id") Integer id);
}
......@@ -2,6 +2,7 @@ package com.zrqx.resource.bg.service.ebook;
import java.util.List;
import com.zrqx.resource.commons.vo.bg.ebook.ReadPermissionLevelVO;
import org.springframework.web.multipart.MultipartFile;
import com.zrqx.core.client.vo.ImportLabelVo;
......@@ -80,4 +81,7 @@ public interface EbookService extends BaseService<Ebook, String>{
ImportLabelVo importLabelExcel(MultipartFile file);
ImportResult importFile(MultipartFile file);
ReadPermissionLevelVO getUserReadPermissionLevel(ReadPermissionLevelVO param);
}
......@@ -6,6 +6,13 @@ import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
import com.zrqx.core.client.form.order.GoodsForm;
import com.zrqx.core.client.member.fg.OrganClient;
import com.zrqx.core.client.order.fg.FgOrderClient;
import com.zrqx.core.commons.redis.Redis;
import com.zrqx.core.util.response.CallBack;
import com.zrqx.resource.commons.vo.bg.ebook.ReadPermissionLevelVO;
import com.zrqx.resource.commons.vo.fg.order.OrderinfoIdVo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -94,6 +101,12 @@ public class EbookServiceImpl extends BaseServiceImpl<Ebook, String> implements
private ShoppingCartMapper shoppingCartMapper;
@Autowired
private ImportUtil importUtil;
@Autowired
private Redis redis;
@Autowired
private FgOrderClient fgOrderClient;
@Autowired
private OrganClient organClient;
@Override
public BaseMapper<Ebook> getMapper() {
......@@ -383,4 +396,66 @@ public class EbookServiceImpl extends BaseServiceImpl<Ebook, String> implements
}
return null;
}
/**
* 查询用户查看pdf权限
*/
@Override
public ReadPermissionLevelVO getUserReadPermissionLevel(ReadPermissionLevelVO param){
//查询资源
ReadPermissionLevelVO vo = new ReadPermissionLevelVO();
Ebook ebook = ebookMapper.selectPdf(param.getPdfId());
//收费
if (ebook.getPriceOption().equals(1)){
//登录
if (redis.isExistMember()){
//获取用户类型
OrderinfoIdVo level = ebookMapper.getUserDiy(param.getUserId());
//普通用户或会员用户
Integer idVo = ebookMapper.getPersonal(param.getUserId());
if (0 == level.getLevel()){
//普通会员
if (0 == idVo){
// 普通会员,判断是否购买该课程
GoodsForm goodsForm = new GoodsForm();
goodsForm.setId(ebook.getId());
goodsForm.setType(AllResourceTypeEnum.BOOK.getCode().toString());
CallBack<Boolean> result = fgOrderClient.isExistBuyGoods(goodsForm);
if (result.hasEntity()&& result.getData()){
vo.setLevel("2");
}else {
vo.setLevel("1");
}
}else {
//会员用户
vo.setLevel("2");
}
}else {
Integer oid = ebookMapper.getOrganMember(level.getId());
//机构用户
CallBack<String> member = organClient.getCurrentOrganByMember(oid);
String[] split = member.getData().split(",");
//查询图书分类
EbookDiyType diyType = new EbookDiyType();
diyType.setEbookId(ebook.getId());
List<EbookDiyType> list = ebookDiyTypeMapper.select(diyType);
for (String str : split){
boolean isExist = list.stream().anyMatch(s -> s.getCode().indexOf(str) == 0);
if (isExist){
vo.setLevel("2");
return vo;
}
}
vo.setLevel("1");
}
}else{
//未登录
vo.setLevel("1");
}
}else {
//免费
vo.setLevel("2");
}
return vo;
}
}
package com.zrqx.resource.commons.vo.bg.ebook;
import com.zrqx.core.enums.ReadPermissionLevelEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Jsx
* @version 1.0
* @date 2020/12/29 16:33
*/
@Data
@ApiModel("pdf阅读权限")
public class ReadPermissionLevelVO {
@ApiModelProperty("pdf_id")
private Integer pdfId;
@ApiModelProperty("user_id")
private String userId;
/**
* {@link ReadPermissionLevelEnum}
*/
@ApiModelProperty("阅读权限等级")
private String level;
}
package com.zrqx.resource.commons.vo.fg.order;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Jsx
* @version 1.0
* @date 2020/12/29 22:50
*/
@Data
public class OrderinfoIdVo {
@ApiModelProperty("用户id")
private Integer id;
@ApiModelProperty("用户类型")
private Integer level;
}
package com.zrqx.core.enums;
/**
* @author Jsx
* @version 1.0
* @date 2020/12/29 16:34
*/
public enum ReadPermissionLevelEnum {
LEVEL_0("0", "无权阅读"),
LEVEL_1("1", "试读"),
LEVEL_2("2", "全部阅读");
private String code;
private String name;
ReadPermissionLevelEnum(String code, String name) {
this.code = code;
this.name = name;
}
public String getCode() {
return code;
}
public String getName() {
return name;
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论