Commit 04ff7ca9 by lili

版权保护V1.2

parent 4a493dd9
......@@ -131,6 +131,13 @@
<artifactId>pcloud-facade-contentcenter</artifactId>
<version>${pcloud-facade-contentcenter.version}</version>
</dependency>
<dependency>
<groupId>com.pcloud.facade</groupId>
<artifactId>pcloud-facade-readercenter</artifactId>
<version>${pcloud-facade-readercenter.version}</version>
</dependency>
<dependency>
<groupId>fakepath</groupId>
<artifactId>jbarcode</artifactId>
......
package com.pcloud.book.consumer.reader;
import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.utils.ResponseHandleUtil;
import com.pcloud.readercenter.wechat.entity.WechatUser;
import com.pcloud.readercenter.wechat.service.WechatUserService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* @author lily
* @date 2018/12/26 16:49
*/
@Component("readerConsr")
public class ReaderConsr {
/**
* logger
*/
private static final Logger LOGGER = LoggerFactory.getLogger(ReaderConsr.class);
@Autowired
private WechatUserService wechatUserService;
public WechatUser getWechatUser(Long wechatUserId) throws BizException {
if (wechatUserId == null) {
return null;
}
try {
return ResponseHandleUtil.parseResponse(wechatUserService.getWechatUser(wechatUserId), WechatUser.class);
} catch (Exception e) {
LOGGER.error("获取微信用户信息失败[wechatUserService.getWechatUser]:" + e.getMessage(), e);
}
return null;
}
}
......@@ -3,6 +3,7 @@ package com.pcloud.book.copyright.biz;
import com.pcloud.book.copyright.entity.BookAuthUser;
import com.pcloud.book.copyright.vo.BookAuthCodeUserVO;
import com.pcloud.book.copyright.vo.BookClickBuyRecordParam;
import com.pcloud.book.copyright.vo.ProvinceTop10VO;
import com.pcloud.book.copyright.vo.SixMonthCountVO;
import com.pcloud.book.copyright.vo.ThirtyDayCountVO;
......@@ -26,12 +27,12 @@ public interface BookAuthUserBiz {
/**
* 最近30天趋势图
*/
List<ThirtyDayCountVO> listThirtyDay(Long bookId, Long channelId, Long adviserId);
List<ThirtyDayCountVO> listThirtyDay(Long bookId, Long channelId, Long adviserId, String province);
/**
* 最近6个月趋势图
*/
List<SixMonthCountVO> listSixMonth(Long bookId, Long channelId, Long adviserId);
List<SixMonthCountVO> listSixMonth(Long bookId, Long channelId, Long adviserId, String province);
/**
* 新增用户授权记录
......@@ -53,4 +54,8 @@ public interface BookAuthUserBiz {
*/
void insertClickBuyRecord(BookClickBuyRecordParam bookClickBuyRecordParam, Long channelId, Long wechatUserId);
/**
* 省份排名前10
*/
List<ProvinceTop10VO> listTop10ByBook(Long bookId, Long channelId, Long adviserId, Integer type);
}
package com.pcloud.book.copyright.biz.impl;
import com.pcloud.book.base.enums.BookStatusEnum;
import com.pcloud.book.base.exception.BookBizException;
import com.pcloud.book.consumer.channel.QrcodeSceneConsr;
import com.pcloud.book.consumer.reader.ReaderConsr;
import com.pcloud.book.copyright.biz.BookAuthCodeBiz;
import com.pcloud.book.copyright.biz.BookAuthInfoBiz;
import com.pcloud.book.copyright.biz.BookAuthServeBiz;
import com.pcloud.book.copyright.biz.BookAuthUserBiz;
import com.pcloud.book.base.enums.BookStatusEnum;
import com.pcloud.book.copyright.dao.BookAuthCodeDao;
import com.pcloud.book.copyright.entity.BookAuthCode;
import com.pcloud.book.copyright.entity.BookAuthUser;
......@@ -14,7 +15,8 @@ import com.pcloud.book.copyright.vo.BookAuthInfoVO;
import com.pcloud.book.copyright.vo.CheckCodeParam;
import com.pcloud.book.copyright.vo.CheckIsAuthServeParam;
import com.pcloud.common.core.aspect.ParamLog;
import io.swagger.annotations.ApiModelProperty;
import com.pcloud.common.utils.string.StringUtil;
import com.pcloud.readercenter.wechat.entity.WechatUser;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
......@@ -44,6 +46,8 @@ public class BookAuthCodeBizImpl implements BookAuthCodeBiz {
private BookAuthServeBiz bookAuthServeBiz;
@Autowired
private QrcodeSceneConsr qrcodeSceneConsr;
@Autowired
private ReaderConsr readerConsr;
@Override
@ParamLog(value = "批量插入授权码",isBefore = false)
public void insert(List<BookAuthCode> bookAuthCodes) {
......@@ -138,6 +142,9 @@ public class BookAuthCodeBizImpl implements BookAuthCodeBiz {
bookAuthUser.setAdviserId(adviserId);
bookAuthUser.setWechatUserId(wechatUserId);
bookAuthUser.setAuthCode(BookStatusEnum.AuthCodeTypeEnum.BY_CODE.value);
WechatUser wechatUser = readerConsr.getWechatUser(wechatUserId);
bookAuthUser.setProvince(wechatUser == null || StringUtil.isEmpty(wechatUser.getWechatUserProvince()) ? "未知" : wechatUser.getWechatUserProvince());
bookAuthUser.setCity(wechatUser == null || StringUtil.isEmpty(wechatUser.getWechatUserCity()) ? "未知" : wechatUser.getWechatUserCity());
bookAuthUserBiz.insert(bookAuthUser);
}
......
......@@ -4,6 +4,7 @@ import com.pcloud.book.base.enums.BookStatusEnum;
import com.pcloud.book.book.biz.BookBiz;
import com.pcloud.book.book.dto.BookDto;
import com.pcloud.book.consumer.message.TemplateConsr;
import com.pcloud.book.consumer.reader.ReaderConsr;
import com.pcloud.book.copyright.biz.BookAuthOrderBiz;
import com.pcloud.book.copyright.biz.BookAuthUserBiz;
import com.pcloud.book.copyright.dao.BookAuthOrderDao;
......@@ -14,6 +15,7 @@ import com.pcloud.common.core.constant.SceneCode;
import com.pcloud.common.core.constant.SendType;
import com.pcloud.common.utils.string.StringUtil;
import com.pcloud.facade.tradecenter.entity.Genuine;
import com.pcloud.readercenter.wechat.entity.WechatUser;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
......@@ -37,6 +39,8 @@ public class BookAuthOrderBizImpl implements BookAuthOrderBiz {
private TemplateConsr templateConsr;
@Autowired
private BookBiz bookBiz;
@Autowired
private ReaderConsr readerConsr;
@Override
@ParamLog("新增授权金购买订单")
......@@ -53,6 +57,9 @@ public class BookAuthOrderBizImpl implements BookAuthOrderBiz {
BookAuthUser bookAuthUser = new BookAuthUser();
BeanUtils.copyProperties(bookAuthOrder, bookAuthUser);
bookAuthUser.setAuthCode(BookStatusEnum.AuthCodeTypeEnum.BY_PAY.value);
WechatUser wechatUser = readerConsr.getWechatUser(genuine.getWechatUserId());
bookAuthUser.setProvince(wechatUser == null || StringUtil.isEmpty(wechatUser.getWechatUserProvince()) ? "未知" : wechatUser.getWechatUserProvince());
bookAuthUser.setCity(wechatUser == null || StringUtil.isEmpty(wechatUser.getWechatUserCity()) ? "未知" : wechatUser.getWechatUserCity());
bookAuthUserBiz.insert(bookAuthUser);
BookDto bookDto = bookBiz.getBaseById(genuine.getBookId());
//发送模板消息
......@@ -62,7 +69,6 @@ public class BookAuthOrderBizImpl implements BookAuthOrderBiz {
paramMap.put("orderProductName", bookDto == null ? "" : StringUtil.addBracket(bookDto.getBookName()) + "正版授权费");
paramMap.put("Remark", "支持正版图书,享受专属资源");
String url = "/C" + genuine.getChannelId() + "/qrcode/" + genuine.getSceneId() + "?adviserId=" + genuine.getAdviserId() + "&sceneId=" + genuine.getSceneId() + "&source_type=QRCODE";
templateConsr.sendOperate(SceneCode.PAY_SUCCESS_SCENE.value, genuine.getChannelId(), genuine.getWechatUserId(), url, paramMap, SendType.SEND_BY_WECHAT_USER_ID.value, false);
}
}
......@@ -10,10 +10,12 @@ import com.pcloud.book.copyright.entity.BookClickBuyRecord;
import com.pcloud.book.copyright.tools.CopyrightTools;
import com.pcloud.book.copyright.vo.BookAuthCodeUserVO;
import com.pcloud.book.copyright.vo.BookClickBuyRecordParam;
import com.pcloud.book.copyright.vo.ProvinceTop10VO;
import com.pcloud.book.copyright.vo.SixMonthCountVO;
import com.pcloud.book.copyright.vo.ThirtyDayCountVO;
import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.utils.DateUtils;
import com.pcloud.common.utils.ListUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
......@@ -43,7 +45,7 @@ public class BookAuthUserBizImpl implements BookAuthUserBiz {
private static final ExecutorService EXECUTOR_SERVICE = Executors.newFixedThreadPool(4);
@ParamLog("获取授权用户数量")
@ParamLog(value = "获取授权用户数量")
@Override
public BookAuthCodeUserVO getAuthUserCount(Long bookId, Long channelId, Long adviserId) {
if (bookId == null || channelId == null || adviserId == null) {
......@@ -73,7 +75,7 @@ public class BookAuthUserBizImpl implements BookAuthUserBiz {
}
@Override
public List<ThirtyDayCountVO> listThirtyDay(Long bookId, Long channelId, Long adviserId) {
public List<ThirtyDayCountVO> listThirtyDay(Long bookId, Long channelId, Long adviserId, String province) {
DateDTO date = CopyrightTools.getDateByType(30L);
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("startDate", date.getStartTime());
......@@ -81,6 +83,7 @@ public class BookAuthUserBizImpl implements BookAuthUserBiz {
paramMap.put("bookId", bookId);
paramMap.put("channelId", channelId);
paramMap.put("adviserId", adviserId);
paramMap.put("province", province);
List<ThirtyDayCountVO> thirtyDayCountVOS = bookAuthUserDao.listThirtyDay(paramMap);
setZoreRecord(thirtyDayCountVOS, date.getStartTime(), date.getEndTime());
return thirtyDayCountVOS;
......@@ -115,11 +118,12 @@ public class BookAuthUserBizImpl implements BookAuthUserBiz {
}
@Override
public List<SixMonthCountVO> listSixMonth(Long bookId, Long channelId, Long adviserId) {
public List<SixMonthCountVO> listSixMonth(Long bookId, Long channelId, Long adviserId, String province) {
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("bookId", bookId);
paramMap.put("channelId", channelId);
paramMap.put("adviserId", adviserId);
paramMap.put("province", province);
paramMap.put("months", CopyrightTools.getLast6Months());
List<SixMonthCountVO> sixMonthCountVOS = bookAuthUserDao.listSixMonth(paramMap);
setZoreRecord(sixMonthCountVOS);
......@@ -151,18 +155,43 @@ public class BookAuthUserBizImpl implements BookAuthUserBiz {
@Override
@ParamLog("新增点击购买链接记录")
public void insertClickBuyRecord(BookClickBuyRecordParam bookClickBuyRecordParam, Long channelId, Long wechatUserId) {
EXECUTOR_SERVICE.execute(()->{
try{
EXECUTOR_SERVICE.execute(() -> {
try {
BookClickBuyRecord bookClickBuyRecord = new BookClickBuyRecord();
bookClickBuyRecord.setChannelId(channelId);
bookClickBuyRecord.setWechatUserId(wechatUserId);
BeanUtils.copyProperties(bookClickBuyRecordParam, bookClickBuyRecord);
bookClickBuyRecordDao.insert(bookClickBuyRecord);
}catch (Exception e){
LOGGER.error("新增点击购买链接记录"+bookClickBuyRecordParam);
} catch (Exception e) {
LOGGER.error("新增点击购买链接记录" + bookClickBuyRecordParam);
}
});
}
@Override
@ParamLog("省份排名前10")
public List<ProvinceTop10VO> listTop10ByBook(Long bookId, Long channelId, Long adviserId, Integer type) {
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("bookId", bookId);
paramMap.put("channelId", channelId);
paramMap.put("adviserId", adviserId);
if (type != null && type == 0) {
DateDTO date = CopyrightTools.getDateByType(30L);
paramMap.put("startDate", date.getStartTime());
paramMap.put("endDate", date.getEndTime());
}else if(type != null && type == 1){
paramMap.put("months", CopyrightTools.getLast6Months());
}
List<ProvinceTop10VO> top10ByBook = bookAuthUserDao.listTop10ByBook(paramMap);
if (!ListUtils.isEmpty(top10ByBook)) {
for (ProvinceTop10VO provinceTop10VO : top10ByBook) {
if (provinceTop10VO.getTotalCount() != null && provinceTop10VO.getPayUserCount() != null) {
provinceTop10VO.setCodeUserCount(provinceTop10VO.getTotalCount() - provinceTop10VO.getPayUserCount());
}
}
}
return top10ByBook;
}
/**
......
......@@ -2,6 +2,7 @@ package com.pcloud.book.copyright.dao;
import com.pcloud.book.copyright.entity.BookAuthUser;
import com.pcloud.book.copyright.vo.BookAuthCodeUserVO;
import com.pcloud.book.copyright.vo.ProvinceTop10VO;
import com.pcloud.book.copyright.vo.SixMonthCountVO;
import com.pcloud.book.copyright.vo.ThirtyDayCountVO;
import com.pcloud.common.core.dao.BaseDao;
......@@ -44,4 +45,9 @@ public interface BookAuthUserDao extends BaseDao<BookAuthUser> {
* 获取总的授权用户数据
*/
BookAuthCodeUserVO getAuthUserTotalCount(List<Long> adviserIds);
/**
* 获取top10的图书
*/
List<ProvinceTop10VO> listTop10ByBook(Map<String, Object> paramMap);
}
......@@ -3,6 +3,7 @@ package com.pcloud.book.copyright.dao.impl;
import com.pcloud.book.copyright.dao.BookAuthUserDao;
import com.pcloud.book.copyright.entity.BookAuthUser;
import com.pcloud.book.copyright.vo.BookAuthCodeUserVO;
import com.pcloud.book.copyright.vo.ProvinceTop10VO;
import com.pcloud.book.copyright.vo.SixMonthCountVO;
import com.pcloud.book.copyright.vo.ThirtyDayCountVO;
import com.pcloud.common.core.dao.BaseDaoImpl;
......@@ -69,4 +70,9 @@ public class BookAuthUserDaoImpl extends BaseDaoImpl<BookAuthUser> implements Bo
return this.getSqlSession().selectOne(this.getStatement("getAuthUserTotalCount"), adviserIds);
}
@Override
public List<ProvinceTop10VO> listTop10ByBook(Map<String, Object> paramMap) {
return this.getSqlSession().selectList(this.getStatement("listTop10ByBook"), paramMap);
}
}
......@@ -33,6 +33,12 @@ public class BookAuthUser extends BaseEntity {
@ApiModelProperty("月份")
private String months;
@ApiModelProperty("省份")
private String province;
@ApiModelProperty("城市")
private String city;
@ApiModelProperty("创建时间带时分秒")
private Date createdTime;
......@@ -146,6 +152,22 @@ public class BookAuthUser extends BaseEntity {
isAuthCode = authCode;
}
public String getProvince() {
return province;
}
public void setProvince(String province) {
this.province = province;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
@Override
public String toString() {
return "BookAuthUser{" +
......@@ -156,6 +178,8 @@ public class BookAuthUser extends BaseEntity {
", wechatUserId=" + wechatUserId +
", isAuthCode=" + isAuthCode +
", months='" + months + '\'' +
", province='" + province + '\'' +
", city='" + city + '\'' +
", createdTime=" + createdTime +
", createdUser=" + createdUser +
", createdDate=" + createdDate +
......
......@@ -2,6 +2,7 @@ package com.pcloud.book.copyright.facade;
import com.pcloud.book.copyright.vo.BookAuthCodeUserVO;
import com.pcloud.book.copyright.vo.BookClickBuyRecordParam;
import com.pcloud.book.copyright.vo.ProvinceTop10VO;
import com.pcloud.book.copyright.vo.SixMonthCountVO;
import com.pcloud.book.copyright.vo.ThirtyDayCountVO;
import com.pcloud.common.dto.ResponseDto;
......@@ -33,13 +34,18 @@ public interface BookAuthUserFacade {
@ApiOperation(value = "获取30天趋势图", httpMethod = "GET")
@RequestMapping(value = "listThirtyDay", method = RequestMethod.GET)
ResponseDto<List<ThirtyDayCountVO>> listThirtyDay(@RequestHeader("token") String token, @RequestParam("bookId") Long bookId, @RequestParam("channelId") Long channelId)
ResponseDto<List<ThirtyDayCountVO>> listThirtyDay(@RequestHeader("token") String token, @RequestParam("bookId") Long bookId, @RequestParam("channelId") Long channelId, @RequestParam(value = "province", required = false) String province)
throws PermissionException, BizException;
@ApiOperation(value = "6个月趋势图", httpMethod = "GET")
@RequestMapping(value = "listSixMonth", method = RequestMethod.GET)
ResponseDto<List<SixMonthCountVO>> listSixMonth(@RequestHeader("token") String token, @RequestParam("bookId") Long bookId, @RequestParam("channelId") Long channelId)
ResponseDto<List<SixMonthCountVO>> listSixMonth(@RequestHeader("token") String token, @RequestParam("bookId") Long bookId, @RequestParam("channelId") Long channelId, @RequestParam(value = "province", required = false) String province)
throws PermissionException, BizException;
@ApiOperation(value = "省份排名前10(6个月/30天)", httpMethod = "GET")
@RequestMapping(value = "listTop10ByBook", method = RequestMethod.GET)
ResponseDto<List<ProvinceTop10VO>> listTop10ByBook(@RequestHeader("token") String token, @RequestParam("bookId") Long bookId, @RequestParam("channelId") Long channelId, @RequestParam(value = "type", required = false) Integer type)
throws PermissionException, BizException;
......
......@@ -4,6 +4,7 @@ import com.pcloud.book.copyright.biz.BookAuthUserBiz;
import com.pcloud.book.copyright.facade.BookAuthUserFacade;
import com.pcloud.book.copyright.vo.BookAuthCodeUserVO;
import com.pcloud.book.copyright.vo.BookClickBuyRecordParam;
import com.pcloud.book.copyright.vo.ProvinceTop10VO;
import com.pcloud.book.copyright.vo.SixMonthCountVO;
import com.pcloud.book.copyright.vo.ThirtyDayCountVO;
import com.pcloud.common.dto.ResponseDto;
......@@ -45,21 +46,31 @@ public class BookAuthUserFacadeImpl implements BookAuthUserFacade {
@Override
@RequestMapping(value = "listThirtyDay", method = RequestMethod.GET)
public ResponseDto<List<ThirtyDayCountVO>> listThirtyDay(@RequestHeader("token") String token, @RequestParam("bookId") Long bookId, @RequestParam("channelId") Long channelId) throws PermissionException, BizException {
public ResponseDto<List<ThirtyDayCountVO>> listThirtyDay(@RequestHeader("token") String token, @RequestParam("bookId") Long bookId, @RequestParam("channelId") Long channelId
, @RequestParam(value = "province", required = false) String province) throws PermissionException, BizException {
Long adviserId = (Long) SessionUtil.getVlaue(token, SessionUtil.PARTY_ID);
List<ThirtyDayCountVO> thirtyDayCountVOS = bookAuthUserBiz.listThirtyDay(bookId, channelId, adviserId);
List<ThirtyDayCountVO> thirtyDayCountVOS = bookAuthUserBiz.listThirtyDay(bookId, channelId, adviserId, province);
return new ResponseDto<>(thirtyDayCountVOS);
}
@Override
@RequestMapping(value = "listSixMonth", method = RequestMethod.GET)
public ResponseDto<List<SixMonthCountVO>> listSixMonth(@RequestHeader("token") String token, @RequestParam("bookId") Long bookId, @RequestParam("channelId") Long channelId)
public ResponseDto<List<SixMonthCountVO>> listSixMonth(@RequestHeader("token") String token, @RequestParam("bookId") Long bookId, @RequestParam("channelId") Long channelId
, @RequestParam(value = "province", required = false) String province)
throws PermissionException, BizException{
Long adviserId = (Long) SessionUtil.getVlaue(token, SessionUtil.PARTY_ID);
List<SixMonthCountVO> sixMonthCountVOS = bookAuthUserBiz.listSixMonth(bookId, channelId, adviserId);
List<SixMonthCountVO> sixMonthCountVOS = bookAuthUserBiz.listSixMonth(bookId, channelId, adviserId, province);
return new ResponseDto<>(sixMonthCountVOS);
}
@Override
@RequestMapping(value = "listTop10ByBook", method = RequestMethod.GET)
public ResponseDto<List<ProvinceTop10VO>> listTop10ByBook(@RequestHeader("token") String token, @RequestParam("bookId") Long bookId, @RequestParam("channelId") Long channelId, @RequestParam(value = "type", required = false) Integer type) throws PermissionException, BizException {
Long adviserId = (Long) SessionUtil.getVlaue(token, SessionUtil.PARTY_ID);
List<ProvinceTop10VO> provinceTop10VOS = bookAuthUserBiz.listTop10ByBook(bookId, channelId, adviserId, type);
return new ResponseDto<>(provinceTop10VOS);
}
@PostMapping("insertClickBuyRecord")
public ResponseDto<?> insertClickBuyRecord(@CookieValue("userInfo") String userInfo, @RequestBody BookClickBuyRecordParam bookClickBuyRecordParam)
throws BizException{
......
package com.pcloud.book.copyright.vo;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
/**
* @author lily
* @date 2018/12/26 10:21
*/
@ApiModel
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ProvinceTop10VO implements Serializable {
@ApiModelProperty("省份")
private String province;
@ApiModelProperty("激活人数")
private Integer totalCount;
@ApiModelProperty("授权码用户书")
private Integer codeUserCount;
@ApiModelProperty("授权金用户数")
private Integer payUserCount;
public String getProvince() {
return province;
}
public void setProvince(String province) {
this.province = province;
}
public Integer getTotalCount() {
return totalCount;
}
public void setTotalCount(Integer totalCount) {
this.totalCount = totalCount;
}
public Integer getCodeUserCount() {
return codeUserCount;
}
public void setCodeUserCount(Integer codeUserCount) {
this.codeUserCount = codeUserCount;
}
public Integer getPayUserCount() {
return payUserCount;
}
public void setPayUserCount(Integer payUserCount) {
this.payUserCount = payUserCount;
}
@Override
public String toString() {
return "ProvinceTop10VO{" +
"province='" + province + '\'' +
", totalCount=" + totalCount +
", codeUserCount=" + codeUserCount +
", payUserCount=" + payUserCount +
'}';
}
}
......@@ -4,10 +4,10 @@
<insert id="insert" useGeneratedKeys="true" parameterType="bookAuthUser">
INSERT INTO BOOK_AUTH_USER(
BOOK_ID, CHANNEL_ID,ADVISER_ID,WECHAT_USER_ID,MONTHS,IS_AUTH_CODE, CREATED_DATE,CREATED_USER, CREATED_TIME)
BOOK_ID, CHANNEL_ID,ADVISER_ID,WECHAT_USER_ID,MONTHS,province,city,IS_AUTH_CODE, CREATED_DATE,CREATED_USER, CREATED_TIME)
VALUES
(#{bookId,jdbcType=BIGINT}, #{channelId,jdbcType=BIGINT}, #{adviserId,jdbcType=BIGINT},
#{wechatUserId}, #{months}, #{isAuthCode},NOW(), #{adviserId}, NOW())
#{wechatUserId}, #{months}, #{province}, #{city}, #{isAuthCode},NOW(), #{adviserId}, NOW())
</insert>
<select id="getAuthUserCount" resultType="bookAuthCodeUserVO" parameterType="map">
......@@ -73,15 +73,18 @@
AND
ADVISER_ID = #{adviserId, jdbcType=BIGINT}
AND created_date <![CDATA[ > ]]> #{startDate} AND created_date <![CDATA[ < ]]> #{endDate}
<if test="province!=null">
AND PROVINCE = #{province}
</if>
GROUP BY created_date
</select>
<select id="listSixMonth" resultType="sixMonthCountVO" parameterType="map">
<select id="listTop10ByBook" resultType="provinceTop10VO" parameterType="map">
SELECT
COUNT(1) totalCount,
IFNULL(SUM(is_auth_code),0) payUserCount,
months as date
province
FROM
BOOK_AUTH_USER
WHERE
......@@ -90,11 +93,16 @@
CHANNEL_ID = #{channelId, jdbcType=BIGINT}
AND
ADVISER_ID = #{adviserId, jdbcType=BIGINT}
<if test="months!=null">
AND months in
<foreach collection="months" item="item" open="(" separator="," close=")">
#{item}
</foreach>
GROUP BY months
</if>
<if test="startDate!=null">
AND created_date <![CDATA[ > ]]> #{startDate} AND created_date <![CDATA[ < ]]> #{endDate}
</if>
GROUP BY province order by totalCount desc limit 10
</select>
<select id="getAuthUserTotalCount" resultType="bookAuthCodeUserVO" parameterType="list" >
......@@ -111,4 +119,28 @@
</if>
</select>
<select id="listSixMonth" resultType="sixMonthCountVO" parameterType="map">
SELECT
COUNT(1) totalCount,
IFNULL(SUM(is_auth_code),0) payUserCount,
months as date
FROM
BOOK_AUTH_USER
WHERE
BOOK_ID = #{bookId, jdbcType=BIGINT}
AND
CHANNEL_ID = #{channelId, jdbcType=BIGINT}
AND
ADVISER_ID = #{adviserId, jdbcType=BIGINT}
AND months in
<foreach collection="months" item="item" open="(" separator="," close=")">
#{item}
</foreach>
<if test="province!=null">
AND PROVINCE = #{province}
</if>
GROUP BY months
</select>
</mapper>
\ No newline at end of file
......@@ -116,6 +116,7 @@
<pcloud-facade-raystask.version>2.1.0-RELEASE</pcloud-facade-raystask.version>
<pcloud-facade-contentcenter.version>2.1.0-SNAPSHOT</pcloud-facade-contentcenter.version>
<pcloud-facade-tradecenter.version>2.1.0-RELEASE</pcloud-facade-tradecenter.version>
<pcloud-facade-readercenter.version>2.1.0-RELEASE</pcloud-facade-readercenter.version>
</properties>
<dependencyManagement>
......
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