Commit 2b2e22fd by 郑勇

heals个人号接入

parent 8043795d
package com.pcloud.book.group.dto;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import java.io.Serializable;
/**
* @author lily
* @date 2019/4/17 14:17
*/
@ApiModel
@JsonInclude(JsonInclude.Include.NON_NULL)
public class BookGroupClassifyDTO implements Serializable {
/**
* 分类id
*/
private Long classifyId;
/**
* 分类名称
*/
private String classify;
/**
* 分类下群数量
*/
private Integer groupNumber;
public Long getClassifyId() {
return classifyId;
}
public void setClassifyId(Long classifyId) {
this.classifyId = classifyId;
}
public String getClassify() {
return classify;
}
public void setClassify(String classify) {
this.classify = classify;
}
public Integer getGroupNumber() {
return groupNumber;
}
public void setGroupNumber(Integer groupNumber) {
this.groupNumber = groupNumber;
}
}
......@@ -75,5 +75,4 @@ public interface BookGroupClassifyService {
@ApiOperation("根据群分类id找群")
@GetMapping("getGroupQrcodeInfo4Classify")
ResponseEntity<ResponseDto<GroupQrcode4ClassifyDTO>> getGroupQrcodeInfo4Classify(@RequestParam("wechatUserId") Long wechatUserId,@RequestParam("classifyId") Long classifyId);
}
......@@ -2,6 +2,7 @@ package com.pcloud.book.group.service;
import com.pcloud.book.group.dto.AltAndCountDTO;
import com.pcloud.book.group.dto.BookAppletSceneDTO;
import com.pcloud.book.group.dto.BookGroupClassifyDTO;
import com.pcloud.book.group.dto.BookGroupCountDTO;
import com.pcloud.book.group.dto.BookGroupDTO;
import com.pcloud.book.group.dto.BookGroupKeywordResourceDTO;
......@@ -226,4 +227,5 @@ public interface BookGroupService {
ResponseEntity<ResponseDto<Long>> getBookGroupId4OldData(
@RequestParam(value = "raysBookId") Long raysBookId
) throws BizException;
}
......@@ -6,6 +6,7 @@ import com.pcloud.book.group.dto.AgentStatisticsInfoDTO;
import com.pcloud.book.group.dto.AltAndCountDTO;
import com.pcloud.book.group.dto.BookAppletSceneDTO;
import com.pcloud.book.group.dto.AppStatisticsDTO;
import com.pcloud.book.group.dto.BookGroupClassifyDTO;
import com.pcloud.book.group.dto.BookGroupCountDTO;
import com.pcloud.book.group.dto.BookGroupDTO;
import com.pcloud.book.group.dto.BookGroupKeywordResourceDTO;
......@@ -38,7 +39,6 @@ import com.pcloud.book.group.dto.UserBookBaseInfoDTO;
import com.pcloud.book.group.dto.UserSelectParamDTO;
import com.pcloud.book.group.entity.BookGroup;
import com.pcloud.book.group.entity.BookGroupServe;
import com.pcloud.book.group.dto.AgentStatisticsInfoDTO;
import com.pcloud.book.group.entity.WxWechatUserCorrelation;
import com.pcloud.book.group.vo.BookGroupAnalysisParam;
import com.pcloud.book.group.vo.BookGroupAnalysisVO;
......@@ -846,4 +846,6 @@ public interface BookGroupBiz {
* @return
*/
Map<String,Object> getBookBaseInfo4Applet(Long adviserId, Long channelId, Long bookId);
PageBeanNew<BookGroupClassifyDTO> getBookGroupClassifyByAdviserId(Long adviserId, String classify, Integer currentPage , Integer numPerPage);
}
......@@ -6,6 +6,7 @@ import com.pcloud.book.group.dto.ClassifyDTO;
import com.pcloud.book.group.dto.ClassifyLearningReportDto;
import com.pcloud.book.group.dto.GroupClassifyQrcodeDTO;
import com.pcloud.book.group.dto.GroupNameAndMaxSeqDTO;
import com.pcloud.book.group.dto.GroupQrcode4ClassifyDTO;
import com.pcloud.book.group.dto.GroupQrcodeBaseDTO;
import com.pcloud.book.group.dto.ProAssocGroupAndUserNumberDTO;
import com.pcloud.book.group.entity.BookGroupClassify;
......@@ -264,4 +265,8 @@ public interface BookGroupClassifyBiz {
Integer getClassifyCountByJoinGroupType(Integer joinGroupType);
GroupQrcode4ClassifyVO getGroupQrcode4Applet(Long classifyId, Long wechatUserId);
GroupQrcode4ClassifyVO getGroupQrcodeInfo4Heals(Long classifyId, Long wechatUserId);
List<GroupQrcode4ClassifyDTO> getQrcodeByClassifyId4Heals(Long classifyId);
}
......@@ -67,6 +67,7 @@ import com.pcloud.book.group.dto.AltAndCountDTO;
import com.pcloud.book.group.dto.AltIdAndNameDTO;
import com.pcloud.book.group.dto.AppStatisticsDTO;
import com.pcloud.book.group.dto.BookAppletSceneDTO;
import com.pcloud.book.group.dto.BookGroupClassifyDTO;
import com.pcloud.book.group.dto.BookGroupCountDTO;
import com.pcloud.book.group.dto.BookGroupDTO;
import com.pcloud.book.group.dto.BookGroupIdAndCountDTO;
......@@ -4974,4 +4975,12 @@ public class BookGroupBizImpl implements BookGroupBiz {
return map;
}
@Override
public PageBeanNew<BookGroupClassifyDTO> getBookGroupClassifyByAdviserId(Long adviserId, String classify, Integer currentPage , Integer numPerPage) {
Map<String,Object> map=new HashMap<>();
map.put("adviserId",adviserId);
map.put("classify",classify);
return bookGroupClassifyDao.listPageNew(new PageParam(currentPage,numPerPage),map,"getBookGroupClassifyByAdviserId");
}
}
......@@ -37,6 +37,7 @@ import com.pcloud.book.group.dto.ClassifyLearningReportDto;
import com.pcloud.book.group.dto.GroupAndUserNumberDTO;
import com.pcloud.book.group.dto.GroupClassifyQrcodeDTO;
import com.pcloud.book.group.dto.GroupNameAndMaxSeqDTO;
import com.pcloud.book.group.dto.GroupQrcode4ClassifyDTO;
import com.pcloud.book.group.dto.GroupQrcodeBaseDTO;
import com.pcloud.book.group.dto.GroupQrcodeInfoDTO;
import com.pcloud.book.group.dto.ProAssocGroupAndUserNumberDTO;
......@@ -47,6 +48,7 @@ import com.pcloud.book.group.entity.BookQrcodeUser;
import com.pcloud.book.group.entity.GroupQrcode;
import com.pcloud.book.group.entity.WeixinQrcode;
import com.pcloud.book.group.enums.JoinGroupTypeEnum;
import com.pcloud.book.group.enums.QrcodeUsedEnum;
import com.pcloud.book.group.enums.RankTypeEnum;
import com.pcloud.book.group.set.GroupSet;
import com.pcloud.book.group.tools.SendWeixinRequestTools;
......@@ -1268,4 +1270,54 @@ public class BookGroupClassifyBizImpl implements BookGroupClassifyBiz {
groupQrcode4ClassifyVO.setClassify(classify.getClassify());
return groupQrcode4ClassifyVO;
}
@Override
public GroupQrcode4ClassifyVO getGroupQrcodeInfo4Heals(Long classifyId, Long wechatUserId) {
//获取分类基本信息
ClassifyVO classify = bookGroupClassifyDao.getClassify(classifyId);
if (classify == null) {
throw new BookBizException(BookBizException.PARAM_IS_NULL, "社群码不存在,请刷新后重试");
}
//获取用户是否分配过二维码
GroupQrcode4ClassifyVO groupQrcode4ClassifyVO = bookQrcodeUserDao.getUserQrcode(classifyId, wechatUserId);
if (groupQrcode4ClassifyVO == null) {
//获取分类对应的二维码
groupQrcode4ClassifyVO = bookGroupClassifyDao.getClassifyQrcode(classifyId, classify.getChangeNumber());
if (groupQrcode4ClassifyVO == null) {
groupQrcode4ClassifyVO = new GroupQrcode4ClassifyVO();
groupQrcode4ClassifyVO.setClassifyId(classifyId);
} else {
BookQrcodeUser bookQrcodeUser = new BookQrcodeUser();
bookQrcodeUser.setClassifyId(classifyId);
bookQrcodeUser.setGroupQrcodeId(groupQrcode4ClassifyVO.getGroupQrcodeId());
bookQrcodeUser.setWechatUserId(wechatUserId);
bookQrcodeUser.setCreateUser(wechatUserId);
bookQrcodeUser.setFromType(QrcodeUsedEnum.HEALS.value);
try {
bookQrcodeUserDao.insert(bookQrcodeUser);
} catch (DataIntegrityViolationException e) {
LOGGER.error("已存在该用户!");
}
}
}
String spareQr = getSpareQr(classify.getBookGroupId());
groupQrcode4ClassifyVO.setSpareQr(spareQr);
groupQrcode4ClassifyVO.setClassify(classify.getClassify());
return groupQrcode4ClassifyVO;
}
@Override
public List<GroupQrcode4ClassifyDTO> getQrcodeByClassifyId4Heals(Long classifyId) {
if(null==classifyId){
return new ArrayList<>();
}
//获取分类基本信息
ClassifyVO classify = bookGroupClassifyDao.getClassify(classifyId);
if (classify == null) {
throw new BookBizException(BookBizException.PARAM_IS_NULL, "社群码不存在,请刷新后重试");
}
List<GroupQrcode4ClassifyDTO> list=bookGroupClassifyDao.getQrcodeByClassifyId4Heals(classifyId, classify.getChangeNumber());
return list;
}
}
......@@ -7,6 +7,7 @@ import com.pcloud.book.group.dto.ClassifyKeywordDTO;
import com.pcloud.book.group.dto.ClickClassifyDTO;
import com.pcloud.book.group.dto.GroupClassifyQrcodeDTO;
import com.pcloud.book.group.dto.GroupNameAndMaxSeqDTO;
import com.pcloud.book.group.dto.GroupQrcode4ClassifyDTO;
import com.pcloud.book.group.dto.GroupQrcodeBaseDTO;
import com.pcloud.book.group.dto.ProAssocGroupAndUserNumberDTO;
import com.pcloud.book.group.dto.SelfBookGroupStDTO;
......@@ -285,4 +286,9 @@ public interface BookGroupClassifyDao extends BaseDao<BookGroupClassify> {
* 获取群分类数量等信息
*/
Map<Long,BookGroupStatisticDTO> getClassifyCountAbout(List<Long> bookGroupIds);
/**
*获取群分类下面所有可用的二维码
*/
List<GroupQrcode4ClassifyDTO> getQrcodeByClassifyId4Heals(Long classifyId, Integer changeNumber);
}
......@@ -8,6 +8,7 @@ import com.pcloud.book.group.dto.ClassifyKeywordDTO;
import com.pcloud.book.group.dto.ClickClassifyDTO;
import com.pcloud.book.group.dto.GroupClassifyQrcodeDTO;
import com.pcloud.book.group.dto.GroupNameAndMaxSeqDTO;
import com.pcloud.book.group.dto.GroupQrcode4ClassifyDTO;
import com.pcloud.book.group.dto.GroupQrcodeBaseDTO;
import com.pcloud.book.group.dto.ProAssocGroupAndUserNumberDTO;
import com.pcloud.book.group.dto.SelfBookGroupStDTO;
......@@ -282,4 +283,11 @@ public class BookGroupClassifyDaoImpl extends BaseDaoImpl<BookGroupClassify> imp
return this.getSqlSession().selectMap(this.getStatement("getClassifyCountAbout"), bookGroupIds, "bookGroupId");
}
@Override
public List<GroupQrcode4ClassifyDTO> getQrcodeByClassifyId4Heals(Long classifyId, Integer changeNumber) {
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("classifyId", classifyId);
paramMap.put("changeNumber", changeNumber);
return this.getSqlSession().selectList(this.getStatement("getQrcodeByClassifyId4Heals"), paramMap);
}
}
......@@ -19,6 +19,17 @@ public class BookQrcodeUser extends BaseEntity {
private Long createUser;
//(1-rays,2-heals)
private Integer fromType;
public Integer getFromType() {
return fromType;
}
public void setFromType(Integer fromType) {
this.fromType = fromType;
}
@Override
public Long getId() {
return id;
......
package com.pcloud.book.group.enums;
/**
* @author lily
* @date 2019/1/29 11:33
*/
public enum QrcodeUsedEnum {
/**
* RAYS
*/
RAYS(1),
/**
* HEALS
*/
HEALS(2);
/**
* 值
*/
public final Integer value;
QrcodeUsedEnum(Integer value) {
this.value = value;
}
}
package com.pcloud.book.group.facade;
import com.pcloud.book.group.dto.BookGroupClassifyDTO;
import com.pcloud.book.group.dto.GroupQrcode4ClassifyDTO;
import com.pcloud.book.group.vo.AddClassifyVO;
import com.pcloud.book.group.vo.AdviserClassifyParam;
import com.pcloud.book.group.vo.AdviserClassifyVO;
......@@ -22,7 +24,10 @@ import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.page.PageBeanNew;
import com.pcloud.common.permission.PermissionException;
import com.pcloud.common.utils.ResponseHandleUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
......@@ -33,6 +38,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
import java.util.Map;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
......@@ -239,4 +245,27 @@ public interface BookGroupClassifyFacade {
) throws PermissionException;
@ApiOperation("根据id获取微信群分类")
@PostMapping("getClassifyByIds4Heals")
ResponseDto<Map<Long, String>> getClassifyByIds4Heals(@RequestBody List<Long> classifyIds);
@ApiOperation("根据编辑id获取所有群分类")
@RequestMapping(value = "/getBookGroupClassifyByAdviserId", method = RequestMethod.GET)
ResponseDto<PageBeanNew<BookGroupClassifyDTO>> getBookGroupClassifyByAdviserId(
@RequestParam(value = "adviserId") Long adviserId,
@RequestParam(value = "classify",required = false) String classify,
@RequestParam(value = "currentPage") Integer currentPage ,
@RequestParam(value = "numPerPage") Integer numPerPage
) throws BizException;
@ApiOperation("根据群分类下面所有的可用的群")
@RequestMapping(value = "/getQrcodeByClassifyId4Heals", method = RequestMethod.GET)
ResponseDto<List<GroupQrcode4ClassifyDTO>> getQrcodeByClassifyId4Heals(
@RequestParam(value = "classifyId") Long classifyId
) throws BizException;
@ApiOperation("根据群分类下面最新可用的群")
@GetMapping("getQrcodeInfo4Heals")
ResponseDto<GroupQrcode4ClassifyDTO> getQrcodeInfo4Heals(@RequestParam("wechatUserId") Long wechatUserId,
@RequestParam("classifyId") Long classifyId) throws BizException;
}
package com.pcloud.book.group.facade.impl;
import com.pcloud.book.group.biz.BookGroupBiz;
import com.pcloud.book.group.biz.BookGroupClassifyBiz;
import com.pcloud.book.group.dto.BookGroupClassifyDTO;
import com.pcloud.book.group.dto.GroupQrcode4ClassifyDTO;
import com.pcloud.book.group.facade.BookGroupClassifyFacade;
import com.pcloud.book.group.vo.*;
import com.pcloud.common.core.constant.SystemCode;
......@@ -8,6 +11,7 @@ import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.page.PageBeanNew;
import com.pcloud.common.permission.PermissionException;
import com.pcloud.common.utils.BeanUtils;
import com.pcloud.common.utils.SessionUtil;
import com.pcloud.common.utils.cookie.Cookie;
......@@ -20,11 +24,13 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* @author lily
......@@ -36,6 +42,8 @@ public class BookGroupClassifyFacadeImpl implements BookGroupClassifyFacade {
@Autowired
private BookGroupClassifyBiz bookGroupClassifyBiz;
@Autowired
private BookGroupBiz bookGroupBiz;
@Override
@GetMapping("listAllClassify")
......@@ -246,5 +254,39 @@ public class BookGroupClassifyFacadeImpl implements BookGroupClassifyFacade {
return new ResponseDto<>(bookGroupClassifyBiz.getClassifyCountByJoinGroupType(joinGroupType));
}
@Override
@PostMapping("getClassifyByIds4Heals")
public ResponseDto<Map<Long, String>> getClassifyByIds4Heals(@RequestBody List<Long> classifyIds) {
Map<Long, String> groupClassifyMap = bookGroupClassifyBiz.getClassifyByIds(classifyIds);
return new ResponseDto<>(groupClassifyMap);
}
@Override
@RequestMapping(value = "/getBookGroupClassifyByAdviserId", method = RequestMethod.GET)
public ResponseDto<PageBeanNew<BookGroupClassifyDTO>> getBookGroupClassifyByAdviserId( @RequestParam(value = "adviserId") Long adviserId,
@RequestParam(value = "classify",required = false) String classify,
@RequestParam(value = "currentPage") Integer currentPage ,
@RequestParam(value = "numPerPage") Integer numPerPage) throws BizException {
PageBeanNew<BookGroupClassifyDTO> pageBeanNew=bookGroupBiz.getBookGroupClassifyByAdviserId(adviserId,classify,currentPage,numPerPage);
return new ResponseDto<>(pageBeanNew);
}
@Override
@RequestMapping(value = "/getQrcodeByClassifyId4Heals", method = RequestMethod.GET)
public ResponseDto<List<GroupQrcode4ClassifyDTO>> getQrcodeByClassifyId4Heals(@RequestParam(value = "classifyId") Long classifyId) throws BizException {
List<GroupQrcode4ClassifyDTO> list=bookGroupClassifyBiz.getQrcodeByClassifyId4Heals(classifyId);
return new ResponseDto<>(list);
}
@Override
@GetMapping("getQrcodeInfo4Heals")
public ResponseDto<GroupQrcode4ClassifyDTO> getQrcodeInfo4Heals(@RequestParam("wechatUserId") Long wechatUserId,
@RequestParam("classifyId") Long classifyId) throws BizException {
GroupQrcode4ClassifyVO groupQrcode4ClassifyVO = bookGroupClassifyBiz.getGroupQrcode4ClassifyWechat(classifyId, wechatUserId);
GroupQrcode4ClassifyDTO groupQrcode4ClassifyDTO=new GroupQrcode4ClassifyDTO();
if(null!=groupQrcode4ClassifyVO){
BeanUtils.copyProperties(groupQrcode4ClassifyVO,groupQrcode4ClassifyDTO);
}
return new ResponseDto<>(groupQrcode4ClassifyDTO);
}
}
......@@ -121,7 +121,7 @@ public class BookGroupClassifyServiceImpl implements BookGroupClassifyService {
@Override
@GetMapping("getGroupQrcodeInfo4Classify")
public ResponseEntity<ResponseDto<GroupQrcode4ClassifyDTO>> getGroupQrcodeInfo4Classify(@RequestParam("wechatUserId") Long wechatUserId,@RequestParam("classifyId") Long classifyId) {
GroupQrcode4ClassifyVO groupQrcode4ClassifyVO = bookGroupClassifyBiz.getGroupQrcode4ClassifyWechat(classifyId, wechatUserId);
GroupQrcode4ClassifyVO groupQrcode4ClassifyVO = bookGroupClassifyBiz.getGroupQrcodeInfo4Heals(classifyId, wechatUserId);
GroupQrcode4ClassifyDTO groupQrcode4ClassifyDTO=new GroupQrcode4ClassifyDTO();
if(null!=groupQrcode4ClassifyVO){
BeanUtils.copyProperties(groupQrcode4ClassifyVO,groupQrcode4ClassifyDTO);
......
......@@ -23,7 +23,6 @@ import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.dto.StoreFlowInfoDto;
import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.page.PageBeanNew;
import com.pcloud.common.utils.DateUtils;
import com.pcloud.common.utils.ListUtils;
import com.pcloud.common.utils.ResponseHandleUtil;
......@@ -40,7 +39,6 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Random;
......
......@@ -1054,4 +1054,36 @@
t.book_group_id
</select>
<select id="getBookGroupClassifyByAdviserId" parameterType="map" resultType="com.pcloud.book.group.dto.BookGroupClassifyDTO">
SELECT
t.id classifyId,
t.classify classify,
count(t1.id) groupNumber
FROM
book_group_qrcode t1
LEFT JOIN book_group_classify t ON t.id = t1.classify_id
AND t1.is_delete = 0
WHERE
t.create_user=#{adviserId}
<if test="classify!=null">
and t.classify LIKE CONCAT("%",#{classify},"%")
</if>
AND t.is_delete = 0
and t.price=0
GROUP BY
t.id
ORDER BY t.create_time DESC
</select>
<select id="getQrcodeByClassifyId4Heals" parameterType="map" resultType="com.pcloud.book.group.dto.GroupQrcode4ClassifyDTO">
SELECT
id groupQrcodeId,
qrcode_url qrcodeUrl,
weixin_group_id weixinGroupId,
group_name groupName
FROM
book_group_qrcode
WHERE user_number <![CDATA[ < ]]> #{changeNumber} AND classify_id = #{classifyId} AND use_state = 1 AND is_delete = 0 order by user_number asc
</select>
</mapper>
\ No newline at end of file
......@@ -7,6 +7,7 @@
<result column="wechat_user_id" property="wechatUserId" jdbcType="BIGINT"/>
<result column="group_qrcode_id" property="groupQrcodeId" jdbcType="BIGINT"/>
<result column="create_user" property="createUser" jdbcType="BIGINT"/>
<result column="from_type" property="fromType" jdbcType="INTEGER"/>
</resultMap>
......@@ -19,6 +20,7 @@
group_qrcode_id,
create_user,
create_time,
from_type
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
#{classifyId,jdbcType=BIGINT},
......@@ -26,6 +28,7 @@
#{groupQrcodeId,jdbcType=BIGINT},
#{createUser,jdbcType=BIGINT},
NOW(),
#{fromType}
</trim>
</insert>
......
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