Commit f008a7a2 by songyinghui

feat: 活码分组、活码落地页 基础逻辑

parent 47b22bae
......@@ -12,6 +12,21 @@ public class HmGroupQueryDTO extends BasePageInfo {
private String groupName;
private String enterpriseId;
/**
* 微信企业id
*/
private String wxEnterpriseId;
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public String getGroupName() {
return groupName;
}
......@@ -19,4 +34,12 @@ public class HmGroupQueryDTO extends BasePageInfo {
public void setGroupName(String groupName) {
this.groupName = groupName;
}
public String getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(String enterpriseId) {
this.enterpriseId = enterpriseId;
}
}
package com.gic.haoban.manage.api.dto.hm;
import com.gic.haoban.base.api.common.BasePageInfo;
import java.util.Date;
/**
* @Author MUSI
* @Date 2022/7/1 2:47 PM
* @Description
* @Version
**/
public class HmPageQueryDTO extends BasePageInfo {
private String pageSearchText;
/**
* 开始时间
*/
private Date startTime;
/**
* 结束时间
*/
private Date endTime;
/**
* 企业id
*/
private String enterpriseId;
/**
* 微信企业id
*/
private String wxEnterpriseId;
public String getPageSearchText() {
return pageSearchText;
}
public void setPageSearchText(String pageSearchText) {
this.pageSearchText = pageSearchText;
}
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 Date getStartTime() {
return startTime;
}
public void setStartTime(Date startTime) {
this.startTime = startTime;
}
public Date getEndTime() {
return endTime;
}
public void setEndTime(Date endTime) {
this.endTime = endTime;
}
}
package com.gic.haoban.manage.api.dto.hm;
import com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO;
/**
* @Author MUSI
* @Date 2022/7/3 6:49 PM
* @Description
* @Version
**/
public class HmPageTemplateDTO extends WebLoginDTO {
/**
* 落地页id
*/
private Long templateId;
/**
* 落地页code
*/
private String templateCode;
/**
* 落地页模板名称
*/
private String templateName;
/**
* 页面标题
*/
private String pageTitle;
/**
* 商户名称
*/
private String merchantName;
/**
* 商户名称
*/
private String merchantPhoneNumber;
/**
* 商户logo
*/
private String merchantLogo;
/**
* 页面背景图
*/
private String pageBackgroudImg;
/**
* 引导语
*/
private String guideComment;
public Long getTemplateId() {
return templateId;
}
public void setTemplateId(Long templateId) {
this.templateId = templateId;
}
public String getTemplateCode() {
return templateCode;
}
public void setTemplateCode(String templateCode) {
this.templateCode = templateCode;
}
public String getTemplateName() {
return templateName;
}
public void setTemplateName(String templateName) {
this.templateName = templateName;
}
public String getPageTitle() {
return pageTitle;
}
public void setPageTitle(String pageTitle) {
this.pageTitle = pageTitle;
}
public String getMerchantName() {
return merchantName;
}
public void setMerchantName(String merchantName) {
this.merchantName = merchantName;
}
public String getMerchantPhoneNumber() {
return merchantPhoneNumber;
}
public void setMerchantPhoneNumber(String merchantPhoneNumber) {
this.merchantPhoneNumber = merchantPhoneNumber;
}
public String getMerchantLogo() {
return merchantLogo;
}
public void setMerchantLogo(String merchantLogo) {
this.merchantLogo = merchantLogo;
}
public String getPageBackgroudImg() {
return pageBackgroudImg;
}
public void setPageBackgroudImg(String pageBackgroudImg) {
this.pageBackgroudImg = pageBackgroudImg;
}
public String getGuideComment() {
return guideComment;
}
public void setGuideComment(String guideComment) {
this.guideComment = guideComment;
}
}
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 HmPageTemplateRespDTO implements Serializable {
/**
* 落地页id
*/
private Long templateId;
/**
* 落地页code
*/
private String templateCode;
/**
* 落地页模板名称
*/
private String templateName;
/**
* 企业id
*/
private String enterpriseId;
private String wxEnterpriseId;
private Integer status;
/**
* 页面标题
*/
private String pageTitle;
/**
* 商户名称
*/
private String merchantName;
/**
* 商户名称
*/
private String merchantPhoneNumber;
/**
* 商户logo
*/
private String merchantLogo;
/**
* 页面背景图
*/
private String pageBackgroudImg;
/**
* 引导语
*/
private String guideComment;
/**
* 创建人id
*/
private String createorId;
/**
* 创建人名称
*/
private String createorName;
private String modifierId;
private String modifierName;
/**
* 创建时间
*/
private Date createTime;
private Date updateTime;
public String getTemplateCode() {
return templateCode;
}
public void setTemplateCode(String templateCode) {
this.templateCode = templateCode;
}
public String getTemplateName() {
return templateName;
}
public void setTemplateName(String templateName) {
this.templateName = templateName;
}
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 Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public String getPageTitle() {
return pageTitle;
}
public void setPageTitle(String pageTitle) {
this.pageTitle = pageTitle;
}
public String getMerchantName() {
return merchantName;
}
public void setMerchantName(String merchantName) {
this.merchantName = merchantName;
}
public String getMerchantPhoneNumber() {
return merchantPhoneNumber;
}
public void setMerchantPhoneNumber(String merchantPhoneNumber) {
this.merchantPhoneNumber = merchantPhoneNumber;
}
public String getMerchantLogo() {
return merchantLogo;
}
public void setMerchantLogo(String merchantLogo) {
this.merchantLogo = merchantLogo;
}
public String getPageBackgroudImg() {
return pageBackgroudImg;
}
public void setPageBackgroudImg(String pageBackgroudImg) {
this.pageBackgroudImg = pageBackgroudImg;
}
public String getGuideComment() {
return guideComment;
}
public void setGuideComment(String guideComment) {
this.guideComment = guideComment;
}
public String getCreateorId() {
return createorId;
}
public void setCreateorId(String createorId) {
this.createorId = createorId;
}
public String getCreateorName() {
return createorName;
}
public void setCreateorName(String createorName) {
this.createorName = createorName;
}
public String getModifierId() {
return modifierId;
}
public void setModifierId(String modifierId) {
this.modifierId = modifierId;
}
public String getModifierName() {
return modifierName;
}
public void setModifierName(String modifierName) {
this.modifierName = modifierName;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public Long getTemplateId() {
return templateId;
}
public void setTemplateId(Long templateId) {
this.templateId = templateId;
}
}
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.HmPageTemplateDTO;
import com.gic.haoban.manage.api.dto.hm.HmPageTemplateRespDTO;
/**
* @Author MUSI
* @Date 2022/7/3 6:31 PM
* @Description
* @Version 落地页相关
**/
public interface HmPageTemplateApiService {
/**
* 保存/修改 落地页模板
*
* @param pageTemplateDTO
* @return
*/
ServiceResponse<Long> saveOrUpdateHmPageTemplate(HmPageTemplateDTO pageTemplateDTO);
/**
* 删除 活码落地页
*
* @param pageTemplateDTO
* @return
*/
ServiceResponse<Boolean> deleteHmPageTemplate(HmPageTemplateDTO pageTemplateDTO);
/**
* 条件查询 活码落地页模板
*
* @param pageQueryDTO
* @return
*/
ServiceResponse<Page<HmPageTemplateRespDTO>> queryPageTemplateList(HmPageQueryDTO pageQueryDTO);
}
package com.gic.haoban.manage.service.dao.mapper.hm;
import com.gic.haoban.manage.service.entity.hm.TabHaobanHmPage;
import com.gic.haoban.manage.service.pojo.qo.HmPageTemplateQO;
import java.util.List;
public interface TabHaobanHmPageMapper {
int deleteByPrimaryKey(Long templateId);
......@@ -14,4 +17,12 @@ public interface TabHaobanHmPageMapper {
int updateByPrimaryKeySelective(TabHaobanHmPage record);
int updateByPrimaryKey(TabHaobanHmPage record);
/**
* 条件查询 活码落地页模板
*
* @param pageTemplateQo
* @return
*/
List<TabHaobanHmPage> queryHmPageTemplateList(HmPageTemplateQO pageTemplateQo);
}
\ No newline at end of file
package com.gic.haoban.manage.service.dao.mapper.hm;
import com.gic.haoban.manage.service.entity.hm.TabHaobanHmPageRelation;
import com.gic.haoban.manage.service.pojo.qo.HmPageRelationQO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface TabHaobanHmPageRelationMapper {
int deleteByPrimaryKey(Long relationId);
......@@ -14,4 +18,6 @@ public interface TabHaobanHmPageRelationMapper {
int updateByPrimaryKeySelective(TabHaobanHmPageRelation record);
int updateByPrimaryKey(TabHaobanHmPageRelation record);
List<TabHaobanHmPageRelation> queryPageRelationList(HmPageRelationQO pageRelationQo);
}
\ No newline at end of file
......@@ -2,6 +2,8 @@ package com.gic.haoban.manage.service.pojo.qo;
import com.gic.haoban.base.api.common.BasePageInfo;
import java.util.Date;
/**
* @Author MUSI
* @Date 2022/7/1 4:47 PM
......@@ -13,6 +15,20 @@ public class HmGroupInfoQO extends BasePageInfo {
private String groupName;
/**
* 企业id
*/
private String enterpriseId;
/**
* 微信企业id
*/
private String wxEnterpriseId;
private Date startTime;
private Date endTime;
/**
* @see com.gic.haoban.manage.api.enums.hm.HmGroupStatus
*/
private Integer status;
......@@ -32,4 +48,36 @@ public class HmGroupInfoQO extends BasePageInfo {
public void setStatus(Integer status) {
this.status = status;
}
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 Date getStartTime() {
return startTime;
}
public void setStartTime(Date startTime) {
this.startTime = startTime;
}
public Date getEndTime() {
return endTime;
}
public void setEndTime(Date endTime) {
this.endTime = endTime;
}
}
package com.gic.haoban.manage.service.pojo.qo;
import com.gic.haoban.base.api.common.BasePageInfo;
/**
* @Author MUSI
* @Date 2022/7/3 9:54 PM
* @Description
* @Version
**/
public class HmPageRelationQO extends BasePageInfo {
private String templateCode;
private Integer status;
public String getTemplateCode() {
return templateCode;
}
public void setTemplateCode(String templateCode) {
this.templateCode = templateCode;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
}
package com.gic.haoban.manage.service.pojo.qo;
import com.gic.haoban.base.api.common.BasePageInfo;
import java.util.Date;
/**
* @Author MUSI
* @Date 2022/7/3 9:22 PM
* @Description
* @Version
**/
public class HmPageTemplateQO extends BasePageInfo {
/**
* 模板id/模板名称/创建人
*/
private String pageSearchText;
/**
* 企业id
*/
private String enterpriseId;
/**
* 微信企业id
*/
private String wxEnterpriseId;
private Date startTime;
private Date endTime;
/**
* @see com.gic.haoban.manage.api.enums.hm.HmPageTemplateStatus
*/
private Integer status;
public String getPageSearchText() {
return pageSearchText;
}
public void setPageSearchText(String pageSearchText) {
this.pageSearchText = pageSearchText;
}
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 Date getStartTime() {
return startTime;
}
public void setStartTime(Date startTime) {
this.startTime = startTime;
}
public Date getEndTime() {
return endTime;
}
public void setEndTime(Date endTime) {
this.endTime = endTime;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
}
......@@ -2,6 +2,8 @@ package com.gic.haoban.manage.service.service.hm;
import com.gic.haoban.manage.service.pojo.bo.hm.HmPageRelationBO;
import java.util.List;
/**
* @Author MUSI
* @Date 2022/7/1 5:37 PM
......@@ -13,14 +15,24 @@ public interface HmPageRelationService {
/**
* 保存活码 与落地页的引用关系
*
* @param hmPageRelationBO
*/
boolean savePageRelation(HmPageRelationBO hmPageRelationBO);
/**
* 更新 落地页关联状态
*
* @param hmPageRelationBO
* @return
*/
boolean updateRelationStatus(HmPageRelationBO hmPageRelationBO);
/**
* 根据落地页模板code 查询关联的引用方
*
* @param pageTemplateCode
* @return
*/
List<HmPageRelationBO> queryPageTemplateRelation(String pageTemplateCode);
}
package com.gic.haoban.manage.service.service.hm.impl;
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;
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.service.hm.HmPageRelationService;
import com.github.pagehelper.PageHelper;
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.List;
import java.util.stream.Collectors;
/**
* @Author MUSI
* @Date 2022/7/3 9:45 PM
* @Description
* @Version
**/
@Component
public class HmPageRelationServiceImpl implements HmPageRelationService {
private static final Logger log = LoggerFactory.getLogger(HmPageRelationServiceImpl.class);
@Autowired
private TabHaobanHmPageRelationMapper haobanHmPageRelationMapper;
@Override
public boolean savePageRelation(HmPageRelationBO hmPageRelationBO) {
return false;
}
@Override
public boolean updateRelationStatus(HmPageRelationBO hmPageRelationBO) {
return false;
}
@Override
public List<HmPageRelationBO> queryPageTemplateRelation(String pageTemplateCode) {
HmPageRelationQO hmPageRelationQo = new HmPageRelationQO();
hmPageRelationQo.setTemplateCode(pageTemplateCode);
hmPageRelationQo.setStatus(HmPageTemplateStatus.ENABLE.getCode());
hmPageRelationQo.setPageSize(1);
PageHelper.startPage(hmPageRelationQo.getPageNum(), hmPageRelationQo.getPageSize(), Boolean.FALSE);
List<TabHaobanHmPageRelation> tabHaobanHmPageRelations =
haobanHmPageRelationMapper.queryPageRelationList(hmPageRelationQo);
return tabHaobanHmPageRelations.stream().map(item -> {
HmPageRelationBO temp = new HmPageRelationBO();
BeanUtils.copyProperties(item, temp);
return temp;
}).collect(Collectors.toList());
}
}
......@@ -2,6 +2,7 @@ package com.gic.haoban.manage.service.service.out.impl.hm;
import com.alibaba.fastjson.JSON;
import com.gic.api.base.commons.Page;
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;
......@@ -48,6 +49,8 @@ public class HmGroupApiServiceImpl implements HmGroupApiService {
HmGroupInfoQO groupInfoQO = new HmGroupInfoQO();
groupInfoQO.setGroupName(hmGroupDTO.getGroupName());
groupInfoQO.setStatus(HmGroupStatus.ENABLE.getCode());
groupInfoQO.setEnterpriseId(hmGroupDTO.getEnterpriseId());
groupInfoQO.setWxEnterpriseId(groupInfoQO.getWxEnterpriseId());
List<TabHaobanHmGroupSetting> tabHaobanHmGroupSettings = haobanHmGroupSettingMapper.queryHmGroupSettingList(groupInfoQO);
if (hmGroupDTO.getGroupId() == null) {
// insert
......@@ -57,6 +60,7 @@ public class HmGroupApiServiceImpl implements HmGroupApiService {
return serviceResponse;
}
TabHaobanHmGroupSetting tempGroupSetting = new TabHaobanHmGroupSetting();
tempGroupSetting.setGroupId(UniqueIdUtils.uniqueLong());
tempGroupSetting.setGroupName(hmGroupDTO.getGroupName());
tempGroupSetting.setCreatorId(hmGroupDTO.getCreatorId());
tempGroupSetting.setCreatorName(hmGroupDTO.getCreatorName());
......@@ -68,17 +72,28 @@ public class HmGroupApiServiceImpl implements HmGroupApiService {
serviceResponse.setResult(tempGroupSetting.getGroupId());
} else {
// update
if (CollectionUtils.isEmpty(tabHaobanHmGroupSettings) || tabHaobanHmGroupSettings.size() > 1) {
return null;
if (CollectionUtils.isNotEmpty(tabHaobanHmGroupSettings)
&& tabHaobanHmGroupSettings.size() > 1) {
// 名称重复
serviceResponse.setCode(HaoBanErrCodeCommon.ERR_5.getCode());
return serviceResponse;
}
if (!tabHaobanHmGroupSettings.get(0).getGroupId().equals(hmGroupDTO.getGroupId())) {
return null;
if (CollectionUtils.isNotEmpty(tabHaobanHmGroupSettings)
&& !tabHaobanHmGroupSettings.get(0).getGroupId().equals(hmGroupDTO.getGroupId())) {
// 名称重复
serviceResponse.setCode(HaoBanErrCodeCommon.ERR_5.getCode());
return serviceResponse;
}
TabHaobanHmGroupSetting tabHaobanHmGroupSetting = haobanHmGroupSettingMapper.selectByPrimaryKey(hmGroupDTO.getGroupId());
if (tabHaobanHmGroupSetting == null) {
serviceResponse.setCode(HaoBanErrCodeCommon.ERR_8.getCode());
return serviceResponse;
}
if (!StringUtils.equals(tabHaobanHmGroupSetting.getEnterpriseId(), hmGroupDTO.getEnterpriseId())) {
// 无权限
serviceResponse.setCode(HaoBanErrCodeCommon.ERR_9.getCode());
return serviceResponse;
}
TabHaobanHmGroupSetting tempGroupSetting = new TabHaobanHmGroupSetting();
tempGroupSetting.setGroupId(tabHaobanHmGroupSetting.getGroupId());
tempGroupSetting.setGroupName(tabHaobanHmGroupSetting.getGroupName());
......@@ -88,6 +103,7 @@ public class HmGroupApiServiceImpl implements HmGroupApiService {
haobanHmGroupSettingMapper.updateByPrimaryKeySelective(tempGroupSetting);
serviceResponse.setResult(tempGroupSetting.getGroupId());
}
// todo 日志
return serviceResponse;
}
......@@ -98,7 +114,8 @@ public class HmGroupApiServiceImpl implements HmGroupApiService {
BeanUtils.copyProperties(groupInfoQO, 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);
com.github.pagehelper.Page<TabHaobanHmGroupSetting> tabHaobanHmGroupSettings =
(com.github.pagehelper.Page<TabHaobanHmGroupSetting>) haobanHmGroupSettingMapper.queryHmGroupSettingList(groupInfoQO);
Page<HmGroupDTO> groupDTOPage = PageUtil.changePageHelperToCurrentPage(tabHaobanHmGroupSettings, HmGroupDTO.class);
ServiceResponse<Page<HmGroupDTO>> serviceResponse = new ServiceResponse<>();
serviceResponse.setResult(groupDTOPage);
......@@ -117,7 +134,7 @@ public class HmGroupApiServiceImpl implements HmGroupApiService {
if (tabHaobanHmGroupSetting == null || !HmGroupStatus.ENABLE.getCode().equals(tabHaobanHmGroupSetting.getStatus())) {
return serviceResponse;
}
// 校验分组是否被引用
// todo query hm 校验分组是否被引用
TabHaobanHmGroupSetting tempGroupSetting = new TabHaobanHmGroupSetting();
tempGroupSetting.setGroupId(tabHaobanHmGroupSetting.getGroupId());
tempGroupSetting.setStatus(HmGroupStatus.DISABLE.getCode());
......
package com.gic.haoban.manage.service.service.out.impl.hm;
import com.gic.api.base.commons.Page;
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.manage.api.dto.hm.HmPageQueryDTO;
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.qo.HmPageTemplateQO;
import com.gic.haoban.manage.service.service.hm.HmPageRelationService;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
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 org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.Objects;
/**
* @Author MUSI
* @Date 2022/7/3 8:22 PM
* @Description
* @Version
**/
@Component
public class HmPageTemplateApiServiceImpl implements HmPageTemplateApiService {
private static final Logger log = LoggerFactory.getLogger(HmPageTemplateApiServiceImpl.class);
@Autowired
private TabHaobanHmPageMapper haobanHmPageMapper;
@Autowired
private HmPageRelationService pageRelationService;
@Override
public ServiceResponse<Long> saveOrUpdateHmPageTemplate(HmPageTemplateDTO pageTemplateDTO) {
ServiceResponse<Long> serviceResponse = new ServiceResponse<>();
if (Objects.isNull(pageTemplateDTO.getTemplateId())){
// save
TabHaobanHmPage haobanHmPage = new TabHaobanHmPage();
BeanUtils.copyProperties(pageTemplateDTO, haobanHmPage);
// todo
haobanHmPage.setTemplateCode("");
haobanHmPage.setTemplateId(UniqueIdUtils.uniqueLong());
haobanHmPage.setCreateorId(pageTemplateDTO.getClerkId());
haobanHmPage.setCreateorName(pageTemplateDTO.getClerkName());
haobanHmPage.setCreateTime(new Date());
haobanHmPage.setModifierId(pageTemplateDTO.getClerkId());
haobanHmPage.setModifierName(pageTemplateDTO.getClerkName());
haobanHmPage.setUpdateTime(new Date());
haobanHmPage.setStatus(HmPageTemplateStatus.ENABLE.getCode());
haobanHmPageMapper.insertSelective(haobanHmPage);
serviceResponse.setResult(haobanHmPage.getTemplateId());
}else {
// update
TabHaobanHmPage tempPageTemplate = haobanHmPageMapper.selectByPrimaryKey(pageTemplateDTO.getTemplateId());
if (Objects.isNull(tempPageTemplate)){
// 数据不存在
serviceResponse.setCode(HaoBanErrCodeCommon.ERR_8.getCode());
return serviceResponse;
}
if (!StringUtils.equals(tempPageTemplate.getEnterpriseId(), pageTemplateDTO.getEnterpriseId())){
// 无权限
serviceResponse.setCode(HaoBanErrCodeCommon.ERR_9.getCode());
return serviceResponse;
}
if (!StringUtils.equals(tempPageTemplate.getWxEnterpriseId(), pageTemplateDTO.getWxEnterpriseId())){
// 无权限
serviceResponse.setCode(HaoBanErrCodeCommon.ERR_9.getCode());
return serviceResponse;
}
TabHaobanHmPage haobanHmPage = new TabHaobanHmPage();
BeanUtils.copyProperties(pageTemplateDTO, haobanHmPage);
haobanHmPage.setTemplateId(tempPageTemplate.getTemplateId());
haobanHmPage.setTemplateCode(null);
haobanHmPage.setUpdateTime(new Date());
haobanHmPage.setModifierId(pageTemplateDTO.getClerkId());
haobanHmPage.setModifierName(pageTemplateDTO.getClerkName());
haobanHmPageMapper.updateByPrimaryKeySelective(haobanHmPage);
serviceResponse.setResult(pageTemplateDTO.getTemplateId());
}
// todo log
return serviceResponse;
}
@Override
@Transactional(rollbackFor = RuntimeException.class)
public ServiceResponse<Boolean> deleteHmPageTemplate(HmPageTemplateDTO pageTemplateDTO) {
ServiceResponse<Boolean> serviceResponse = new ServiceResponse<>();
TabHaobanHmPage haobanHmPage = haobanHmPageMapper.selectByPrimaryKey(pageTemplateDTO.getTemplateId());
if (Objects.isNull(haobanHmPage) || !Objects.equals(HmPageTemplateStatus.ENABLE.getCode(), haobanHmPage.getStatus())){
serviceResponse.setCode(HaoBanErrCodeCommon.ERR_8.getCode());
return serviceResponse;
}
if (checkPageIsBeQuoted(haobanHmPage.getTemplateCode())){
serviceResponse.setCode(HaoBanErrCodeCommon.ERR_9.getCode());
return serviceResponse;
}
TabHaobanHmPage tempHmPage = new TabHaobanHmPage();
tempHmPage.setTemplateId(haobanHmPage.getTemplateId());
tempHmPage.setStatus(HmPageTemplateStatus.DISABLE.getCode());
tempHmPage.setUpdateTime(new Date());
tempHmPage.setModifierId(pageTemplateDTO.getClerkId());
tempHmPage.setModifierName(pageTemplateDTO.getClerkName());
haobanHmPageMapper.updateByPrimaryKeySelective(tempHmPage);
serviceResponse.setResult(Boolean.TRUE);
// todo log
return serviceResponse;
}
@Override
public ServiceResponse<Page<HmPageTemplateRespDTO>> queryPageTemplateList(HmPageQueryDTO pageQueryDTO) {
HmPageTemplateQO pageTemplateQO = new HmPageTemplateQO();
BeanUtils.copyProperties(pageQueryDTO, pageTemplateQO);
pageTemplateQO.setStatus(HmPageTemplateStatus.ENABLE.getCode());
com.github.pagehelper.Page<TabHaobanHmPage> tabHaobanHmPages =
(com.github.pagehelper.Page<TabHaobanHmPage>) haobanHmPageMapper.queryHmPageTemplateList(pageTemplateQO);
Page<HmPageTemplateRespDTO> pageTemplateRespDTO =
PageHelperUtils.changePageHelperToCurrentPage(tabHaobanHmPages, HmPageTemplateRespDTO.class);
ServiceResponse<Page<HmPageTemplateRespDTO>> serviceResponse = new ServiceResponse<>();
serviceResponse.setResult(pageTemplateRespDTO);
return serviceResponse;
}
/**
* 校验落地页模板pageTemplateCode 是否被关联
* @param pageTemplateCode
* @return true 存在关联
* false 不存在关联关系
*/
private boolean checkPageIsBeQuoted(String pageTemplateCode){
return CollectionUtils.isEmpty(pageRelationService.queryPageTemplateRelation(pageTemplateCode));
}
}
......@@ -201,6 +201,12 @@
<if test="status != null">
and `status` = #{status}
</if>
<if test="enterpriseId != null and enterpriseId != ''">
and enterprise_id = #{enterpriseId}
</if>
<if test="wxEnterpriseId != null and wxEnterpriseId != ''">
and wx_enterprise_id = #{wxEnterpriseId}
</if>
</where>
</select>
......
......@@ -48,7 +48,8 @@
modifier_name, create_time, update_time)
values (#{templateId,jdbcType=BIGINT}, #{templateCode,jdbcType=CHAR}, #{templateName,jdbcType=VARCHAR},
#{enterpriseId,jdbcType=VARCHAR}, #{wxEnterpriseId,jdbcType=VARCHAR}, #{status,jdbcType=INTEGER},
#{pageTitle,jdbcType=VARCHAR}, #{merchantName,jdbcType=VARCHAR}, #{merchantPhoneNumber,jdbcType=VARCHAR},
#{pageTitle,jdbcType=VARCHAR}, #{merchantName,jdbcType=VARCHAR},
#{merchantPhoneNumber,jdbcType=VARCHAR},
#{merchantLogo,jdbcType=VARCHAR}, #{pageBackgroudImg,jdbcType=VARCHAR},
#{guideComment,jdbcType=VARCHAR},
#{createorId,jdbcType=VARCHAR}, #{createorName,jdbcType=VARCHAR}, #{modifierId,jdbcType=VARCHAR},
......@@ -228,23 +229,51 @@
</update>
<update id="updateByPrimaryKey" parameterType="com.gic.haoban.manage.service.entity.hm.TabHaobanHmPage">
update tab_haoban_hm_page
set template_code = #{templateCode,jdbcType=CHAR},
template_name = #{templateName,jdbcType=VARCHAR},
enterprise_id = #{enterpriseId,jdbcType=VARCHAR},
wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR},
status = #{status,jdbcType=INTEGER},
page_title = #{pageTitle,jdbcType=VARCHAR},
merchant_name = #{merchantName,jdbcType=VARCHAR},
set template_code = #{templateCode,jdbcType=CHAR},
template_name = #{templateName,jdbcType=VARCHAR},
enterprise_id = #{enterpriseId,jdbcType=VARCHAR},
wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR},
status = #{status,jdbcType=INTEGER},
page_title = #{pageTitle,jdbcType=VARCHAR},
merchant_name = #{merchantName,jdbcType=VARCHAR},
merchant_phone_number = #{merchantPhoneNumber,jdbcType=VARCHAR},
merchant_logo = #{merchantLogo,jdbcType=VARCHAR},
page_backgroud_img = #{pageBackgroudImg,jdbcType=VARCHAR},
guide_comment = #{guideComment,jdbcType=VARCHAR},
createor_id = #{createorId,jdbcType=VARCHAR},
createor_name = #{createorName,jdbcType=VARCHAR},
modifier_id = #{modifierId,jdbcType=VARCHAR},
modifier_name = #{modifierName,jdbcType=VARCHAR},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP}
merchant_logo = #{merchantLogo,jdbcType=VARCHAR},
page_backgroud_img = #{pageBackgroudImg,jdbcType=VARCHAR},
guide_comment = #{guideComment,jdbcType=VARCHAR},
createor_id = #{createorId,jdbcType=VARCHAR},
createor_name = #{createorName,jdbcType=VARCHAR},
modifier_id = #{modifierId,jdbcType=VARCHAR},
modifier_name = #{modifierName,jdbcType=VARCHAR},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP}
where template_id = #{templateId,jdbcType=BIGINT}
</update>
<select id="queryHmPageTemplateList" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_hm_page
<where>
<if test="pageSearchText != null and pageSearchText != ''">
( template_code = #{pageSearchText}
or template_name like concat('%', #{pageSearchText}, '%')
or createor_name like concat('%', #{pageSearchText}, '%') )
</if>
<if test="status != null">
and `status` = #{status}
</if>
<if test="enterpriseId != null and enterpriseId != ''">
and enterprise_id = #{enterpriseId}
</if>
<if test="wxEnterpriseId != null and wxEnterpriseId != ''">
and wx_enterprise_id = #{wxEnterpriseId}
</if>
<if test="startTime != null">
and create_time >= #{startTime}
</if>
<if test="endTime != null">
and #{endTime} >= create_time
</if>
</where>
</select>
</mapper>
\ No newline at end of file
......@@ -153,4 +153,17 @@
status = #{status,jdbcType=INTEGER}
where relation_id = #{relationId,jdbcType=BIGINT}
</update>
<select id="queryPageRelationList" resultMap="BaseResultMap">
select <include refid="Base_Column_List"/>
from tab_haoban_hm_page_releation
<where>
<if test="templateCode != null and templateCode != ''">
page_template_code = #{templateCode}
</if>
<if test="status != null">
and `status` = #{status}
</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