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;
} }
......
...@@ -89,31 +89,31 @@ public class AppletUserBookcaseBizImpl implements AppletUserBookcaseBiz { ...@@ -89,31 +89,31 @@ public class AppletUserBookcaseBizImpl implements AppletUserBookcaseBiz {
@Override @Override
public PageBeanNew<AppletUserBookcaseDTO> listByWechatUserId(Long wechatUserId, Integer currentPage, Integer numPerPage) { public PageBeanNew<AppletUserBookcaseDTO> listByWechatUserId(Long wechatUserId, Integer currentPage, Integer numPerPage) {
String key = AppletConstants.USER_BOOK_CASE+wechatUserId; String key = AppletConstants.USER_BOOK_CASE + wechatUserId;
String field = currentPage+"-"+numPerPage; String field = currentPage + "-" + numPerPage;
String countKey = AppletConstants.USER_BOOK_CASE_COUNT+wechatUserId; String countKey = AppletConstants.USER_BOOK_CASE_COUNT + wechatUserId;
List<AppletUserBookcaseDTO> bookcaseDTOS = JedisClusterUtils.hgetJson2List(key,field,AppletUserBookcaseDTO.class); List<AppletUserBookcaseDTO> bookcaseDTOS = JedisClusterUtils.hgetJson2List(key, field, AppletUserBookcaseDTO.class);
Integer count =0; Integer count = 0;
String countStr = JedisClusterUtils.get(countKey); String countStr = JedisClusterUtils.get(countKey);
if (!StringUtil.isEmpty(countStr)){ if (!StringUtil.isEmpty(countStr)) {
count = Integer.valueOf(countStr); count = Integer.valueOf(countStr);
} }
if (!ListUtils.isEmpty(bookcaseDTOS) && count>0){ if (!ListUtils.isEmpty(bookcaseDTOS) && count > 0) {
return new PageBeanNew<>(currentPage,numPerPage,count,bookcaseDTOS); return new PageBeanNew<>(currentPage, numPerPage, count, bookcaseDTOS);
} }
Map<String,Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
map.put("wechatUserId",wechatUserId); map.put("wechatUserId", wechatUserId);
PageBeanNew<AppletUserBookcaseDTO> pageBeanNew = appletUserBookcaseDao.listPageNew( PageBeanNew<AppletUserBookcaseDTO> pageBeanNew = appletUserBookcaseDao.listPageNew(
new PageParam(currentPage,numPerPage),map,"listByWechatUserId"); new PageParam(currentPage, numPerPage), map, "listByWechatUserId");
if (null == pageBeanNew || ListUtils.isEmpty(pageBeanNew.getRecordList())){ if (null == pageBeanNew || ListUtils.isEmpty(pageBeanNew.getRecordList())) {
return new PageBeanNew<>(currentPage,numPerPage,0,new ArrayList<>()); return new PageBeanNew<>(currentPage, numPerPage, 0, new ArrayList<>());
} }
fillTempletName(pageBeanNew.getRecordList()); fillTempletName(pageBeanNew.getRecordList());
fillRightsSettingAndResourceCount(pageBeanNew.getRecordList()); fillRightsSettingAndResourceCount(pageBeanNew.getRecordList());
JedisClusterUtils.hset2Json(key,field,pageBeanNew.getRecordList()); JedisClusterUtils.hset2Json(key, field, pageBeanNew.getRecordList());
JedisClusterUtils.set(countKey,String.valueOf(pageBeanNew.getTotalCount())); JedisClusterUtils.set(countKey, String.valueOf(pageBeanNew.getTotalCount()));
JedisClusterUtils.expire(key,60); JedisClusterUtils.expire(key, 60);
JedisClusterUtils.expire(countKey,60); JedisClusterUtils.expire(countKey, 60);
return pageBeanNew; return pageBeanNew;
} }
...@@ -149,34 +149,34 @@ public class AppletUserBookcaseBizImpl implements AppletUserBookcaseBiz { ...@@ -149,34 +149,34 @@ public class AppletUserBookcaseBizImpl implements AppletUserBookcaseBiz {
@Override @Override
public Map<String, Object> getUserClickStatistic(Long wechatUserId, Long bookId, Long channelId, Long adviserId) { public Map<String, Object> getUserClickStatistic(Long wechatUserId, Long bookId, Long channelId, Long adviserId) {
//社群书和现代纸书下资源 //社群书和现代纸书下资源
List<BookServeDTO> serveDTOList = bookGroupBiz.getBookAndBookGroupServeIds(adviserId,bookId,channelId); List<BookServeDTO> serveDTOList = bookGroupBiz.getBookAndBookGroupServeIds(adviserId, bookId, channelId);
if (ListUtils.isEmpty(serveDTOList)){ if (ListUtils.isEmpty(serveDTOList)) {
return new HashMap<>(); return new HashMap<>();
} }
Integer clickCount = 0; Integer clickCount = 0;
String startDate = DateUtils.formatDate(new Date(), DateUtils.DATE_FORMAT_DATEONLY); String startDate = DateUtils.formatDate(new Date(), DateUtils.DATE_FORMAT_DATEONLY);
List<Long> appIds = serveDTOList.stream().filter(s->s.getServeType().equalsIgnoreCase("APP")). List<Long> appIds = serveDTOList.stream().filter(s -> s.getServeType().equalsIgnoreCase("APP")).
map(BookServeDTO::getServeId).distinct().collect(Collectors.toList()); map(BookServeDTO::getServeId).distinct().collect(Collectors.toList());
List<Long> productIds = serveDTOList.stream().filter(s->s.getServeType().equalsIgnoreCase("PRODUCT")). List<Long> productIds = serveDTOList.stream().filter(s -> s.getServeType().equalsIgnoreCase("PRODUCT")).
map(BookServeDTO::getServeId).distinct().collect(Collectors.toList()); map(BookServeDTO::getServeId).distinct().collect(Collectors.toList());
if (!ListUtils.isEmpty(appIds)){ if (!ListUtils.isEmpty(appIds)) {
Integer appCount = appletUserBookcaseDao.getUserClickServerCount(wechatUserId,bookId,channelId,adviserId,appIds,"APP"); Integer appCount = appletUserBookcaseDao.getUserClickServerCount(wechatUserId, bookId, channelId, adviserId, appIds, "APP");
if (appCount>0){ if (appCount > 0) {
clickCount = clickCount+appCount; clickCount = clickCount + appCount;
startDate = appletUserBookcaseDao.getMinClickTime(wechatUserId,bookId,channelId,adviserId,appIds,"APP"); startDate = appletUserBookcaseDao.getMinClickTime(wechatUserId, bookId, channelId, adviserId, appIds, "APP");
} }
} }
if (!ListUtils.isEmpty(productIds)){ if (!ListUtils.isEmpty(productIds)) {
Integer productCount = appletUserBookcaseDao.getUserClickServerCount(wechatUserId,bookId,channelId,adviserId,productIds,"PRODUCT"); Integer productCount = appletUserBookcaseDao.getUserClickServerCount(wechatUserId, bookId, channelId, adviserId, productIds, "PRODUCT");
if (productCount>0){ if (productCount > 0) {
clickCount = clickCount+productCount; clickCount = clickCount + productCount;
String dateStr = appletUserBookcaseDao.getMinClickTime(wechatUserId,bookId,channelId,adviserId,productIds,"PRODUCT"); String dateStr = appletUserBookcaseDao.getMinClickTime(wechatUserId, bookId, channelId, adviserId, productIds, "PRODUCT");
if (!StringUtil.isEmpty(dateStr) && DateUtils.getDateByStr(dateStr).before(DateUtils.getDateByStr(startDate))){ if (!StringUtil.isEmpty(dateStr) && DateUtils.getDateByStr(dateStr).before(DateUtils.getDateByStr(startDate))) {
startDate = dateStr; startDate = dateStr;
} }
} }
} }
Map<String,Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
map.put("startDate", startDate); map.put("startDate", startDate);
map.put("clickCount", clickCount); map.put("clickCount", clickCount);
return map; return map;
...@@ -193,26 +193,26 @@ public class AppletUserBookcaseBizImpl implements AppletUserBookcaseBiz { ...@@ -193,26 +193,26 @@ public class AppletUserBookcaseBizImpl implements AppletUserBookcaseBiz {
} }
}); });
List<Long> classifyTempletIds = recordList.stream().filter(s -> s.getJoinGroupType() != null && JoinGroupTypeEnum.XIAORUI.getCode().equals(s.getJoinGroupType())).map(s -> s.getTempletId()).distinct().collect(Collectors.toList()); List<Long> classifyTempletIds = recordList.stream().filter(s -> s.getJoinGroupType() != null && JoinGroupTypeEnum.XIAORUI.getCode().equals(s.getJoinGroupType())).map(s -> s.getTempletId()).distinct().collect(Collectors.toList());
Map<Integer,Integer> classifyMap=new HashMap<>(); Map<Integer, Integer> classifyMap = new HashMap<>();
if(!ListUtils.isEmpty(classifyTempletIds)){ if (!ListUtils.isEmpty(classifyTempletIds)) {
List<BookRaysClassify> listByIds = bookRaysClassifyDao.getClassifyListByIds(classifyTempletIds); List<BookRaysClassify> listByIds = bookRaysClassifyDao.getClassifyListByIds(classifyTempletIds);
if(!ListUtils.isEmpty(listByIds)){ if (!ListUtils.isEmpty(listByIds)) {
classifyMap=listByIds.stream().collect(Collectors.toMap(a->a.getBookTemplateId(),a->a.getRaysClassifyId(),(k1,k2)->k2)); classifyMap = listByIds.stream().collect(Collectors.toMap(a -> a.getBookTemplateId(), a -> a.getRaysClassifyId(), (k1, k2) -> k2));
} }
} }
Map<Long, AssistTempletDTO> assistTempletDTOMap = assistTempletConsr.mapByIds(templetIds); Map<Long, AssistTempletDTO> assistTempletDTOMap = assistTempletConsr.mapByIds(templetIds);
for (AppletUserBookcaseDTO bookcaseDTO:recordList){ for (AppletUserBookcaseDTO bookcaseDTO : recordList) {
Long secondTempletId = bookcaseDTO.getSecondTempletId(); Long secondTempletId = bookcaseDTO.getSecondTempletId();
Long templetId = bookcaseDTO.getTempletId(); Long templetId = bookcaseDTO.getTempletId();
if (secondTempletId!=null&&assistTempletDTOMap!=null) { if (secondTempletId != null && assistTempletDTOMap != null) {
AssistTempletDTO templetDTO = assistTempletDTOMap.get(secondTempletId); AssistTempletDTO templetDTO = assistTempletDTOMap.get(secondTempletId);
bookcaseDTO.setSecondTempletName(Optional.ofNullable(templetDTO).map(AssistTempletDTO::getTempletName).orElse(null)); bookcaseDTO.setSecondTempletName(Optional.ofNullable(templetDTO).map(AssistTempletDTO::getTempletName).orElse(null));
} }
if (templetId!=null && assistTempletDTOMap!=null) { if (templetId != null && assistTempletDTOMap != null) {
AssistTempletDTO templetDTO = assistTempletDTOMap.get(templetId); AssistTempletDTO templetDTO = assistTempletDTOMap.get(templetId);
bookcaseDTO.setTempletName(Optional.ofNullable(templetDTO).map(AssistTempletDTO::getTempletName).orElse(null)); bookcaseDTO.setTempletName(Optional.ofNullable(templetDTO).map(AssistTempletDTO::getTempletName).orElse(null));
} }
if (!MapUtils.isEmpty(classifyMap) && null!=bookcaseDTO.getTempletId() && classifyMap.containsKey(bookcaseDTO.getTempletId().intValue())){ if (!MapUtils.isEmpty(classifyMap) && null != bookcaseDTO.getTempletId() && classifyMap.containsKey(bookcaseDTO.getTempletId().intValue())) {
bookcaseDTO.setClassifyId(classifyMap.get(bookcaseDTO.getTempletId().intValue())); bookcaseDTO.setClassifyId(classifyMap.get(bookcaseDTO.getTempletId().intValue()));
} }
} }
...@@ -256,7 +256,7 @@ public class AppletUserBookcaseBizImpl implements AppletUserBookcaseBiz { ...@@ -256,7 +256,7 @@ public class AppletUserBookcaseBizImpl implements AppletUserBookcaseBiz {
@Override @Override
public void deleteByIds(List<Long> ids, Long wechatUserId) { public void deleteByIds(List<Long> ids, Long wechatUserId) {
if (ListUtils.isEmpty(ids)){ if (ListUtils.isEmpty(ids)) {
return; return;
} }
esBookAndAdviserBiz.updateBookAndAdviserToES(appletUserBookcaseDao.getBookIdsByIds(ids)); esBookAndAdviserBiz.updateBookAndAdviserToES(appletUserBookcaseDao.getBookIdsByIds(ids));
...@@ -274,7 +274,7 @@ public class AppletUserBookcaseBizImpl implements AppletUserBookcaseBiz { ...@@ -274,7 +274,7 @@ public class AppletUserBookcaseBizImpl implements AppletUserBookcaseBiz {
@Override @Override
@ParamLog("获取用户当前本书的阅读方式") @ParamLog("获取用户当前本书的阅读方式")
public AppletUserBookcase getUserReadType(Long wechatUserId, Long bookId, Long adviserId, Long channelId) { public AppletUserBookcase getUserReadType(Long wechatUserId, Long bookId, Long adviserId, Long channelId) {
AppletUserBookcase appletUserBookcase = appletUserBookcaseDao.getUserReadType(wechatUserId,bookId,adviserId,channelId); AppletUserBookcase appletUserBookcase = appletUserBookcaseDao.getUserReadType(wechatUserId, bookId, adviserId, channelId);
return appletUserBookcase; return appletUserBookcase;
} }
...@@ -282,7 +282,7 @@ public class AppletUserBookcaseBizImpl implements AppletUserBookcaseBiz { ...@@ -282,7 +282,7 @@ public class AppletUserBookcaseBizImpl implements AppletUserBookcaseBiz {
public void randomChangeBook(Long wechatUserId) { public void randomChangeBook(Long wechatUserId) {
List<AppletUserBookcase> bookcaseList = appletUserBookcaseDao.getListByUserId(wechatUserId); List<AppletUserBookcase> bookcaseList = appletUserBookcaseDao.getListByUserId(wechatUserId);
//无书或只有一本不处理 //无书或只有一本不处理
if (ListUtils.isEmpty(bookcaseList) || bookcaseList.size()==1){ if (ListUtils.isEmpty(bookcaseList) || bookcaseList.size() == 1) {
return; return;
} }
//去除最近一本书 //去除最近一本书
...@@ -290,8 +290,8 @@ public class AppletUserBookcaseBizImpl implements AppletUserBookcaseBiz { ...@@ -290,8 +290,8 @@ public class AppletUserBookcaseBizImpl implements AppletUserBookcaseBiz {
//随机取一本书埋点 //随机取一本书埋点
AppletUserBookcase appletUserBookcase = bookcaseList.get(new Random().nextInt(bookcaseList.size())); AppletUserBookcase appletUserBookcase = bookcaseList.get(new Random().nextInt(bookcaseList.size()));
this.addUserBook(appletUserBookcase); this.addUserBook(appletUserBookcase);
ThreadPoolUtils.OTHER_THREAD_POOL.execute(()->{ ThreadPoolUtils.OTHER_THREAD_POOL.execute(() -> {
this.listByWechatUserId(wechatUserId,0,1); this.listByWechatUserId(wechatUserId, 0, 1);
}); });
} }
...@@ -314,4 +314,16 @@ public class AppletUserBookcaseBizImpl implements AppletUserBookcaseBiz { ...@@ -314,4 +314,16 @@ public class AppletUserBookcaseBizImpl implements AppletUserBookcaseBiz {
return map; return map;
} }
@Override
public AppletUserBookcaseDTO getUserBookInfoByWechatUserId(Long wechatUserId, Long bookId) {
AppletUserBookcaseDTO userBookInfoByWechatUserId = appletUserBookcaseDao.getUserBookInfoByWechatUserId(wechatUserId, bookId);
if (userBookInfoByWechatUserId == null){
return new AppletUserBookcaseDTO();
}
List<AppletUserBookcaseDTO> appletUserBookcaseDTOS = Collections.singletonList(userBookInfoByWechatUserId);
fillTempletName(appletUserBookcaseDTOS);
fillRightsSettingAndResourceCount(appletUserBookcaseDTOS);
return appletUserBookcaseDTOS.get(0);
}
} }
...@@ -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