Commit 1a75db3b by 裴大威

Merge branch 'feat-zy-1002797' into 'master'

1002797社群入口调整点击入群按钮进入小程序页面带入客服,推出群二维码4221500

See merge request rays/pcloud-book!659
parents caa1806b e31aa3b0
package com.pcloud.book.group.dto;
import com.pcloud.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Description
* @Author ruansiyuan
* @Date 2019/11/22 14:48
**/
@Data
public class GroupQrcode4ClassifyDTO extends BaseDto{
@ApiModelProperty("分类标识")
private Long classifyId;
@ApiModelProperty("二维码地址")
private String qrcodeUrl;
@ApiModelProperty("群名称")
private String groupName;
@ApiModelProperty("用户数")
private Integer userNumber;
@ApiModelProperty("群二维码标识")
private Long groupQrcodeId;
@ApiModelProperty("备用二维码")
private String spareQr;
@ApiModelProperty("分类名称")
private String classify;
@ApiModelProperty("微信群名称")
private String weixinGroupId;
}
......@@ -2,6 +2,7 @@ package com.pcloud.book.group.service;
import com.pcloud.book.group.dto.BookClassifyDTO;
import com.pcloud.book.group.dto.GroupClassifyQrcodeDTO;
import com.pcloud.book.group.dto.GroupQrcode4ClassifyDTO;
import com.pcloud.book.group.dto.GroupQrcodeBaseDTO;
import com.pcloud.book.group.dto.GroupQrcodeInfo4Advertising;
import com.pcloud.book.group.dto.ProAssocGroupAndUserNumberDTO;
......@@ -71,4 +72,8 @@ public interface BookGroupClassifyService {
@PostMapping("getGroupClassifyCount")
ResponseEntity<ResponseDto<Map<Long, BookClassifyDTO>>> getGroupClassifyCount(@RequestBody List<Long> bookIds);
@ApiOperation("根据群分类id找群")
@GetMapping("getGroupQrcodeInfo4Classify")
ResponseEntity<ResponseDto<GroupQrcode4ClassifyDTO>> getGroupQrcodeInfo4Classify(@RequestParam("wechatUserId") Long wechatUserId,@RequestParam("classifyId") Long classifyId);
}
......@@ -263,4 +263,5 @@ public interface BookGroupClassifyBiz {
*/
Integer getClassifyCountByJoinGroupType(Integer joinGroupType);
GroupQrcode4ClassifyVO getGroupQrcode4Applet(Long classifyId, Long wechatUserId);
}
......@@ -1234,4 +1234,38 @@ public class BookGroupClassifyBizImpl implements BookGroupClassifyBiz {
return bookGroupClassifyDao.getClassifyCountByJoinGroupType(joinGroupType);
}
@Override
public GroupQrcode4ClassifyVO getGroupQrcode4Applet(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);
try {
bookQrcodeUserDao.insert(bookQrcodeUser);
} catch (DataIntegrityViolationException e) {
LOGGER.error("已存在该用户!");
}
}
}
String spareQr = getSpareQr(classify.getBookGroupId());
groupQrcode4ClassifyVO.setSpareQr(spareQr);
groupQrcode4ClassifyVO.setClassify(classify.getClassify());
return groupQrcode4ClassifyVO;
}
}
......@@ -148,6 +148,14 @@ public interface BookGroupClassifyFacade {
@GetMapping("getGroupQrcode4ClassifyWechat")
ResponseDto<GroupQrcode4ClassifyVO> getGroupQrcode4ClassifyWechat(@CookieValue("userInfo") String userInfo, @RequestParam("classifyId") Long classifyId);
@ApiOperation(value = "小程序客户端根据群分类获取二维码", httpMethod = "GET")
@RequestMapping(value = "getGroupQrcode4Applet", method = RequestMethod.GET)
@ApiImplicitParams({@ApiImplicitParam(name = "userInfo", value = "userInfo", dataType = "String", paramType = "header"),
@ApiImplicitParam(name = "classifyId", value = "分类标识", dataType = "Long", paramType = "query")
})
@GetMapping("getGroupQrcode4Applet")
ResponseDto<GroupQrcode4ClassifyVO> getGroupQrcode4Applet(@CookieValue("userInfo") String userInfo, @RequestParam("classifyId") Long classifyId);
@ApiOperation(value = "获取编辑所有的分类", httpMethod = "POST")
@RequestMapping(value = "listGroupClassifyByAdviser", method = RequestMethod.POST)
......
......@@ -129,6 +129,14 @@ public class BookGroupClassifyFacadeImpl implements BookGroupClassifyFacade {
}
@Override
@GetMapping("getGroupQrcode4Applet")
public ResponseDto<GroupQrcode4ClassifyVO> getGroupQrcode4Applet(@CookieValue("userInfo") String userInfo, @RequestParam("classifyId") Long classifyId) {
Long wechatUserId = Cookie.getId(userInfo, Cookie._WECHAT_USER_ID);
GroupQrcode4ClassifyVO groupQrcode4ClassifyVO = bookGroupClassifyBiz.getGroupQrcode4Applet(classifyId, wechatUserId);
return new ResponseDto<>(groupQrcode4ClassifyVO == null ? new GroupQrcode4ClassifyVO() : groupQrcode4ClassifyVO);
}
@Override
@PostMapping("listGroupClassifyByAdviser")
public ResponseDto<PageBeanNew<BookGroupClassifyVO>> listGroupClassifyByAdviser(@RequestHeader("token") String token, @RequestBody @ApiParam("获取分类列表参数") ListGroupClassifyParam listGroupClassifyParam) throws PermissionException {
Long adviserId = (Long) SessionUtil.getVlaue(token, SessionUtil.PARTY_ID);
......
......@@ -4,13 +4,16 @@ import com.pcloud.book.group.biz.BookGroupClassifyBiz;
import com.pcloud.book.group.biz.GroupQrcodeBiz;
import com.pcloud.book.group.dto.BookClassifyDTO;
import com.pcloud.book.group.dto.GroupClassifyQrcodeDTO;
import com.pcloud.book.group.dto.GroupQrcode4ClassifyDTO;
import com.pcloud.book.group.dto.GroupQrcodeBaseDTO;
import com.pcloud.book.group.dto.GroupQrcodeInfo4Advertising;
import com.pcloud.book.group.dto.ProAssocGroupAndUserNumberDTO;
import com.pcloud.book.group.service.BookGroupClassifyService;
import com.pcloud.book.group.vo.GroupQrcode4ClassifyVO;
import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.utils.ResponseHandleUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
......@@ -115,4 +118,14 @@ public class BookGroupClassifyServiceImpl implements BookGroupClassifyService {
return ResponseHandleUtil.toResponse(groupClassifyCount);
}
@Override
@GetMapping("getGroupQrcodeInfo4Classify")
public ResponseEntity<ResponseDto<GroupQrcode4ClassifyDTO>> getGroupQrcodeInfo4Classify(@RequestParam("wechatUserId") Long wechatUserId,@RequestParam("classifyId") Long classifyId) {
GroupQrcode4ClassifyVO groupQrcode4ClassifyVO = bookGroupClassifyBiz.getGroupQrcode4ClassifyWechat(classifyId, wechatUserId);
GroupQrcode4ClassifyDTO groupQrcode4ClassifyDTO=new GroupQrcode4ClassifyDTO();
if(null!=groupQrcode4ClassifyVO){
BeanUtils.copyProperties(groupQrcode4ClassifyVO,groupQrcode4ClassifyDTO);
}
return ResponseHandleUtil.toResponse(groupQrcode4ClassifyDTO);
}
}
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