Commit 61fcd493 by songyinghui

feat: 欢迎语、活码分组改动

parent 28aad0fe
......@@ -61,6 +61,10 @@ public class HmGroupDTO implements Serializable {
*/
private String modifierName;
/**
* 是否为默认分组
*/
private Integer defaultFlag;
public Long getGroupId() {
return groupId;
......@@ -141,4 +145,12 @@ public class HmGroupDTO implements Serializable {
public void setModifierName(String modifierName) {
this.modifierName = modifierName;
}
public Integer getDefaultFlag() {
return defaultFlag;
}
public void setDefaultFlag(Integer defaultFlag) {
this.defaultFlag = defaultFlag;
}
}
package com.gic.haoban.manage.api.dto.hm;
import com.gic.haoban.base.api.common.BasePageInfo;
/**
* @Author MUSI
* @Date 2022/7/1 2:47 PM
* @Description
* @Version
**/
public class HmPageRelationQueryDTO extends BasePageInfo {
private String searchText;
/**
* 企业id
*/
private String enterpriseId;
/**
* 微信企业id
*/
private String wxEnterpriseId;
public String getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(String enterpriseId) {
this.enterpriseId = enterpriseId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public String getSearchText() {
return this.searchText;
}
public void setSearchText(String searchText) {
this.searchText = searchText;
}
}
package com.gic.haoban.manage.api.dto.hm;
import java.io.Serializable;
import java.util.Date;
/**
* @Author MUSI
* @Date 2022/7/3 6:49 PM
* @Description
* @Version
**/
public class HmPageRelationRespDTO implements Serializable {
/**
* 落地页模板code
*/
private String pageTemplateCode;
/**
* 企业id
*/
private String enterpriseId;
/**
* 微信企业id
*/
private String wxEnterpriseId;
/**
* 引用方id
*/
private String referId;
/**
* 引用方名称
*/
private String referName;
/**
* 引用方来源
*
* @see com.gic.haoban.manage.api.enums.hm.HmPageTemplateType
*/
private Integer type;
public String getPageTemplateCode() {
return pageTemplateCode;
}
public void setPageTemplateCode(String pageTemplateCode) {
this.pageTemplateCode = pageTemplateCode;
}
public String getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(String enterpriseId) {
this.enterpriseId = enterpriseId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public String getReferId() {
return referId;
}
public void setReferId(String referId) {
this.referId = referId;
}
public String getReferName() {
return referName;
}
public void setReferName(String referName) {
this.referName = referName;
}
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
}
package com.gic.haoban.manage.api.dto.hm;
import java.io.Serializable;
/**
* @Author MUSI
* @Date 2022/7/4 10:39 AM
* @Description
* @Version
**/
public class HmWelcomeRelationDTO implements Serializable {
private Long relationId;
private String referName;
private String referId;
private Integer type;
private String typeText;
private Integer status;
public Long getRelationId() {
return relationId;
}
public void setRelationId(Long relationId) {
this.relationId = relationId;
}
public String getReferName() {
return referName;
}
public void setReferName(String referName) {
this.referName = referName;
}
public String getReferId() {
return referId;
}
public void setReferId(String referId) {
this.referId = referId;
}
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
public String getTypeText() {
return typeText;
}
public void setTypeText(String typeText) {
this.typeText = typeText;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
}
package com.gic.haoban.manage.api.dto.welcome.qdto;
import com.gic.haoban.base.api.common.BasePageInfo;
/**
* @Author MUSI
* @Date 2022/7/4 10:46 AM
* @Description
* @Version
**/
public class QueryWelcomeRelationQDTO extends BasePageInfo {
private Long welcomeId ;
public Long getWelcomeId() {
return welcomeId;
}
public void setWelcomeId(Long welcomeId) {
this.welcomeId = welcomeId;
}
}
......@@ -37,4 +37,12 @@ public interface HmGroupApiService {
* @return
*/
ServiceResponse<Boolean> deleteGroupSetting(HmGroupDTO groupDTO);
/**
* 分组总引用次数
* @param enterpriseId
* @param wxEnterpriseId
* @return
*/
ServiceResponse<Integer> queryGroupReferCount(String enterpriseId, String wxEnterpriseId);
}
\ No newline at end of file
......@@ -3,9 +3,13 @@ package com.gic.haoban.manage.api.service.hm;
import com.gic.api.base.commons.Page;
import com.gic.haoban.base.api.common.ServiceResponse;
import com.gic.haoban.manage.api.dto.hm.HmPageQueryDTO;
import com.gic.haoban.manage.api.dto.hm.HmPageRelationQueryDTO;
import com.gic.haoban.manage.api.dto.hm.HmPageRelationRespDTO;
import com.gic.haoban.manage.api.dto.hm.HmPageTemplateDTO;
import com.gic.haoban.manage.api.dto.hm.HmPageTemplateRespDTO;
import javax.xml.ws.Service;
/**
* @Author MUSI
* @Date 2022/7/3 6:31 PM
......@@ -39,4 +43,11 @@ public interface HmPageTemplateApiService {
*/
ServiceResponse<Page<HmPageTemplateRespDTO>> queryPageTemplateList(HmPageQueryDTO pageQueryDTO);
/**
* 条件查询落地页关联详情
* @param relationQueryDTO
* @return
*/
ServiceResponse<Page<HmPageRelationRespDTO>> queryPageRelation(HmPageRelationQueryDTO relationQueryDTO);
}
package com.gic.haoban.manage.api.service.hm;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.haoban.manage.api.dto.hm.HmWelcomeRelationDTO;
import com.gic.haoban.manage.api.dto.welcome.qdto.QueryWelcomeRelationQDTO;
/**
* @Author MUSI
* @Date 2022/7/4 10:45 AM
* @Description
* @Version
* 欢迎语关联相关
**/
public interface HmWelcomeRelationApiService {
/**
* 条件查询 欢迎语关联关系
* @param queryWelcomeRelationQDTO
* @return
*/
ServiceResponse<Page<HmWelcomeRelationDTO>> queryWelcomeRelation(QueryWelcomeRelationQDTO queryWelcomeRelationQDTO);
}
......@@ -115,6 +115,6 @@ public interface WelcomeApiService {
* @param queryWelcomeQDTO
* @return
*/
ServiceResponse<Page<List<WelcomeListDTO>>> listWelcomeWithCondition(QueryWelcomeQDTO queryWelcomeQDTO);
ServiceResponse<Page<WelcomeListDTO>> listWelcomeWithCondition(QueryWelcomeQDTO queryWelcomeQDTO);
}
package com.gic.haoban.manage.service.dao.mapper;
import com.gic.haoban.manage.service.entity.TabWelcome;
import com.gic.haoban.manage.service.pojo.qo.WelcomeInfoQO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
......@@ -55,12 +56,9 @@ public interface TabHaobanWelcomeMapper {
long countByWxEnterpriseId(@Param("wxEnterpriseId") String wxEnterpriseId);
/**
* 查询欢迎语配置
* @param wxEnterpriseId
* @param title
* @param defaultWelcomeFlag
* @param type
* 条件查询欢迎语配置
* @param welcomeInfoQo
* @return
*/
List<TabWelcome> queryWelcome(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("title") String title, @Param("defaultWelcomeFlag") Integer defaultWelcomeFlag, @Param("type") Integer type);
List<TabWelcome> queryWelcomeList(WelcomeInfoQO welcomeInfoQo);
}
\ No newline at end of file
package com.gic.haoban.manage.service.dao.mapper;
import com.gic.haoban.manage.service.entity.hm.TabHaobanWelcomeTemplateRelation;
import com.gic.haoban.manage.service.pojo.qo.WelcomeRelationQO;
import java.util.List;
public interface TabHaobanWelcomeTemplateRelationMapper {
int deleteByPrimaryKey(Long relationId);
......@@ -14,4 +17,11 @@ public interface TabHaobanWelcomeTemplateRelationMapper {
int updateByPrimaryKeySelective(TabHaobanWelcomeTemplateRelation record);
int updateByPrimaryKey(TabHaobanWelcomeTemplateRelation record);
/**
* 条件查询欢迎语关联的引用方
* @param welcomeRelationQO
* @return
*/
List<TabHaobanWelcomeTemplateRelation> queryWelcomeTemplate(WelcomeRelationQO welcomeRelationQO);
}
\ No newline at end of file
......@@ -77,6 +77,7 @@ public class TabWelcome implements Serializable {
private String modifierId ;
private String modifierName ;
private Integer type;
public String getModifierId() {
return modifierId;
}
......@@ -204,4 +205,12 @@ public class TabWelcome implements Serializable {
public void setDefaultWelcomeFlag(Integer defaultWelcomeFlag) {
this.defaultWelcomeFlag = defaultWelcomeFlag;
}
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
}
\ No newline at end of file
......@@ -21,6 +21,12 @@ public class SaveWelcomeBO {
* 标题
*/
private String title;
/**
* 欢迎语类型
* @see com.gic.haoban.manage.api.enums.hm.HmWelcomeType
*/
private Integer type;
/**
* 内容
*/
......@@ -190,6 +196,14 @@ public class SaveWelcomeBO {
this.suitStaffDeleteList = suitStaffDeleteList;
}
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
@Override
public String toString() {
return "SaveWelcomeBO{" +
......
......@@ -10,10 +10,22 @@ import com.gic.haoban.base.api.common.BasePageInfo;
**/
public class HmPageRelationQO extends BasePageInfo {
private String templateSearchText;
private String templateCode;
private Integer status;
/**
* 企业id
*/
private String enterpriseId;
/**
* 微信企业id
*/
private String wxEnterpriseId;
public String getTemplateCode() {
return templateCode;
}
......@@ -29,4 +41,28 @@ public class HmPageRelationQO extends BasePageInfo {
public void setStatus(Integer status) {
this.status = status;
}
public String getTemplateSearchText() {
return templateSearchText;
}
public void setTemplateSearchText(String templateSearchText) {
this.templateSearchText = templateSearchText;
}
public String getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(String enterpriseId) {
this.enterpriseId = enterpriseId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
}
package com.gic.haoban.manage.service.pojo.qo;
import com.gic.haoban.base.api.common.BasePageInfo;
/**
* @Author MUSI
* @Date 2022/7/4 10:09 AM
* @Description
* @Version
**/
public class WelcomeInfoQO extends BasePageInfo {
private String wxEnterpriseId;
private String title;
private Integer defaultWelcomeFlag;
private Integer type;
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public Integer getDefaultWelcomeFlag() {
return defaultWelcomeFlag;
}
public void setDefaultWelcomeFlag(Integer defaultWelcomeFlag) {
this.defaultWelcomeFlag = defaultWelcomeFlag;
}
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
}
package com.gic.haoban.manage.service.pojo.qo;
import com.gic.haoban.base.api.common.BasePageInfo;
/**
* @Author MUSI
* @Date 2022/7/4 10:54 AM
* @Description
* @Version
**/
public class WelcomeRelationQO extends BasePageInfo {
private Long welcomeId ;
public Long getWelcomeId() {
return welcomeId;
}
public void setWelcomeId(Long welcomeId) {
this.welcomeId = welcomeId;
}
}
......@@ -122,7 +122,7 @@ public interface WelcomeService {
* @param queryWelcomeQDTO
* @return
*/
Page<List<WelcomeListBO>> queryWelcomeList(QueryWelcomeQDTO queryWelcomeQDTO);
Page<WelcomeListBO> queryWelcomeList(QueryWelcomeQDTO queryWelcomeQDTO);
/**
......@@ -138,6 +138,4 @@ public interface WelcomeService {
* @date : 2022/2/9
*/
WelcomeDetailBO getMatchWelcomeWithType(String staffId, String wxEnterpriseId, Integer type);
}
package com.gic.haoban.manage.service.service.hm;
import com.gic.api.base.commons.Page;
import com.gic.haoban.manage.service.pojo.bo.hm.HmPageRelationBO;
import com.gic.haoban.manage.service.pojo.qo.HmPageRelationQO;
import java.util.List;
......@@ -35,4 +37,11 @@ public interface HmPageRelationService {
* @return
*/
List<HmPageRelationBO> queryPageTemplateRelation(String pageTemplateCode);
/**
* 链接code/模板名称 条件查询
* @return
*/
Page<HmPageRelationBO> queryPageTemplateRelationWithSearchText(HmPageRelationQO hmPageRelationQo);
}
......@@ -31,4 +31,6 @@ public interface HmWelComeService {
* @return
*/
Boolean deleteWelcomeRelation(Long welcomeId);
}
package com.gic.haoban.manage.service.service.hm.impl;
import com.gic.api.base.commons.Page;
import com.gic.haoban.common.utils.PageUtil;
import com.gic.haoban.manage.api.enums.hm.HmPageTemplateStatus;
import com.gic.haoban.manage.service.dao.mapper.hm.TabHaobanHmPageRelationMapper;
import com.gic.haoban.manage.service.entity.hm.TabHaobanHmPageRelation;
......@@ -56,4 +58,17 @@ public class HmPageRelationServiceImpl implements HmPageRelationService {
return temp;
}).collect(Collectors.toList());
}
/**
* 链接code/模板名称 条件查询
*
* @return
*/
@Override
public Page<HmPageRelationBO> queryPageTemplateRelationWithSearchText(HmPageRelationQO hmPageRelationQo) {
PageHelper.startPage(hmPageRelationQo.getPageNum(), hmPageRelationQo.getPageSize());
com.github.pagehelper.Page<TabHaobanHmPageRelation> pageRelationPage =
(com.github.pagehelper.Page<TabHaobanHmPageRelation>) haobanHmPageRelationMapper.queryPageRelationList(hmPageRelationQo);
return PageUtil.changePageHelperToCurrentPage(pageRelationPage, HmPageRelationBO.class);
}
}
package com.gic.haoban.manage.service.service.hm.impl;
import com.gic.haoban.manage.service.pojo.bo.hm.HmWelcomeRelationBO;
import com.gic.haoban.manage.service.pojo.bo.welcome.WelcomeDetailBO;
import com.gic.haoban.manage.service.service.hm.HmWelComeService;
import org.springframework.stereotype.Component;
/**
* @Author MUSI
* @Date 2022/7/4 1:06 PM
* @Description
* @Version
**/
@Component
public class HmWelComeServiceImpl implements HmWelComeService {
/**
* 根据 关联方的code 获取关联的欢迎语
*
* @param referId
* @return
*/
@Override
public WelcomeDetailBO queryHmWelcomeWithReferId(String referId) {
return null;
}
/**
* 保存欢迎语引用关联关系
*
* @param hmWelcomeRelationBO
* @return
*/
@Override
public Boolean saveHmWelcomeRelation(HmWelcomeRelationBO hmWelcomeRelationBO) {
return null;
}
/**
* 删除关联关系
*
* @param welcomeId
* @return
*/
@Override
public Boolean deleteWelcomeRelation(Long welcomeId) {
return null;
}
}
package com.gic.haoban.manage.service.service.hm.impl;
import com.gic.haoban.manage.service.entity.hm.TabHaobanHmPage;
import com.gic.haoban.manage.service.service.hm.TabHaobanHmPageService;
import org.springframework.stereotype.Component;
/**
* @Author MUSI
* @Date 2022/7/4 1:05 PM
* @Description
* @Version
**/
@Component
public class TabHaobanHmPageServiceImpl implements TabHaobanHmPageService {
/**
* 根据 referId 查询关联的落地页数据
*
* @param referId
* @return
*/
@Override
public TabHaobanHmPage queryHmPageTemplateWithReferId(String referId) {
return null;
}
}
......@@ -2,6 +2,7 @@ package com.gic.haoban.manage.service.service.impl;
import com.gic.api.base.commons.Page;
import com.gic.commons.util.UniqueIdUtils;
import com.gic.haoban.common.utils.PageUtil;
import com.gic.haoban.common.utils.StringUtil;
import com.gic.haoban.manage.api.dto.welcome.qdto.QueryWelcomeQDTO;
import com.gic.haoban.manage.api.enums.FriendSettingTypeEnum;
......@@ -11,8 +12,10 @@ import com.gic.haoban.manage.api.enums.hm.HmWelcomeType;
import com.gic.haoban.manage.service.dao.mapper.*;
import com.gic.haoban.manage.service.entity.*;
import com.gic.haoban.manage.service.pojo.bo.welcome.*;
import com.gic.haoban.manage.service.pojo.qo.WelcomeInfoQO;
import com.gic.haoban.manage.service.service.WelcomeService;
import com.gic.haoban.manage.service.service.WelcomeSuitRangService;
import com.github.pagehelper.PageHelper;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
......@@ -144,6 +147,7 @@ public class WelcomeServiceImpl implements WelcomeService {
welcome.setModifierId(bo.getModifierId());
welcome.setModifierName(bo.getModifierName());
welcome.setDefaultWelcomeFlag(bo.getDefaultWelcomeFlag());
welcome.setType(bo.getType());
welcomeMapper.insert(welcome);
return welcome;
}
......@@ -209,6 +213,10 @@ public class WelcomeServiceImpl implements WelcomeService {
return Collections.emptyList();
}
// 组装数据, 转换数据
return convertWelcomeInfoList(welcomeList);
}
private List<WelcomeListBO> convertWelcomeInfoList(List<TabWelcome> welcomeList) {
return welcomeList.stream().map(one -> {
WelcomeListBO bo = new WelcomeListBO();
bo.setCreatorId(one.getCreatorId());
......@@ -387,10 +395,15 @@ public class WelcomeServiceImpl implements WelcomeService {
}
private WelcomeDetailBO queryMatchWelcome(String staffId, String wxEnterpriseId, Integer type) {
WelcomeInfoQO welcomeInfoQO = new WelcomeInfoQO();
welcomeInfoQO.setWxEnterpriseId(wxEnterpriseId);
welcomeInfoQO.setType(type);
// 查询非默认欢迎语
List<TabWelcome> nonDefaultWelcomList = welcomeMapper.queryWelcome(wxEnterpriseId, null, 0, type);
welcomeInfoQO.setDefaultWelcomeFlag(0);
List<TabWelcome> nonDefaultWelcomList = welcomeMapper.queryWelcomeList(welcomeInfoQO);
// 查询默认欢迎语
List<TabWelcome> defaultWelcomeList = welcomeMapper.queryWelcome(wxEnterpriseId, null, 1, type);
welcomeInfoQO.setDefaultWelcomeFlag(1);
List<TabWelcome> defaultWelcomeList = welcomeMapper.queryWelcomeList(welcomeInfoQO);
if (CollectionUtils.isEmpty(nonDefaultWelcomList)) {
return checkAndGetDefaultWelcome(defaultWelcomeList);
}
......@@ -470,6 +483,7 @@ public class WelcomeServiceImpl implements WelcomeService {
welcome.setOperatorId("-1");
welcome.setOperatorName("system");
welcome.setDefaultWelcomeFlag(1);
welcome.setType(HmWelcomeType.NORMAL.getCode());
// 插入
welcomeMapper.insert(welcome);
return Boolean.TRUE;
......@@ -593,8 +607,22 @@ public class WelcomeServiceImpl implements WelcomeService {
* @return
*/
@Override
public Page<List<WelcomeListBO>> queryWelcomeList(QueryWelcomeQDTO queryWelcomeQDTO) {
return null;
public Page<WelcomeListBO> queryWelcomeList(QueryWelcomeQDTO queryWelcomeQDTO) {
WelcomeInfoQO welcomeInfoQo = new WelcomeInfoQO();
welcomeInfoQo.setWxEnterpriseId(queryWelcomeQDTO.getWxEnterpriseId());
welcomeInfoQo.setTitle(queryWelcomeQDTO.getTitle());
welcomeInfoQo.setType(queryWelcomeQDTO.getType());
PageHelper.startPage(queryWelcomeQDTO.getPageNum(), queryWelcomeQDTO.getPageSize());
com.github.pagehelper.Page<TabWelcome> tabWelcomes =
(com.github.pagehelper.Page<TabWelcome>) welcomeMapper.queryWelcomeList(welcomeInfoQo);
List<WelcomeListBO> welcomeListBos = this.convertWelcomeInfoList(tabWelcomes.getResult());
Page<WelcomeListBO> tPage = new Page<>();
tPage.setPageSize(tabWelcomes.getPageSize());
tPage.setCurrentPage(tabWelcomes.getPageNum());
tPage.setTotalCount((int) tabWelcomes.getTotal());
tPage.setTotalPage(tabWelcomes.getPages());
tPage.setResult(welcomeListBos);
return tPage;
}
/**
......
......@@ -169,7 +169,17 @@ public class WelcomeApiServiceImpl implements WelcomeApiService {
}
@Override
public ServiceResponse<Page<List<WelcomeListDTO>>> listWelcomeWithCondition(QueryWelcomeQDTO queryWelcomeQDTO) {
return null;
public ServiceResponse<Page<WelcomeListDTO>> listWelcomeWithCondition(QueryWelcomeQDTO queryWelcomeQDTO) {
Page<WelcomeListBO> welcomeListBos = welcomeService.queryWelcomeList(queryWelcomeQDTO);
List<WelcomeListDTO> welcomeListDTOS = convertWelcomeList(welcomeListBos.getResult());
ServiceResponse<Page<WelcomeListDTO>> serviceResponse = new ServiceResponse<>();
Page<WelcomeListDTO> page = new Page<>();
page.setResult(welcomeListDTOS);
page.setCurrentPage(welcomeListBos.getCurrentPage());
page.setPageSize(welcomeListBos.getPageSize());
page.setTotalPage(welcomeListBos.getTotalPage());
page.setTotalCount(welcomeListBos.getTotalCount());
serviceResponse.setResult(page);
return serviceResponse;
}
}
......@@ -16,12 +16,14 @@ import com.gic.haoban.manage.service.pojo.qo.HmGroupInfoQO;
import com.github.pagehelper.PageHelper;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
......@@ -36,6 +38,9 @@ public class HmGroupApiServiceImpl implements HmGroupApiService {
private static final Logger log = LoggerFactory.getLogger(HmGroupApiServiceImpl.class);
private static final Long DEFAULT_GROUP_ID = NumberUtils.LONG_ZERO;
private static final String DEFAULT_GROUP_NAME = "默认分组";
@Autowired
private TabHaobanHmGroupSettingMapper haobanHmGroupSettingMapper;
......@@ -46,6 +51,10 @@ public class HmGroupApiServiceImpl implements HmGroupApiService {
serviceResponse.setCode(HaoBanErrCodeCommon.ERR_2.getCode());
return serviceResponse;
}
if (StringUtils.equals(DEFAULT_GROUP_NAME, hmGroupDTO.getGroupName())){
serviceResponse.setCode(HaoBanErrCodeCommon.ERR_5.getCode());
return serviceResponse;
}
HmGroupInfoQO groupInfoQO = new HmGroupInfoQO();
groupInfoQO.setGroupName(hmGroupDTO.getGroupName());
groupInfoQO.setStatus(HmGroupStatus.ENABLE.getCode());
......@@ -110,28 +119,51 @@ public class HmGroupApiServiceImpl implements HmGroupApiService {
@Override
public ServiceResponse<Page<HmGroupDTO>> queryHmGroupSettingList(HmGroupQueryDTO groupQueryDTO) {
HmGroupInfoQO groupInfoQO = new HmGroupInfoQO();
BeanUtils.copyProperties(groupInfoQO, groupInfoQO);
groupInfoQO.setStatus(HmGroupStatus.ENABLE.getCode());
PageHelper.startPage(groupInfoQO.getPageNum(), groupInfoQO.getPageSize());
HmGroupInfoQO groupInfoQo = new HmGroupInfoQO();
BeanUtils.copyProperties(groupQueryDTO, groupInfoQo);
groupInfoQo.setStatus(HmGroupStatus.ENABLE.getCode());
PageHelper.startPage(groupInfoQo.getPageNum(), groupInfoQo.getPageSize());
com.github.pagehelper.Page<TabHaobanHmGroupSetting> tabHaobanHmGroupSettings =
(com.github.pagehelper.Page<TabHaobanHmGroupSetting>) haobanHmGroupSettingMapper.queryHmGroupSettingList(groupInfoQO);
Page<HmGroupDTO> groupDTOPage = PageUtil.changePageHelperToCurrentPage(tabHaobanHmGroupSettings, HmGroupDTO.class);
(com.github.pagehelper.Page<TabHaobanHmGroupSetting>) haobanHmGroupSettingMapper.queryHmGroupSettingList(groupInfoQo);
Page<HmGroupDTO> hmGroupInfoPage = PageUtil.changePageHelperToCurrentPage(tabHaobanHmGroupSettings, HmGroupDTO.class);
// query 活码 默认分组的总数
List<HmGroupDTO> result = new ArrayList<>();
result.add(buildDefault(null));
if (CollectionUtils.isNotEmpty(hmGroupInfoPage.getResult())){
result.addAll(hmGroupInfoPage.getResult());
}
hmGroupInfoPage.setResult(result);
ServiceResponse<Page<HmGroupDTO>> serviceResponse = new ServiceResponse<>();
serviceResponse.setResult(groupDTOPage);
serviceResponse.setResult(hmGroupInfoPage);
return serviceResponse;
}
private HmGroupDTO buildDefault(Integer num){
HmGroupDTO hmGroupDTO = new HmGroupDTO();
hmGroupDTO.setGroupId(DEFAULT_GROUP_ID);
hmGroupDTO.setGroupName(DEFAULT_GROUP_NAME);
hmGroupDTO.setDefaultFlag(1);
hmGroupDTO.setReferNum(num);
return hmGroupDTO;
}
@Override
public ServiceResponse<Boolean> deleteGroupSetting(HmGroupDTO groupDTO) {
log.info("[deleteGroupSetting] 删除分组, params:{}", JSON.toJSONString(groupDTO));
ServiceResponse<Boolean> serviceResponse = new ServiceResponse<>();
serviceResponse.setResult(Boolean.FALSE);
if (groupDTO.getGroupId() == null) {
serviceResponse.setCode(HaoBanErrCodeCommon.ERR_2.getCode());
return serviceResponse;
}
if (DEFAULT_GROUP_ID.equals(groupDTO.getGroupId())){
serviceResponse.setCode(HaoBanErrCodeCommon.ERR_5.getCode());
return serviceResponse;
}
TabHaobanHmGroupSetting tabHaobanHmGroupSetting = haobanHmGroupSettingMapper.selectByPrimaryKey(groupDTO.getGroupId());
if (tabHaobanHmGroupSetting == null || !HmGroupStatus.ENABLE.getCode().equals(tabHaobanHmGroupSetting.getStatus())) {
serviceResponse.setCode(HaoBanErrCodeCommon.ERR_5.getCode());
return serviceResponse;
}
// todo query hm 校验分组是否被引用
......@@ -144,4 +176,18 @@ public class HmGroupApiServiceImpl implements HmGroupApiService {
serviceResponse.setResult(haobanHmGroupSettingMapper.updateByPrimaryKeySelective(tempGroupSetting) == 1);
return serviceResponse;
}
/**
* 分组总引用次数
*
* @param enterpriseId
* @param wxEnterpriseId
* @return
*/
@Override
public ServiceResponse<Integer> queryGroupReferCount(String enterpriseId, String wxEnterpriseId) {
ServiceResponse<Integer> serviceResponse = new ServiceResponse<>();
serviceResponse.setResult(0);
return serviceResponse;
}
}
......@@ -5,13 +5,18 @@ import com.gic.commons.util.PageHelperUtils;
import com.gic.commons.util.UniqueIdUtils;
import com.gic.haoban.base.api.common.ServiceResponse;
import com.gic.haoban.base.api.common.errCode.HaoBanErrCodeCommon;
import com.gic.haoban.common.utils.PageUtil;
import com.gic.haoban.manage.api.dto.hm.HmPageQueryDTO;
import com.gic.haoban.manage.api.dto.hm.HmPageRelationQueryDTO;
import com.gic.haoban.manage.api.dto.hm.HmPageRelationRespDTO;
import com.gic.haoban.manage.api.dto.hm.HmPageTemplateDTO;
import com.gic.haoban.manage.api.dto.hm.HmPageTemplateRespDTO;
import com.gic.haoban.manage.api.enums.hm.HmPageTemplateStatus;
import com.gic.haoban.manage.api.service.hm.HmPageTemplateApiService;
import com.gic.haoban.manage.service.dao.mapper.hm.TabHaobanHmPageMapper;
import com.gic.haoban.manage.service.entity.hm.TabHaobanHmPage;
import com.gic.haoban.manage.service.pojo.bo.hm.HmPageRelationBO;
import com.gic.haoban.manage.service.pojo.qo.HmPageRelationQO;
import com.gic.haoban.manage.service.pojo.qo.HmPageTemplateQO;
import com.gic.haoban.manage.service.service.hm.HmPageRelationService;
import org.apache.commons.collections.CollectionUtils;
......@@ -32,7 +37,7 @@ import java.util.Objects;
* @Description
* @Version
**/
@Component
@Component(value = "hmPageTemplateApiServiceImpl")
public class HmPageTemplateApiServiceImpl implements HmPageTemplateApiService {
private static final Logger log = LoggerFactory.getLogger(HmPageTemplateApiServiceImpl.class);
......@@ -46,7 +51,7 @@ public class HmPageTemplateApiServiceImpl implements HmPageTemplateApiService {
public ServiceResponse<Long> saveOrUpdateHmPageTemplate(HmPageTemplateDTO pageTemplateDTO) {
ServiceResponse<Long> serviceResponse = new ServiceResponse<>();
if (Objects.isNull(pageTemplateDTO.getTemplateId())){
if (Objects.isNull(pageTemplateDTO.getTemplateId())) {
// save
TabHaobanHmPage haobanHmPage = new TabHaobanHmPage();
BeanUtils.copyProperties(pageTemplateDTO, haobanHmPage);
......@@ -62,20 +67,20 @@ public class HmPageTemplateApiServiceImpl implements HmPageTemplateApiService {
haobanHmPage.setStatus(HmPageTemplateStatus.ENABLE.getCode());
haobanHmPageMapper.insertSelective(haobanHmPage);
serviceResponse.setResult(haobanHmPage.getTemplateId());
}else {
} else {
// update
TabHaobanHmPage tempPageTemplate = haobanHmPageMapper.selectByPrimaryKey(pageTemplateDTO.getTemplateId());
if (Objects.isNull(tempPageTemplate)){
if (Objects.isNull(tempPageTemplate)) {
// 数据不存在
serviceResponse.setCode(HaoBanErrCodeCommon.ERR_8.getCode());
return serviceResponse;
}
if (!StringUtils.equals(tempPageTemplate.getEnterpriseId(), pageTemplateDTO.getEnterpriseId())){
if (!StringUtils.equals(tempPageTemplate.getEnterpriseId(), pageTemplateDTO.getEnterpriseId())) {
// 无权限
serviceResponse.setCode(HaoBanErrCodeCommon.ERR_9.getCode());
return serviceResponse;
}
if (!StringUtils.equals(tempPageTemplate.getWxEnterpriseId(), pageTemplateDTO.getWxEnterpriseId())){
if (!StringUtils.equals(tempPageTemplate.getWxEnterpriseId(), pageTemplateDTO.getWxEnterpriseId())) {
// 无权限
serviceResponse.setCode(HaoBanErrCodeCommon.ERR_9.getCode());
return serviceResponse;
......@@ -100,11 +105,11 @@ public class HmPageTemplateApiServiceImpl implements HmPageTemplateApiService {
ServiceResponse<Boolean> serviceResponse = new ServiceResponse<>();
TabHaobanHmPage haobanHmPage = haobanHmPageMapper.selectByPrimaryKey(pageTemplateDTO.getTemplateId());
if (Objects.isNull(haobanHmPage) || !Objects.equals(HmPageTemplateStatus.ENABLE.getCode(), haobanHmPage.getStatus())){
if (Objects.isNull(haobanHmPage) || !Objects.equals(HmPageTemplateStatus.ENABLE.getCode(), haobanHmPage.getStatus())) {
serviceResponse.setCode(HaoBanErrCodeCommon.ERR_8.getCode());
return serviceResponse;
}
if (checkPageIsBeQuoted(haobanHmPage.getTemplateCode())){
if (checkPageIsBeQuoted(haobanHmPage.getTemplateCode())) {
serviceResponse.setCode(HaoBanErrCodeCommon.ERR_9.getCode());
return serviceResponse;
}
......@@ -136,11 +141,32 @@ public class HmPageTemplateApiServiceImpl implements HmPageTemplateApiService {
/**
* 校验落地页模板pageTemplateCode 是否被关联
*
* @param pageTemplateCode
* @return true 存在关联
* false 不存在关联关系
*/
private boolean checkPageIsBeQuoted(String pageTemplateCode){
private boolean checkPageIsBeQuoted(String pageTemplateCode) {
return CollectionUtils.isEmpty(pageRelationService.queryPageTemplateRelation(pageTemplateCode));
}
/**
* 条件查询落地页关联详情
*
* @param relationQueryDTO
* @return
*/
@Override
public ServiceResponse<Page<HmPageRelationRespDTO>> queryPageRelation(HmPageRelationQueryDTO relationQueryDTO) {
HmPageRelationQO hmPageRelationQo = new HmPageRelationQO();
hmPageRelationQo.setTemplateSearchText(relationQueryDTO.getSearchText());
hmPageRelationQo.setEnterpriseId(relationQueryDTO.getEnterpriseId());
hmPageRelationQo.setWxEnterpriseId(relationQueryDTO.getWxEnterpriseId());
hmPageRelationQo.setPageNum(relationQueryDTO.getPageNum());
hmPageRelationQo.setPageSize(relationQueryDTO.getPageSize());
Page<HmPageRelationBO> hmPageRelationPage = pageRelationService.queryPageTemplateRelationWithSearchText(hmPageRelationQo);
ServiceResponse<Page<HmPageRelationRespDTO>> serviceResponse = new ServiceResponse<>();
serviceResponse.setResult(PageUtil.changeToCurrentPage(hmPageRelationPage, HmPageRelationRespDTO.class));
return serviceResponse;
}
}
package com.gic.haoban.manage.service.service.out.impl.hm;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.haoban.base.api.common.errCode.HaoBanErrCodeCommon;
import com.gic.haoban.common.utils.PageUtil;
import com.gic.haoban.manage.api.dto.hm.HmWelcomeRelationDTO;
import com.gic.haoban.manage.api.dto.welcome.qdto.QueryWelcomeRelationQDTO;
import com.gic.haoban.manage.api.service.hm.HmWelcomeRelationApiService;
import com.gic.haoban.manage.service.dao.mapper.TabHaobanWelcomeTemplateRelationMapper;
import com.gic.haoban.manage.service.entity.hm.TabHaobanWelcomeTemplateRelation;
import com.gic.haoban.manage.service.pojo.qo.WelcomeRelationQO;
import com.github.pagehelper.PageHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* @Author MUSI
* @Date 2022/7/4 10:52 AM
* @Description
* @Version
**/
@Component(value = "hmWelcomeRelationApiServiceImpl")
public class HmWelcomeRelationApiServiceImpl implements HmWelcomeRelationApiService {
@Autowired
private TabHaobanWelcomeTemplateRelationMapper welcomeTemplateRelationMapper;
/**
* 条件查询 欢迎语关联关系
*
* @param queryWelcomeRelationQDTO
* @return
*/
@Override
public ServiceResponse<Page<HmWelcomeRelationDTO>> queryWelcomeRelation(QueryWelcomeRelationQDTO queryWelcomeRelationQDTO) {
ServiceResponse<Page<HmWelcomeRelationDTO>> serviceResponse = new ServiceResponse<>();
if (queryWelcomeRelationQDTO.getWelcomeId() == null){
serviceResponse.setCode(HaoBanErrCodeCommon.ERR_2.getCode()+"");
serviceResponse.setMessage(HaoBanErrCodeCommon.ERR_2.getMsg());
return serviceResponse;
}
WelcomeRelationQO welcomeRelationQo = new WelcomeRelationQO();
welcomeRelationQo.setWelcomeId(queryWelcomeRelationQDTO.getWelcomeId());
PageHelper.startPage(queryWelcomeRelationQDTO.getPageNum(), queryWelcomeRelationQDTO.getPageSize());
com.github.pagehelper.Page<TabHaobanWelcomeTemplateRelation> tabHaobanWelcomeTemplateRelations =
(com.github.pagehelper.Page<TabHaobanWelcomeTemplateRelation>) welcomeTemplateRelationMapper.queryWelcomeTemplate(welcomeRelationQo);
Page<HmWelcomeRelationDTO> hmWelcomeRelationDTOPage = PageUtil.changePageHelperToCurrentPage(tabHaobanWelcomeTemplateRelations, HmWelcomeRelationDTO.class);
serviceResponse.setResult(hmWelcomeRelationDTOPage);
return serviceResponse;
}
}
......@@ -106,6 +106,14 @@
<dubbo:service interface="com.gic.haoban.manage.api.service.QywxErrorLogApiService"
ref="qywxErrorLogApiServiceImpl" timeout="10000"/>
<!-- hm -->
<dubbo:service interface="com.gic.haoban.manage.api.service.hm.HmGroupApiService"
ref="hmGroupApiServiceImpl" timeout="10000" />
<dubbo:service interface="com.gic.haoban.manage.api.service.hm.HmWelcomeRelationApiService"
ref="hmWelcomeRelationApiServiceImpl" timeout="10000" />
<dubbo:service interface="com.gic.haoban.manage.api.service.hm.HmPageTemplateApiService"
ref="hmPageTemplateApiServiceImpl" timeout="10000" />
<dubbo:reference interface="com.gic.enterprise.api.service.DepartmentService" id="gicDepartmentService"/>
<dubbo:reference interface="com.gic.wechat.api.service.qywx.QywxDepartmentApiService"
id="qywxDepartmentApiService"/>
......
......@@ -18,12 +18,13 @@
<result column="creator_name" property="creatorName"/>
<result column="modifier_id" property="modifierId"/>
<result column="modifier_name" property="modifierName"/>
<result column="type" property="type" jdbcType="INTEGER" />
</resultMap>
<sql id="Base_Column_List">
welcome_id
, wx_enterprise_id, title, welcome_content,welcome_img,open_flag, status_flag,
create_time, update_time, operator_id, operator_name, default_welcome_flag , creator_id , creator_name , modifier_id , modifier_name
create_time, update_time, operator_id, operator_name, default_welcome_flag , creator_id , creator_name , modifier_id , modifier_name, `type`
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
......@@ -42,7 +43,7 @@
<insert id="insert" parameterType="com.gic.haoban.manage.service.entity.TabWelcome">
insert into tab_haoban_welcome (welcome_id, wx_enterprise_id, title,
welcome_content, welcome_img, open_flag, status_flag, create_time,
update_time, operator_id, operator_name, default_welcome_flag , creator_id , creator_name,modifier_id,modifier_name)
update_time, operator_id, operator_name, default_welcome_flag , creator_id , creator_name,modifier_id,modifier_name, `type`)
values (#{welcomeId,jdbcType=VARCHAR},
#{wxEnterpriseId,jdbcType=VARCHAR},
#{title,jdbcType=VARCHAR},
......@@ -54,7 +55,8 @@
#{updateTime,jdbcType=TIMESTAMP},
#{operatorId,jdbcType=VARCHAR},
#{operatorName,jdbcType=VARCHAR},
#{defaultWelcomeFlag,jdbcType=INTEGER} , #{creatorId} , #{creatorName} , #{modifierId} , #{modifierName}
#{defaultWelcomeFlag,jdbcType=INTEGER} , #{creatorId} , #{creatorName} , #{modifierId} , #{modifierName},
#{type}
)
</insert>
......@@ -97,6 +99,9 @@
<if test="modifierName != null">
modifier_name = #{modifierName},
</if>
<if test="type != null">
`type` = #{type}
</if>
</set>
where welcome_id = #{welcomeId,jdbcType=VARCHAR}
</update>
......@@ -137,12 +142,14 @@
from tab_haoban_welcome where status_flag = 1
</select>
<select id="queryWelcome" resultMap="BaseResultMap">
<select id="queryWelcomeList" resultMap="BaseResultMap">
select <include refid="Base_Column_List"/>
from tab_haoban_welcome
<where>
wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR}
and status_flag = 1
status_flag = 1
<if test="wxEnterpriseId != null and wxEnterpriseId != '' ">
and wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR}
</if>
<if test="title != null and title != ''">
and title = #{title,jdbcType=VARCHAR}
</if>
......
......@@ -155,4 +155,14 @@
status = #{status,jdbcType=INTEGER}
where relation_id = #{relationId,jdbcType=BIGINT}
</update>
<select id="queryWelcomeTemplate" resultMap="BaseResultMap">
select <include refid="Base_Column_List"/>
from update tab_haoban_welcome_template_relation
<where>
<if test="welcomeId != null">
and welcome_id = #{welcomeId}
</if>
</where>
</select>
</mapper>
\ No newline at end of file
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