Commit 7e736d73 by Administrator

Merge branch 'feature/1003039' into 'master'

feat: [1003039] 首页改版-设计变更0609

See merge request rays/pcloud-book!771
parents cd68cb5b 81283f6a
...@@ -79,4 +79,8 @@ public interface BookGroupClassifyService { ...@@ -79,4 +79,8 @@ public interface BookGroupClassifyService {
@ApiOperation("根据群分类id找群") @ApiOperation("根据群分类id找群")
@GetMapping("getGroupQrcodeByClassify") @GetMapping("getGroupQrcodeByClassify")
ResponseEntity<ResponseDto<GroupQrcode4ClassifyDTO>> getGroupQrcodeByClassify(@RequestParam("wechatUserId") Long wechatUserId,@RequestParam("classifyId") Long classifyId); ResponseEntity<ResponseDto<GroupQrcode4ClassifyDTO>> getGroupQrcodeByClassify(@RequestParam("wechatUserId") Long wechatUserId,@RequestParam("classifyId") Long classifyId);
@ApiOperation("获取群分类入群价格")
@GetMapping("getClassifyPrice")
ResponseEntity<ResponseDto<BigDecimal>> getClassifyPrice(@RequestParam("classifyId") Long classifyId);
} }
...@@ -28,12 +28,14 @@ public interface AppletGroupManageBiz { ...@@ -28,12 +28,14 @@ public interface AppletGroupManageBiz {
/** /**
* 任意门 * 任意门
*
* @param wechatUserId
* @param recommend * @param recommend
* @param currentPage * @param currentPage
* @param numPerPage * @param numPerPage
* @return * @return
*/ */
PageBeanNew getList4Applet(Integer recommend, Integer currentPage, Integer numPerPage); PageBeanNew getList4Applet(Long wechatUserId, Integer recommend, Integer currentPage, Integer numPerPage);
/** /**
* 新增数据 * 新增数据
......
...@@ -53,7 +53,7 @@ public interface AppletGroupSearchRecordBiz { ...@@ -53,7 +53,7 @@ public interface AppletGroupSearchRecordBiz {
void deleteByIds(List<Long> ids); void deleteByIds(List<Long> ids);
List<GroupActivity4AppletDTO> getTishBookSchoolList(Long bookGroupId); List<GroupActivity4AppletDTO> getTishBookSchoolList(Long wechatUserId, Long bookGroupId);
/** /**
* 群对话随机组装 * 群对话随机组装
......
...@@ -93,4 +93,6 @@ public interface AppletUserBookcaseBiz { ...@@ -93,4 +93,6 @@ public interface AppletUserBookcaseBiz {
* * @param null * * @param null
*/ */
Map<String,Integer> mapBookUserCountList(List<Long> bookIds); Map<String,Integer> mapBookUserCountList(List<Long> bookIds);
AppletUserBookcaseDTO getUserBookInfoByWechatUserId(Long wechatUserId, Long bookId);
} }
...@@ -11,7 +11,9 @@ import com.pcloud.book.applet.entity.AppletGroupManage; ...@@ -11,7 +11,9 @@ import com.pcloud.book.applet.entity.AppletGroupManage;
import com.pcloud.book.consumer.label.LabelConsr; import com.pcloud.book.consumer.label.LabelConsr;
import com.pcloud.book.consumer.reader.ReaderConsr; import com.pcloud.book.consumer.reader.ReaderConsr;
import com.pcloud.book.group.biz.GroupQrcodeBiz; import com.pcloud.book.group.biz.GroupQrcodeBiz;
import com.pcloud.book.group.dao.BookQrcodeUserDao;
import com.pcloud.book.group.vo.ClassifyQrcodeVO; import com.pcloud.book.group.vo.ClassifyQrcodeVO;
import com.pcloud.book.group.vo.GroupQrcode4ClassifyVO;
import com.pcloud.common.exceptions.BizException; import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.page.PageBeanNew; import com.pcloud.common.page.PageBeanNew;
import com.pcloud.common.page.PageParam; import com.pcloud.common.page.PageParam;
...@@ -27,6 +29,7 @@ import org.springframework.stereotype.Service; ...@@ -27,6 +29,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -52,6 +55,8 @@ public class AppletGroupManageBizImpl implements AppletGroupManageBiz { ...@@ -52,6 +55,8 @@ public class AppletGroupManageBizImpl implements AppletGroupManageBiz {
private AppletGroupSearchRecordBiz appletGroupSearchRecordBiz; private AppletGroupSearchRecordBiz appletGroupSearchRecordBiz;
@Autowired @Autowired
private GroupQrcodeBiz groupQrcodeBiz; private GroupQrcodeBiz groupQrcodeBiz;
@Autowired
private BookQrcodeUserDao bookQrcodeUserDao;
@Override @Override
public AppletGroupManage getById(Long id) { public AppletGroupManage getById(Long id) {
...@@ -101,7 +106,7 @@ public class AppletGroupManageBizImpl implements AppletGroupManageBiz { ...@@ -101,7 +106,7 @@ public class AppletGroupManageBizImpl implements AppletGroupManageBiz {
} }
@Override @Override
public PageBeanNew getList4Applet(Integer recommend, Integer currentPage, Integer numPerPage) { public PageBeanNew getList4Applet(Long wechatUserId, Integer recommend, Integer currentPage, Integer numPerPage) {
Map<String,Object> map = new HashMap<>(); Map<String,Object> map = new HashMap<>();
map.put("recommend", recommend); map.put("recommend", recommend);
PageBeanNew<AppletGroupManageDTO> recordList = appletGroupManageDao.listPageNew(new PageParam(currentPage, numPerPage), map, "getList4Applet"); PageBeanNew<AppletGroupManageDTO> recordList = appletGroupManageDao.listPageNew(new PageParam(currentPage, numPerPage), map, "getList4Applet");
...@@ -119,6 +124,14 @@ public class AppletGroupManageBizImpl implements AppletGroupManageBiz { ...@@ -119,6 +124,14 @@ public class AppletGroupManageBizImpl implements AppletGroupManageBiz {
dto.setUserNumber(groupQrcodeInfo.getUserNumber()); dto.setUserNumber(groupQrcodeInfo.getUserNumber());
dto.setBookGroupQrcodeId(groupQrcodeInfo.getId()); dto.setBookGroupQrcodeId(groupQrcodeInfo.getId());
dto.setGroupPic(groupQrCode); dto.setGroupPic(groupQrCode);
dto.setStatus(0);
// 付费群 查询用户是否已经购买过该群分类
if (dto.getPrice().compareTo(BigDecimal.ZERO) > 0) {
GroupQrcode4ClassifyVO userQrcode = bookQrcodeUserDao.getUserQrcode(wechatUserId, dto.getClassifyId());
if (userQrcode != null && userQrcode.getGroupQrcodeId() != null) {
dto.setStatus(1);
}
}
//头像列表从缓存里取 //头像列表从缓存里取
List<String> headUrlList = appletGroupSearchRecordBiz.getHeadUrlList(dto.getUserNumber(),dto.getBookGroupQrcodeId()); List<String> headUrlList = appletGroupSearchRecordBiz.getHeadUrlList(dto.getUserNumber(),dto.getBookGroupQrcodeId());
dto.setHeadUrlList(headUrlList); dto.setHeadUrlList(headUrlList);
......
...@@ -12,16 +12,16 @@ import com.pcloud.book.applet.dto.AppletUserBookcaseDTO; ...@@ -12,16 +12,16 @@ import com.pcloud.book.applet.dto.AppletUserBookcaseDTO;
import com.pcloud.book.applet.entity.AppletGroupSearchRecord; import com.pcloud.book.applet.entity.AppletGroupSearchRecord;
import com.pcloud.book.applet.entity.AppletGroupStatement; import com.pcloud.book.applet.entity.AppletGroupStatement;
import com.pcloud.book.book.dao.BookAdviserDao; import com.pcloud.book.book.dao.BookAdviserDao;
import com.pcloud.book.book.dto.BookAdviserDto;
import com.pcloud.book.consumer.reader.ReaderConsr; import com.pcloud.book.consumer.reader.ReaderConsr;
import com.pcloud.book.group.biz.BookGroupClassifyBiz; import com.pcloud.book.group.biz.BookGroupClassifyBiz;
import com.pcloud.book.group.dao.BookGroupDao; import com.pcloud.book.group.dao.BookGroupDao;
import com.pcloud.book.group.dao.BookQrcodeUserDao;
import com.pcloud.book.group.dao.GroupQrcodeDao; import com.pcloud.book.group.dao.GroupQrcodeDao;
import com.pcloud.book.group.dto.BookGroupDTO; import com.pcloud.book.group.dto.BookGroupDTO;
import com.pcloud.book.group.dto.GroupQrcodeDTO; import com.pcloud.book.group.dto.GroupQrcodeDTO;
import com.pcloud.book.group.enums.JoinGroupTypeEnum; import com.pcloud.book.group.enums.JoinGroupTypeEnum;
import com.pcloud.book.group.vo.GroupQrcode4ClassifyVO;
import com.pcloud.book.rightsSetting.biz.RightsSettingBiz; import com.pcloud.book.rightsSetting.biz.RightsSettingBiz;
import com.pcloud.book.rightsSetting.entity.BaseTempletClassify;
import com.pcloud.book.skill.biz.PcloudGroupActivityBiz; import com.pcloud.book.skill.biz.PcloudGroupActivityBiz;
import com.pcloud.book.skill.dao.PcloudGroupActivityDao; import com.pcloud.book.skill.dao.PcloudGroupActivityDao;
import com.pcloud.book.skill.dto.GroupActivity4AppletDTO; import com.pcloud.book.skill.dto.GroupActivity4AppletDTO;
...@@ -33,20 +33,19 @@ import com.pcloud.common.utils.ListUtils; ...@@ -33,20 +33,19 @@ import com.pcloud.common.utils.ListUtils;
import com.pcloud.common.utils.NumberUtil; import com.pcloud.common.utils.NumberUtil;
import com.pcloud.common.utils.cache.redis.JedisClusterUtils; import com.pcloud.common.utils.cache.redis.JedisClusterUtils;
import com.pcloud.common.utils.string.StringUtilParent; import com.pcloud.common.utils.string.StringUtilParent;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import javax.annotation.Resource;
/** /**
* (AppletGroupSearchRecord)表服务实现类 * (AppletGroupSearchRecord)表服务实现类
* *
...@@ -84,6 +83,8 @@ public class AppletGroupSearchRecordBizImpl implements AppletGroupSearchRecordBi ...@@ -84,6 +83,8 @@ public class AppletGroupSearchRecordBizImpl implements AppletGroupSearchRecordBi
private AppletUserBookcaseBiz appletUserBookcaseBiz; private AppletUserBookcaseBiz appletUserBookcaseBiz;
@Autowired @Autowired
private PcloudGroupActivityBiz pcloudGroupActivityBiz; private PcloudGroupActivityBiz pcloudGroupActivityBiz;
@Autowired
private BookQrcodeUserDao bookQrcodeUserDao;
@Override @Override
...@@ -153,7 +154,7 @@ public class AppletGroupSearchRecordBizImpl implements AppletGroupSearchRecordBi ...@@ -153,7 +154,7 @@ public class AppletGroupSearchRecordBizImpl implements AppletGroupSearchRecordBi
} }
@Override @Override
public List<GroupActivity4AppletDTO> getTishBookSchoolList(Long bookGroupId) { public List<GroupActivity4AppletDTO> getTishBookSchoolList(Long wechatUserId, Long bookGroupId) {
BookGroupDTO bookGroupDTO = bookGroupDao.getDTOById(bookGroupId); BookGroupDTO bookGroupDTO = bookGroupDao.getDTOById(bookGroupId);
List<GroupActivity4AppletDTO> tishBookSchoolList = new ArrayList<>(); List<GroupActivity4AppletDTO> tishBookSchoolList = new ArrayList<>();
//本书自带社群 //本书自带社群
...@@ -194,6 +195,14 @@ public class AppletGroupSearchRecordBizImpl implements AppletGroupSearchRecordBi ...@@ -194,6 +195,14 @@ public class AppletGroupSearchRecordBizImpl implements AppletGroupSearchRecordBi
String filterStr = StringUtilParent.replaceHtml(groupActivity4AppletDTO.getDesc()); String filterStr = StringUtilParent.replaceHtml(groupActivity4AppletDTO.getDesc());
String subStr = filterStr.length() > 60 ? filterStr.substring(0, 60) + "..." : filterStr; String subStr = filterStr.length() > 60 ? filterStr.substring(0, 60) + "..." : filterStr;
groupActivity4AppletDTO.setCutDesc(subStr); groupActivity4AppletDTO.setCutDesc(subStr);
groupActivity4AppletDTO.setStatus(0);
// 付费群 查询用户是否已经购买过该群分类
if (groupActivity4AppletDTO.getPrice().compareTo(BigDecimal.ZERO) > 0) {
GroupQrcode4ClassifyVO userQrcode = bookQrcodeUserDao.getUserQrcode(wechatUserId, groupActivity4AppletDTO.getClassifyId());
if (userQrcode != null && userQrcode.getGroupQrcodeId() != null) {
groupActivity4AppletDTO.setStatus(1);
}
}
//头像列表从缓存里取 //头像列表从缓存里取
List<String> headUrlList = this.getHeadUrlList(groupActivity4AppletDTO.getUserNumber(), groupActivity4AppletDTO.getBookGroupQrcodeId()); List<String> headUrlList = this.getHeadUrlList(groupActivity4AppletDTO.getUserNumber(), groupActivity4AppletDTO.getBookGroupQrcodeId());
groupActivity4AppletDTO.setHeadUrlList(headUrlList); groupActivity4AppletDTO.setHeadUrlList(headUrlList);
...@@ -260,7 +269,7 @@ public class AppletGroupSearchRecordBizImpl implements AppletGroupSearchRecordBi ...@@ -260,7 +269,7 @@ public class AppletGroupSearchRecordBizImpl implements AppletGroupSearchRecordBi
if (null == bookcaseDTO) { if (null == bookcaseDTO) {
return new PageBeanNew<>(currentPage, numPerPage, 0, new ArrayList<>()); return new PageBeanNew<>(currentPage, numPerPage, 0, new ArrayList<>());
} }
PageBeanNew<AppletGroupManageDTO> pageBeanNew = pcloudGroupActivityBiz.getGroupListByBookTemplet(bookcaseDTO.getTempletId(), bookcaseDTO.getSecondTempletId(), bookcaseDTO.getGradeLabelId(), bookcaseDTO.getSubjectLabelId(), currentPage, numPerPage); PageBeanNew<AppletGroupManageDTO> pageBeanNew = pcloudGroupActivityBiz.getGroupListByBookTemplet(wechatUserId, bookcaseDTO.getTempletId(), bookcaseDTO.getSecondTempletId(), bookcaseDTO.getGradeLabelId(), bookcaseDTO.getSubjectLabelId(), currentPage, numPerPage);
return pageBeanNew; return pageBeanNew;
} }
......
...@@ -96,4 +96,6 @@ public interface AppletUserBookcaseDao extends BaseDao<AppletUserBookcase> { ...@@ -96,4 +96,6 @@ public interface AppletUserBookcaseDao extends BaseDao<AppletUserBookcase> {
* * @param null * * @param null
*/ */
List<Long> getBookIdsByIds(List<Long> ids); List<Long> getBookIdsByIds(List<Long> ids);
AppletUserBookcaseDTO getUserBookInfoByWechatUserId(Long wechatUserId, Long bookId);
} }
...@@ -117,4 +117,12 @@ public class AppletUserBookcaseDaoImpl extends BaseDaoImpl<AppletUserBookcase> i ...@@ -117,4 +117,12 @@ public class AppletUserBookcaseDaoImpl extends BaseDaoImpl<AppletUserBookcase> i
map.put("ids", ids); map.put("ids", ids);
return getSessionTemplate().selectList(getStatement("getBookIdsByIds"), map); return getSessionTemplate().selectList(getStatement("getBookIdsByIds"), map);
} }
@Override
public AppletUserBookcaseDTO getUserBookInfoByWechatUserId(Long wechatUserId, Long bookId) {
Map<String, Long> map = new HashMap<>();
map.put("wechatUserId", wechatUserId);
map.put("bookId", bookId);
return getSessionTemplate().selectOne(getStatement("getUserBookInfoByWechatUserId"),map);
}
} }
...@@ -4,6 +4,7 @@ import com.pcloud.common.entity.BaseEntity; ...@@ -4,6 +4,7 @@ import com.pcloud.common.entity.BaseEntity;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -84,4 +85,10 @@ public class AppletGroupManageDTO extends BaseEntity { ...@@ -84,4 +85,10 @@ public class AppletGroupManageDTO extends BaseEntity {
@ApiModelProperty("学舍群话语") @ApiModelProperty("学舍群话语")
private List<AppletGroupStatementDTO> statementDTOList; private List<AppletGroupStatementDTO> statementDTOList;
@ApiModelProperty("入群价格")
private BigDecimal price;
@ApiModelProperty("购买状态 1已购买 0未购买")
private Integer status;
} }
\ No newline at end of file
...@@ -56,7 +56,7 @@ public class AppletGroupManageFacade { ...@@ -56,7 +56,7 @@ public class AppletGroupManageFacade {
if(!NumberUtil.isNumber(wechatUserId)){ if(!NumberUtil.isNumber(wechatUserId)){
throw BookBizException.PARAM_DELETION; throw BookBizException.PARAM_DELETION;
} }
return new ResponseDto<>(appletGroupManageBiz.getList4Applet(recommend, currentPage, numPerPage)); return new ResponseDto<>(appletGroupManageBiz.getList4Applet(wechatUserId, recommend, currentPage, numPerPage));
} }
@ApiOperation("新增社群") @ApiOperation("新增社群")
...@@ -134,7 +134,7 @@ public class AppletGroupManageFacade { ...@@ -134,7 +134,7 @@ public class AppletGroupManageFacade {
if(!NumberUtil.isNumber(wechatUserId)){ if(!NumberUtil.isNumber(wechatUserId)){
throw BookBizException.PARAM_DELETION; throw BookBizException.PARAM_DELETION;
} }
return new ResponseDto<>(appletGroupSearchRecordBiz.getTishBookSchoolList(bookGroupId)); return new ResponseDto<>(appletGroupSearchRecordBiz.getTishBookSchoolList(wechatUserId, bookGroupId));
} }
@ApiOperation("用户社群书记录id列表") @ApiOperation("用户社群书记录id列表")
......
...@@ -537,6 +537,15 @@ public class AppletHomeFacade { ...@@ -537,6 +537,15 @@ public class AppletHomeFacade {
return new ResponseDto<>(appletUserBookcaseBiz.listByWechatUserId(wechatUserId,currentPage,numPerPage)); return new ResponseDto<>(appletUserBookcaseBiz.listByWechatUserId(wechatUserId,currentPage,numPerPage));
} }
@ApiOperation("小程序首页书籍信息")
@GetMapping("getUserBookInfoByWechatUserId")
public ResponseDto<AppletUserBookcaseDTO> getUserBookInfoByWechatUserId (
@CookieValue("userInfo") String userInfo,
@RequestParam(value = "bookId") @ApiParam("BookId") Long bookId ){
Long wechatUserId = Cookie.getId(userInfo,Cookie._WECHAT_USER_ID);
return new ResponseDto<>(appletUserBookcaseBiz.getUserBookInfoByWechatUserId(wechatUserId,bookId));
}
@ApiOperation("新增用户资源点击记录") @ApiOperation("新增用户资源点击记录")
@PostMapping("addUserClickRecord") @PostMapping("addUserClickRecord")
public ResponseDto<?> addUserClickRecord( public ResponseDto<?> addUserClickRecord(
......
package com.pcloud.book.group.dto; package com.pcloud.book.group.dto;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal;
import lombok.Data; import lombok.Data;
...@@ -77,4 +78,8 @@ public class GroupQrcodeDTO implements Serializable { ...@@ -77,4 +78,8 @@ public class GroupQrcodeDTO implements Serializable {
*社群码id *社群码id
*/ */
private Long bookGroupId; private Long bookGroupId;
/**
* 群分类价格
*/
private BigDecimal price;
} }
...@@ -9,6 +9,7 @@ import com.pcloud.book.group.dto.GroupQrcodeBaseDTO; ...@@ -9,6 +9,7 @@ import com.pcloud.book.group.dto.GroupQrcodeBaseDTO;
import com.pcloud.book.group.dto.GroupQrcodeInfo4Advertising; import com.pcloud.book.group.dto.GroupQrcodeInfo4Advertising;
import com.pcloud.book.group.dto.ProAssocGroupAndUserNumberDTO; import com.pcloud.book.group.dto.ProAssocGroupAndUserNumberDTO;
import com.pcloud.book.group.service.BookGroupClassifyService; import com.pcloud.book.group.service.BookGroupClassifyService;
import com.pcloud.book.group.vo.ClassifyVO;
import com.pcloud.book.group.vo.GroupQrcode4ClassifyVO; import com.pcloud.book.group.vo.GroupQrcode4ClassifyVO;
import com.pcloud.common.dto.ResponseDto; import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.utils.ResponseHandleUtil; import com.pcloud.common.utils.ResponseHandleUtil;
...@@ -139,4 +140,14 @@ public class BookGroupClassifyServiceImpl implements BookGroupClassifyService { ...@@ -139,4 +140,14 @@ public class BookGroupClassifyServiceImpl implements BookGroupClassifyService {
} }
return ResponseHandleUtil.toResponse(groupQrcode4ClassifyDTO); return ResponseHandleUtil.toResponse(groupQrcode4ClassifyDTO);
} }
@Override
public ResponseEntity<ResponseDto<BigDecimal>> getClassifyPrice(Long classifyId) {
BigDecimal bigDecimal = new BigDecimal(0);
ClassifyVO classify = bookGroupClassifyBiz.getClassify(classifyId);
if (classify!=null && classify.getPrice()!=null){
bigDecimal = classify.getPrice();
}
return ResponseHandleUtil.toResponse(bigDecimal);
}
} }
...@@ -61,7 +61,7 @@ public interface PcloudGroupActivityBiz { ...@@ -61,7 +61,7 @@ public interface PcloudGroupActivityBiz {
* @date:2020/6/8 10:49 * @date:2020/6/8 10:49
* * @param null * * @param null
*/ */
PageBeanNew<AppletGroupManageDTO> getGroupListByBookTemplet(Long firstClassify, Long secondClassify, Long gradeLabelId, Long subjectLabelId, Integer currentPage, Integer numPerPage); PageBeanNew<AppletGroupManageDTO> getGroupListByBookTemplet(Long wechatUserId, Long firstClassify, Long secondClassify, Long gradeLabelId, Long subjectLabelId, Integer currentPage, Integer numPerPage);
List<GroupActivity4AppletDTO> getTishBookSchoolListWrap(BaseTempletClassify baseTempletClassify, Integer limit); List<GroupActivity4AppletDTO> getTishBookSchoolListWrap(BaseTempletClassify baseTempletClassify, Integer limit);
......
...@@ -17,8 +17,9 @@ import com.pcloud.book.consumer.label.LabelConsr; ...@@ -17,8 +17,9 @@ import com.pcloud.book.consumer.label.LabelConsr;
import com.pcloud.book.consumer.reader.ReaderConsr; import com.pcloud.book.consumer.reader.ReaderConsr;
import com.pcloud.book.consumer.wechatgroup.WechatGroupConsr; import com.pcloud.book.consumer.wechatgroup.WechatGroupConsr;
import com.pcloud.book.group.biz.GroupQrcodeBiz; import com.pcloud.book.group.biz.GroupQrcodeBiz;
import com.pcloud.book.group.dao.BookQrcodeUserDao;
import com.pcloud.book.group.vo.ClassifyQrcodeVO; import com.pcloud.book.group.vo.ClassifyQrcodeVO;
import com.pcloud.book.group.vo.GroupQrcodeBaseInfoVO; import com.pcloud.book.group.vo.GroupQrcode4ClassifyVO;
import com.pcloud.book.reading.biz.ReadingActivityBiz; import com.pcloud.book.reading.biz.ReadingActivityBiz;
import com.pcloud.book.rightsSetting.biz.RightsSettingBiz; import com.pcloud.book.rightsSetting.biz.RightsSettingBiz;
import com.pcloud.book.rightsSetting.entity.BaseTempletClassify; import com.pcloud.book.rightsSetting.entity.BaseTempletClassify;
...@@ -51,6 +52,7 @@ import org.springframework.stereotype.Service; ...@@ -51,6 +52,7 @@ import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
...@@ -91,6 +93,8 @@ public class PcloudGroupActivityBizImpl implements PcloudGroupActivityBiz { ...@@ -91,6 +93,8 @@ public class PcloudGroupActivityBizImpl implements PcloudGroupActivityBiz {
private RightsSettingTitleMapper rightsSettingTitleMapper; private RightsSettingTitleMapper rightsSettingTitleMapper;
@Autowired @Autowired
private AppletGroupSearchRecordBiz appletGroupSearchRecordBiz; private AppletGroupSearchRecordBiz appletGroupSearchRecordBiz;
@Autowired
private BookQrcodeUserDao bookQrcodeUserDao;
@ParamLog("保存共读活动") @ParamLog("保存共读活动")
@Override @Override
...@@ -344,7 +348,7 @@ public class PcloudGroupActivityBizImpl implements PcloudGroupActivityBiz { ...@@ -344,7 +348,7 @@ public class PcloudGroupActivityBizImpl implements PcloudGroupActivityBiz {
} }
@Override @Override
public PageBeanNew<AppletGroupManageDTO> getGroupListByBookTemplet(Long firstClassify, Long secondClassify, Long gradeLabelId, Long subjectLabelId, Integer currentPage, Integer numPerPage) { public PageBeanNew<AppletGroupManageDTO> getGroupListByBookTemplet(Long wechatUserId, Long firstClassify, Long secondClassify, Long gradeLabelId, Long subjectLabelId, Integer currentPage, Integer numPerPage) {
// 处理分类和标签 // 处理分类和标签
if (null == firstClassify && null == secondClassify && null == gradeLabelId && null == subjectLabelId) { if (null == firstClassify && null == secondClassify && null == gradeLabelId && null == subjectLabelId) {
return new PageBeanNew<>(currentPage, numPerPage, 0, new ArrayList<>()); return new PageBeanNew<>(currentPage, numPerPage, 0, new ArrayList<>());
...@@ -365,6 +369,14 @@ public class PcloudGroupActivityBizImpl implements PcloudGroupActivityBiz { ...@@ -365,6 +369,14 @@ public class PcloudGroupActivityBizImpl implements PcloudGroupActivityBiz {
return new PageBeanNew<>(currentPage,numPerPage,0,new ArrayList<>()); return new PageBeanNew<>(currentPage,numPerPage,0,new ArrayList<>());
} }
for (AppletGroupManageDTO activity4AppletDTO : list.getRecordList()) { for (AppletGroupManageDTO activity4AppletDTO : list.getRecordList()) {
activity4AppletDTO.setStatus(0);
// 付费群 查询用户是否已经购买过该群分类
if (activity4AppletDTO.getPrice().compareTo(BigDecimal.ZERO) > 0) {
GroupQrcode4ClassifyVO userQrcode = bookQrcodeUserDao.getUserQrcode(wechatUserId, activity4AppletDTO.getClassifyId());
if (userQrcode != null && userQrcode.getGroupQrcodeId() != null) {
activity4AppletDTO.setStatus(1);
}
}
String filterStr = StringUtilParent.replaceHtml(activity4AppletDTO.getDesc()); String filterStr = StringUtilParent.replaceHtml(activity4AppletDTO.getDesc());
String subStr = filterStr.length() > 60 ? filterStr.substring(0, 60) + "..." : filterStr; String subStr = filterStr.length() > 60 ? filterStr.substring(0, 60) + "..." : filterStr;
activity4AppletDTO.setCutDesc(subStr); activity4AppletDTO.setCutDesc(subStr);
......
...@@ -7,6 +7,7 @@ import com.pcloud.book.applet.dto.AppletGroupStatementDTO; ...@@ -7,6 +7,7 @@ import com.pcloud.book.applet.dto.AppletGroupStatementDTO;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List; import java.util.List;
import lombok.Data; import lombok.Data;
...@@ -67,4 +68,9 @@ public class GroupActivity4AppletDTO implements Serializable { ...@@ -67,4 +68,9 @@ public class GroupActivity4AppletDTO implements Serializable {
@ApiModelProperty("群分类名称") @ApiModelProperty("群分类名称")
private String classifyName; private String classifyName;
@ApiModelProperty("入群价格")
private BigDecimal price;
@ApiModelProperty("购买状态 1已购买 0未购买")
private Integer status;
} }
...@@ -60,7 +60,8 @@ ...@@ -60,7 +60,8 @@
b.`name`, b.`name`,
b.description as `desc`, b.description as `desc`,
b.book_group_classify_id AS classifyId, b.book_group_classify_id AS classifyId,
c.book_group_id bookGroupId c.book_group_id bookGroupId,
c.price
FROM FROM
applet_group_manage a applet_group_manage a
INNER JOIN pcloud_group_activity b ON a.group_activity_id = b.id AND b.is_delete = 0 INNER JOIN pcloud_group_activity b ON a.group_activity_id = b.id AND b.is_delete = 0
......
...@@ -226,4 +226,37 @@ ...@@ -226,4 +226,37 @@
</foreach> </foreach>
</select> </select>
<select id="getUserBookInfoByWechatUserId" parameterType="long" resultType="com.pcloud.book.applet.dto.AppletUserBookcaseDTO">
SELECT
c.id id,
c.book_id bookId,
c.channel_id channelId,
c.adviser_id adviserId,
b.BOOK_NAME bookName,
b.COVER_IMG coverImg,
c.create_time createTime,
b.AUTHOR author,
b.PUBLISH publish,
a.SECOND_TEMPLET_ID secondTempletId,
a.TEMPLET_ID templetId,
d.join_group_type joinGroupType,
d.id bookGroupId,
b.ISBN isbn,
a.GRA_LABEL_ID gradeLabelId,
a.SUB_LABEL_ID subjectLabelId,
a.vol_label_id volLabelId,
IF(d.join_group_type=1 OR d.related_book_group_id>0,1,0) hasGroup,
c.rights_setting_id rightsSettingId,
r.count rightsSettingCount
FROM applet_user_bookcase c
LEFT JOIN BOOK_ADVISER a ON c.book_id=a.BOOK_ID AND c.adviser_id=a.ADVISER_ID
AND c.channel_id=a.CHANNEL_ID AND a.IS_DELETE = 0
INNER JOIN BOOK b ON c.BOOK_ID = b.BOOK_ID AND b.IS_DELETE = 0
LEFT JOIN book_group d ON d.BOOK_ID = a.BOOK_ID and d.create_user=c.adviser_id and d.channel_id=c.channel_id AND d.IS_DELETE = 0
LEFT JOIN rights_setting r ON c.rights_setting_id = r.id AND d.join_group_type=4
WHERE c.wechat_user_id=#{wechatUserId} AND c.book_id = #{bookId}
ORDER BY c.create_time DESC
LIMIT 1
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -885,7 +885,8 @@ ...@@ -885,7 +885,8 @@
f.classify classify, f.classify classify,
r.qrcode_url qrcodeUrl, r.qrcode_url qrcodeUrl,
f.classify_introduce classifyIntroduce, f.classify_introduce classifyIntroduce,
f.book_group_id bookGroupId f.book_group_id bookGroupId,
f.price
FROM FROM
book_group_qrcode r book_group_qrcode r
LEFT JOIN book_group_classify f ON r.classify_id = f.id LEFT JOIN book_group_classify f ON r.classify_id = f.id
......
...@@ -325,7 +325,8 @@ ...@@ -325,7 +325,8 @@
a.first_classify AS firstClassify, a.first_classify AS firstClassify,
a.second_classify AS secondClassify, a.second_classify AS secondClassify,
a.grade_label_id AS gradeLabelId, a.grade_label_id AS gradeLabelId,
a.subject_label_id AS subjectLabelId a.subject_label_id AS subjectLabelId,
c.price
FROM FROM
pcloud_group_activity a pcloud_group_activity a
INNER JOIN book_group_classify c ON a.book_group_classify_id = c.id AND c.is_delete = 0 INNER JOIN book_group_classify c ON a.book_group_classify_id = c.id AND c.is_delete = 0
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment