Commit 4b1a9014 by 李传峰

Merge branch 'release' into 'master'

Release

See merge request rays/pcloud-book!1588
parents 48074234 260f3743
...@@ -159,4 +159,8 @@ public interface AppletService { ...@@ -159,4 +159,8 @@ public interface AppletService {
@GetMapping("subAppletSubscribeCount") @GetMapping("subAppletSubscribeCount")
void subAppletSubscribeCount(@RequestParam("wechatUserId") Long wechatUserId, void subAppletSubscribeCount(@RequestParam("wechatUserId") Long wechatUserId,
@RequestParam("recordType") Integer recordType); @RequestParam("recordType") Integer recordType);
@ApiOperation("小程序回招用户")
@PostMapping("subscribeSend")
void subscribeSend(@RequestBody Map<String, Object> params);
} }
...@@ -220,4 +220,8 @@ public interface BookAdviserService { ...@@ -220,4 +220,8 @@ public interface BookAdviserService {
@PostMapping("getAdviserBookStatis") @PostMapping("getAdviserBookStatis")
ResponseEntity<ResponseDto<Map<Long, AdviserBookStatisDto>>> getAdviserBookStatis(@RequestBody AdviserBookStatisRequestDto requestDto); ResponseEntity<ResponseDto<Map<Long, AdviserBookStatisDto>>> getAdviserBookStatis(@RequestBody AdviserBookStatisRequestDto requestDto);
@ApiOperation("编辑创建书刊数量")
@GetMapping("getBookCreateCount")
ResponseEntity<ResponseDto<Integer>> getBookCreateCount(@RequestParam("adviserId") Long adviserId,
@RequestParam(value = "startTime",required = false) String startTime);
} }
...@@ -54,4 +54,5 @@ public interface AppletSubscribeRecordBiz { ...@@ -54,4 +54,5 @@ public interface AppletSubscribeRecordBiz {
* @return 是否成功 * @return 是否成功
*/ */
void softDeleteById(Long id); void softDeleteById(Long id);
} }
\ No newline at end of file
package com.pcloud.book.applet.biz;
import com.pcloud.book.applet.entity.AppletSubscribeSend;
import com.pcloud.common.page.PageBeanNew;
import java.util.List;
/**
* (AppletSubscribeSend)表服务接口
*
* @author wubo
* @since 2022-05-24 15:59:27
*/
public interface AppletSubscribeSendBiz {
/**
* 通过ID查询单条数据
*
* @param id 主键
* @return 实例对象
*/
AppletSubscribeSend getById(Long id);
/**
* 分页查询
*/
PageBeanNew getList(Integer currentPage, Integer numPerPage);
/**
* 新增数据
*
* @param appletSubscribeSend 实例对象
* @return 主键
*/
Long insert(AppletSubscribeSend appletSubscribeSend);
/**
* 修改数据
*
* @param appletSubscribeSend 实例对象
*/
void update(AppletSubscribeSend appletSubscribeSend);
/**
* 通过主键删除数据
*
* @param id 主键
* @return 是否成功
*/
void deleteById(Long id);
/**
* 通过主键软删除数据
*
* @param id 主键
* @return 是否成功
*/
void softDeleteById(Long id);
void subscribeSend();
}
package com.pcloud.book.applet.biz.impl; package com.pcloud.book.applet.biz.impl;
import cn.hutool.core.collection.CollUtil;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.pcloud.book.applet.biz.AppletSubscribeCountBiz; import com.pcloud.book.applet.biz.AppletSubscribeCountBiz;
import com.pcloud.book.applet.biz.AppletSubscribeRecordBiz; import com.pcloud.book.applet.biz.AppletSubscribeRecordBiz;
import com.pcloud.book.applet.dao.AppletSubscribeRecordDao; import com.pcloud.book.applet.dao.AppletSubscribeRecordDao;
import com.pcloud.book.applet.entity.AppletSubscribeCount; import com.pcloud.book.applet.entity.AppletSubscribeCount;
import com.pcloud.book.applet.entity.AppletSubscribeRecord; import com.pcloud.book.applet.entity.AppletSubscribeRecord;
import com.pcloud.book.applet.enums.AppletRecordTypeEnum;
import com.pcloud.book.applet.enums.SubscribeCountTypeEnum; import com.pcloud.book.applet.enums.SubscribeCountTypeEnum;
import com.pcloud.book.applet.enums.SubscribeRecordTypeEnum;
import com.pcloud.book.consumer.message.TemplateConsr;
import com.pcloud.book.consumer.reader.ReaderConsr;
import com.pcloud.book.consumer.user.ChannelConsr;
import com.pcloud.book.cultivate.biz.CultivateNotifyBiz;
import com.pcloud.book.cultivate.dao.CultivateNotifyItemDao;
import com.pcloud.book.cultivate.dao.CultivateNotifySendDao;
import com.pcloud.book.cultivate.entity.CultivateNotify;
import com.pcloud.book.cultivate.entity.CultivateNotifyItem;
import com.pcloud.book.cultivate.entity.CultivateNotifySend;
import com.pcloud.book.cultivate.enums.NotifyMessageType;
import com.pcloud.book.cultivate.enums.NotifySendTypeEnum;
import com.pcloud.book.util.common.YesOrNoEnums; import com.pcloud.book.util.common.YesOrNoEnums;
import com.pcloud.book.util.properties.BookProps;
import com.pcloud.common.core.aspect.ParamLog; import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.core.dto.AppletTemplateMessageDto;
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;
import com.pcloud.common.utils.DateUtils;
import com.pcloud.common.utils.ListUtils; 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.readercenter.common.enums.YesOrNoNumEnum;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
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 org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.HashMap;
import java.util.List; import java.util.List;
import static com.pcloud.book.applet.contants.AppletConstants.APPLET_SEND_MESSAGE_COUNT;
/** /**
* (AppletSubscribeRecord)表服务实现类 * (AppletSubscribeRecord)表服务实现类
* *
...@@ -36,6 +60,18 @@ public class AppletSubscribeRecordBizImpl implements AppletSubscribeRecordBiz { ...@@ -36,6 +60,18 @@ public class AppletSubscribeRecordBizImpl implements AppletSubscribeRecordBiz {
private AppletSubscribeRecordDao appletSubscribeRecordDao; private AppletSubscribeRecordDao appletSubscribeRecordDao;
@Autowired @Autowired
private AppletSubscribeCountBiz appletSubscribeCountBiz; private AppletSubscribeCountBiz appletSubscribeCountBiz;
@Autowired
private TemplateConsr templateConsr;
@Autowired
private CultivateNotifyBiz cultivateNotifyBiz;
@Autowired
private CultivateNotifyItemDao cultivateNotifyItemDao;
@Autowired
private CultivateNotifySendDao cultivateNotifySendDao;
@Autowired
private ReaderConsr readerConsr;
@Autowired
private ChannelConsr channelConsr;
@Override @Override
@ParamLog("通过ID查询单条数据") @ParamLog("通过ID查询单条数据")
...@@ -43,6 +79,7 @@ public class AppletSubscribeRecordBizImpl implements AppletSubscribeRecordBiz { ...@@ -43,6 +79,7 @@ public class AppletSubscribeRecordBizImpl implements AppletSubscribeRecordBiz {
return appletSubscribeRecordDao.getById(id); return appletSubscribeRecordDao.getById(id);
} }
@Override @Override
@ParamLog("查询多条数据") @ParamLog("查询多条数据")
public PageBeanNew getList(Integer currentPage, Integer numPerPage) { public PageBeanNew getList(Integer currentPage, Integer numPerPage) {
...@@ -80,9 +117,56 @@ public class AppletSubscribeRecordBizImpl implements AppletSubscribeRecordBiz { ...@@ -80,9 +117,56 @@ public class AppletSubscribeRecordBizImpl implements AppletSubscribeRecordBiz {
} }
appletSubscribeCountBiz.update(subscribeCount); appletSubscribeCountBiz.update(subscribeCount);
} }
// 20220524 如果可用消息仅剩下1次,则发消息提醒
sendMessageWhenOnlyOne(appletSubscribeRecord, subscribeRecordCount, subscribeCount);
return appletSubscribeRecord.getId(); return appletSubscribeRecord.getId();
} }
private void sendMessageWhenOnlyOne(AppletSubscribeRecord appletSubscribeRecord, Integer subscribeRecordCount, AppletSubscribeCount subscribeCount) {
if (SubscribeCountTypeEnum.SUB_SUBSCRIBE.subscribeCount.equals(subscribeRecordCount) && APPLET_SEND_MESSAGE_COUNT.equals(subscribeCount.getValidCount())) {
AppletTemplateMessageDto appletTemplateMessage = new AppletTemplateMessageDto();
appletTemplateMessage.setAccountSettingId(BookProps.getMiniOfficialAccountsId());
appletTemplateMessage.setWechatUserId(appletSubscribeRecord.getWechatUserId());
appletTemplateMessage.setTempalteTypeCode("xiaorui_unread_message_remind");
appletTemplateMessage.setPage("pages/notify/index");
HashMap tempMap = Maps.newHashMap();
tempMap.put("thing2", "您的消息提醒次数已用完,请点击消息去新增");
tempMap.put("time3", DateUtils.getLongDateStr());
tempMap.put("thing7", "新增后可及时接收他人点赞、回复等消息提醒");
appletTemplateMessage.setData(tempMap);
Boolean sendState = channelConsr.sendAppletMessage(appletTemplateMessage);
if (!sendState) {
//发送公众号模板消息
templateConsr.sendTempletMessage4Project("您的消息提醒次数已用完,请点击消息去新增", "新增后可及时接收他人点赞、回复等消息提醒",
appletSubscribeRecord.getWechatUserId(), "pages/notify/index", "订阅次数不足提醒");
}
appletSubscribeRecordDao.insert(appletSubscribeRecord);
subscribeCount.setValidCount(0);
appletSubscribeCountBiz.update(subscribeCount);
// 新增站内信
CultivateNotify cultivateNotify=new CultivateNotify();
cultivateNotify.setMessageType(NotifyMessageType.REMEMBER.code);
cultivateNotify.setTitle("订阅消息次数不足提醒");
cultivateNotify.setSendType(NotifySendTypeEnum.APPOINT_USER.value);
cultivateNotify.setAgentId(0L);
cultivateNotify.setCreateUserId(0L);
cultivateNotifyBiz.insert(cultivateNotify);
CultivateNotifyItem cultivateNotifyItem = new CultivateNotifyItem();
cultivateNotifyItem.setMessageId(cultivateNotify.getMessageId());
cultivateNotifyItem.setContentType(1);
cultivateNotifyItem.setContent("订阅的通知次数已用完,后续将无法接受点赞、回复等消息提醒,请点击消息新增“订阅次数”");
cultivateNotifyItemDao.insert(Lists.newArrayList(cultivateNotifyItem));
//发给用户
CultivateNotifySend notifySend = new CultivateNotifySend();
notifySend.setMessageId(cultivateNotify.getMessageId());
notifySend.setWechatUserId(appletSubscribeRecord.getWechatUserId());
notifySend.setSendType(NotifySendTypeEnum.APPOINT_USER.value);
notifySend.setMessageType(NotifyMessageType.REMEMBER.code);
cultivateNotifySendDao.insert(notifySend);
}
}
@Override @Override
@ParamLog("修改") @ParamLog("修改")
public void update(AppletSubscribeRecord appletSubscribeRecord) { public void update(AppletSubscribeRecord appletSubscribeRecord) {
...@@ -103,4 +187,5 @@ public class AppletSubscribeRecordBizImpl implements AppletSubscribeRecordBiz { ...@@ -103,4 +187,5 @@ public class AppletSubscribeRecordBizImpl implements AppletSubscribeRecordBiz {
public void softDeleteById(Long id) { public void softDeleteById(Long id) {
appletSubscribeRecordDao.softDeleteById(id); appletSubscribeRecordDao.softDeleteById(id);
} }
} }
\ No newline at end of file
package com.pcloud.book.applet.biz.impl;
import cn.hutool.core.collection.CollUtil;
import com.pcloud.book.applet.entity.AppletSubscribeSend;
import com.pcloud.book.applet.dao.AppletSubscribeSendDao;
import com.pcloud.book.applet.biz.AppletSubscribeSendBiz;
import com.pcloud.book.consumer.reader.ReaderConsr;
import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.page.PageBeanNew;
import com.pcloud.common.page.PageParam;
import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.utils.ListUtils;
import com.pcloud.common.utils.NumberUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* (AppletSubscribeSend)表服务实现类
*
* @author wubo
* @since 2022-05-24 15:59:27
*/
@Service("appletSubscribeSendBiz")
public class AppletSubscribeSendBizImpl implements AppletSubscribeSendBiz {
private static final Logger LOGGER = LoggerFactory.getLogger(AppletSubscribeSendBizImpl.class);
@Autowired
private AppletSubscribeSendDao appletSubscribeSendDao;
@Autowired
private ReaderConsr readerConsr;
@Override
@ParamLog("通过ID查询单条数据")
public AppletSubscribeSend getById(Long id) {
return appletSubscribeSendDao.getById(id);
}
@Override
@ParamLog("查询多条数据")
public PageBeanNew getList(Integer currentPage, Integer numPerPage) {
PageBeanNew pageBeanNew = appletSubscribeSendDao.listPageNew(new PageParam(currentPage, numPerPage), null, "getList");
List recordList = pageBeanNew.getRecordList();
if (ListUtils.isEmpty(recordList)){
return pageBeanNew;
}
// 加载其它数据
return pageBeanNew;
}
@Override
@ParamLog("新增")
public Long insert(AppletSubscribeSend appletSubscribeSend) {
appletSubscribeSendDao.insert(appletSubscribeSend);
return appletSubscribeSend.getId();
}
@Override
@ParamLog("修改")
public void update(AppletSubscribeSend appletSubscribeSend) {
if(appletSubscribeSend == null || !NumberUtil.isNumber(appletSubscribeSend.getId())){
throw BizException.PARAM_IS_NULL;
}
appletSubscribeSendDao.update(appletSubscribeSend);
}
@Override
@ParamLog("删除")
public void deleteById(Long id) {
appletSubscribeSendDao.deleteById(id);
}
@Override
@ParamLog("软删除")
public void softDeleteById(Long id) {
appletSubscribeSendDao.softDeleteById(id);
}
@Override
public void subscribeSend() {
List<Long> userIds = appletSubscribeSendDao.getAllUserIds();
if (CollUtil.isEmpty(userIds)) {
return;
}
userIds.stream().forEach(wechatUserId -> {
readerConsr.subscribeSend(wechatUserId);
});
}
}
...@@ -128,4 +128,6 @@ public class AppletConstants { ...@@ -128,4 +128,6 @@ public class AppletConstants {
5906897L, 5906866L, 5906870L, 5906924L, 5906875L, 5906873L, 5906868L, 5906867L, 5906937L, 5906930L, 5906917L, 5906903L, 5906897L, 5906866L, 5906870L, 5906924L, 5906875L, 5906873L, 5906868L, 5906867L, 5906937L, 5906930L, 5906917L, 5906903L,
5906891L, 5906887L, 5906880L, 5906869L, 5906936L, 5906940L, 5906882L, 5906943L, 2979867L, 5923816L, 5923801L 5906891L, 5906887L, 5906880L, 5906869L, 5906936L, 5906940L, 5906882L, 5906943L, 2979867L, 5923816L, 5923801L
); );
public static final Integer APPLET_SEND_MESSAGE_COUNT = 1;
} }
...@@ -3,6 +3,8 @@ package com.pcloud.book.applet.dao; ...@@ -3,6 +3,8 @@ package com.pcloud.book.applet.dao;
import com.pcloud.book.applet.entity.AppletSubscribeRecord; import com.pcloud.book.applet.entity.AppletSubscribeRecord;
import com.pcloud.common.core.dao.BaseDao; import com.pcloud.common.core.dao.BaseDao;
import java.util.List;
/** /**
* (AppletSubscribeRecord)表数据库访问层 * (AppletSubscribeRecord)表数据库访问层
* *
......
package com.pcloud.book.applet.dao;
import com.pcloud.book.applet.entity.AppletSubscribeSend;
import com.pcloud.common.core.dao.BaseDao;
import java.util.List;
/**
* (AppletSubscribeSend)表数据库访问层
*
* @author wubo
* @since 2022-05-24 15:59:27
*/
public interface AppletSubscribeSendDao extends BaseDao<AppletSubscribeSend> {
int softDeleteById(Long id);
List<Long> getAllUserIds();
}
...@@ -5,6 +5,8 @@ import com.pcloud.book.applet.entity.AppletSubscribeRecord; ...@@ -5,6 +5,8 @@ import com.pcloud.book.applet.entity.AppletSubscribeRecord;
import com.pcloud.common.core.dao.BaseDaoImpl; import com.pcloud.common.core.dao.BaseDaoImpl;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.List;
/** /**
* (AppletSubscribeRecord)表数据库访问层 * (AppletSubscribeRecord)表数据库访问层
* *
...@@ -17,4 +19,5 @@ public class AppletSubscribeRecordDaoImpl extends BaseDaoImpl<AppletSubscribeRec ...@@ -17,4 +19,5 @@ public class AppletSubscribeRecordDaoImpl extends BaseDaoImpl<AppletSubscribeRec
return getSessionTemplate().update(getStatement("softDeleteById"), id); return getSessionTemplate().update(getStatement("softDeleteById"), id);
} }
} }
\ No newline at end of file
package com.pcloud.book.applet.dao.impl;
import com.pcloud.book.applet.entity.AppletSubscribeSend;
import com.pcloud.book.applet.dao.AppletSubscribeSendDao;
import com.pcloud.common.core.dao.BaseDaoImpl;
import org.springframework.stereotype.Repository;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* (AppletSubscribeSend)表数据库访问层
*
* @author wubo
* @since 2022-05-24 15:59:27
*/
@Repository("appletSubscribeSendDaoImpl")
public class AppletSubscribeSendDaoImpl extends BaseDaoImpl<AppletSubscribeSend> implements AppletSubscribeSendDao {
public int softDeleteById(Long id) {
return getSessionTemplate().update(getStatement("softDeleteById"), id);
}
@Override
public List<Long> getAllUserIds() {
return getSessionTemplate().selectList(getStatement("getAllUserIds"));
}
}
package com.pcloud.book.applet.entity;
import java.util.Date;
import java.math.BigDecimal;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.pcloud.common.entity.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* (AppletSubscribeSend)实体类
*
* @author wubo
* @since 2022-05-24 15:59:27
*/
@Data
public class AppletSubscribeSend extends BaseEntity {
private static final long serialVersionUID = 430804964623577240L;
private Long id;
private Long wechatUserId;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createTime;
}
package com.pcloud.book.applet.facade;
import com.pcloud.book.applet.entity.AppletSubscribeSend;
import com.pcloud.book.applet.biz.AppletSubscribeSendBiz;
import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.permission.PermissionException;
import com.pcloud.common.utils.SessionUtil;
import org.springframework.web.bind.annotation.*;
import org.springframework.beans.factory.annotation.Autowired;
import io.swagger.annotations.ApiOperation;
import com.pcloud.common.utils.cookie.Cookie;
/**
* (AppletSubscribeSend)表控制层
*
* @author wubo
* @since 2022-05-24 15:59:27
*/
@RestController("appletSubscribeSendFacade")
@RequestMapping("appletSubscribeSend")
public class AppletSubscribeSendFacade {
@Autowired
private AppletSubscribeSendBiz appletSubscribeSendBiz;
@ApiOperation("通过主键查询单条数据")
@GetMapping("getById")
public ResponseDto<?> getById(@CookieValue("userInfo") String userInfo,
@RequestParam Long id) throws BizException, PermissionException {
Long wechatUserId = Cookie.getId(userInfo, Cookie._WECHAT_USER_ID);
return new ResponseDto<>(appletSubscribeSendBiz.getById(id));
}
@ApiOperation("分页查询")
@GetMapping("getList")
public ResponseDto<?> getList(@CookieValue("userInfo") String userInfo,
@RequestParam(value = "currentPage", defaultValue = "0") Integer currentPage,
@RequestParam(value = "numPerPage", defaultValue = "10") Integer numPerPage)
throws BizException, PermissionException {
Long wechatUserId = Cookie.getId(userInfo, Cookie._WECHAT_USER_ID);
return new ResponseDto<>(appletSubscribeSendBiz.getList(currentPage, numPerPage));
}
@ApiOperation("新增")
@PostMapping("insert")
public ResponseDto<?> insert(@CookieValue("userInfo") String userInfo,
@RequestBody AppletSubscribeSend appletSubscribeSend)
throws BizException, PermissionException {
Long wechatUserId = Cookie.getId(userInfo, Cookie._WECHAT_USER_ID);
return new ResponseDto<>(appletSubscribeSendBiz.insert(appletSubscribeSend));
}
@ApiOperation("更新")
@PostMapping("update")
public ResponseDto<?> update(@CookieValue("userInfo") String userInfo,
@RequestBody AppletSubscribeSend appletSubscribeSend) throws BizException, PermissionException {
Long wechatUserId = Cookie.getId(userInfo, Cookie._WECHAT_USER_ID);
appletSubscribeSendBiz.update(appletSubscribeSend);
return new ResponseDto<>();
}
@ApiOperation("删除")
@GetMapping("deleteById")
public ResponseDto<?> deleteById(@CookieValue("userInfo") String userInfo,
@RequestParam Long id) throws BizException, PermissionException {
Long wechatUserId = Cookie.getId(userInfo, Cookie._WECHAT_USER_ID);
if (null == id) {
throw BizException.PARAM_DELETION;
}
appletSubscribeSendBiz.deleteById(id);
return new ResponseDto<>();
}
@ApiOperation("软删除")
@GetMapping("softDeleteById")
public ResponseDto<?> softDeleteById(@CookieValue("userInfo") String userInfo,
@RequestParam Long id) throws BizException, PermissionException {
Long wechatUserId = Cookie.getId(userInfo, Cookie._WECHAT_USER_ID);
if (null == id) {
throw BizException.PARAM_DELETION;
}
appletSubscribeSendBiz.softDeleteById(id);
return new ResponseDto<>();
}
}
...@@ -9,6 +9,7 @@ import com.pcloud.book.applet.biz.AppletRecordBiz; ...@@ -9,6 +9,7 @@ import com.pcloud.book.applet.biz.AppletRecordBiz;
import com.pcloud.book.applet.biz.AppletRecordStatisBiz; import com.pcloud.book.applet.biz.AppletRecordStatisBiz;
import com.pcloud.book.applet.biz.AppletRecordAggrStatisBiz; import com.pcloud.book.applet.biz.AppletRecordAggrStatisBiz;
import com.pcloud.book.applet.biz.AppletSubscribeRecordBiz; import com.pcloud.book.applet.biz.AppletSubscribeRecordBiz;
import com.pcloud.book.applet.biz.AppletSubscribeSendBiz;
import com.pcloud.book.applet.biz.AppletThirdResourcesStaticBiz; import com.pcloud.book.applet.biz.AppletThirdResourcesStaticBiz;
import com.pcloud.book.applet.biz.AppletUserBookcaseBiz; import com.pcloud.book.applet.biz.AppletUserBookcaseBiz;
import com.pcloud.book.applet.biz.ReadBookRecordBiz; import com.pcloud.book.applet.biz.ReadBookRecordBiz;
...@@ -99,6 +100,8 @@ public class AppletServiceImpl implements AppletService { ...@@ -99,6 +100,8 @@ public class AppletServiceImpl implements AppletService {
private ResourcePageBiz resourcePageBiz; private ResourcePageBiz resourcePageBiz;
@Autowired @Autowired
private AppletSubscribeRecordBiz subscribeRecordBiz; private AppletSubscribeRecordBiz subscribeRecordBiz;
@Autowired
private AppletSubscribeSendBiz appletSubscribeSendBiz;
@Override @Override
...@@ -294,4 +297,10 @@ public class AppletServiceImpl implements AppletService { ...@@ -294,4 +297,10 @@ public class AppletServiceImpl implements AppletService {
record.setCountType(SubscribeCountTypeEnum.SUB_SUBSCRIBE.value); record.setCountType(SubscribeCountTypeEnum.SUB_SUBSCRIBE.value);
subscribeRecordBiz.insert(record); subscribeRecordBiz.insert(record);
} }
@Override
@PostMapping("subscribeSend")
public void subscribeSend(@RequestBody Map<String, Object> params) {
appletSubscribeSendBiz.subscribeSend();
}
} }
...@@ -521,4 +521,6 @@ public interface BookAdviserBiz { ...@@ -521,4 +521,6 @@ public interface BookAdviserBiz {
* @return * @return
*/ */
PageBeanNew<ErpAdviserBookVO> listAdviserBook4Erp4ES(String isbn, String uniqueNumber, String adviserName, Long agentId, Integer currentPage, Integer numPerPage); PageBeanNew<ErpAdviserBookVO> listAdviserBook4Erp4ES(String isbn, String uniqueNumber, String adviserName, Long agentId, Integer currentPage, Integer numPerPage);
Integer getBookCreateCount(Long adviserId, String startTime);
} }
...@@ -3760,4 +3760,13 @@ public class BookAdviserBizImpl implements BookAdviserBiz { ...@@ -3760,4 +3760,13 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
} }
return pageBeanNew; return pageBeanNew;
} }
@Override
public Integer getBookCreateCount(Long adviserId, String startTime) {
if (null == adviserId) {
return 0;
}
Integer count = bookAdviserDao.getBookCreateCount(adviserId,startTime);
return count;
}
} }
...@@ -359,4 +359,6 @@ public interface BookAdviserDao extends BaseDao<BookAdviser> { ...@@ -359,4 +359,6 @@ public interface BookAdviserDao extends BaseDao<BookAdviser> {
List<AdviserBookStatisDto> getAdviserBookStatis(AdviserBookStatisRequestDto requestDto); List<AdviserBookStatisDto> getAdviserBookStatis(AdviserBookStatisRequestDto requestDto);
Integer getBookIsOpenCatalog(Long bookId, Long channelId, Long adviserId); Integer getBookIsOpenCatalog(Long bookId, Long channelId, Long adviserId);
Integer getBookCreateCount(Long adviserId, String startTime);
} }
...@@ -556,4 +556,12 @@ public class BookAdviserDaoImpl extends BaseDaoImpl<BookAdviser> implements Book ...@@ -556,4 +556,12 @@ public class BookAdviserDaoImpl extends BaseDaoImpl<BookAdviser> implements Book
paramMap.put("adviserId", adviserId); paramMap.put("adviserId", adviserId);
return getSessionTemplate().selectOne(getStatement("getBookIsOpenCatalog"), paramMap); return getSessionTemplate().selectOne(getStatement("getBookIsOpenCatalog"), paramMap);
} }
@Override
public Integer getBookCreateCount(Long adviserId, String startTime) {
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("adviserId",adviserId);
paramMap.put("startTime", startTime);
return getSessionTemplate().selectOne(getStatement("getBookCreateCount"), paramMap);
}
} }
...@@ -27,7 +27,6 @@ import com.pcloud.common.dto.ResponseDto; ...@@ -27,7 +27,6 @@ import com.pcloud.common.dto.ResponseDto;
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.utils.ResponseHandleUtil; import com.pcloud.common.utils.ResponseHandleUtil;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
...@@ -258,4 +257,12 @@ public class BookAdviserServiceImpl implements BookAdviserService { ...@@ -258,4 +257,12 @@ public class BookAdviserServiceImpl implements BookAdviserService {
public ResponseEntity<ResponseDto<Map<Long, AdviserBookStatisDto>>> getAdviserBookStatis(AdviserBookStatisRequestDto requestDto) { public ResponseEntity<ResponseDto<Map<Long, AdviserBookStatisDto>>> getAdviserBookStatis(AdviserBookStatisRequestDto requestDto) {
return ResponseHandleUtil.toResponse(bookAdviserBiz.getAdviserBookStatis(requestDto)); return ResponseHandleUtil.toResponse(bookAdviserBiz.getAdviserBookStatis(requestDto));
} }
@Override
@GetMapping("getBookCreateCount")
public ResponseEntity<ResponseDto<Integer>> getBookCreateCount(@RequestParam("adviserId") Long adviserId,
@RequestParam(value = "startTime",required = false) String startTime) {
Integer count = bookAdviserBiz.getBookCreateCount(adviserId, startTime);
return ResponseHandleUtil.toResponse(count);
}
} }
...@@ -553,6 +553,10 @@ public class ReaderConsr { ...@@ -553,6 +553,10 @@ public class ReaderConsr {
} }
public void subscribeSend(Long wechatUserId) {
appletUserService.subscribeSend(wechatUserId);
}
} }
...@@ -20,6 +20,7 @@ import com.pcloud.channelcenter.wechat.entity.AccountSetting; ...@@ -20,6 +20,7 @@ import com.pcloud.channelcenter.wechat.entity.AccountSetting;
import com.pcloud.channelcenter.wechat.service.AccountSettingService; import com.pcloud.channelcenter.wechat.service.AccountSettingService;
import com.pcloud.channelcenter.wechat.service.MessageService; import com.pcloud.channelcenter.wechat.service.MessageService;
import com.pcloud.common.core.aspect.ParamLog; import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.core.dto.AppletTemplateMessageDto;
import com.pcloud.common.dto.ResponseDto; import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.exceptions.BizException; import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.utils.ListUtils; import com.pcloud.common.utils.ListUtils;
...@@ -378,4 +379,16 @@ public class ChannelConsr { ...@@ -378,4 +379,16 @@ public class ChannelConsr {
} }
return result; return result;
} }
public Boolean sendAppletMessage(AppletTemplateMessageDto appletTemplateMessage) {
Boolean sendState = false;
try {
sendState = ResponseHandleUtil.parseResponse(qrcodeSceneService.sendAppletTemplateMessage(appletTemplateMessage), Boolean.class);
} catch (Exception e) {
LOGGER.warn("qrcodeSceneService.sendAppletTemplateMessage" + e.getMessage(), e);
}
return sendState;
}
} }
...@@ -7,6 +7,7 @@ import com.pcloud.book.cultivate.dto.NotifySendDTO; ...@@ -7,6 +7,7 @@ import com.pcloud.book.cultivate.dto.NotifySendDTO;
import com.pcloud.book.cultivate.dto.SearchNotifyDTO; import com.pcloud.book.cultivate.dto.SearchNotifyDTO;
import com.pcloud.book.cultivate.dto.SearchSendUserDTO; import com.pcloud.book.cultivate.dto.SearchSendUserDTO;
import com.pcloud.book.cultivate.entity.AppletNotifySendDTO; import com.pcloud.book.cultivate.entity.AppletNotifySendDTO;
import com.pcloud.book.cultivate.entity.CultivateNotify;
import com.pcloud.book.cultivate.entity.CultivateNotifySend; import com.pcloud.book.cultivate.entity.CultivateNotifySend;
import com.pcloud.common.page.PageBeanNew; import com.pcloud.common.page.PageBeanNew;
...@@ -48,4 +49,6 @@ public interface CultivateNotifyBiz { ...@@ -48,4 +49,6 @@ public interface CultivateNotifyBiz {
Long sendNotifyToUser(NotifySendDTO notifySendDTO); Long sendNotifyToUser(NotifySendDTO notifySendDTO);
List<CultivateNotifyDTO> getLastNoReadNotify(Long wechatUserId); List<CultivateNotifyDTO> getLastNoReadNotify(Long wechatUserId);
void insert(CultivateNotify cultivateNotify);
} }
...@@ -843,4 +843,9 @@ public class CultivateNotifyBizImpl implements CultivateNotifyBiz { ...@@ -843,4 +843,9 @@ public class CultivateNotifyBizImpl implements CultivateNotifyBiz {
return cultivateNotifyDTOList; return cultivateNotifyDTOList;
} }
@Override
public void insert(CultivateNotify cultivateNotify) {
cultivateNotifyDao.insert(cultivateNotify);
}
} }
...@@ -96,5 +96,4 @@ ...@@ -96,5 +96,4 @@
update applet_subscribe_record set is_delete = 1, update_time = now() where id = #{id} update applet_subscribe_record set is_delete = 1, update_time = now() where id = #{id}
</delete> </delete>
</mapper>
</mapper> \ No newline at end of file
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.pcloud.book.applet.dao.impl.AppletSubscribeSendDaoImpl">
<resultMap id="BaseResultMap" type="com.pcloud.book.applet.entity.AppletSubscribeSend">
<id column="id" property="id" jdbcType="BIGINT"/>
<result column="wechat_user_id" property="wechatUserId" jdbcType="BIGINT"/>
<result column="create_time" property="createTime" jdbcType="TIMESTAMP"/>
</resultMap>
<sql id="Base_Column_List">
id, wechat_user_id, create_time
</sql>
<select id="getById" resultMap="BaseResultMap">
SELECT
<include refid="Base_Column_List"/>
FROM applet_subscribe_send
WHERE id = #{id}
</select>
<select id="getList" resultMap="BaseResultMap">
SELECT
<include refid="Base_Column_List"/>
FROM applet_subscribe_send
</select>
<insert id="insert" keyProperty="id" useGeneratedKeys="true">
INSERT INTO applet_subscribe_send(
wechat_user_id,
create_time
) VALUES (
#{wechatUserId, jdbcType=BIGINT},
#{createTime, jdbcType=TIMESTAMP}
)
</insert>
<insert id="batchInsert">
INSERT INTO applet_subscribe_send (
wechat_user_id,
create_time
) VALUES
<foreach collection="list" item="item" separator=",">
(
#{item.wechatUserId, jdbcType=BIGINT},
#{item.createTime, jdbcType=TIMESTAMP}
)
</foreach>
</insert>
<!--通过主键修改数据-->
<update id="update">
UPDATE applet_subscribe_send
<set>
<if test="wechatUserId != null">
wechat_user_id = #{wechatUserId},
</if>
<if test="createTime != null">
create_time = #{createTime},
</if>
</set>
WHERE id = #{id}
</update>
<!--通过主键删除-->
<delete id="deleteById">
DELETE FROM applet_subscribe_send where id = #{id}
</delete>
<!--通过主键软删除-->
<delete id="softDeleteById">
update applet_subscribe_send set is_delete = 1, update_time = now() where id = #{id}
</delete>
<select id="getAllUserIds" resultType="long">
select wechat_user_id
from applet_subscribe_send
</select>
</mapper>
...@@ -1432,4 +1432,15 @@ ...@@ -1432,4 +1432,15 @@
book_adviser_id = #{bookAdviserId} book_adviser_id = #{bookAdviserId}
</update> </update>
<select id="getBookCreateCount" resultType="integer" parameterType="map">
SELECT
COUNT(1)
FROM
book_adviser
WHERE
ADVISER_ID = #{adviserId}
<if test="startTime != null">
AND CREATED_DATE > #{startTime}
</if>
</select>
</mapper> </mapper>
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