Commit 701bcbda by songyinghui

feat: 落地页调用链调整

parent b5f04372
package com.gic.haoban.manage.service.pojo.bo.hm;
import java.io.Serializable;
import java.util.Date;
/**
* @Author MUSI
* @Date 2022/7/8 3:57 PM
* @Description
* @Version
**/
public class HmPageBO implements Serializable {
/**
* 落地页id
*/
private Long pageId;
/**
* 落地页code
*/
private String pageCode;
/**
* 落地页模板名称
*/
private String pageName;
/**
* 企业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 pageBackgroundImg;
/**
* 引导语
*/
private String guideComment;
/**
* 创建人id
*/
private String createorId;
/**
* 创建人名称
*/
private String createorName;
private String modifierId;
private String modifierName;
/**
* 创建时间
*/
private Date createTime;
private Date updateTime;
public Long getPageId() {
return pageId;
}
public void setPageId(Long pageId) {
this.pageId = pageId;
}
public String getPageCode() {
return pageCode;
}
public void setPageCode(String pageCode) {
this.pageCode = pageCode;
}
public String getPageName() {
return pageName;
}
public void setPageName(String pageName) {
this.pageName = pageName;
}
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 getPageBackgroundImg() {
return pageBackgroundImg;
}
public void setPageBackgroundImg(String pageBackgroundImg) {
this.pageBackgroundImg = pageBackgroundImg;
}
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;
}
}
package com.gic.haoban.manage.service.service.hm;
import com.gic.api.base.commons.Page;
import com.gic.haoban.manage.api.dto.hm.HmPageTemplateDTO;
import com.gic.haoban.manage.service.pojo.bo.hm.HmPageBO;
import com.gic.haoban.manage.service.pojo.qo.HmPageTemplateQO;
/**
* @Author MUSI
* @Date 2022/7/1 5:49 PM
* @Description
* 落地页相关
* @Version
**/
public interface HmPageService {
/**
* 根据 referId 查询关联的落地页数据
* @param referId
* @return
*/
HmPageBO queryHmPageTemplateWithReferId(String referId);
/**
* 根据落地页id 查询落地页详情
* @param pageId
* @return
*/
HmPageBO queryHmPageDetail(Long pageId);
/**
* 条件查询落地页模板
* @param pageTemplateQo
* @return
*/
Page<HmPageBO> queryPageList(HmPageTemplateQO pageTemplateQo);
/**
* 删除落地页模板
* @param pageTemplateDTO
*/
void deleteHmPageTemplate(HmPageTemplateDTO pageTemplateDTO);
/**
* 保存
* @param pageTemplateDTO
* @return
*/
Long saveOrUpdateHmPageTemplate(HmPageTemplateDTO pageTemplateDTO);
}
package com.gic.haoban.manage.service.service.hm;
import com.gic.haoban.manage.service.entity.hm.TabHaobanHmPage;
/**
* @Author MUSI
* @Date 2022/7/1 5:49 PM
* @Description
* 落地页相关
* @Version
**/
public interface TabHaobanHmPageService {
/**
* 根据 referId 查询关联的落地页数据
* @param referId
* @return
*/
TabHaobanHmPage queryHmPageTemplateWithReferId(String referId);
}
package com.gic.haoban.manage.service.service.hm.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.manage.api.dto.hm.HmPageTemplateDTO;
import com.gic.haoban.manage.api.enums.hm.HmPageTemplateStatus;
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.HmPageBO;
import com.gic.haoban.manage.service.pojo.qo.HmPageTemplateQO;
import com.gic.haoban.manage.service.service.hm.HmPageService;
import com.github.pagehelper.PageHelper;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.Objects;
/**
* @Author MUSI
* @Date 2022/7/4 1:05 PM
* @Description
* @Version
**/
@Component
public class HmPageServiceImpl implements HmPageService {
@Autowired
private TabHaobanHmPageMapper haobanHmPageMapper;
private static final String TEMPLATE_CODE_PREFIX = "MB01";
/**
* 根据 referId 查询关联的落地页数据
*
* @param referId
* @return
*/
@Override
public HmPageBO queryHmPageTemplateWithReferId(String referId) {
return null;
}
/**
* 根据pageId 查询落地页详情
* @param pageId
* @return
*/
public HmPageBO queryHmPageDetail(Long pageId){
TabHaobanHmPage haobanHmPage = haobanHmPageMapper.selectByPrimaryKey(pageId);
if (haobanHmPage == null){
return null;
}
HmPageBO pageBO = new HmPageBO();
BeanUtils.copyProperties(haobanHmPage, pageBO);
return pageBO;
}
/**
* 条件查询落地页模板
*
* @param pageTemplateQo
* @return
*/
@Override
public Page<HmPageBO> queryPageList(HmPageTemplateQO pageTemplateQo) {
PageHelper.startPage(pageTemplateQo.getPageNum(), pageTemplateQo.getPageSize());
com.github.pagehelper.Page<TabHaobanHmPage> tabHaobanHmPages =
(com.github.pagehelper.Page<TabHaobanHmPage>) haobanHmPageMapper.queryHmPageTemplateList(pageTemplateQo);
return PageUtil.changePageHelperToCurrentPage(tabHaobanHmPages, HmPageBO.class);
}
/**
* 删除落地页模板
*
* @param pageTemplateDTO
*/
@Override
public void deleteHmPageTemplate(HmPageTemplateDTO pageTemplateDTO) {
TabHaobanHmPage tempHmPage = new TabHaobanHmPage();
tempHmPage.setPageId(pageTemplateDTO.getPageId());
tempHmPage.setStatus(HmPageTemplateStatus.DISABLE.getCode());
tempHmPage.setUpdateTime(new Date());
tempHmPage.setModifierId(pageTemplateDTO.getClerkId());
tempHmPage.setModifierName(pageTemplateDTO.getClerkName());
haobanHmPageMapper.updateByPrimaryKeySelective(tempHmPage);
}
/**
* 保存
*
* @param pageTemplateDTO
* @return
*/
@Override
public Long saveOrUpdateHmPageTemplate(HmPageTemplateDTO pageTemplateDTO) {
if (Objects.isNull(pageTemplateDTO.getPageId())) {
// save
TabHaobanHmPage haobanHmPage = new TabHaobanHmPage();
BeanUtils.copyProperties(pageTemplateDTO, haobanHmPage);
haobanHmPage.setPageId(UniqueIdUtils.uniqueLong());
haobanHmPage.setPageCode(this.generatorTemplateCode(haobanHmPage.getPageId()));
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);
return haobanHmPage.getPageId();
} else {
// update
TabHaobanHmPage haobanHmPage = new TabHaobanHmPage();
BeanUtils.copyProperties(pageTemplateDTO, haobanHmPage);
haobanHmPage.setPageId(pageTemplateDTO.getPageId());
haobanHmPage.setPageCode(null);
haobanHmPage.setUpdateTime(new Date());
haobanHmPage.setModifierId(pageTemplateDTO.getClerkId());
haobanHmPage.setModifierName(pageTemplateDTO.getClerkName());
haobanHmPageMapper.updateByPrimaryKeySelective(haobanHmPage);
return haobanHmPage.getPageId();
}
}
/**
* 生成模板code
* @return
*/
private String generatorTemplateCode(Long templateId){
return TEMPLATE_CODE_PREFIX + templateId;
}
}
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,8 +2,6 @@ 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.commons.util.PageHelperUtils;
import com.gic.commons.util.UniqueIdUtils;
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;
......@@ -13,13 +11,12 @@ 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.HmPageBO;
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 com.github.pagehelper.PageHelper;
import com.gic.haoban.manage.service.service.hm.HmPageService;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -28,7 +25,6 @@ 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.List;
import java.util.Objects;
......@@ -44,90 +40,57 @@ public class HmPageTemplateApiServiceImpl implements HmPageTemplateApiService {
private static final Logger log = LoggerFactory.getLogger(HmPageTemplateApiServiceImpl.class);
private static final String TEMPLATE_CODE_PREFIX = "MB01";
@Autowired
private TabHaobanHmPageMapper haobanHmPageMapper;
@Autowired
private HmPageRelationService pageRelationService;
@Autowired
private HmPageService haobanHmPageService;
@Override
public ServiceResponse<Long> saveOrUpdateHmPageTemplate(HmPageTemplateDTO pageTemplateDTO) {
if (Objects.isNull(pageTemplateDTO.getPageId())) {
// save
TabHaobanHmPage haobanHmPage = new TabHaobanHmPage();
BeanUtils.copyProperties(pageTemplateDTO, haobanHmPage);
haobanHmPage.setPageId(UniqueIdUtils.uniqueLong());
haobanHmPage.setPageCode(this.generatorTemplateCode(haobanHmPage.getPageId()));
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);
return ServiceResponse.success(haobanHmPage.getPageId());
} else {
if (Objects.nonNull(pageTemplateDTO.getPageId())) {
// update
TabHaobanHmPage tempPageTemplate = haobanHmPageMapper.selectByPrimaryKey(pageTemplateDTO.getPageId());
if (Objects.isNull(tempPageTemplate)) {
HmPageBO pageDetail = haobanHmPageService.queryHmPageDetail(pageTemplateDTO.getPageId());
if (Objects.isNull(pageDetail)) {
// 数据不存在
return ServiceResponse.failure(HaoBanErrCodeCommon.ERR_8.getCode()+"", HaoBanErrCodeCommon.ERR_8.getMsg());
return ServiceResponse.failure(HaoBanErrCodeCommon.ERR_8.getCode() + "", HaoBanErrCodeCommon.ERR_8.getMsg());
}
if (!StringUtils.equals(tempPageTemplate.getEnterpriseId(), pageTemplateDTO.getEnterpriseId())) {
if (!StringUtils.equals(pageDetail.getEnterpriseId(), pageTemplateDTO.getEnterpriseId())) {
// 无权限
return ServiceResponse.failure(HaoBanErrCodeCommon.ERR_9.getCode()+"", HaoBanErrCodeCommon.ERR_9.getMsg());
return ServiceResponse.failure(HaoBanErrCodeCommon.ERR_9.getCode() + "", HaoBanErrCodeCommon.ERR_9.getMsg());
}
if (!StringUtils.equals(tempPageTemplate.getWxEnterpriseId(), pageTemplateDTO.getWxEnterpriseId())) {
if (!StringUtils.equals(pageDetail.getWxEnterpriseId(), pageTemplateDTO.getWxEnterpriseId())) {
// 无权限
return ServiceResponse.failure(HaoBanErrCodeCommon.ERR_9.getCode()+"", HaoBanErrCodeCommon.ERR_9.getMsg());
return ServiceResponse.failure(HaoBanErrCodeCommon.ERR_9.getCode() + "", HaoBanErrCodeCommon.ERR_9.getMsg());
}
TabHaobanHmPage haobanHmPage = new TabHaobanHmPage();
BeanUtils.copyProperties(pageTemplateDTO, haobanHmPage);
haobanHmPage.setPageId(tempPageTemplate.getPageId());
haobanHmPage.setPageCode(null);
haobanHmPage.setUpdateTime(new Date());
haobanHmPage.setModifierId(pageTemplateDTO.getClerkId());
haobanHmPage.setModifierName(pageTemplateDTO.getClerkName());
haobanHmPageMapper.updateByPrimaryKeySelective(haobanHmPage);
return ServiceResponse.success(haobanHmPage.getPageId());
}
return ServiceResponse.success(haobanHmPageService.saveOrUpdateHmPageTemplate(pageTemplateDTO));
}
@Override
@Transactional(rollbackFor = RuntimeException.class)
public ServiceResponse<Boolean> deleteHmPageTemplate(HmPageTemplateDTO pageTemplateDTO) {
ServiceResponse<Boolean> serviceResponse = new ServiceResponse<>();
TabHaobanHmPage haobanHmPage = haobanHmPageMapper.selectByPrimaryKey(pageTemplateDTO.getPageId());
if (Objects.isNull(haobanHmPage) || !Objects.equals(HmPageTemplateStatus.ENABLE.getCode(), haobanHmPage.getStatus())) {
return ServiceResponse.failure(HaoBanErrCodeCommon.ERR_8.getCode()+"", HaoBanErrCodeCommon.ERR_8.getMsg());
HmPageBO pageBo = haobanHmPageService.queryHmPageDetail(pageTemplateDTO.getPageId());
if (Objects.isNull(pageBo) || !Objects.equals(HmPageTemplateStatus.ENABLE.getCode(), pageBo.getStatus())) {
return ServiceResponse.failure(HaoBanErrCodeCommon.ERR_8.getCode() + "", HaoBanErrCodeCommon.ERR_8.getMsg());
}
if (checkPageIsBeQuoted(haobanHmPage.getPageCode()) > 0) {
return ServiceResponse.failure(HaoBanErrCodeCommon.ERR_9.getCode()+"", HaoBanErrCodeCommon.ERR_9.getMsg());
if (this.checkPageIsBeQuoted(pageBo.getPageCode()) > 0) {
return ServiceResponse.failure(HaoBanErrCodeCommon.ERR_9.getCode() + "", HaoBanErrCodeCommon.ERR_9.getMsg());
}
TabHaobanHmPage tempHmPage = new TabHaobanHmPage();
tempHmPage.setPageId(haobanHmPage.getPageId());
tempHmPage.setStatus(HmPageTemplateStatus.DISABLE.getCode());
tempHmPage.setUpdateTime(new Date());
tempHmPage.setModifierId(pageTemplateDTO.getClerkId());
tempHmPage.setModifierName(pageTemplateDTO.getClerkName());
haobanHmPageMapper.updateByPrimaryKeySelective(tempHmPage);
haobanHmPageService.deleteHmPageTemplate(pageTemplateDTO);
return ServiceResponse.success(Boolean.TRUE);
}
@Override
public ServiceResponse<Page<HmPageTemplateRespDTO>> queryPageTemplateList(HmPageQueryDTO pageQueryDTO) {
HmPageTemplateQO pageTemplateQO = new HmPageTemplateQO();
BeanUtils.copyProperties(pageQueryDTO, pageTemplateQO);
pageTemplateQO.setStatus(HmPageTemplateStatus.ENABLE.getCode());
PageHelper.startPage(pageQueryDTO.getPageNum(), pageTemplateQO.getPageSize());
com.github.pagehelper.Page<TabHaobanHmPage> tabHaobanHmPages =
(com.github.pagehelper.Page<TabHaobanHmPage>) haobanHmPageMapper.queryHmPageTemplateList(pageTemplateQO);
Page<HmPageTemplateRespDTO> pageTemplateRespDTO =
PageHelperUtils.changePageHelperToCurrentPage(tabHaobanHmPages, HmPageTemplateRespDTO.class);
return ServiceResponse.success(pageTemplateRespDTO);
HmPageTemplateQO pageTemplateQo = new HmPageTemplateQO();
BeanUtils.copyProperties(pageQueryDTO, pageTemplateQo);
pageTemplateQo.setStatus(HmPageTemplateStatus.ENABLE.getCode());
Page<HmPageBO> hmPageBoPages = haobanHmPageService.queryPageList(pageTemplateQo);
Page<HmPageTemplateRespDTO> pageRespVos = PageUtil.changeToCurrentPage(hmPageBoPages, HmPageTemplateRespDTO.class);
return ServiceResponse.success(pageRespVos);
}
/**
......@@ -156,33 +119,25 @@ public class HmPageTemplateApiServiceImpl implements HmPageTemplateApiService {
hmPageRelationQo.setWxEnterpriseId(relationQueryDTO.getWxEnterpriseId());
hmPageRelationQo.setPageNum(relationQueryDTO.getPageNum());
hmPageRelationQo.setPageSize(relationQueryDTO.getPageSize());
hmPageRelationQo.setPageCode(relationQueryDTO.getPageId()+"");
hmPageRelationQo.setPageCode(relationQueryDTO.getPageId() + "");
Page<HmPageRelationBO> hmPageRelationPage = pageRelationService.queryPageTemplateRelationWithSearchText(hmPageRelationQo);
return ServiceResponse.success(PageUtil.changeToCurrentPage(hmPageRelationPage, HmPageRelationRespDTO.class));
}
/**
* 生成模板code
* @return
*/
private String generatorTemplateCode(Long templateId){
return TEMPLATE_CODE_PREFIX + templateId;
}
/**
* 根据页面id 查询
*
* @param templateId
* @param pageId
* @return
*/
@Override
public ServiceResponse<HmPageTemplateRespDTO> queryPageTemplateDetail(Long templateId) {
TabHaobanHmPage haobanHmPage = haobanHmPageMapper.selectByPrimaryKey(templateId);
if (haobanHmPage == null){
public ServiceResponse<HmPageTemplateRespDTO> queryPageTemplateDetail(Long pageId) {
HmPageBO pageBO = haobanHmPageService.queryHmPageDetail(pageId);
if (pageBO == null) {
return ServiceResponse.success();
}
HmPageTemplateRespDTO hmPageTemplateRespDTO = new HmPageTemplateRespDTO();
BeanUtils.copyProperties(haobanHmPage, hmPageTemplateRespDTO);
BeanUtils.copyProperties(pageBO, hmPageTemplateRespDTO);
return ServiceResponse.success(hmPageTemplateRespDTO);
}
}
import com.alibaba.fastjson.JSON;
import com.gic.haoban.manage.api.dto.hm.HmPageTemplateDTO;
import com.gic.haoban.manage.service.entity.hm.TabHaobanHmPage;
import org.springframework.beans.BeanUtils;
/**
* @Author MUSI
* @Date 2022/7/8 3:39 PM
* @Description
* @Version
**/
public class TestBeanCopy {
public static void main(String[] args) {
HmPageTemplateDTO pageTemplateDTO = new HmPageTemplateDTO();
pageTemplateDTO.setPageBackgroundImg("dadadadasd");
TabHaobanHmPage temp = new TabHaobanHmPage();
BeanUtils.copyProperties(pageTemplateDTO, temp);
System.out.println(JSON.toJSONString(temp));
}
}
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