Commit e154ef9d by 阮思源

解决冲突

parents 561e956e 56661533
...@@ -39,4 +39,9 @@ public interface AdvertisingSpaceService { ...@@ -39,4 +39,9 @@ public interface AdvertisingSpaceService {
@ApiImplicitParam(name = "userId", value = "用户登录id", dataType = "long", required = true, paramType = "query") @ApiImplicitParam(name = "userId", value = "用户登录id", dataType = "long", required = true, paramType = "query")
@GetMapping("getTagWxGroupIdsByUserId") @GetMapping("getTagWxGroupIdsByUserId")
ResponseEntity<ResponseDto<List<String>>> getTagWxGroupIdsByUserId(@RequestParam("userId") Long userId); ResponseEntity<ResponseDto<List<String>>> getTagWxGroupIdsByUserId(@RequestParam("userId") Long userId);
@ApiOperation(value = "查微信群标记的品牌方id", httpMethod = "GET")
@ApiImplicitParam(name = "wxGroupId", value = "微信群id", dataType = "string", required = true, paramType = "query")
@GetMapping("getBrandIdsByWxGroupId")
ResponseEntity<ResponseDto<List<Long>>> getBrandIdsByWxGroupId(@RequestParam("wxGroupId") String wxGroupId);
} }
...@@ -442,7 +442,7 @@ public class AdNewsBizImpl implements AdNewsBiz { ...@@ -442,7 +442,7 @@ public class AdNewsBizImpl implements AdNewsBiz {
int i = 1; int i = 1;
for (AdNews adNews : adNewsList) { for (AdNews adNews : adNewsList) {
String temp = content + i + "." + adNews.getTitle() + adNews.getShortUrl() + "\n"; String temp = content + i + "." + adNews.getTitle() + adNews.getShortUrl() + "\n";
if (temp.length() >= 300) { if (temp.length() >= 1000) {
// 如果本次拼接后的长度大于 300,那么将之前拼接的内容存入数组 // 如果本次拼接后的长度大于 300,那么将之前拼接的内容存入数组
contents.add(content); contents.add(content);
// 重置 content 的内容 // 重置 content 的内容
......
package com.pcloud.book.advertising.biz; package com.pcloud.book.advertising.biz;
import com.pcloud.book.advertising.dto.AdvertisingMasterDTO; import com.pcloud.book.advertising.dto.AdvertisingBrandDTO;
import com.pcloud.book.advertising.dto.Book4AdvertisingMasterDTO; import com.pcloud.book.advertising.dto.Book4AdvertisingTagDTO;
import com.pcloud.book.advertising.dto.GroupMasterAddDTO; import com.pcloud.book.advertising.dto.GroupTagAddDTO;
import com.pcloud.book.advertising.dto.GroupMasterDTO; import com.pcloud.book.advertising.dto.GroupTagDTO;
import com.pcloud.book.advertising.entity.AdvertisingBrand;
import com.pcloud.common.exceptions.BizException; import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.page.PageBean;
import com.pcloud.common.page.PageBeanNew; import com.pcloud.common.page.PageBeanNew;
import java.util.List; import java.util.List;
...@@ -16,65 +18,65 @@ import java.util.Map; ...@@ -16,65 +18,65 @@ import java.util.Map;
* @创建时间:18:47 2019/8/22 * @创建时间:18:47 2019/8/22
* @版本:1.0 * @版本:1.0
*/ */
public interface GroupMasterTagBiz { public interface GroupTagBiz {
/** /**
* 微信群广告主标记列表 * 微信群品牌标记列表
* @param currentPage * @param currentPage
* @param numPerPage * @param numPerPage
* @param paramMap * @param paramMap
* @return * @return
*/ */
PageBeanNew<GroupMasterDTO> listPageGroupMaster(Integer currentPage, Integer numPerPage, Map<String, Object> paramMap); PageBeanNew<GroupTagDTO> listPageGroup4Brand(Integer currentPage, Integer numPerPage, Map<String, Object> paramMap);
/** /**
* 获取品牌方广告主 * 获取品牌方
* @return * @return
* @throws BizException * @throws BizException
*/ */
List<AdvertisingMasterDTO> getBrandMaster() throws BizException; List<AdvertisingBrandDTO> getAllBrand() throws BizException;
/** /**
* 微信群标记广告主 * 微信群标记品牌方
* @param groupMasterAddDTO * @param groupTagAddDTO
*/ */
void setGroupMaster(GroupMasterAddDTO groupMasterAddDTO); void setGroupBrand(GroupTagAddDTO groupTagAddDTO);
/** /**
* 广告主标记-图书列表 * 品牌标记-图书列表
* @param currentPage * @param currentPage
* @param numPerPage * @param numPerPage
* @param name * @param name
* @return * @return
*/ */
PageBeanNew<Book4AdvertisingMasterDTO> listPageBook4AdMaster(Integer currentPage, Integer numPerPage, String name); PageBeanNew<Book4AdvertisingTagDTO> listPageBook4AdBrand(Integer currentPage, Integer numPerPage, String name);
/** /**
* 品牌方广告主-微信群列表 * 品牌方-微信群列表
* @param userId * @param userId
* @param currentPage * @param currentPage
* @param numPerPage * @param numPerPage
* @param paramMap * @param paramMap
* @return * @return
*/ */
PageBeanNew<GroupMasterDTO> listPageGroupList4Master(Long userId, Integer currentPage, Integer numPerPage, Map<String, Object> paramMap); PageBeanNew<GroupTagDTO> listPageGroupList4Brand(Long userId, Integer currentPage, Integer numPerPage, Map<String, Object> paramMap);
/** /**
* 微信群广告主标记列表-导出 * 微信群品牌方标记列表-导出
* @param name * @param name
* @param proLabelId * @param proLabelId
* @param depLabelId * @param depLabelId
* @param purLabelId * @param purLabelId
* @param masterId * @param brandId
*/ */
void exportGroupMaster(String name, Long proLabelId, Long depLabelId, Long purLabelId, Long masterId, Long partyId); void exportGroupBrand(String name, Long proLabelId, Long depLabelId, Long purLabelId, Long brandId, Long partyId);
/** /**
* 品牌方广告主-微信群导出 * 品牌方-微信群导出
* @param partyId * @param userId
* @param paramMap * @param paramMap
*/ */
void exportGroupList4Master(Long partyId, Map<String, Object> paramMap, Long userId); Map<String,Object> exportGroupList4Brand(Map<String, Object> paramMap, Long userId);
/** /**
* 根据登录用户获取标记的微信群列表 * 根据登录用户获取标记的微信群列表
...@@ -84,28 +86,21 @@ public interface GroupMasterTagBiz { ...@@ -84,28 +86,21 @@ public interface GroupMasterTagBiz {
List<String> getTagWxGroupIdsByUserId(Long userId); List<String> getTagWxGroupIdsByUserId(Long userId);
/** /**
* 品牌方广告主-微信群基本信息列表 * 品牌方-微信群基本信息列表
* @param currentPage * @param currentPage
* @param numPerPage * @param numPerPage
* @param name * @param name
* @param userId * @param userId
* @return * @return
*/ */
PageBeanNew<GroupMasterDTO> listPageGroupBaseInfo4Master(Integer currentPage, Integer numPerPage, String name, Long userId); PageBeanNew<GroupTagDTO> listPageGroupBaseInfo4Brand(Integer currentPage, Integer numPerPage, String name, Long userId);
/** /**
* 修改广告主的登录id * 品牌方已标记的书刊id
* @param masterId * @param brandId
* @param loginId
*/
void updateMasterLoginId(Long masterId, Long loginId);
/**
* 广告主已标记的书刊id
* @param masterId
* @return * @return
*/ */
List<Long> getTagBookIds4AdMatser(Long masterId); List<Long> getTagBookIds4AdBrand(Long brandId);
/** /**
* 已标记的书标记新的群 * 已标记的书标记新的群
...@@ -113,4 +108,63 @@ public interface GroupMasterTagBiz { ...@@ -113,4 +108,63 @@ public interface GroupMasterTagBiz {
* @param qrcodeId * @param qrcodeId
*/ */
public void addTagByBookGroup(Long classifyId, Long qrcodeId); public void addTagByBookGroup(Long classifyId, Long qrcodeId);
/**
* 创建品牌方账号
* @param advertisingBrand
* @return
*/
Long createBrand(AdvertisingBrand advertisingBrand);
/**
* 根据id查品牌方信息(明文密码)
* @param brandId
* @return
*/
AdvertisingBrandDTO getBrandById(Long brandId);
/**
* 修改品牌方密码
* @param advertisingBrand
*/
void updateBrandPassword(AdvertisingBrand advertisingBrand);
/**
* 根据id删除品牌方
* @param brandId
*/
void deleteBrandById(Long brandId);
/**
* 分页查询品牌方
* @param currentPage
* @param numPerPage
* @param name
* @return
*/
PageBean listPageBrand(Integer currentPage, Integer numPerPage, String name);
/**
* 品牌方登录
* @param advertisingBrandDTO
* @return
*/
Map<String,Object> brandLogin(AdvertisingBrandDTO advertisingBrandDTO);
/**
* 查微信群标记的品牌方id
* @param wxGroupId
* @return
*/
List<Long> getBrandIdsByWxGroupId(String wxGroupId);
/**
* 品牌方旧数据处理
*/
void dealOldBrandStatistic();
/**
* 获取品牌方登录信息
* @param userId
* @return
*/
Map<String,Object> getBrandLoginInfo(Long userId);
} }
...@@ -12,7 +12,6 @@ import com.pcloud.book.advertising.dao.AdvertisingClickRecordDao; ...@@ -12,7 +12,6 @@ import com.pcloud.book.advertising.dao.AdvertisingClickRecordDao;
import com.pcloud.book.advertising.dao.AdvertisingDetailFileDao; import com.pcloud.book.advertising.dao.AdvertisingDetailFileDao;
import com.pcloud.book.advertising.dao.AdvertisingDistributionBookDao; import com.pcloud.book.advertising.dao.AdvertisingDistributionBookDao;
import com.pcloud.book.advertising.dao.AdvertisingExposureRecordDao; import com.pcloud.book.advertising.dao.AdvertisingExposureRecordDao;
import com.pcloud.book.advertising.dao.AdvertisingGroupTagDao;
import com.pcloud.book.advertising.dao.AdvertisingIncomeDailyDao; import com.pcloud.book.advertising.dao.AdvertisingIncomeDailyDao;
import com.pcloud.book.advertising.dao.AdvertisingMasterDao; import com.pcloud.book.advertising.dao.AdvertisingMasterDao;
import com.pcloud.book.advertising.dao.AdvertisingPilotRecordDao; import com.pcloud.book.advertising.dao.AdvertisingPilotRecordDao;
...@@ -59,7 +58,6 @@ import com.pcloud.book.consumer.resource.ProductConsr; ...@@ -59,7 +58,6 @@ import com.pcloud.book.consumer.resource.ProductConsr;
import com.pcloud.book.consumer.user.AdviserConsr; import com.pcloud.book.consumer.user.AdviserConsr;
import com.pcloud.book.consumer.user.AgentConsr; import com.pcloud.book.consumer.user.AgentConsr;
import com.pcloud.book.consumer.user.ChannelConsr; import com.pcloud.book.consumer.user.ChannelConsr;
import com.pcloud.book.consumer.user.PartyConsr;
import com.pcloud.book.consumer.wechatgroup.WechatGroupConsr; import com.pcloud.book.consumer.wechatgroup.WechatGroupConsr;
import com.pcloud.book.group.biz.WeixinQrcodeBiz; import com.pcloud.book.group.biz.WeixinQrcodeBiz;
import com.pcloud.book.group.dao.BookGroupClassifyDao; import com.pcloud.book.group.dao.BookGroupClassifyDao;
...@@ -96,7 +94,6 @@ import com.pcloud.facade.quartz.entity.ScheduleJob; ...@@ -96,7 +94,6 @@ import com.pcloud.facade.quartz.entity.ScheduleJob;
import com.pcloud.facade.quartz.service.ScheduleService; import com.pcloud.facade.quartz.service.ScheduleService;
import com.pcloud.readercenter.wechat.entity.WechatUser; import com.pcloud.readercenter.wechat.entity.WechatUser;
import com.pcloud.resourcecenter.product.service.ProductService; import com.pcloud.resourcecenter.product.service.ProductService;
import com.pcloud.usercenter.user.entity.UserLogin;
import com.pcloud.wechatgroup.message.dto.GroupChatCountDTO; import com.pcloud.wechatgroup.message.dto.GroupChatCountDTO;
import com.sdk.wxgroup.SendArticleMessageVO; import com.sdk.wxgroup.SendArticleMessageVO;
import com.sdk.wxgroup.SendPicMessageVO; import com.sdk.wxgroup.SendPicMessageVO;
...@@ -222,10 +219,6 @@ public class AdvertisingSpaceBizImpl implements AdvertisingSpaceBiz { ...@@ -222,10 +219,6 @@ public class AdvertisingSpaceBizImpl implements AdvertisingSpaceBiz {
private ConvertConsr convertConsr; private ConvertConsr convertConsr;
@Autowired @Autowired
private AdvertisingDetailFileDao detailFileDao; private AdvertisingDetailFileDao detailFileDao;
@Autowired
private PartyConsr partyConsr;
@Autowired
private AdvertisingGroupTagDao advertisingGroupTagDao;
private static final String ADVERTISING_PUT_PLAN_SCHEDULE_PRE = "ADVERTISING_PUT_PALN_"; private static final String ADVERTISING_PUT_PLAN_SCHEDULE_PRE = "ADVERTISING_PUT_PALN_";
...@@ -383,7 +376,7 @@ public class AdvertisingSpaceBizImpl implements AdvertisingSpaceBiz { ...@@ -383,7 +376,7 @@ public class AdvertisingSpaceBizImpl implements AdvertisingSpaceBiz {
} }
} }
int length = linkLength + adTitle.length(); int length = linkLength + adTitle.length();
if (length > 300) { if (length > 1000) {
throw new BookBizException(BookBizException.PARAM_IS_ERROR, "文本长度超过300!"); throw new BookBizException(BookBizException.PARAM_IS_ERROR, "文本长度超过300!");
} }
} }
...@@ -2321,18 +2314,6 @@ public class AdvertisingSpaceBizImpl implements AdvertisingSpaceBiz { ...@@ -2321,18 +2314,6 @@ public class AdvertisingSpaceBizImpl implements AdvertisingSpaceBiz {
if (null != nameExist && nameExist) { if (null != nameExist && nameExist) {
throw new BookBizException(BookBizException.PARAM_IS_ERROR, "广告主已存在!"); throw new BookBizException(BookBizException.PARAM_IS_ERROR, "广告主已存在!");
} }
//包含品牌方结算方式
List<String> methods = advertisingMaster.getSettlementMethodList().stream().filter(s -> s.getSettlementMethod() != null).map(AdvertisingSettlementMethod::getSettlementMethod).collect(Collectors.toList());
if (methods.contains(SettlementMethodEnum.Brand.code)) {
/*if (StringUtil.isEmpty(advertisingMaster.getLoginName())) {
throw new BookBizException(BookBizException.PARAM_IS_ERROR, "登录名为空!");
} else {
Long loginUserId = partyConsr.addLoginAccount(advertisingMaster.getLoginName(), advertisingMaster.getPassword());
advertisingMaster.setLoginId(loginUserId);
}*/
//创建子账号,通过更新数据库与广告主关联,登录账号不在这里创建,返回默认的loginUserId
advertisingMaster.setLoginId(123l);
}
advertisingMasterDao.insert(advertisingMaster); advertisingMasterDao.insert(advertisingMaster);
Long masterId = advertisingMaster.getId(); Long masterId = advertisingMaster.getId();
advertisingMaster.getSettlementMethodList().forEach(method -> method.setMasterId(masterId)); advertisingMaster.getSettlementMethodList().forEach(method -> method.setMasterId(masterId));
...@@ -2366,30 +2347,6 @@ public class AdvertisingSpaceBizImpl implements AdvertisingSpaceBiz { ...@@ -2366,30 +2347,6 @@ public class AdvertisingSpaceBizImpl implements AdvertisingSpaceBiz {
if (null == master) { if (null == master) {
throw new BookBizException(BookBizException.PARAM_IS_ERROR, "广告主不存在!"); throw new BookBizException(BookBizException.PARAM_IS_ERROR, "广告主不存在!");
} }
//包含品牌方结算方式
List<String> methods = advertisingMaster.getSettlementMethodList().stream().filter(s -> s.getSettlementMethod() != null).map(AdvertisingSettlementMethod::getSettlementMethod).collect(Collectors.toList());
if (methods.contains(SettlementMethodEnum.Brand.code)) {
Long loginId = master.getLoginId();
/*if (StringUtil.isEmpty(advertisingMaster.getLoginName()) || StringUtil.isEmpty(advertisingMaster.getPassword())) {
throw new BookBizException(BookBizException.PARAM_IS_ERROR, "登录名或密码为空!");
}
if (null == loginId) {//新增账号
loginId = partyConsr.addLoginAccount(advertisingMaster.getLoginName(), advertisingMaster.getPassword());
advertisingMaster.setLoginId(loginId);
} else {//修改账号
partyConsr.updateLoginAccount(advertisingMaster.getLoginName(), advertisingMaster.getPassword(), loginId);
}*/
//账号修改通过子账号完成
// if (null == loginId) {
// LOGGER.error("广告主" + masterId + "是品牌方结算,子账号为空");
// }
} else {
if (null != master.getLoginId()) {//删除账号,标记记录
partyConsr.deleteLoginAccount(master.getLoginId());
advertisingMaster.setLoginId(123l);
advertisingGroupTagDao.deleteByMasterId(masterId);
}
}
advertisingMasterDao.update(advertisingMaster); advertisingMasterDao.update(advertisingMaster);
// 删除广告主之前配置的结算方式 // 删除广告主之前配置的结算方式
advertisingSettlementMethodDao.deleteByMasterId(masterId); advertisingSettlementMethodDao.deleteByMasterId(masterId);
...@@ -2439,15 +2396,6 @@ public class AdvertisingSpaceBizImpl implements AdvertisingSpaceBiz { ...@@ -2439,15 +2396,6 @@ public class AdvertisingSpaceBizImpl implements AdvertisingSpaceBiz {
new BigDecimal(pilotFinishUserNum.doubleValue() / clickUserNum).setScale(4, BigDecimal.ROUND_HALF_UP); new BigDecimal(pilotFinishUserNum.doubleValue() / clickUserNum).setScale(4, BigDecimal.ROUND_HALF_UP);
masterDTO.setPilotFinishUserNum(pilotFinishUserNum); masterDTO.setPilotFinishUserNum(pilotFinishUserNum);
masterDTO.setPilotFinishRate(pilotFinishRate); masterDTO.setPilotFinishRate(pilotFinishRate);
//广告主登录名
AdvertisingMaster master = advertisingMasterDao.getById(masterDTO.getId());
if (null != master && null != master.getLoginId()) {
UserLogin userLogin = partyConsr.getUserLoginInfo(master.getLoginId());
if (null != userLogin) {
masterDTO.setLoginName(userLogin.getUserName());
masterDTO.setPassword(userLogin.getCurrentPassword());
}
}
} }
return pageBean; return pageBean;
} }
......
package com.pcloud.book.advertising.dao;
import com.pcloud.book.advertising.dto.AdvertisingBrandDTO;
import com.pcloud.book.advertising.entity.AdvertisingBrand;
import com.pcloud.common.core.dao.BaseDao;
import java.util.List;
/**
* @描述:广告品牌方
* @作者:zhuyajie
* @创建时间:15:25 2019/9/9
* @版本:1.0
*/
public interface AdvertisingBrandDao extends BaseDao<AdvertisingBrand> {
/**
* 根据群id查标记的品牌方
* @param groupQrcodeId
* @return
*/
List<AdvertisingBrandDTO> getByGroupQrcodeId(Long groupQrcodeId);
/**
* 所有品牌方列表
* @return
*/
List<AdvertisingBrandDTO> getAllBrand();
/**
* 根据登录id查品牌方id
* @param userId
* @return
*/
Long getBrandIdByUserLoginId(Long userId);
/**
* 删除品牌方(假删除)
* @param brandId
*/
void deleteBrand(Long brandId);
/**
* 根据id查询
* @param brandId
* @return
*/
AdvertisingBrandDTO getBrandById(Long brandId);
/**
* 品牌名称是否重复
* @param brandName
* @return
*/
Boolean checkBrandNameRepeat(String brandName);
/**
* 登录名是否重复
* @param loginName
* @return
*/
Boolean checkLoginNameRepeat(String loginName);
/**
* 查询登录信息
* @param loginName
* @return
*/
AdvertisingBrand getLoginInfo(String loginName);
}
...@@ -14,17 +14,17 @@ import java.util.List; ...@@ -14,17 +14,17 @@ import java.util.List;
public interface AdvertisingGroupTagDao extends BaseDao<AdvertisingGroupTag> { public interface AdvertisingGroupTagDao extends BaseDao<AdvertisingGroupTag> {
/** /**
* 根据广告主删除 * 根据品牌方删除
* @param masterId * @param brandId
*/ */
public void deleteByMasterId(Long masterId); public void deleteByBrandId(Long brandId);
/** /**
* 已标记的书 * 已标记的书
* @param masterId * @param brandId
* @return * @return
*/ */
public List<Long> getBookIdsByMasterId(Long masterId); public List<Long> getBookIdsByBrandId(Long brandId);
/** /**
* 根据群删除标记 * 根据群删除标记
...@@ -34,29 +34,43 @@ public interface AdvertisingGroupTagDao extends BaseDao<AdvertisingGroupTag> { ...@@ -34,29 +34,43 @@ public interface AdvertisingGroupTagDao extends BaseDao<AdvertisingGroupTag> {
/** /**
* 已标记的群 * 已标记的群
* @param masterId * @param brandId
* @return * @return
*/ */
public List<Long> getGroupQrcodeIdsByMasterId(Long masterId); public List<Long> getGroupQrcodeIdsByBrandId(Long brandId);
/** /**
* 根据图书删除标记 * 根据图书删除标记
* @param bookIds * @param bookIds
* @param masterId * @param brandId
*/ */
void deleteByBook(List<Long> bookIds, Long masterId); void deleteByBook(List<Long> bookIds, Long brandId);
/** /**
* 查已标记的微信群id * 查已标记的微信群id
* @param masterId * @param brandId
* @return * @return
*/ */
List<String> getTagWxGroupIdsByMasterId(Long masterId); List<String> getTagWxGroupIdsByBrandId(Long brandId);
/** /**
* 根据书查标记的广告主 * 根据书查标记的品牌方
* @param bookId * @param bookId
* @return * @return
*/ */
List<Long> getMasterIdsByBookId(Long bookId); List<Long> getBrandIdsByBookId(Long bookId);
/**
* 查微信群标记的品牌方id
* @param wxGroupId
* @return
*/
List<Long> getBrandIdsByWxGroupId(String wxGroupId);
/**
* 更新旧数据品牌id
* @param masterId
* @param brandId
*/
void updateId(Long masterId, Long brandId);
} }
package com.pcloud.book.advertising.dao; package com.pcloud.book.advertising.dao;
import com.pcloud.book.advertising.dto.AdvertisingMasterDTO; import com.pcloud.book.advertising.dto.AdvertisingMasterDTO;
import com.pcloud.book.advertising.dto.OldBrandMasterDTO;
import com.pcloud.book.advertising.entity.AdvertisingMaster; import com.pcloud.book.advertising.entity.AdvertisingMaster;
import com.pcloud.common.core.dao.BaseDao; import com.pcloud.common.core.dao.BaseDao;
...@@ -26,29 +27,14 @@ public interface AdvertisingMasterDao extends BaseDao<AdvertisingMaster> { ...@@ -26,29 +27,14 @@ public interface AdvertisingMasterDao extends BaseDao<AdvertisingMaster> {
AdvertisingMasterDTO getDTOById(Long masterId); AdvertisingMasterDTO getDTOById(Long masterId);
/** /**
* 查微信群标记的广告主 * 获取广告主品牌方
* @param groupQrcodeId
* @return * @return
*/ */
List<AdvertisingMaster> getByGroup(Long groupQrcodeId); public List<OldBrandMasterDTO> getMasterBrand();
/** /**
* 获取品牌方广告主 * 更新登录id为空
* @return * @param masterName
*/
List<AdvertisingMasterDTO> getBrandMaster();
/**
* 根据登录id查广告主id
* @param loginId
* @return
*/
public Long getIdByUserLoginId(Long loginId);
/**
* 修改广告主登录id
* @param masterId
* @param loginId
*/ */
public void updateMasterLoginId(Long masterId, Long loginId); public void updateLoginId(String masterName);
} }
package com.pcloud.book.advertising.dao.impl;
import com.pcloud.book.advertising.dao.AdvertisingBrandDao;
import com.pcloud.book.advertising.dto.AdvertisingBrandDTO;
import com.pcloud.book.advertising.entity.AdvertisingBrand;
import com.pcloud.common.core.dao.BaseDaoImpl;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @描述:广告品牌方
* @作者:zhuyajie
* @创建时间:15:26 2019/9/9
* @版本:1.0
*/
@Component("advertisingBrandDao")
public class AdvertisingBrandDaoImpl extends BaseDaoImpl<AdvertisingBrand> implements AdvertisingBrandDao{
@Override
public List<AdvertisingBrandDTO> getByGroupQrcodeId(Long groupQrcodeId) {
return getSessionTemplate().selectList(getStatement("getByGroupQrcodeId"), groupQrcodeId);
}
@Override
public List<AdvertisingBrandDTO> getAllBrand() {
return getSessionTemplate().selectList(getStatement("getAllBrand"));
}
@Override
public Long getBrandIdByUserLoginId(Long userId) {
//品牌方登录,userId=brandId
return userId;
}
@Override
public void deleteBrand(Long brandId) {
getSessionTemplate().update(getStatement("deleteBrand"), brandId);
}
@Override
public AdvertisingBrandDTO getBrandById(Long brandId) {
return getSessionTemplate().selectOne(getStatement("getBrandById"), brandId);
}
@Override
public Boolean checkBrandNameRepeat(String brandName) {
return getSessionTemplate().selectOne(getStatement("checkBrandNameRepeat"), brandName);
}
@Override
public Boolean checkLoginNameRepeat(String loginName) {
return getSessionTemplate().selectOne(getStatement("checkLoginNameRepeat"), loginName);
}
@Override
public AdvertisingBrand getLoginInfo(String loginName) {
Map<String, Object> map = new HashMap<>();
map.put("loginName", loginName);
return getSessionTemplate().selectOne(getStatement("getLoginInfo"), map);
}
}
...@@ -20,13 +20,13 @@ import java.util.Map; ...@@ -20,13 +20,13 @@ import java.util.Map;
public class AdvertisingGroupTagDaoImpl extends BaseDaoImpl<AdvertisingGroupTag> implements AdvertisingGroupTagDao { public class AdvertisingGroupTagDaoImpl extends BaseDaoImpl<AdvertisingGroupTag> implements AdvertisingGroupTagDao {
@Override @Override
public void deleteByMasterId(Long masterId) { public void deleteByBrandId(Long brandId) {
getSessionTemplate().delete(getStatement("deleteByMasterId"), masterId); getSessionTemplate().delete(getStatement("deleteByBrandId"), brandId);
} }
@Override @Override
public List<Long> getBookIdsByMasterId(Long masterId) { public List<Long> getBookIdsByBrandId(Long brandId) {
return getSessionTemplate().selectList(getStatement("getBookIdsByMasterId"), masterId); return getSessionTemplate().selectList(getStatement("getBookIdsByBrandId"), brandId);
} }
@Override @Override
...@@ -35,25 +35,38 @@ public class AdvertisingGroupTagDaoImpl extends BaseDaoImpl<AdvertisingGroupTag> ...@@ -35,25 +35,38 @@ public class AdvertisingGroupTagDaoImpl extends BaseDaoImpl<AdvertisingGroupTag>
} }
@Override @Override
public List<Long> getGroupQrcodeIdsByMasterId(Long masterId) { public List<Long> getGroupQrcodeIdsByBrandId(Long brandId) {
return getSessionTemplate().selectList(getStatement("getGroupQrcodeIdsByMasterId"), masterId); return getSessionTemplate().selectList(getStatement("getGroupQrcodeIdsByBrandId"), brandId);
} }
@Override @Override
public void deleteByBook(List<Long> bookIds, Long masterId) { public void deleteByBook(List<Long> bookIds, Long brandId) {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
map.put("bookIds", bookIds); map.put("bookIds", bookIds);
map.put("masterId", masterId); map.put("brandId", brandId);
getSessionTemplate().delete(getStatement("deleteByBook"), map); getSessionTemplate().delete(getStatement("deleteByBook"), map);
} }
@Override @Override
public List<String> getTagWxGroupIdsByMasterId(Long masterId) { public List<String> getTagWxGroupIdsByBrandId(Long brandId) {
return getSessionTemplate().selectList(getStatement("getTagWxGroupIdsByMasterId"), masterId); return getSessionTemplate().selectList(getStatement("getTagWxGroupIdsByBrandId"), brandId);
} }
@Override @Override
public List<Long> getMasterIdsByBookId(Long bookId) { public List<Long> getBrandIdsByBookId(Long bookId) {
return getSessionTemplate().selectList(getStatement("getMasterIdsByBookId"), bookId); return getSessionTemplate().selectList(getStatement("getBrandIdsByBookId"), bookId);
}
@Override
public List<Long> getBrandIdsByWxGroupId(String wxGroupId) {
return getSessionTemplate().selectList(getStatement("getBrandIdsByWxGroupId"), wxGroupId);
}
@Override
public void updateId(Long masterId, Long brandId) {
Map<String, Object> map = new HashMap<>();
map.put("masterId", masterId);
map.put("brandId", brandId);
getSessionTemplate().update(getStatement("updateId"), map);
} }
} }
...@@ -2,14 +2,13 @@ package com.pcloud.book.advertising.dao.impl; ...@@ -2,14 +2,13 @@ package com.pcloud.book.advertising.dao.impl;
import com.pcloud.book.advertising.dao.AdvertisingMasterDao; import com.pcloud.book.advertising.dao.AdvertisingMasterDao;
import com.pcloud.book.advertising.dto.AdvertisingMasterDTO; import com.pcloud.book.advertising.dto.AdvertisingMasterDTO;
import com.pcloud.book.advertising.dto.OldBrandMasterDTO;
import com.pcloud.book.advertising.entity.AdvertisingMaster; import com.pcloud.book.advertising.entity.AdvertisingMaster;
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.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* Description 广告主数据访问层接口实现类 * Description 广告主数据访问层接口实现类
...@@ -35,25 +34,13 @@ public class AdvertisingMasterDaoImpl extends BaseDaoImpl<AdvertisingMaster> imp ...@@ -35,25 +34,13 @@ public class AdvertisingMasterDaoImpl extends BaseDaoImpl<AdvertisingMaster> imp
} }
@Override @Override
public List<AdvertisingMaster> getByGroup(Long groupQrcodeId) { public List<OldBrandMasterDTO> getMasterBrand() {
return getSessionTemplate().selectList(getStatement("getByGroup"), groupQrcodeId); return getSessionTemplate().selectList(getStatement("getMasterBrand"));
} }
@Override @Override
public List<AdvertisingMasterDTO> getBrandMaster() { public void updateLoginId(String masterName) {
return getSessionTemplate().selectList(getStatement("getBrandMaster")); getSessionTemplate().update(getStatement("updateLoginId"), masterName);
} }
@Override
public Long getIdByUserLoginId(Long loginId) {
return getSessionTemplate().selectOne(getStatement("getIdByUserLoginId"), loginId);
}
@Override
public void updateMasterLoginId(Long masterId, Long loginId) {
Map<String, Object> map = new HashMap<>();
map.put("masterId", masterId);
map.put("loginId", loginId);
getSessionTemplate().update(getStatement("updateMasterLoginId"), map);
}
} }
package com.pcloud.book.advertising.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.pcloud.common.dto.BaseDto;
import java.util.Date;
/**
* 品牌方
*/
public class AdvertisingBrandDTO extends BaseDto {
/**
* 品牌方id
*/
private Long id;
/**
* 品牌名称
*/
private String brandName;
/**
* 登录名
*/
private String loginName;
/**
* 密码
*/
private String password;
@JsonFormat(
pattern = "yyyy-MM-dd HH:mm:ss",
timezone = "GMT+8"
)
private Date createTime;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getBrandName() {
return brandName;
}
public void setBrandName(String brandName) {
this.brandName = brandName == null ? null : brandName.trim();
}
public String getLoginName() {
return loginName;
}
public void setLoginName(String loginName) {
this.loginName = loginName == null ? null : loginName.trim();
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password == null ? null : password.trim();
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
}
\ No newline at end of file
...@@ -6,12 +6,12 @@ import com.pcloud.common.dto.BaseDto; ...@@ -6,12 +6,12 @@ import com.pcloud.common.dto.BaseDto;
import java.util.Date; import java.util.Date;
/** /**
* @描述:广告主标记书刊列表 * @描述:品牌方标记书刊列表
* @作者:zhuyajie * @作者:zhuyajie
* @创建时间:11:51 2019/8/22 * @创建时间:11:51 2019/8/22
* @版本:1.0 * @版本:1.0
*/ */
public class Book4AdvertisingMasterDTO extends BaseDto { public class Book4AdvertisingTagDTO extends BaseDto {
/** /**
* 书籍标识 * 书籍标识
......
...@@ -10,7 +10,7 @@ import java.util.List; ...@@ -10,7 +10,7 @@ import java.util.List;
* @创建时间:17:19 2019/8/21 * @创建时间:17:19 2019/8/21
* @版本:1.0 * @版本:1.0
*/ */
public class GroupMasterAddDTO extends BaseDto{ public class GroupTagAddDTO extends BaseDto{
//按微信群标记 //按微信群标记
/** /**
...@@ -18,16 +18,16 @@ public class GroupMasterAddDTO extends BaseDto{ ...@@ -18,16 +18,16 @@ public class GroupMasterAddDTO extends BaseDto{
*/ */
private List<Long> groupQrcodeIdList; private List<Long> groupQrcodeIdList;
/** /**
* 广告主id列表 * 品牌方id列表
*/ */
private List<Long> masterIdList; private List<Long> brandIdList;
//按图书标记 //按图书标记
/** /**
* 广告主id * 品牌方id
*/ */
private Long masterId; private Long brandId;
/** /**
* 图书id列表 * 图书id列表
*/ */
...@@ -41,20 +41,20 @@ public class GroupMasterAddDTO extends BaseDto{ ...@@ -41,20 +41,20 @@ public class GroupMasterAddDTO extends BaseDto{
this.groupQrcodeIdList = groupQrcodeIdList; this.groupQrcodeIdList = groupQrcodeIdList;
} }
public List<Long> getMasterIdList() { public List<Long> getBrandIdList() {
return masterIdList; return brandIdList;
} }
public void setMasterIdList(List<Long> masterIdList) { public void setBrandIdList(List<Long> brandIdList) {
this.masterIdList = masterIdList; this.brandIdList = brandIdList;
} }
public Long getMasterId() { public Long getBrandId() {
return masterId; return brandId;
} }
public void setMasterId(Long masterId) { public void setBrandId(Long brandId) {
this.masterId = masterId; this.brandId = brandId;
} }
public List<Long> getBookIdList() { public List<Long> getBookIdList() {
......
...@@ -8,12 +8,12 @@ import java.util.Date; ...@@ -8,12 +8,12 @@ import java.util.Date;
import java.util.List; import java.util.List;
/** /**
* @描述:群广告主标记列表 * @描述:微信群品牌标记列表
* @作者:zhuyajie * @作者:zhuyajie
* @创建时间:15:00 2019/8/21 * @创建时间:15:00 2019/8/21
* @版本:1.0 * @版本:1.0
*/ */
public class GroupMasterDTO extends BaseDto{ public class GroupTagDTO extends BaseDto{
/** /**
* 微信群id * 微信群id
*/ */
...@@ -96,9 +96,9 @@ public class GroupMasterDTO extends BaseDto{ ...@@ -96,9 +96,9 @@ public class GroupMasterDTO extends BaseDto{
) )
private Date createTime; private Date createTime;
/** /**
* 标记的广告主列表 * 标记的品牌方列表
*/ */
List<AdvertisingMaster> masterList; List<AdvertisingBrandDTO> brandList;
/** /**
* 标记时间 * 标记时间
*/ */
...@@ -278,12 +278,12 @@ public class GroupMasterDTO extends BaseDto{ ...@@ -278,12 +278,12 @@ public class GroupMasterDTO extends BaseDto{
this.createTime = createTime; this.createTime = createTime;
} }
public List<AdvertisingMaster> getMasterList() { public List<AdvertisingBrandDTO> getBrandList() {
return masterList; return brandList;
} }
public void setMasterList(List<AdvertisingMaster> masterList) { public void setBrandList(List<AdvertisingBrandDTO> brandList) {
this.masterList = masterList; this.brandList = brandList;
} }
public Date getTagTime() { public Date getTagTime() {
...@@ -336,7 +336,7 @@ public class GroupMasterDTO extends BaseDto{ ...@@ -336,7 +336,7 @@ public class GroupMasterDTO extends BaseDto{
@Override @Override
public String toString() { public String toString() {
return "GroupMasterDTO{" + return "GroupTagDTO{" +
"wxGroupId='" + wxGroupId + '\'' + "wxGroupId='" + wxGroupId + '\'' +
", groupQrcodeId=" + groupQrcodeId + ", groupQrcodeId=" + groupQrcodeId +
", groupName='" + groupName + '\'' + ", groupName='" + groupName + '\'' +
...@@ -356,7 +356,7 @@ public class GroupMasterDTO extends BaseDto{ ...@@ -356,7 +356,7 @@ public class GroupMasterDTO extends BaseDto{
", advertisingSpaceNum=" + advertisingSpaceNum + ", advertisingSpaceNum=" + advertisingSpaceNum +
", qrcodeUrl='" + qrcodeUrl + '\'' + ", qrcodeUrl='" + qrcodeUrl + '\'' +
", createTime=" + createTime + ", createTime=" + createTime +
", masterList=" + masterList + ", brandList=" + brandList +
", tagTime=" + tagTime + ", tagTime=" + tagTime +
", isbn='" + isbn + '\'' + ", isbn='" + isbn + '\'' +
'}'; '}';
......
package com.pcloud.book.advertising.dto;
/**
* @描述:广告主品牌方旧数据
* @作者:zhuyajie
* @创建时间:11:20 2019/9/11
* @版本:1.0
*/
public class OldBrandMasterDTO {
private Long id;
/**
* 品牌方名称
*/
private String masterName;
/**
* 登录id
*/
private Long loginId;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getMasterName() {
return masterName;
}
public void setMasterName(String masterName) {
this.masterName = masterName;
}
public Long getLoginId() {
return loginId;
}
public void setLoginId(Long loginId) {
this.loginId = loginId;
}
}
package com.pcloud.book.advertising.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.pcloud.common.entity.BaseEntity;
import java.util.Date;
/**
* 品牌方
*/
public class AdvertisingBrand extends BaseEntity {
/**
* 品牌名称
*/
private String brandName;
/**
* 登录名
*/
private String loginName;
/**
* 密码
*/
private String password;
/**
* 是否删除
*/
private Boolean isDelete;
@JsonFormat(
pattern = "yyyy-MM-dd HH:mm:ss",
timezone = "GMT+8"
)
private Date createTime;
private Long createUser;
@JsonFormat(
pattern = "yyyy-MM-dd HH:mm:ss",
timezone = "GMT+8"
)
private Date updateTime;
private Long updateUser;
public String getBrandName() {
return brandName;
}
public void setBrandName(String brandName) {
this.brandName = brandName == null ? null : brandName.trim();
}
public String getLoginName() {
return loginName;
}
public void setLoginName(String loginName) {
this.loginName = loginName == null ? null : loginName.trim();
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password == null ? null : password.trim();
}
public Boolean getIsDelete() {
return isDelete;
}
public void setIsDelete(Boolean isDelete) {
this.isDelete = isDelete;
}
public java.util.Date getCreateTime() {
return createTime;
}
public void setCreateTime(java.util.Date createTime) {
this.createTime = createTime;
}
public Long getCreateUser() {
return createUser;
}
public void setCreateUser(Long createUser) {
this.createUser = createUser;
}
public java.util.Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(java.util.Date updateTime) {
this.updateTime = updateTime;
}
public Long getUpdateUser() {
return updateUser;
}
public void setUpdateUser(Long updateUser) {
this.updateUser = updateUser;
}
}
\ No newline at end of file
...@@ -21,9 +21,9 @@ public class AdvertisingGroupTag extends BaseEntity{ ...@@ -21,9 +21,9 @@ public class AdvertisingGroupTag extends BaseEntity{
private Long groupQrcodeId; private Long groupQrcodeId;
/** /**
* 广告主id * 品牌方id
*/ */
private Long masterId; private Long brandId;
@JsonFormat( @JsonFormat(
pattern = "yyyy-MM-dd HH:mm:ss", pattern = "yyyy-MM-dd HH:mm:ss",
timezone = "GMT+8" timezone = "GMT+8"
...@@ -46,12 +46,12 @@ public class AdvertisingGroupTag extends BaseEntity{ ...@@ -46,12 +46,12 @@ public class AdvertisingGroupTag extends BaseEntity{
this.groupQrcodeId = groupQrcodeId; this.groupQrcodeId = groupQrcodeId;
} }
public Long getMasterId() { public Long getBrandId() {
return masterId; return brandId;
} }
public void setMasterId(Long masterId) { public void setBrandId(Long brandId) {
this.masterId = masterId; this.brandId = brandId;
} }
public Date getCreateTime() { public Date getCreateTime() {
...@@ -67,7 +67,7 @@ public class AdvertisingGroupTag extends BaseEntity{ ...@@ -67,7 +67,7 @@ public class AdvertisingGroupTag extends BaseEntity{
return "AdvertisingGroupTag{" + return "AdvertisingGroupTag{" +
"tagBookId=" + tagBookId + "tagBookId=" + tagBookId +
", groupQrcodeId=" + groupQrcodeId + ", groupQrcodeId=" + groupQrcodeId +
", masterId=" + masterId + ", brandId=" + brandId +
", createTime=" + createTime + ", createTime=" + createTime +
'}'; '}';
} }
......
...@@ -42,10 +42,7 @@ public class AdvertisingMaster extends BaseEntity { ...@@ -42,10 +42,7 @@ public class AdvertisingMaster extends BaseEntity {
*/ */
private String password; private String password;
/**
* 登录账号id
*/
private Long loginId;
@Override @Override
public Long getId() { public Long getId() {
return id; return id;
...@@ -100,13 +97,6 @@ public class AdvertisingMaster extends BaseEntity { ...@@ -100,13 +97,6 @@ public class AdvertisingMaster extends BaseEntity {
this.loginName = loginName; this.loginName = loginName;
} }
public Long getLoginId() {
return loginId;
}
public void setLoginId(Long loginId) {
this.loginId = loginId;
}
public String getPassword() { public String getPassword() {
return password; return password;
...@@ -126,7 +116,6 @@ public class AdvertisingMaster extends BaseEntity { ...@@ -126,7 +116,6 @@ public class AdvertisingMaster extends BaseEntity {
", settlementMethodList=" + settlementMethodList + ", settlementMethodList=" + settlementMethodList +
", loginName='" + loginName + '\'' + ", loginName='" + loginName + '\'' +
", password='" + password + '\'' + ", password='" + password + '\'' +
", loginId=" + loginId +
'}'; '}';
} }
......
...@@ -9,8 +9,7 @@ public enum SettlementMethodEnum { ...@@ -9,8 +9,7 @@ public enum SettlementMethodEnum {
CPC("CPC", "按点击量"), CPC("CPC", "按点击量"),
CPM("CPM", "按曝光量"), CPM("CPM", "按曝光量"),
CPA("CPA", "按实际行动"), CPA("CPA", "按实际行动"),
CPS("CPS", "按实际销售"), CPS("CPS", "按实际销售");
Brand("Brand","品牌方,线下结算");
public final String code; public final String code;
...@@ -33,7 +32,7 @@ public enum SettlementMethodEnum { ...@@ -33,7 +32,7 @@ public enum SettlementMethodEnum {
return null; return null;
} }
public static final String[] SETTLEMENT_METHOD_GATHER = {CPC.code, CPM.code, CPA.code, CPS.code, Brand.code}; public static final String[] SETTLEMENT_METHOD_GATHER = {CPC.code, CPM.code, CPA.code, CPS.code};
public static final String[] SETTLEMENT_METHOD_NEED_PRICE_GATHER = {CPC.code, CPM.code, CPA.code}; public static final String[] SETTLEMENT_METHOD_NEED_PRICE_GATHER = {CPC.code, CPM.code, CPA.code};
} }
package com.pcloud.book.advertising.service.impl; package com.pcloud.book.advertising.service.impl;
import com.pcloud.book.advertising.biz.AdvertisingSpaceBiz; import com.pcloud.book.advertising.biz.AdvertisingSpaceBiz;
import com.pcloud.book.advertising.biz.GroupMasterTagBiz; import com.pcloud.book.advertising.biz.GroupTagBiz;
import com.pcloud.book.advertising.service.AdvertisingSpaceService; import com.pcloud.book.advertising.service.AdvertisingSpaceService;
import com.pcloud.common.core.aspect.ParamLog; import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.dto.ResponseDto; import com.pcloud.common.dto.ResponseDto;
...@@ -38,7 +38,7 @@ public class AdvertisingSpaceServiceImpl implements AdvertisingSpaceService { ...@@ -38,7 +38,7 @@ public class AdvertisingSpaceServiceImpl implements AdvertisingSpaceService {
@Autowired @Autowired
private AdvertisingSpaceBiz advertisingSpaceBiz; private AdvertisingSpaceBiz advertisingSpaceBiz;
@Autowired @Autowired
private GroupMasterTagBiz groupMasterTagBiz; private GroupTagBiz groupTagBiz;
/** /**
* 每日凌晨计算昨日广告位收益 * 每日凌晨计算昨日广告位收益
...@@ -61,7 +61,16 @@ public class AdvertisingSpaceServiceImpl implements AdvertisingSpaceService { ...@@ -61,7 +61,16 @@ public class AdvertisingSpaceServiceImpl implements AdvertisingSpaceService {
@GetMapping("getTagWxGroupIdsByUserId") @GetMapping("getTagWxGroupIdsByUserId")
@ParamLog("根据登录用户获取标记的微信群列表") @ParamLog("根据登录用户获取标记的微信群列表")
public ResponseEntity<ResponseDto<List<String>>> getTagWxGroupIdsByUserId(@RequestParam("userId") Long userId) { public ResponseEntity<ResponseDto<List<String>>> getTagWxGroupIdsByUserId(@RequestParam("userId") Long userId) {
List<String> list = groupMasterTagBiz.getTagWxGroupIdsByUserId(userId); List<String> list = groupTagBiz.getTagWxGroupIdsByUserId(userId);
return ResponseHandleUtil.toResponse(list); return ResponseHandleUtil.toResponse(list);
} }
@Override
@GetMapping("getBrandIdsByWxGroupId")
@ParamLog("查微信群标记的品牌方id")
public ResponseEntity<ResponseDto<List<Long>>> getBrandIdsByWxGroupId(@RequestParam("wxGroupId") String wxGroupId) {
List<Long> brandIds = groupTagBiz.getBrandIdsByWxGroupId(wxGroupId);
return ResponseHandleUtil.toResponse(brandIds);
}
} }
...@@ -77,38 +77,6 @@ public class PartyConsr { ...@@ -77,38 +77,6 @@ public class PartyConsr {
return partyIdListVO; return partyIdListVO;
} }
@ParamLog("创建平台端登录账号")
public Long addLoginAccount(String loginName, String password) {
Long loginId = null;
try {
//todo
loginId = 000l;
} catch (Exception e) {
LOGGER.error("【用户中心】创建平台端登录账号失败" + e.getMessage(), e);
}
return loginId;
}
@ParamLog("修改平台端登录账号")
public void updateLoginAccount(String loginName, String password, Long loginId) {
try {
//todo
} catch (Exception e) {
LOGGER.error("【用户中心】修改平台端登录账号失败" + e.getMessage(), e);
}
}
@ParamLog("删除登录账号")
public void deleteLoginAccount(Long loginId) {
try {
//todo
} catch (Exception e) {
LOGGER.error("【用户中心】删除平台端登录账号失败" + e.getMessage(), e);
}
}
@ParamLog("获取登录账号信息") @ParamLog("获取登录账号信息")
public UserLogin getUserLoginInfo(Long loginId) { public UserLogin getUserLoginInfo(Long loginId) {
......
...@@ -46,6 +46,11 @@ public interface BookAuthUserBiz { ...@@ -46,6 +46,11 @@ public interface BookAuthUserBiz {
Boolean checkIsHaveAuth(Long bookId, Long channelId, Long adviserId, Long wechatUserId, Integer authBookType); Boolean checkIsHaveAuth(Long bookId, Long channelId, Long adviserId, Long wechatUserId, Integer authBookType);
/** /**
* 校验用户针对指定的服务是否被授权
*/
Boolean checkIsHaveAuthWithServer(String userInfo, Long serverId);
/**
* 获取授权信息总的统计数据 * 获取授权信息总的统计数据
*/ */
BookAuthCodeUserVO getAuthUserTotalCount(List<Long> adviserIds, List<Long> removeAdviserIds); BookAuthCodeUserVO getAuthUserTotalCount(List<Long> adviserIds, List<Long> removeAdviserIds);
......
package com.pcloud.book.copyright.biz.impl; package com.pcloud.book.copyright.biz.impl;
import com.pcloud.book.base.exception.BookBizException; import com.pcloud.book.base.exception.BookBizException;
import com.pcloud.book.consumer.channel.QrcodeSceneConsr;
import com.pcloud.book.copyright.biz.BookAuthUserBiz; import com.pcloud.book.copyright.biz.BookAuthUserBiz;
import com.pcloud.book.copyright.dao.BookAuthServeDao;
import com.pcloud.book.copyright.dao.BookAuthUserDao; import com.pcloud.book.copyright.dao.BookAuthUserDao;
import com.pcloud.book.copyright.dao.BookClickBuyRecordDao; import com.pcloud.book.copyright.dao.BookClickBuyRecordDao;
import com.pcloud.book.copyright.dto.CheckUserAuthDTO; import com.pcloud.book.copyright.dto.CheckUserAuthDTO;
import com.pcloud.book.copyright.dto.DateDTO; import com.pcloud.book.copyright.dto.DateDTO;
import com.pcloud.book.copyright.dto.ServeDTO;
import com.pcloud.book.copyright.entity.BookAuthUser; import com.pcloud.book.copyright.entity.BookAuthUser;
import com.pcloud.book.copyright.entity.BookClickBuyRecord; import com.pcloud.book.copyright.entity.BookClickBuyRecord;
import com.pcloud.book.copyright.enums.AuthBookTypeEnum; import com.pcloud.book.copyright.enums.AuthBookTypeEnum;
...@@ -19,6 +22,8 @@ import com.pcloud.book.util.common.ThreadPoolUtils; ...@@ -19,6 +22,8 @@ import com.pcloud.book.util.common.ThreadPoolUtils;
import com.pcloud.common.core.aspect.ParamLog; import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.utils.DateUtils; import com.pcloud.common.utils.DateUtils;
import com.pcloud.common.utils.ListUtils; import com.pcloud.common.utils.ListUtils;
import com.pcloud.common.utils.cookie.Cookie;
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;
...@@ -27,12 +32,11 @@ import org.springframework.stereotype.Component; ...@@ -27,12 +32,11 @@ import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date; import java.util.Date;
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 java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
/** /**
* @author lily * @author lily
...@@ -45,6 +49,10 @@ public class BookAuthUserBizImpl implements BookAuthUserBiz { ...@@ -45,6 +49,10 @@ public class BookAuthUserBizImpl implements BookAuthUserBiz {
private BookAuthUserDao bookAuthUserDao; private BookAuthUserDao bookAuthUserDao;
@Autowired @Autowired
private BookClickBuyRecordDao bookClickBuyRecordDao; private BookClickBuyRecordDao bookClickBuyRecordDao;
@Autowired
private QrcodeSceneConsr qrcodeSceneConsr;
@Autowired
private BookAuthServeDao bookAuthServeDao;
@ParamLog(value = "获取授权用户数量") @ParamLog(value = "获取授权用户数量")
...@@ -156,6 +164,25 @@ public class BookAuthUserBizImpl implements BookAuthUserBiz { ...@@ -156,6 +164,25 @@ public class BookAuthUserBizImpl implements BookAuthUserBiz {
} }
@Override @Override
public Boolean checkIsHaveAuthWithServer(String userInfo, Long serverId) {
Long bookId = qrcodeSceneConsr.getBookId4SceneId(Cookie.getId(userInfo,Cookie._SCENE_ID));
Long channelId = Cookie.getId(userInfo, Cookie._CHANNEL_ID);
Long adviserId = Cookie.getId(userInfo,Cookie._ADVISER_ID);
Long wecharUserId = Cookie.getId(userInfo,Cookie._WECHAT_USER_ID);
// 书类型指定为is_paper_book
Boolean isUserAuth = checkIsHaveAuth(bookId,channelId,adviserId,wecharUserId,0);
if(isUserAuth){
List<Long> serverIds = new ArrayList<>();
serverIds.add(serverId);
List<ServeDTO> serveDTOS = bookAuthServeDao.isSetServeAuth(bookId, channelId, adviserId, serverIds);
// 用户被授权, 且指定的应用也被版权保护时, 返回true
return !ListUtils.isEmpty(serveDTOS);
}
// 其余情况都是false
return false;
}
@Override
public BookAuthCodeUserVO getAuthUserTotalCount(List<Long> adviserIds, List<Long> removeAdviserIds) { public BookAuthCodeUserVO getAuthUserTotalCount(List<Long> adviserIds, List<Long> removeAdviserIds) {
BookAuthCodeUserVO bookAuthCodeUserVO = bookAuthUserDao.getAuthUserTotalCount(adviserIds, removeAdviserIds); BookAuthCodeUserVO bookAuthCodeUserVO = bookAuthUserDao.getAuthUserTotalCount(adviserIds, removeAdviserIds);
if(bookAuthCodeUserVO != null){ if(bookAuthCodeUserVO != null){
......
...@@ -11,6 +11,7 @@ import com.pcloud.common.exceptions.BizException; ...@@ -11,6 +11,7 @@ import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.permission.PermissionException; import com.pcloud.common.permission.PermissionException;
import org.springframework.web.bind.annotation.CookieValue; import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RequestHeader;
...@@ -66,4 +67,9 @@ public interface BookAuthUserFacade { ...@@ -66,4 +67,9 @@ public interface BookAuthUserFacade {
@ApiOperation("校验用户是否授权过") @ApiOperation("校验用户是否授权过")
ResponseDto<?> checkIsHaveAuth(@CookieValue("userInfo") String userInfo, @RequestBody CheckUserParam checkUserParam) ResponseDto<?> checkIsHaveAuth(@CookieValue("userInfo") String userInfo, @RequestBody CheckUserParam checkUserParam)
throws BizException; throws BizException;
@GetMapping("checkIsHaveAuthWithServer")
@ApiOperation("校验用户针对指定的服务是否被授权")
ResponseDto<?> checkIsHaveAuthWithServer(@CookieValue("userInfo") String userInfo, @RequestParam("serveId") Long serveId)
throws BizException;
} }
package com.pcloud.book.copyright.facade.impl; package com.pcloud.book.copyright.facade.impl;
import com.pcloud.book.consumer.channel.QrcodeSceneConsr;
import com.pcloud.book.copyright.biz.BookAuthUserBiz; import com.pcloud.book.copyright.biz.BookAuthUserBiz;
import com.pcloud.book.copyright.facade.BookAuthUserFacade; import com.pcloud.book.copyright.facade.BookAuthUserFacade;
import com.pcloud.book.copyright.vo.BookAuthCodeUserVO; import com.pcloud.book.copyright.vo.BookAuthCodeUserVO;
...@@ -16,6 +17,7 @@ import com.pcloud.common.utils.cookie.Cookie; ...@@ -16,6 +17,7 @@ import com.pcloud.common.utils.cookie.Cookie;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CookieValue; import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RequestHeader;
...@@ -96,4 +98,10 @@ public class BookAuthUserFacadeImpl implements BookAuthUserFacade { ...@@ -96,4 +98,10 @@ public class BookAuthUserFacadeImpl implements BookAuthUserFacade {
Boolean result = bookAuthUserBiz.checkIsHaveAuth(bookId, channelId, adviserId, wechatUserId, 1); Boolean result = bookAuthUserBiz.checkIsHaveAuth(bookId, channelId, adviserId, wechatUserId, 1);
return new ResponseDto<>(result); return new ResponseDto<>(result);
} }
@Override
@GetMapping("checkIsHaveAuthWithServer")
public ResponseDto<?> checkIsHaveAuthWithServer(@CookieValue("userInfo") String userInfo, @RequestParam("serveId") Long serveId) throws BizException {
return new ResponseDto<>(bookAuthUserBiz.checkIsHaveAuthWithServer(userInfo,serveId));
}
} }
...@@ -422,6 +422,9 @@ public class BookGroupBizImpl implements BookGroupBiz { ...@@ -422,6 +422,9 @@ public class BookGroupBizImpl implements BookGroupBiz {
|| StringUtil.isEmpty(bookGroup.getJoinSlogan()) ) { || StringUtil.isEmpty(bookGroup.getJoinSlogan()) ) {
throw new BookBizException(BookBizException.PARAM_IS_ERROR, "参数有误!"); throw new BookBizException(BookBizException.PARAM_IS_ERROR, "参数有误!");
} }
if (bookGroup.getGroupQrcodeName().contains("#")){
throw new BookBizException(BookBizException.PARAM_IS_ERROR, "名称不能包含#!");
}
BookGroup group = bookGroupDao.getById(bookGroup.getId()); BookGroup group = bookGroupDao.getById(bookGroup.getId());
if (null == group) { if (null == group) {
throw new BookBizException(BookBizException.PARAM_IS_NULL, "群二维码不存在!"); throw new BookBizException(BookBizException.PARAM_IS_NULL, "群二维码不存在!");
......
...@@ -306,6 +306,9 @@ public class BookGroupClassifyBizImpl implements BookGroupClassifyBiz { ...@@ -306,6 +306,9 @@ public class BookGroupClassifyBizImpl implements BookGroupClassifyBiz {
if (isHaveThisClassify) { if (isHaveThisClassify) {
throw new BookBizException(BookBizException.ERROR, "已存在该分类!"); throw new BookBizException(BookBizException.ERROR, "已存在该分类!");
} }
if (classify != null && classify.contains("#")) {
throw new BookBizException(BookBizException.ERROR, "名称不能包含#!");
}
} }
@ParamLog("获取社群下有多少分类") @ParamLog("获取社群下有多少分类")
...@@ -973,11 +976,12 @@ public class BookGroupClassifyBizImpl implements BookGroupClassifyBiz { ...@@ -973,11 +976,12 @@ public class BookGroupClassifyBizImpl implements BookGroupClassifyBiz {
@ParamLog("获取编辑的分类") @ParamLog("获取编辑的分类")
public PageBeanNew<AdviserClassifyVO> listAdviserClassify(Long adviserId, AdviserClassifyParam adviserClassifyParam) { public PageBeanNew<AdviserClassifyVO> listAdviserClassify(Long adviserId, AdviserClassifyParam adviserClassifyParam) {
PageParam pageParam = new PageParam(adviserClassifyParam.getCurrentPage(), adviserClassifyParam.getNumPerPage()); PageParam pageParam = new PageParam(adviserClassifyParam.getCurrentPage(), adviserClassifyParam.getNumPerPage());
Map<String,Object> paramMap = new HashMap<>(); Map<String, Object> paramMap = new HashMap<>();
paramMap.put("adviserId",adviserId); paramMap.put("adviserId", adviserId);
paramMap.put("classify",adviserClassifyParam.getClassify()); paramMap.put("classify", adviserClassifyParam.getClassify());
paramMap.put("bookId", adviserClassifyParam.getBookId());
PageBeanNew<AdviserClassifyVO> pageBeanNew = bookGroupClassifyDao.listPageNew(pageParam, paramMap, "listAdviserClassify"); PageBeanNew<AdviserClassifyVO> pageBeanNew = bookGroupClassifyDao.listPageNew(pageParam, paramMap, "listAdviserClassify");
if(pageBeanNew == null){ if (pageBeanNew == null) {
return new PageBeanNew<>(adviserClassifyParam.getCurrentPage(), adviserClassifyParam.getNumPerPage(), new ArrayList<>()); return new PageBeanNew<>(adviserClassifyParam.getCurrentPage(), adviserClassifyParam.getNumPerPage(), new ArrayList<>());
} }
return pageBeanNew; return pageBeanNew;
......
...@@ -3,7 +3,7 @@ package com.pcloud.book.group.biz.impl; ...@@ -3,7 +3,7 @@ package com.pcloud.book.group.biz.impl;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.pcloud.book.advertising.biz.AdvertisingSpaceBiz; import com.pcloud.book.advertising.biz.AdvertisingSpaceBiz;
import com.pcloud.book.advertising.biz.GroupMasterTagBiz; import com.pcloud.book.advertising.biz.GroupTagBiz;
import com.pcloud.book.advertising.dto.QrcodeAdvertisingSpaceCountDTO; import com.pcloud.book.advertising.dto.QrcodeAdvertisingSpaceCountDTO;
import com.pcloud.book.base.exception.BookBizException; import com.pcloud.book.base.exception.BookBizException;
import com.pcloud.book.consumer.label.LabelConsr; import com.pcloud.book.consumer.label.LabelConsr;
...@@ -15,9 +15,7 @@ import com.pcloud.book.group.biz.BookGroupClassifyBiz; ...@@ -15,9 +15,7 @@ import com.pcloud.book.group.biz.BookGroupClassifyBiz;
import com.pcloud.book.group.biz.GroupAnnouncementBiz; import com.pcloud.book.group.biz.GroupAnnouncementBiz;
import com.pcloud.book.group.biz.GroupQrcodeBiz; import com.pcloud.book.group.biz.GroupQrcodeBiz;
import com.pcloud.book.group.biz.WeixinQrcodeBiz; import com.pcloud.book.group.biz.WeixinQrcodeBiz;
import com.pcloud.book.group.constants.BookBusinessConstants;
import com.pcloud.book.group.dao.GroupQrcodeDao; import com.pcloud.book.group.dao.GroupQrcodeDao;
import com.pcloud.book.group.dto.AutoUpdateGroupNumDTO;
import com.pcloud.book.group.dto.BookWxQrcodeDTO; import com.pcloud.book.group.dto.BookWxQrcodeDTO;
import com.pcloud.book.group.dto.ChangeGroupNameDTO; import com.pcloud.book.group.dto.ChangeGroupNameDTO;
import com.pcloud.book.group.dto.GroupAndUserNumberDTO; import com.pcloud.book.group.dto.GroupAndUserNumberDTO;
...@@ -66,16 +64,11 @@ import org.springframework.util.CollectionUtils; ...@@ -66,16 +64,11 @@ import org.springframework.util.CollectionUtils;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.Date;
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 java.util.Objects; import java.util.Objects;
import java.util.Optional; import java.util.Optional;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -115,7 +108,7 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz { ...@@ -115,7 +108,7 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
@Autowired @Autowired
private BookGroupBiz bookGroupBiz; private BookGroupBiz bookGroupBiz;
@Autowired @Autowired
private GroupMasterTagBiz groupMasterTagBiz; private GroupTagBiz groupTagBiz;
/** /**
...@@ -328,7 +321,7 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz { ...@@ -328,7 +321,7 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
public Long insert(GroupQrcode groupQrcode) { public Long insert(GroupQrcode groupQrcode) {
groupQrcodeDao.insert(groupQrcode); groupQrcodeDao.insert(groupQrcode);
//判断广告位标记 //判断广告位标记
groupMasterTagBiz.addTagByBookGroup(groupQrcode.getClassifyId(), groupQrcode.getId()); groupTagBiz.addTagByBookGroup(groupQrcode.getClassifyId(), groupQrcode.getId());
return groupQrcode.getId(); return groupQrcode.getId();
} }
...@@ -420,6 +413,9 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz { ...@@ -420,6 +413,9 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
if (wechatGroupName == null) { if (wechatGroupName == null) {
throw new BookBizException(BookBizException.PARAM_IS_ERROR, "微信群名称不能为空"); throw new BookBizException(BookBizException.PARAM_IS_ERROR, "微信群名称不能为空");
} }
if (wechatGroupName.contains("#")) {
throw new BookBizException(BookBizException.PARAM_IS_ERROR, "名称不能包含#");
}
ChangeGroupNameDTO changeGroupNameDTO = groupQrcodeDao.getUpdateGroupNameParam(id); ChangeGroupNameDTO changeGroupNameDTO = groupQrcodeDao.getUpdateGroupNameParam(id);
groupQrcodeDao.modifyNameById(wechatGroupName, id, updateUser); groupQrcodeDao.modifyNameById(wechatGroupName, id, updateUser);
if (changeGroupNameDTO != null) { if (changeGroupNameDTO != null) {
......
package com.pcloud.book.group.dao; package com.pcloud.book.group.dao;
import com.pcloud.book.advertising.dto.GroupMasterDTO; import com.pcloud.book.advertising.dto.GroupTagDTO;
import com.pcloud.book.advertising.dto.WeixinClassifyInfoDTO; import com.pcloud.book.advertising.dto.WeixinClassifyInfoDTO;
import com.pcloud.book.group.dto.*; import com.pcloud.book.group.dto.*;
import com.pcloud.book.group.entity.GroupQrcode; import com.pcloud.book.group.entity.GroupQrcode;
...@@ -236,11 +236,11 @@ public interface GroupQrcodeDao extends BaseDao<GroupQrcode> { ...@@ -236,11 +236,11 @@ public interface GroupQrcodeDao extends BaseDao<GroupQrcode> {
public Map<String, Object> getGroupCountUserCountByBookId(Long bookId); public Map<String, Object> getGroupCountUserCountByBookId(Long bookId);
/** /**
* 查询微信群广告标记列表 * 查询微信群品牌方标记列表
* @param map * @param map
* @return * @return
*/ */
public List<GroupMasterDTO> listPageGroupMaster(Map<String, Object> map); public List<GroupTagDTO> listPageGroup4Brand(Map<String, Object> map);
List<ClassifyQrcodeVO> getQrcodeByClassify(Long classifyId); List<ClassifyQrcodeVO> getQrcodeByClassify(Long classifyId);
......
...@@ -2,7 +2,7 @@ package com.pcloud.book.group.dao.impl; ...@@ -2,7 +2,7 @@ package com.pcloud.book.group.dao.impl;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.pcloud.book.advertising.dto.GroupMasterDTO; import com.pcloud.book.advertising.dto.GroupTagDTO;
import com.pcloud.book.advertising.dto.WeixinClassifyInfoDTO; import com.pcloud.book.advertising.dto.WeixinClassifyInfoDTO;
import com.pcloud.book.group.dao.GroupQrcodeDao; import com.pcloud.book.group.dao.GroupQrcodeDao;
import com.pcloud.book.group.dto.*; import com.pcloud.book.group.dto.*;
...@@ -242,8 +242,8 @@ public class GroupQrcodeDaoImpl extends BaseDaoImpl<GroupQrcode> implements Grou ...@@ -242,8 +242,8 @@ public class GroupQrcodeDaoImpl extends BaseDaoImpl<GroupQrcode> implements Grou
} }
@Override @Override
public List<GroupMasterDTO> listPageGroupMaster(Map<String, Object> map) { public List<GroupTagDTO> listPageGroup4Brand(Map<String, Object> map) {
return getSessionTemplate().selectList(getStatement("listPageGroupMaster"), map); return getSessionTemplate().selectList(getStatement("listPageGroup4Brand"), map);
} }
} }
package com.pcloud.book.group.dto;
import com.pcloud.book.keywords.dto.KeywordDTO;
import com.pcloud.book.keywords.dto.KeywordStatusDTO;
import com.pcloud.channelcenter.wechat.dto.AccountSettingDto;
import java.util.List;
import lombok.Data;
@Data
public class SendDefaultGuideMessageDTO {
private String groupName;
private String robotId;
private String weixinGroupId;
private Boolean isHaveKeywords;
private Boolean isGroupRobot;
private List<KeywordDTO> keywords;
private KeywordStatusDTO dto;
private GroupClassifyQrcodeDTO classifyQrcodeInfo;
private String ip;
private AccountSettingDto accountSettingDto;
}
package com.pcloud.book.group.dto;
import com.pcloud.book.keywords.dto.KeywordDTO;
import com.pcloud.book.keywords.dto.KeywordStatusDTO;
import com.pcloud.book.keywords.vo.ReplyMessageVO;
import com.pcloud.channelcenter.wechat.dto.AccountSettingDto;
import java.util.List;
import lombok.Data;
@Data
public class SendGuideMessageDTO {
private List<ReplyMessageVO> replyMessages;
private String robotId;
private String weixinGroupId;
private Boolean isGroupRobot;
private List<KeywordDTO> keywords;
private KeywordStatusDTO dto;
private String ip;
private Integer code;
private AccountSettingDto accountSettingDto;
private GroupClassifyQrcodeDTO classifyQrcodeInfo;
}
...@@ -18,6 +18,9 @@ public class AdviserClassifyParam { ...@@ -18,6 +18,9 @@ public class AdviserClassifyParam {
@ApiModelProperty("分类名称") @ApiModelProperty("分类名称")
private String classify; private String classify;
@ApiModelProperty("图书id")
private Long bookId;
public Integer getCurrentPage() { public Integer getCurrentPage() {
return currentPage; return currentPage;
} }
...@@ -42,12 +45,21 @@ public class AdviserClassifyParam { ...@@ -42,12 +45,21 @@ public class AdviserClassifyParam {
this.classify = classify; this.classify = classify;
} }
public Long getBookId() {
return bookId;
}
public void setBookId(Long bookId) {
this.bookId = bookId;
}
@Override @Override
public String toString() { public String toString() {
return "AdviserClassifyParam{" + return "AdviserClassifyParam{" +
"currentPage=" + currentPage + "currentPage=" + currentPage +
", numPerPage=" + numPerPage + ", numPerPage=" + numPerPage +
", classify='" + classify + '\'' + ", classify='" + classify + '\'' +
", bookId=" + bookId +
'}'; '}';
} }
} }
...@@ -17,6 +17,8 @@ import com.pcloud.book.group.dto.GroupClassifyQrcodeDTO; ...@@ -17,6 +17,8 @@ import com.pcloud.book.group.dto.GroupClassifyQrcodeDTO;
import com.pcloud.book.group.dto.GroupQrcodeDTO; import com.pcloud.book.group.dto.GroupQrcodeDTO;
import com.pcloud.book.group.dto.JoinGroupCipherDTO; import com.pcloud.book.group.dto.JoinGroupCipherDTO;
import com.pcloud.book.group.dto.PushAddUserMessageDTO; import com.pcloud.book.group.dto.PushAddUserMessageDTO;
import com.pcloud.book.group.dto.SendDefaultGuideMessageDTO;
import com.pcloud.book.group.dto.SendGuideMessageDTO;
import com.pcloud.book.group.entity.AppTouchRecord; import com.pcloud.book.group.entity.AppTouchRecord;
import com.pcloud.book.group.entity.GroupQrcode; import com.pcloud.book.group.entity.GroupQrcode;
import com.pcloud.book.group.entity.JoinGroupCipher; import com.pcloud.book.group.entity.JoinGroupCipher;
...@@ -377,24 +379,47 @@ public class BookGuideBizImpl implements BookGuideBiz { ...@@ -377,24 +379,47 @@ public class BookGuideBizImpl implements BookGuideBiz {
} }
//获取公众号基本信息 //获取公众号基本信息
AccountSettingDto wechatInfo = qrcodeSceneConsr.getWechatInfo(classifyQrcodeInfo.getChannelId()); AccountSettingDto wechatInfo = qrcodeSceneConsr.getWechatInfo(classifyQrcodeInfo.getChannelId());
//获取关键词信息(改成10个了) 刘娜需求 1001282 群不推送关键词 //获取关键词信息(改成10个了,20190911周磊改成不限制了,但是开发要求必须要加限制,所以先限制40个) 刘娜需求 1001282 群不推送关键词
List<KeywordDTO> keywords = bookKeywordBiz.listFiveKeyword(classifyQrcodeInfo.getClassifyId(), classifyQrcodeInfo.getBookGroupId()); List<KeywordDTO> keywords = bookKeywordBiz.listFiveKeyword(classifyQrcodeInfo.getClassifyId(), classifyQrcodeInfo.getBookGroupId());
Boolean isHaveKeywords = !ListUtils.isEmpty(keywords); Boolean isHaveKeywords = !ListUtils.isEmpty(keywords);
final Boolean groupRobot = wechatGroupConsr.isGroupRobot(robotId); final Boolean groupRobot = wechatGroupConsr.isGroupRobot(robotId);
log.info("[wechatGroupConsr.isGroupRobot] robotId:{} groupRobot:{}", robotId, groupRobot); log.info("[wechatGroupConsr.isGroupRobot] robotId:{} groupRobot:{}", robotId, groupRobot);
//如果设置了群学习报告,加一个群学习报告的关键词 //如果设置了群学习报告,加一个群学习报告的关键词
KeywordStatusDTO dto = pushLearningReport(classifyQrcodeInfo, robotId, weixinGroupId, pushAddUserMessageDTO.getIp()); KeywordStatusDTO dto = pushLearningReport(classifyQrcodeInfo, robotId, weixinGroupId, pushAddUserMessageDTO.getIp());
AccountSettingDto accountSettingDto = qrcodeSceneConsr.getWechatInfo(classifyQrcodeInfo.getChannelId());
if (ListUtils.isEmpty(replyMessages)) { if (ListUtils.isEmpty(replyMessages)) {
//获取群名称 //获取群名称
GroupQrcodeBaseInfoVO groupInfo = groupQrcodeBiz.getBaseById(classifyQrcodeInfo.getGroupQrcodeId()); GroupQrcodeBaseInfoVO groupInfo = groupQrcodeBiz.getBaseById(classifyQrcodeInfo.getGroupQrcodeId());
//推送消息 刘娜需求 1001282 群不推送关键词 //推送消息 刘娜需求 1001282 群不推送关键词
// 若非之前的机器人则不回复普通关键词 // 若非之前的机器人则不回复普通关键词
SendWeixinRequestTools.sendDefaultMessage(groupInfo == null ? "" : groupInfo.getGroupName(), robotId, weixinGroupId, isHaveKeywords, groupRobot, keywords, dto, pushAddUserMessageDTO.getIp()); SendDefaultGuideMessageDTO sendGuideMessageDTO = new SendDefaultGuideMessageDTO();
sendGuideMessageDTO.setClassifyQrcodeInfo(classifyQrcodeInfo);
sendGuideMessageDTO.setGroupName(groupInfo == null ? "" : groupInfo.getGroupName());
sendGuideMessageDTO.setRobotId(robotId);
sendGuideMessageDTO.setWeixinGroupId(weixinGroupId);
sendGuideMessageDTO.setIsHaveKeywords(isHaveKeywords);
sendGuideMessageDTO.setIsGroupRobot(groupRobot);
sendGuideMessageDTO.setKeywords(keywords);
sendGuideMessageDTO.setDto(dto);
sendGuideMessageDTO.setIp(pushAddUserMessageDTO.getIp());
sendGuideMessageDTO.setAccountSettingDto(accountSettingDto);
SendWeixinRequestTools.sendDefaultMessage(sendGuideMessageDTO);
} else { } else {
//处理链接 //处理链接
handleUrl(replyMessages, wechatInfo, classifyQrcodeInfo); handleUrl(replyMessages, wechatInfo, classifyQrcodeInfo);
//推送消息 //推送消息
SendWeixinRequestTools.sendGuideMessage(replyMessages, robotId, weixinGroupId, groupRobot, keywords, dto, pushAddUserMessageDTO.getIp(), SendMessageTypeEnum.GROUP.getCode()); SendGuideMessageDTO sendGuideMessageDTO = new SendGuideMessageDTO();
sendGuideMessageDTO.setClassifyQrcodeInfo(classifyQrcodeInfo);
sendGuideMessageDTO.setReplyMessages(replyMessages);
sendGuideMessageDTO.setRobotId(robotId);
sendGuideMessageDTO.setWeixinGroupId(weixinGroupId);
sendGuideMessageDTO.setIsGroupRobot(groupRobot);
sendGuideMessageDTO.setKeywords(keywords);
sendGuideMessageDTO.setDto(dto);
sendGuideMessageDTO.setIp(pushAddUserMessageDTO.getIp());
sendGuideMessageDTO.setCode(SendMessageTypeEnum.GROUP.getCode());
sendGuideMessageDTO.setAccountSettingDto(accountSettingDto);
SendWeixinRequestTools.sendGuideMessage(sendGuideMessageDTO);
//新增欢迎语应用触发记录 //新增欢迎语应用触发记录
addGuideAppTouchRecord(replyMessages,weixinGroupId,classifyQrcodeInfo.getBookGroupId(),classifyQrcodeInfo.getClassifyId()); addGuideAppTouchRecord(replyMessages,weixinGroupId,classifyQrcodeInfo.getBookGroupId(),classifyQrcodeInfo.getClassifyId());
} }
......
...@@ -357,8 +357,15 @@ public class BookKeywordBizImpl implements BookKeywordBiz { ...@@ -357,8 +357,15 @@ public class BookKeywordBizImpl implements BookKeywordBiz {
bookKeyword.setId(setRankVO.getBookKeywordId()); bookKeyword.setId(setRankVO.getBookKeywordId());
bookKeyword.setRank(setRankVO.getRank()); bookKeyword.setRank(setRankVO.getRank());
bookKeyword.setUpdateUser(partyId); bookKeyword.setUpdateUser(partyId);
KeywordVO byBookKeyword = bookKeywordDao.getByBookKeyword(setRankVO.getBookKeywordId());
if (byBookKeyword != null && (byBookKeyword.getClassifyId() == null || byBookKeyword.getClassifyId() == 0)){
Long bookGroupId = byBookKeyword.getBookGroupId();
Long keywordId = byBookKeyword.getKeywordId();
bookKeywordDao.updateRank(bookGroupId,setRankVO.getRank(),partyId,keywordId);
}else {
bookKeywordDao.setRank(bookKeyword); bookKeywordDao.setRank(bookKeyword);
} }
}
@Override @Override
@ParamLog("获取关键词列表") @ParamLog("获取关键词列表")
...@@ -423,7 +430,7 @@ public class BookKeywordBizImpl implements BookKeywordBiz { ...@@ -423,7 +430,7 @@ public class BookKeywordBizImpl implements BookKeywordBiz {
} }
@Override @Override
@ParamLog("获取5个关键词(改成10个了)") @ParamLog("获取5个关键词(改成10个了,20190911周磊改成不限制了,但是开发要求必须要加限制,所以先限制40个)")
public List<KeywordDTO> listFiveKeyword(Long classifyId, Long bookGroupId) { public List<KeywordDTO> listFiveKeyword(Long classifyId, Long bookGroupId) {
//获取是否单独设置关键词 //获取是否单独设置关键词
List<KeywordDTO> keywords = bookKeywordDao.listFiveKeyword(classifyId, bookGroupId); List<KeywordDTO> keywords = bookKeywordDao.listFiveKeyword(classifyId, bookGroupId);
...@@ -562,7 +569,8 @@ public class BookKeywordBizImpl implements BookKeywordBiz { ...@@ -562,7 +569,8 @@ public class BookKeywordBizImpl implements BookKeywordBiz {
log.info("[关键词消息回复] redisContent:{} insertBookKeywordRecord return", redisContent); log.info("[关键词消息回复] redisContent:{} insertBookKeywordRecord return", redisContent);
return true; return true;
} else { } else {
JedisClusterUtils.setJson("BOOK:KEYWORD:" + weixinGroupId + "-" + replyKeywordDTO.getKeywordId(), replyKeywordDTO.getKeywordId(), 30); // 60s不回复同一关键词 20190916降低消息量方案之一
JedisClusterUtils.setJson("BOOK:KEYWORD:" + weixinGroupId + "-" + replyKeywordDTO.getKeywordId(), replyKeywordDTO.getKeywordId(), 60);
insertBookKeywordRecord(dto, replyKeywordDTO.getKeywordId(), userWxId, weixinGroupId, true); insertBookKeywordRecord(dto, replyKeywordDTO.getKeywordId(), userWxId, weixinGroupId, true);
} }
return false; return false;
...@@ -620,7 +628,7 @@ public class BookKeywordBizImpl implements BookKeywordBiz { ...@@ -620,7 +628,7 @@ public class BookKeywordBizImpl implements BookKeywordBiz {
replyKeywordDTO.setLinkUrl(linkUrl); replyKeywordDTO.setLinkUrl(linkUrl);
} }
String redisContent = JedisClusterUtils.getJson("BOOK:KEYWORD:" + weixinGroupId + "-" + replyKeywordDTO.getKeywordId(), String.class); String redisContent = JedisClusterUtils.getJson("BOOK:KEYWORD:" + weixinGroupId + "-" + replyKeywordDTO.getKeywordId(), String.class);
// 同一群10秒内不回复同一关键词 // 同一群10秒内不回复同一关键词,60s不回复同一关键词 20190916降低消息量方案之一
if (insertBookKeywordRecord(weixinGroupId, userWxId, replyKeywordDTO, classifyQrcodeInfo, redisContent)) { if (insertBookKeywordRecord(weixinGroupId, userWxId, replyKeywordDTO, classifyQrcodeInfo, redisContent)) {
return; return;
} }
......
...@@ -103,4 +103,11 @@ public interface BookKeywordDao extends BaseDao<BookKeyword> { ...@@ -103,4 +103,11 @@ public interface BookKeywordDao extends BaseDao<BookKeyword> {
* @date 2019/7/16 17:18 * @date 2019/7/16 17:18
*/ */
void deleteKeywords(Long keywordId, Long bookGroupId, Long classifyId, Long partyId); void deleteKeywords(Long keywordId, Long bookGroupId, Long classifyId, Long partyId);
/**
* @description 根据书调整关键词顺序
* @author 戴兴
* @date 2019/9/11 17:24
*/
void updateRank(Long bookGroupId, Integer rank, Long partyId, Long keywordId);
} }
...@@ -134,4 +134,14 @@ public class BookKeywordDaoImpl extends BaseDaoImpl<BookKeyword> implements Book ...@@ -134,4 +134,14 @@ public class BookKeywordDaoImpl extends BaseDaoImpl<BookKeyword> implements Book
paramMap.put("partyId", partyId); paramMap.put("partyId", partyId);
this.getSqlSession().update(this.getStatement("deleteKeywords"), paramMap); this.getSqlSession().update(this.getStatement("deleteKeywords"), paramMap);
} }
@Override
public void updateRank(Long bookGroupId, Integer rank, Long partyId, Long keywordId) {
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("rank", rank);
paramMap.put("bookGroupId", bookGroupId);
paramMap.put("partyId", partyId);
paramMap.put("keywordId", keywordId);
this.getSqlSession().update(this.getStatement("updateRank"), paramMap);
}
} }
...@@ -31,6 +31,23 @@ public class KeywordDTO implements Serializable { ...@@ -31,6 +31,23 @@ public class KeywordDTO implements Serializable {
@ApiModelProperty("引导语") @ApiModelProperty("引导语")
private String guide; private String guide;
@ApiModelProperty("关键词应用/作品id")
private Long serveId;
@ApiModelProperty("应用/作品")
private String serveType;
@ApiModelProperty("关键词连接")
private String linkUrl;
@ApiModelProperty("关键词内容")
private String content;
@ApiModelProperty("关键词描述")
private String description;
@ApiModelProperty("回复类型")
private Integer replyType;
} }
...@@ -140,6 +140,9 @@ public class WXGroupLearningReportListener { ...@@ -140,6 +140,9 @@ public class WXGroupLearningReportListener {
String list=""; String list="";
for (LearningScoreDTO learningScoreDTO:learningScoreDTOS){ for (LearningScoreDTO learningScoreDTO:learningScoreDTOS){
String headUrl = learningScoreDTO.getHeadUrl(); String headUrl = learningScoreDTO.getHeadUrl();
if (StringUtil.isEmpty(headUrl)) {
headUrl = "https://file.5rs.me/oss/uploadfe/png/1d9f1538260e9f9426ed6934f49eda4d.png";
}
if (headUrl.contains("https://oss.5rs.me")) { if (headUrl.contains("https://oss.5rs.me")) {
headUrl = headUrl.replace("https://oss.5rs.me", "https://file.5rs.me"); headUrl = headUrl.replace("https://oss.5rs.me", "https://file.5rs.me");
} else if (headUrl.contains("http://oss.5rs.me")) { } else if (headUrl.contains("http://oss.5rs.me")) {
...@@ -373,9 +376,10 @@ public class WXGroupLearningReportListener { ...@@ -373,9 +376,10 @@ public class WXGroupLearningReportListener {
" ];\n" + " ];\n" +
"\n" + "\n" +
" var html = '';\n" + " var html = '';\n" +
" var defaultImg = 'https://file.5rs.me/oss/uploadfe/png/1d9f1538260e9f9426ed6934f49eda4d.png';\n" +
"\n" + "\n" +
" list.forEach((item, index) => {\n" + " list.forEach((item, index) => {\n" +
" html += '<tr><td><span data-index=0' + index + ' class=index></span></td><td><img src=' + item.headPic +\n" + " html += '<tr><td><span data-index=0' + index + ' class=index></span></td><td><img src=' + (item.headPic || defaultImg) +\n" +
" ' alt=\"headPic\" class=\"headPic\" width=\"64\" height=\"64\"></td><td class=\"nickName\"><span>' + item.nickName +\n" + " ' alt=\"headPic\" class=\"headPic\" width=\"64\" height=\"64\"></td><td class=\"nickName\"><span>' + item.nickName +\n" +
" '</span></td><td><span class=\"strength\">' + item.strength + '</span></td></tr>'\n" + " '</span></td><td><span class=\"strength\">' + item.strength + '</span></td></tr>'\n" +
" });\n" + " });\n" +
......
package com.pcloud.book.push.biz.impl; package com.pcloud.book.push.biz.impl;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
import com.pcloud.appcenter.app.dto.AppDto; import com.pcloud.appcenter.app.dto.AppDto;
import com.pcloud.book.base.exception.BookBizException; import com.pcloud.book.base.exception.BookBizException;
import com.pcloud.book.consumer.app.AppConsr; import com.pcloud.book.consumer.app.AppConsr;
...@@ -25,9 +24,28 @@ import com.pcloud.book.group.enums.TouchTypeEnum; ...@@ -25,9 +24,28 @@ import com.pcloud.book.group.enums.TouchTypeEnum;
import com.pcloud.book.group.tools.SendWeixinRequestTools; import com.pcloud.book.group.tools.SendWeixinRequestTools;
import com.pcloud.book.push.biz.PushBiz; import com.pcloud.book.push.biz.PushBiz;
import com.pcloud.book.push.check.PushCheck; import com.pcloud.book.push.check.PushCheck;
import com.pcloud.book.push.dao.*; import com.pcloud.book.push.dao.MorningEveningNewsDao;
import com.pcloud.book.push.dto.*; import com.pcloud.book.push.dao.PushDao;
import com.pcloud.book.push.entity.*; import com.pcloud.book.push.dao.PushGroupDao;
import com.pcloud.book.push.dao.PushGroupRecordDao;
import com.pcloud.book.push.dao.PushItemDao;
import com.pcloud.book.push.dao.PushNewsRecordDao;
import com.pcloud.book.push.dao.PushPlanDao;
import com.pcloud.book.push.dao.PushRecordDao;
import com.pcloud.book.push.dto.PlanClassifyDTO;
import com.pcloud.book.push.dto.PushDTO;
import com.pcloud.book.push.dto.PushGroupDTO;
import com.pcloud.book.push.dto.PushPlanDTO;
import com.pcloud.book.push.dto.PushPlanItemDTO;
import com.pcloud.book.push.dto.PushRecordDTO;
import com.pcloud.book.push.entity.MorningEveningNews;
import com.pcloud.book.push.entity.Push;
import com.pcloud.book.push.entity.PushGroup;
import com.pcloud.book.push.entity.PushGroupRecord;
import com.pcloud.book.push.entity.PushItem;
import com.pcloud.book.push.entity.PushNewsRecord;
import com.pcloud.book.push.entity.PushPlan;
import com.pcloud.book.push.entity.PushRecord;
import com.pcloud.book.push.enums.ItemTypeEnum; import com.pcloud.book.push.enums.ItemTypeEnum;
import com.pcloud.book.push.enums.PushStatusEnum; import com.pcloud.book.push.enums.PushStatusEnum;
import com.pcloud.book.push.enums.PushTypeEnum; import com.pcloud.book.push.enums.PushTypeEnum;
...@@ -48,14 +66,21 @@ import com.sdk.wxgroup.SendArticleMessageVO; ...@@ -48,14 +66,21 @@ import com.sdk.wxgroup.SendArticleMessageVO;
import com.sdk.wxgroup.SendPicMessageVO; import com.sdk.wxgroup.SendPicMessageVO;
import com.sdk.wxgroup.SendTextMessageVO; import com.sdk.wxgroup.SendTextMessageVO;
import com.sdk.wxgroup.WxGroupSDK; import com.sdk.wxgroup.WxGroupSDK;
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.Component; import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.*; import java.util.ArrayList;
import java.util.concurrent.*; import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -969,7 +994,7 @@ public class PushBizImpl implements PushBiz { ...@@ -969,7 +994,7 @@ public class PushBizImpl implements PushBiz {
int i = 1; int i = 1;
for (ESNews esNews : esNewsList) { for (ESNews esNews : esNewsList) {
String contentL = content + i + "." + esNews.getTitle() + esNews.getShortUrl() + "\n"; String contentL = content + i + "." + esNews.getTitle() + esNews.getShortUrl() + "\n";
if (contentL.length() >= 300) { if (contentL.length() >= 1000) {
contents.add(content); contents.add(content);
content = i + "." + esNews.getTitle() + esNews.getShortUrl() + "\n"; content = i + "." + esNews.getTitle() + esNews.getShortUrl() + "\n";
} else { } else {
......
<?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.advertising.dao.impl.AdvertisingBrandDaoImpl" >
<resultMap id="BaseResultMap" type="com.pcloud.book.advertising.entity.AdvertisingBrand" >
<id column="id" property="id" jdbcType="BIGINT" />
<result column="brand_name" property="brandName" jdbcType="VARCHAR" />
<result column="login_name" property="loginName" jdbcType="VARCHAR" />
<result column="password" property="password" jdbcType="VARCHAR" />
<result column="is_delete" property="isDelete" jdbcType="BIT" />
<result column="create_time" property="createTime" jdbcType="TIMESTAMP" />
<result column="create_user" property="createUser" jdbcType="BIGINT" />
<result column="update_time" property="updateTime" jdbcType="TIMESTAMP" />
<result column="update_user" property="updateUser" jdbcType="BIGINT" />
</resultMap>
<sql id="Base_Column_List" >
id, brand_name, login_name, password, is_delete, create_time, create_user, update_time,
update_user
</sql>
<insert id="insert" parameterType="com.pcloud.book.advertising.entity.AdvertisingBrand" useGeneratedKeys="true" keyProperty="id">
insert into advertising_brand (brand_name, login_name,
password, is_delete, create_time,
create_user
)
values (#{brandName,jdbcType=VARCHAR}, #{loginName,jdbcType=VARCHAR},
#{password,jdbcType=VARCHAR}, #{isDelete,jdbcType=BIT}, NOW(),
#{createUser,jdbcType=BIGINT}
)
</insert>
<update id="update" parameterType="com.pcloud.book.advertising.entity.AdvertisingBrand" >
update advertising_brand
<set >
<if test="password != null" >
password = #{password,jdbcType=VARCHAR},
</if>
update_time = NOW(),
<if test="updateUser != null" >
update_user = #{updateUser,jdbcType=BIGINT},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<select id="getByGroupQrcodeId" parameterType="long" resultType="com.pcloud.book.advertising.dto.AdvertisingBrandDTO">
SELECT
b.id id,
b.brand_name brandName
FROM
advertising_group_tag t
LEFT JOIN advertising_brand b ON t.brand_id = b.id
WHERE
t.group_qrcode_id = #{groupQrcodeId}
AND b.is_delete = 0
ORDER BY b.id ASC
</select>
<select id="getAllBrand" resultType="com.pcloud.book.advertising.dto.AdvertisingBrandDTO">
SELECT
id id,
brand_name brandName
FROM
advertising_brand
WHERE
is_delete = 0
ORDER BY id ASC
</select>
<update id="deleteBrand" parameterType="long">
update advertising_brand
set is_delete = 1
where id = #{id,jdbcType=BIGINT}
</update>
<select id="getBrandById" parameterType="long" resultType="com.pcloud.book.advertising.dto.AdvertisingBrandDTO">
SELECT
brand_name brandName,
login_name loginName,
password password
FROM
advertising_brand
WHERE
is_delete = 0
AND id = #{id,jdbcType=BIGINT}
</select>
<select id="checkBrandNameRepeat" parameterType="string" resultType="boolean">
SELECT
EXISTS (
SELECT
brand_name
FROM
advertising_brand
WHERE
brand_name = #{brandName}
AND is_delete = 0
)
</select>
<select id="checkLoginNameRepeat" resultType="boolean" parameterType="string">
SELECT
EXISTS (
SELECT
brand_name
FROM
advertising_brand
WHERE
login_name = #{loginName}
AND is_delete = 0
)
</select>
<select id="listPageBrand" parameterType="map" resultType="com.pcloud.book.advertising.dto.AdvertisingBrandDTO">
SELECT
id id,
brand_name brandName,
login_name loginName,
create_time createTime
FROM
advertising_brand
WHERE
is_delete = 0
<if test="name != null">
AND login_name LIKE concat('%', #{name}, '%')
</if>
ORDER BY
create_time DESC
</select>
<select id="getLoginInfo" parameterType="map" resultMap="BaseResultMap">
SELECT
<include refid="Base_Column_List"/>
FROM
advertising_brand
WHERE
login_name = #{loginName}
AND is_delete = 0
LIMIT 1
</select>
</mapper>
\ No newline at end of file
...@@ -5,52 +5,52 @@ ...@@ -5,52 +5,52 @@
<id column="id" property="id" jdbcType="BIGINT" /> <id column="id" property="id" jdbcType="BIGINT" />
<result column="tag_book_id" property="tagBookId" jdbcType="BIGINT" /> <result column="tag_book_id" property="tagBookId" jdbcType="BIGINT" />
<result column="group_qrcode_id" property="groupQrcodeId" jdbcType="BIGINT" /> <result column="group_qrcode_id" property="groupQrcodeId" jdbcType="BIGINT" />
<result column="master_id" property="masterId" jdbcType="BIGINT" /> <result column="brand_id" property="brandId" jdbcType="BIGINT" />
<result column="create_time" property="createTime" jdbcType="TIMESTAMP" /> <result column="create_time" property="createTime" jdbcType="TIMESTAMP" />
</resultMap> </resultMap>
<sql id="Base_Column_List" > <sql id="Base_Column_List" >
id, tag_book_id, group_qrcode_id, master_id, create_time id, tag_book_id, group_qrcode_id, brand_id, create_time
</sql> </sql>
<insert id="insert" parameterType="com.pcloud.book.advertising.entity.AdvertisingGroupTag" useGeneratedKeys="true" keyProperty="id"> <insert id="insert" parameterType="com.pcloud.book.advertising.entity.AdvertisingGroupTag" useGeneratedKeys="true" keyProperty="id">
insert into advertising_group_tag (tag_book_id, group_qrcode_id, insert into advertising_group_tag (tag_book_id, group_qrcode_id,
master_id, create_time) brand_id, create_time)
values (#{tagBookId,jdbcType=BIGINT}, #{groupQrcodeId,jdbcType=BIGINT}, values (#{tagBookId,jdbcType=BIGINT}, #{groupQrcodeId,jdbcType=BIGINT},
#{masterId,jdbcType=BIGINT},NOW()) #{brandId,jdbcType=BIGINT},NOW())
</insert> </insert>
<delete id="deleteByMasterId" parameterType="long"> <delete id="deleteByBrandId" parameterType="long">
DELETE DELETE
FROM FROM
advertising_group_tag advertising_group_tag
WHERE WHERE
master_id = #{masterId} brand_id = #{brandId}
</delete> </delete>
<insert id="batchInsert" parameterType="com.pcloud.book.advertising.entity.AdvertisingGroupTag" useGeneratedKeys="true" keyProperty="id"> <insert id="batchInsert" parameterType="com.pcloud.book.advertising.entity.AdvertisingGroupTag" useGeneratedKeys="true" keyProperty="id">
insert into advertising_group_tag ( insert into advertising_group_tag (
tag_book_id, tag_book_id,
group_qrcode_id, group_qrcode_id,
master_id, brand_id,
create_time create_time
) values ) values
<foreach collection="list" item="item" index="index" <foreach collection="list" item="item" index="index"
separator=","> separator=",">
(#{item.tagBookId,jdbcType=BIGINT}, (#{item.tagBookId,jdbcType=BIGINT},
#{item.groupQrcodeId,jdbcType=BIGINT}, #{item.groupQrcodeId,jdbcType=BIGINT},
#{item.masterId,jdbcType=BIGINT}, #{item.brandId,jdbcType=BIGINT},
NOW()) NOW())
</foreach> </foreach>
</insert> </insert>
<select id="getBookIdsByMasterId" parameterType="long" resultType="long"> <select id="getBookIdsByBrandId" parameterType="long" resultType="long">
SELECT DISTINCT SELECT DISTINCT
tag_book_id tag_book_id
FROM FROM
advertising_group_tag advertising_group_tag
WHERE WHERE
master_id = #{masterId} brand_id = #{brandId}
AND tag_book_id IS NOT NULL AND tag_book_id IS NOT NULL
AND group_qrcode_id = 0 AND group_qrcode_id = 0
</select> </select>
...@@ -62,13 +62,13 @@ ...@@ -62,13 +62,13 @@
WHERE group_qrcode_id = #{groupQrcodeId} WHERE group_qrcode_id = #{groupQrcodeId}
</delete> </delete>
<select id="getGroupQrcodeIdsByMasterId" parameterType="long" resultType="long"> <select id="getGroupQrcodeIdsByBrandId" parameterType="long" resultType="long">
SELECT DISTINCT SELECT DISTINCT
group_qrcode_id group_qrcode_id
FROM FROM
advertising_group_tag advertising_group_tag
WHERE WHERE
master_id = #{masterId} brand_id = #{brandId}
AND group_qrcode_id != 0 AND group_qrcode_id != 0
</select> </select>
...@@ -77,31 +77,49 @@ ...@@ -77,31 +77,49 @@
FROM FROM
advertising_group_tag advertising_group_tag
WHERE WHERE
master_id = #{masterId} brand_id = #{brandId}
AND tag_book_id in AND tag_book_id in
<foreach collection="bookIds" index="index" item="item" open="(" separator="," close=")"> <foreach collection="bookIds" index="index" item="item" open="(" separator="," close=")">
${item} ${item}
</foreach> </foreach>
</delete> </delete>
<select id="getTagWxGroupIdsByMasterId" parameterType="long" resultType="string"> <select id="getTagWxGroupIdsByBrandId" parameterType="long" resultType="string">
SELECT DISTINCT SELECT DISTINCT
q.weixin_group_id q.weixin_group_id
FROM FROM
book_group_qrcode q book_group_qrcode q
LEFT JOIN advertising_group_tag t ON q.id = t.group_qrcode_id LEFT JOIN advertising_group_tag t ON q.id = t.group_qrcode_id
WHERE WHERE
t.master_id = #{masterId} t.brand_id = #{brandId}
AND q.weixin_group_id IS NOT NULL AND q.weixin_group_id IS NOT NULL
</select> </select>
<select id="getMasterIdsByBookId" parameterType="long" resultType="long"> <select id="getBrandIdsByBookId" parameterType="long" resultType="long">
SELECT DISTINCT SELECT DISTINCT
master_id brand_id
FROM FROM
advertising_group_tag advertising_group_tag
WHERE WHERE
tag_book_id = #{bookId} tag_book_id = #{bookId}
AND group_qrcode_id = 0 AND group_qrcode_id = 0
</select> </select>
<select id="getBrandIdsByWxGroupId" parameterType="string" resultType="long">
SELECT DISTINCT
t.brand_id
FROM
advertising_group_tag t
LEFT JOIN book_group_qrcode q ON t.group_qrcode_id = q.id
WHERE
q.weixin_group_id = #{wxGroupId}
</select>
<update id="updateId" parameterType="map">
UPDATE advertising_group_tag
SET brand_id = #{brandId}
WHERE
brand_id = #{masterId}
</update>
</mapper> </mapper>
\ No newline at end of file
...@@ -6,7 +6,6 @@ ...@@ -6,7 +6,6 @@
<result column="master_name" property="masterName" jdbcType="VARCHAR"/> <result column="master_name" property="masterName" jdbcType="VARCHAR"/>
<result column="create_time" property="createTime" jdbcType="TIMESTAMP"/> <result column="create_time" property="createTime" jdbcType="TIMESTAMP"/>
<result column="update_time" property="updateTime" jdbcType="TIMESTAMP"/> <result column="update_time" property="updateTime" jdbcType="TIMESTAMP"/>
<result column="login_id" property="loginId" jdbcType="BIGINT"/>
</resultMap> </resultMap>
<resultMap id="AdvertisingMasterDTO" type="com.pcloud.book.advertising.dto.AdvertisingMasterDTO"> <resultMap id="AdvertisingMasterDTO" type="com.pcloud.book.advertising.dto.AdvertisingMasterDTO">
...@@ -14,11 +13,10 @@ ...@@ -14,11 +13,10 @@
<result column="master_name" property="masterName" jdbcType="VARCHAR"/> <result column="master_name" property="masterName" jdbcType="VARCHAR"/>
<result column="create_time" property="createTime" jdbcType="TIMESTAMP"/> <result column="create_time" property="createTime" jdbcType="TIMESTAMP"/>
<result column="update_time" property="updateTime" jdbcType="TIMESTAMP"/> <result column="update_time" property="updateTime" jdbcType="TIMESTAMP"/>
<result column="login_id" property="loginId" jdbcType="BIGINT"/>
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id, master_name, create_time, update_time, login_id id, master_name, create_time, update_time
</sql> </sql>
<select id="getById" resultMap="BaseResultMap" parameterType="java.lang.Long"> <select id="getById" resultMap="BaseResultMap" parameterType="java.lang.Long">
...@@ -86,13 +84,11 @@ ...@@ -86,13 +84,11 @@
master_name, master_name,
create_time, create_time,
update_time, update_time,
login_id,
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
#{masterName,jdbcType=VARCHAR}, #{masterName,jdbcType=VARCHAR},
NOW(), NOW(),
NOW(), NOW(),
#{loginId},
</trim> </trim>
</insert> </insert>
...@@ -103,50 +99,26 @@ ...@@ -103,50 +99,26 @@
master_name = #{masterName,jdbcType=VARCHAR}, master_name = #{masterName,jdbcType=VARCHAR},
</if> </if>
update_time = NOW(), update_time = NOW(),
<if test="loginId != null">
login_id = #{loginId},
</if>
</set> </set>
where id = #{id,jdbcType=BIGINT} where id = #{id,jdbcType=BIGINT}
</update> </update>
<select id="getByGroup" parameterType="long" resultType="com.pcloud.book.advertising.entity.AdvertisingMaster"> <select id="getMasterBrand" resultType="com.pcloud.book.advertising.dto.OldBrandMasterDTO">
SELECT
m.id id,
m.master_name masterName
FROM
advertising_master m
LEFT JOIN advertising_group_tag t ON m.id = t.master_id
WHERE
t.group_qrcode_id = #{groupQrcodeId}
</select>
<select id="getBrandMaster" resultType="com.pcloud.book.advertising.dto.AdvertisingMasterDTO">
SELECT SELECT
m.id id, id id,
m.master_name masterName master_name masterName,
FROM login_id loginId
advertising_master m
LEFT JOIN advertising_settlement_method s ON m.id = s.master_id
WHERE
s.settlement_method = 'Brand'
GROUP BY
m.id
</select>
<select id="getIdByUserLoginId" resultType="long" parameterType="long">
SELECT
id
FROM FROM
advertising_master advertising_master
WHERE WHERE
login_id = #{loginId} login_id IS NOT NULL
</select> </select>
<update id="updateMasterLoginId" parameterType="map"> <update id="updateLoginId" parameterType="string">
UPDATE advertising_master UPDATE advertising_master
SET login_id = #{loginId} SET login_id = NULL
WHERE WHERE
id = #{masterId} master_name = #{masterName}
</update> </update>
</mapper> </mapper>
\ No newline at end of file
...@@ -698,6 +698,9 @@ ...@@ -698,6 +698,9 @@
<if test="classify!=null"> <if test="classify!=null">
and classify like concat('%', #{classify}, '%') and classify like concat('%', #{classify}, '%')
</if> </if>
<if test="bookId != null">
AND c.book_id = #{bookId}
</if>
</select> </select>
<select id="getProAssocGroupAndUserNumber" resultType="ProAssocGroupAndUserNumberDTO" parameterType="Long"> <select id="getProAssocGroupAndUserNumber" resultType="ProAssocGroupAndUserNumberDTO" parameterType="Long">
......
...@@ -344,7 +344,7 @@ ...@@ -344,7 +344,7 @@
where id = #{bookGroupId} and is_delete = 0 where id = #{bookGroupId} and is_delete = 0
</update> </update>
<select id="listPageBook4AdMaster" parameterType="map" resultType="com.pcloud.book.advertising.dto.Book4AdvertisingMasterDTO"> <select id="listPageBook4AdBrand" parameterType="map" resultType="com.pcloud.book.advertising.dto.Book4AdvertisingTagDTO">
SELECT SELECT
b.BOOK_ID bookId, b.BOOK_ID bookId,
b.ISBN isbn, b.ISBN isbn,
......
...@@ -562,7 +562,7 @@ ...@@ -562,7 +562,7 @@
id = #{qrcodeId} id = #{qrcodeId}
</update> </update>
<select id="listPageGroupMaster" parameterType="map" resultType="com.pcloud.book.advertising.dto.GroupMasterDTO"> <select id="listPageGroup4Brand" parameterType="map" resultType="com.pcloud.book.advertising.dto.GroupTagDTO">
SELECT SELECT
q.weixin_group_id wxGroupId, q.weixin_group_id wxGroupId,
q.id groupQrcodeId, q.id groupQrcodeId,
...@@ -616,8 +616,8 @@ ...@@ -616,8 +616,8 @@
<if test="purLabelId != null"> <if test="purLabelId != null">
AND bg.pur_label_id = #{purLabelId} AND bg.pur_label_id = #{purLabelId}
</if> </if>
<if test="masterId != null"> <if test="brandId != null">
AND t.master_id = #{masterId} AND t.brand_id = #{brandId}
</if> </if>
<if test="startTime != null and endTime!= null"> <if test="startTime != null and endTime!= null">
AND t.create_time BETWEEN #{startTime} AND #{endTime} AND t.create_time BETWEEN #{startTime} AND #{endTime}
......
...@@ -130,16 +130,22 @@ ...@@ -130,16 +130,22 @@
<if test="keywords!=null"> <if test="keywords!=null">
AND keywords like concat('%', #{keywords}, '%') AND keywords like concat('%', #{keywords}, '%')
</if> </if>
order by bk.rank ASC, bk.id DESC order by bk.rank ASC, bk.update_time desc, bk.id DESC
</select> </select>
<select id="listFiveKeyword" resultType="keywordDTO" parameterType="map"> <select id="listFiveKeyword" resultType="com.pcloud.book.keywords.dto.KeywordDTO" parameterType="map">
SELECT SELECT
k.keywords, k.keywords,
k.id keywordId, k.id keywordId,
bk.is_warehouse as isWarehouse, bk.is_warehouse as isWarehouse,
bk.warehouse_id as warehouseId, bk.warehouse_id as warehouseId,
k.guide k.guide,
k.content,
k.description,
k.link_url as linkUrl,
k.serve_id AS serveId,
k.serve_type AS serveType,
k.reply_type AS replyType
FROM FROM
book_keyword bk book_keyword bk
JOIN JOIN
...@@ -149,7 +155,7 @@ ...@@ -149,7 +155,7 @@
AND AND
k.is_delete = 0 k.is_delete = 0
AND classify_id = #{classifyId} AND classify_id = #{classifyId}
AND book_group_id = #{bookGroupId} order by bk.rank, bk.id desc limit 10 AND book_group_id = #{bookGroupId} order by bk.rank, bk.id desc
</select> </select>
<select id="getKeywordId" resultType="ReplyKeywordDTO" parameterType="map"> <select id="getKeywordId" resultType="ReplyKeywordDTO" parameterType="map">
...@@ -345,6 +351,18 @@ ...@@ -345,6 +351,18 @@
and classify_id = #{classifyId,jdbcType=BIGINT} and classify_id = #{classifyId,jdbcType=BIGINT}
</update> </update>
<update id="updateRank" parameterType="map">
update book_keyword
<set>
rank = #{rank},
update_user = #{partyId},
update_time = now()
</set>
where keyword_id = #{keywordId,jdbcType=BIGINT}
and book_group_id = #{bookGroupId,jdbcType=BIGINT}
and is_delete = 0
</update>
<select id="getServiceByWeixinGroup" parameterType="map" resultType="com.pcloud.book.keywords.dto.ServiceResourceDTO"> <select id="getServiceByWeixinGroup" parameterType="map" resultType="com.pcloud.book.keywords.dto.ServiceResourceDTO">
SELECT SELECT
t.channel_id as channelId, t.channel_id as channelId,
......
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