Commit b1b9f596 by 徐高华

Merge branch 'developer' of

http://git.gicdev.com/haoban3.0/haoban-manage3.0.git into developer

Conflicts:
	haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/hm/HmLinkController.java
parents e3459ab3 1c10c7b0
...@@ -40,9 +40,17 @@ public class HmLinkDTO implements Serializable { ...@@ -40,9 +40,17 @@ public class HmLinkDTO implements Serializable {
private String memberLabelId; private String memberLabelId;
/**0删除 1正常*/ /**0删除 1正常*/
private Integer statusFlag; private Integer statusFlag;
private String shortCode ;
private List<HmLinkStoreDTO> storeList; private List<HmLinkStoreDTO> storeList;
public String getShortCode() {
return shortCode;
}
public void setShortCode(String shortCode) {
this.shortCode = shortCode;
}
public List<HmLinkStoreDTO> getStoreList() { public List<HmLinkStoreDTO> getStoreList() {
return storeList; return storeList;
} }
......
...@@ -16,7 +16,7 @@ public class HmLinkWxaDTO implements Serializable { ...@@ -16,7 +16,7 @@ public class HmLinkWxaDTO implements Serializable {
private static final long serialVersionUID = 6473795387449522116L; private static final long serialVersionUID = 6473795387449522116L;
private HmPageTemplateDTO page; private HmPageDTO page;
// 二维码 // 二维码
private String hmQrcode; private String hmQrcode;
...@@ -60,11 +60,11 @@ public class HmLinkWxaDTO implements Serializable { ...@@ -60,11 +60,11 @@ public class HmLinkWxaDTO implements Serializable {
this.selectStoreFlag = selectStoreFlag; this.selectStoreFlag = selectStoreFlag;
} }
public HmPageTemplateDTO getPage() { public HmPageDTO getPage() {
return page; return page;
} }
public void setPage(HmPageTemplateDTO page) { public void setPage(HmPageDTO page) {
this.page = page; this.page = page;
} }
} }
\ No newline at end of file
...@@ -9,9 +9,10 @@ import java.util.Date; ...@@ -9,9 +9,10 @@ import java.util.Date;
* @Description * @Description
* @Version * @Version
**/ **/
public class HmPageTemplateRespDTO implements Serializable { public class HmPageDTO implements Serializable {
private static final long serialVersionUID = 8049920392780217427L;
private static final long serialVersionUID = 4804653087679367805L;
/** /**
* 落地页id * 落地页id
*/ */
...@@ -87,6 +88,14 @@ public class HmPageTemplateRespDTO implements Serializable { ...@@ -87,6 +88,14 @@ public class HmPageTemplateRespDTO implements Serializable {
private Date updateTime; private Date updateTime;
public Long getPageId() {
return pageId;
}
public void setPageId(Long pageId) {
this.pageId = pageId;
}
public String getPageCode() { public String getPageCode() {
return pageCode; return pageCode;
} }
...@@ -103,30 +112,6 @@ public class HmPageTemplateRespDTO implements Serializable { ...@@ -103,30 +112,6 @@ public class HmPageTemplateRespDTO implements Serializable {
this.pageName = 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() { public String getPageTitle() {
return pageTitle; return pageTitle;
} }
...@@ -175,6 +160,30 @@ public class HmPageTemplateRespDTO implements Serializable { ...@@ -175,6 +160,30 @@ public class HmPageTemplateRespDTO implements Serializable {
this.guideComment = guideComment; this.guideComment = guideComment;
} }
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 getCreateorId() { public String getCreateorId() {
return createorId; return createorId;
} }
...@@ -222,12 +231,4 @@ public class HmPageTemplateRespDTO implements Serializable { ...@@ -222,12 +231,4 @@ public class HmPageTemplateRespDTO implements Serializable {
public void setUpdateTime(Date updateTime) { public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime; this.updateTime = updateTime;
} }
public Long getPageId() {
return pageId;
}
public void setPageId(Long pageId) {
this.pageId = pageId;
}
} }
package com.gic.haoban.manage.api.dto.hm; package com.gic.haoban.manage.api.dto.hm;
import com.gic.haoban.manage.api.enums.hm.HmPageType;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date;
/** /**
* @Author MUSI * @Author MUSI
...@@ -9,7 +10,7 @@ import java.util.Date; ...@@ -9,7 +10,7 @@ import java.util.Date;
* @Description * @Description
* @Version * @Version
**/ **/
public class HmPageRelationRespDTO implements Serializable { public class HmPageRelationDTO implements Serializable {
private static final long serialVersionUID = 8682427720134740563L; private static final long serialVersionUID = 8682427720134740563L;
/** /**
...@@ -41,7 +42,7 @@ public class HmPageRelationRespDTO implements Serializable { ...@@ -41,7 +42,7 @@ public class HmPageRelationRespDTO implements Serializable {
/** /**
* 引用方来源 * 引用方来源
* *
* @see com.gic.haoban.manage.api.enums.hm.HmPageTemplateType * @see HmPageType
*/ */
private Integer type; private Integer type;
......
package com.gic.haoban.manage.api.dto.hm; package com.gic.haoban.manage.api.dto.qdto.hm;
import com.gic.haoban.base.api.common.BasePageInfo; import com.gic.haoban.base.api.common.BasePageInfo;
...@@ -10,7 +10,7 @@ import java.util.Date; ...@@ -10,7 +10,7 @@ import java.util.Date;
* @Description * @Description
* @Version * @Version
**/ **/
public class HmPageQueryDTO extends BasePageInfo { public class HmPageQDTO extends BasePageInfo {
private static final long serialVersionUID = 7554464387425111232L; private static final long serialVersionUID = 7554464387425111232L;
private String pageSearchText; private String pageSearchText;
......
package com.gic.haoban.manage.api.dto.hm; package com.gic.haoban.manage.api.dto.qdto.hm;
import com.gic.haoban.base.api.common.BasePageInfo; import com.gic.haoban.base.api.common.BasePageInfo;
...@@ -8,7 +8,7 @@ import com.gic.haoban.base.api.common.BasePageInfo; ...@@ -8,7 +8,7 @@ import com.gic.haoban.base.api.common.BasePageInfo;
* @Description * @Description
* @Version * @Version
**/ **/
public class HmPageRelationQueryDTO extends BasePageInfo { public class HmPageRelationQDTO extends BasePageInfo {
private static final long serialVersionUID = -7239030561346484410L; private static final long serialVersionUID = -7239030561346484410L;
private String searchText; private String searchText;
......
...@@ -9,8 +9,9 @@ import java.io.Serializable; ...@@ -9,8 +9,9 @@ import java.io.Serializable;
* @Version * @Version
* 活码删除失败时返回对象 * 活码删除失败时返回对象
**/ **/
public class WelcomeRemoveDTO implements Serializable { public class WelcomeRemoveCheckDTO implements Serializable {
private static final long serialVersionUID = 6300468958582699365L;
/** /**
* 活码引用数量 * 活码引用数量
*/ */
......
...@@ -6,7 +6,7 @@ package com.gic.haoban.manage.api.enums.hm; ...@@ -6,7 +6,7 @@ package com.gic.haoban.manage.api.enums.hm;
* @Description * @Description
* @Version * @Version
**/ **/
public enum HmPageTemplateStatus { public enum HmPageStatus {
/** /**
...@@ -18,7 +18,7 @@ public enum HmPageTemplateStatus { ...@@ -18,7 +18,7 @@ public enum HmPageTemplateStatus {
* 删除 * 删除
*/ */
DISABLE(0, "禁用"); DISABLE(0, "禁用");
HmPageTemplateStatus(Integer code, String desc){ HmPageStatus(Integer code, String desc){
this.code = code; this.code = code;
this.desc = desc; this.desc = desc;
} }
......
...@@ -6,11 +6,11 @@ package com.gic.haoban.manage.api.enums.hm; ...@@ -6,11 +6,11 @@ package com.gic.haoban.manage.api.enums.hm;
* @Description * @Description
* @Version * @Version
**/ **/
public enum HmPageTemplateType { public enum HmPageType {
LINK(1, "引流链接"); LINK(1, "引流链接");
HmPageTemplateType(Integer code, String desc){ HmPageType(Integer code, String desc){
this.code = code; this.code = code;
this.desc = desc; this.desc = desc;
} }
......
...@@ -44,5 +44,5 @@ public interface HmGroupApiService { ...@@ -44,5 +44,5 @@ public interface HmGroupApiService {
* @param wxEnterpriseId * @param wxEnterpriseId
* @return * @return
*/ */
ServiceResponse<Integer> queryGroupReferCount(String enterpriseId, String wxEnterpriseId); ServiceResponse<Integer> queryGroupTotalReferCount(String enterpriseId, String wxEnterpriseId);
} }
\ No newline at end of file
...@@ -49,5 +49,5 @@ public interface HmLinkApiService { ...@@ -49,5 +49,5 @@ public interface HmLinkApiService {
* @throws * @throws
*/ */
public ServiceResponse<HmLinkWxaDTO> getLinkHmFromWxa(String enterpriseId, Integer whitchStore, String storeId, public ServiceResponse<HmLinkWxaDTO> getLinkHmFromWxa(String enterpriseId, Integer whitchStore, String storeId,
String clerkId, String linkId, String mixPhone, String unionid); String clerkId, String linkShortCode, String mixPhone, String unionid);
} }
...@@ -2,11 +2,10 @@ package com.gic.haoban.manage.api.service.hm; ...@@ -2,11 +2,10 @@ package com.gic.haoban.manage.api.service.hm;
import com.gic.api.base.commons.Page; import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse; import com.gic.api.base.commons.ServiceResponse;
import com.gic.haoban.manage.api.dto.hm.HmPageQueryDTO; import com.gic.haoban.manage.api.dto.hm.HmPageDTO;
import com.gic.haoban.manage.api.dto.hm.HmPageRelationQueryDTO; import com.gic.haoban.manage.api.dto.hm.HmPageRelationDTO;
import com.gic.haoban.manage.api.dto.hm.HmPageRelationRespDTO; import com.gic.haoban.manage.api.dto.qdto.hm.HmPageQDTO;
import com.gic.haoban.manage.api.dto.hm.HmPageTemplateDTO; import com.gic.haoban.manage.api.dto.qdto.hm.HmPageRelationQDTO;
import com.gic.haoban.manage.api.dto.hm.HmPageTemplateRespDTO;
/** /**
* @Author MUSI * @Author MUSI
...@@ -14,24 +13,24 @@ import com.gic.haoban.manage.api.dto.hm.HmPageTemplateRespDTO; ...@@ -14,24 +13,24 @@ import com.gic.haoban.manage.api.dto.hm.HmPageTemplateRespDTO;
* @Description * @Description
* @Version 落地页相关 * @Version 落地页相关
**/ **/
public interface HmPageTemplateApiService { public interface HmPageApiService {
/** /**
* 保存/修改 落地页模板 * 保存/修改 落地页模板
* *
* @param pageTemplateDTO * @param hmPageDTO
* @return * @return
*/ */
ServiceResponse<Long> saveOrUpdateHmPageTemplate(HmPageTemplateDTO pageTemplateDTO); ServiceResponse<Long> saveOrUpdateHmPage(HmPageDTO hmPageDTO);
/** /**
* 删除 活码落地页 * 删除 活码落地页
* *
* @param pageTemplateDTO * @param pageDTO
* @return * @return
*/ */
ServiceResponse<Boolean> deleteHmPageTemplate(HmPageTemplateDTO pageTemplateDTO); ServiceResponse<Boolean> deleteHmPage(HmPageDTO pageDTO);
/** /**
...@@ -40,20 +39,20 @@ public interface HmPageTemplateApiService { ...@@ -40,20 +39,20 @@ public interface HmPageTemplateApiService {
* @param pageQueryDTO * @param pageQueryDTO
* @return * @return
*/ */
ServiceResponse<Page<HmPageTemplateRespDTO>> queryPageTemplateList(HmPageQueryDTO pageQueryDTO); ServiceResponse<Page<HmPageDTO>> queryPageList(HmPageQDTO pageQueryDTO);
/** /**
* 条件查询落地页关联详情 * 条件查询落地页关联详情
* @param relationQueryDTO * @param relationQueryDTO
* @return * @return
*/ */
ServiceResponse<Page<HmPageRelationRespDTO>> queryPageRelation(HmPageRelationQueryDTO relationQueryDTO); ServiceResponse<Page<HmPageRelationDTO>> queryPageRelation(HmPageRelationQDTO relationQueryDTO);
/** /**
* 根据页面id 查询 * 根据页面id 查询
* @param templateId * @param pageId
* @return * @return
*/ */
ServiceResponse<HmPageTemplateRespDTO> queryPageTemplateDetail(Long templateId); ServiceResponse<HmPageDTO> queryPageDetail(Long pageId);
} }
...@@ -5,7 +5,7 @@ import com.gic.api.base.commons.ServiceResponse; ...@@ -5,7 +5,7 @@ import com.gic.api.base.commons.ServiceResponse;
import com.gic.haoban.manage.api.dto.welcome.dto.FriendSettingDetailDTO; import com.gic.haoban.manage.api.dto.welcome.dto.FriendSettingDetailDTO;
import com.gic.haoban.manage.api.dto.welcome.dto.WelcomeDetailDTO; import com.gic.haoban.manage.api.dto.welcome.dto.WelcomeDetailDTO;
import com.gic.haoban.manage.api.dto.welcome.dto.WelcomeListDTO; import com.gic.haoban.manage.api.dto.welcome.dto.WelcomeListDTO;
import com.gic.haoban.manage.api.dto.welcome.dto.WelcomeRemoveDTO; import com.gic.haoban.manage.api.dto.welcome.dto.WelcomeRemoveCheckDTO;
import com.gic.haoban.manage.api.dto.welcome.qdto.QueryWelcomeQDTO; import com.gic.haoban.manage.api.dto.welcome.qdto.QueryWelcomeQDTO;
import com.gic.haoban.manage.api.dto.welcome.qdto.SaveFriendSettingQDTO; import com.gic.haoban.manage.api.dto.welcome.qdto.SaveFriendSettingQDTO;
import com.gic.haoban.manage.api.dto.welcome.qdto.SaveWelcomeQDTO; import com.gic.haoban.manage.api.dto.welcome.qdto.SaveWelcomeQDTO;
...@@ -123,6 +123,14 @@ public interface WelcomeApiService { ...@@ -123,6 +123,14 @@ public interface WelcomeApiService {
* @param welcomeId * @param welcomeId
* @return * @return
*/ */
ServiceResponse<WelcomeRemoveDTO> removeWelcomeWithErrorInfo(String welcomeId); ServiceResponse<WelcomeRemoveCheckDTO> removeWelcomeWithErrorInfo(String welcomeId);
/**
* 欢迎语被引用统计
* @param welcomeId
* @return
*/
ServiceResponse<WelcomeRemoveCheckDTO> welcomeReferStatistics(String welcomeId);
} }
...@@ -40,6 +40,18 @@ public interface HmLinkMapper { ...@@ -40,6 +40,18 @@ public interface HmLinkMapper {
*/ */
public TabHmLink selectById(Long linkId); public TabHmLink selectById(Long linkId);
/**
*
* @Title: selectByShortCode
* @Description: 通过短code查询
* @author xugh
* @param enterpriseId
* @param shortCode
* @return
* @throws
*/
public TabHmLink selectByShortCode(String enterpriseId, String shortCode) ;
public List<TabHmLink> listForSms(@Param("wxEnterpriseId") String wxEnterpriseId, public List<TabHmLink> listForSms(@Param("wxEnterpriseId") String wxEnterpriseId,
@Param("enterpriseId") String enterpriseId, @Param("linkName") String linkName, @Param("enterpriseId") String enterpriseId, @Param("linkName") String linkName,
@Param("linkType") Integer linkType); @Param("linkType") Integer linkType);
......
...@@ -24,13 +24,26 @@ public interface WxUserAddLogMapper { ...@@ -24,13 +24,26 @@ public interface WxUserAddLogMapper {
public int insert(TabWxUserAddLog entity); public int insert(TabWxUserAddLog entity);
/** /**
* 通过条件查询 *
* @Title: listAll * @Title: listAllForDel
* @Description: TODO * @Description: TODO(这里用一句话描述这个方法的作用)
* @Param @param TabHaobanWxUserAddLog * @author xugh
* @Param @return * @param externalUserid
* @Return List * @return
* @Throws * @throws
*/
public List<TabWxUserAddLog> listAllForDel(String externalUserid);
/**
*
* @Title: selectNewLog
* @Description: 查询外部联系人最新添加的好友记录
* @author xugh
* @param externalUserid
* @param wxUserId
* @return
* @throws
*/ */
public List<TabWxUserAddLog> listAll(TabWxUserAddLog tabHaobanWxUserAddLog); public TabWxUserAddLog selectNewLog(String externalUserid, String wxUserId);
} }
\ No newline at end of file
...@@ -16,6 +16,7 @@ public class TabHmLink implements Serializable { ...@@ -16,6 +16,7 @@ public class TabHmLink implements Serializable {
private static final long serialVersionUID = 1967119533845800L; private static final long serialVersionUID = 1967119533845800L;
private Long linkId; private Long linkId;
private String shortCode ;
private String linkCode; private String linkCode;
/**1通用链接 2专用链接*/ /**1通用链接 2专用链接*/
private Integer linkType; private Integer linkType;
...@@ -40,6 +41,14 @@ public class TabHmLink implements Serializable { ...@@ -40,6 +41,14 @@ public class TabHmLink implements Serializable {
/**0删除 1正常*/ /**0删除 1正常*/
private Integer statusFlag; private Integer statusFlag;
public String getShortCode() {
return shortCode;
}
public void setShortCode(String shortCode) {
this.shortCode = shortCode;
}
public void setLinkId(Long linkId) { public void setLinkId(Long linkId) {
this.linkId = linkId; this.linkId = linkId;
} }
......
...@@ -11,6 +11,8 @@ import java.io.Serializable; ...@@ -11,6 +11,8 @@ import java.io.Serializable;
public class HmGroupRelationBO implements Serializable { public class HmGroupRelationBO implements Serializable {
private static final long serialVersionUID = 777099918625753950L;
private Long groupId; private Long groupId;
private Integer changeCount; private Integer changeCount;
......
package com.gic.haoban.manage.service.pojo.bo.hm;
import java.io.Serializable;
import java.util.Date;
/**
* @Author MUSI
* @Date 2022/7/9 6:39 AM
* @Description
* @Version
**/
public class HmGroupSettingBO implements Serializable {
private static final long serialVersionUID = 8357992629261773954L;
private Long groupId;
private String groupName;
private String enterpriseId;
private String wxEnterpriseId;
private Integer referNum;
private Integer status;
private Integer sort;
private String creatorId;
private String creatorName;
private String modifierId;
private Date createTime;
private Date updateTime;
private String modifierName;
/**
* 是否为默认分组
*/
private Integer defaultFlag;
public Long getGroupId() {
return groupId;
}
public void setGroupId(Long groupId) {
this.groupId = groupId;
}
public String getGroupName() {
return groupName;
}
public void setGroupName(String groupName) {
this.groupName = groupName;
}
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 getReferNum() {
return referNum;
}
public void setReferNum(Integer referNum) {
this.referNum = referNum;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public Integer getSort() {
return sort;
}
public void setSort(Integer sort) {
this.sort = sort;
}
public String getCreatorId() {
return creatorId;
}
public void setCreatorId(String creatorId) {
this.creatorId = creatorId;
}
public String getCreatorName() {
return creatorName;
}
public void setCreatorName(String creatorName) {
this.creatorName = creatorName;
}
public String getModifierId() {
return modifierId;
}
public void setModifierId(String modifierId) {
this.modifierId = modifierId;
}
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 String getModifierName() {
return modifierName;
}
public void setModifierName(String modifierName) {
this.modifierName = modifierName;
}
public Integer getDefaultFlag() {
return defaultFlag;
}
public void setDefaultFlag(Integer defaultFlag) {
this.defaultFlag = defaultFlag;
}
}
...@@ -11,6 +11,7 @@ import java.util.Date; ...@@ -11,6 +11,7 @@ import java.util.Date;
**/ **/
public class HmPageBO implements Serializable { public class HmPageBO implements Serializable {
private static final long serialVersionUID = -2930830291522139085L;
/** /**
* 落地页id * 落地页id
*/ */
......
package com.gic.haoban.manage.service.pojo.bo.hm; package com.gic.haoban.manage.service.pojo.bo.hm;
import com.gic.haoban.manage.api.enums.hm.HmPageStatus;
import com.gic.haoban.manage.api.enums.hm.HmPageType;
import java.io.Serializable; import java.io.Serializable;
/** /**
...@@ -10,6 +13,7 @@ import java.io.Serializable; ...@@ -10,6 +13,7 @@ import java.io.Serializable;
**/ **/
public class HmPageRelationBO implements Serializable { public class HmPageRelationBO implements Serializable {
private static final long serialVersionUID = 4300459192830013417L;
/** /**
* 落地页模板code * 落地页模板code
*/ */
...@@ -39,13 +43,13 @@ public class HmPageRelationBO implements Serializable { ...@@ -39,13 +43,13 @@ public class HmPageRelationBO implements Serializable {
/** /**
* 引用方来源 * 引用方来源
* *
* @see com.gic.haoban.manage.api.enums.hm.HmPageTemplateType * @see HmPageType
*/ */
private Integer type; private Integer type;
/** /**
* 关联状态 * 关联状态
* @see com.gic.haoban.manage.api.enums.hm.HmPageTemplateStatus * @see HmPageStatus
* *
*/ */
private Integer status; private Integer status;
...@@ -97,4 +101,12 @@ public class HmPageRelationBO implements Serializable { ...@@ -97,4 +101,12 @@ public class HmPageRelationBO implements Serializable {
public void setType(Integer type) { public void setType(Integer type) {
this.type = type; this.type = type;
} }
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
} }
package com.gic.haoban.manage.service.pojo.bo.hm; package com.gic.haoban.manage.service.pojo.bo.hm;
import com.gic.haoban.manage.api.enums.hm.HmWelcomeReferType;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date;
/** /**
* @Author MUSI * @Author MUSI
...@@ -12,34 +11,30 @@ import java.io.Serializable; ...@@ -12,34 +11,30 @@ import java.io.Serializable;
**/ **/
public class HmWelcomeRelationBO implements Serializable { public class HmWelcomeRelationBO implements Serializable {
/** private static final long serialVersionUID = -5265091280402568359L;
* 企业id private Long relationId;
*/
private String enterpriseId; private String enterpriseId;
private String wxEnterpriseId; private String wxEnterpriseId;
/**
* 欢迎语id
*/
private String welcomeId; private String welcomeId;
/**
* 引用方code
*/
private String referId; private String referId;
/**
* 引用方名称
*/
private String referName; private String referName;
private Date createTime;
private Date updateTime;
/** /**
* 引用方类型 * @see com.gic.haoban.manage.api.enums.hm.HmWelcomeReferType
* @see HmWelcomeReferType
*/ */
private Integer type; private Integer type;
private Integer status;
public String getEnterpriseId() { public String getEnterpriseId() {
return enterpriseId; return enterpriseId;
} }
...@@ -87,4 +82,36 @@ public class HmWelcomeRelationBO implements Serializable { ...@@ -87,4 +82,36 @@ public class HmWelcomeRelationBO implements Serializable {
public void setType(Integer type) { public void setType(Integer type) {
this.type = type; this.type = type;
} }
public Long getRelationId() {
return relationId;
}
public void setRelationId(Long relationId) {
this.relationId = relationId;
}
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 Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
} }
package com.gic.haoban.manage.service.pojo.qo; package com.gic.haoban.manage.service.pojo.qo;
import com.gic.haoban.base.api.common.BasePageInfo; import com.gic.haoban.base.api.common.BasePageInfo;
import com.gic.haoban.manage.api.enums.hm.HmPageStatus;
import java.util.Date; import java.util.Date;
...@@ -37,7 +38,7 @@ public class HmPageTemplateQO extends BasePageInfo { ...@@ -37,7 +38,7 @@ public class HmPageTemplateQO extends BasePageInfo {
private Date endTime; private Date endTime;
/** /**
* @see com.gic.haoban.manage.api.enums.hm.HmPageTemplateStatus * @see HmPageStatus
*/ */
private Integer status; private Integer status;
......
...@@ -10,8 +10,11 @@ import com.gic.haoban.base.api.common.BasePageInfo; ...@@ -10,8 +10,11 @@ import com.gic.haoban.base.api.common.BasePageInfo;
**/ **/
public class WelcomeRelationQO extends BasePageInfo { public class WelcomeRelationQO extends BasePageInfo {
private static final long serialVersionUID = -2538708162030338593L;
private String welcomeId ; private String welcomeId ;
private Integer status;
public String getWelcomeId() { public String getWelcomeId() {
return welcomeId; return welcomeId;
} }
...@@ -19,4 +22,12 @@ public class WelcomeRelationQO extends BasePageInfo { ...@@ -19,4 +22,12 @@ public class WelcomeRelationQO extends BasePageInfo {
public void setWelcomeId(String welcomeId) { public void setWelcomeId(String welcomeId) {
this.welcomeId = welcomeId; this.welcomeId = welcomeId;
} }
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
} }
...@@ -2,7 +2,7 @@ package com.gic.haoban.manage.service.service; ...@@ -2,7 +2,7 @@ package com.gic.haoban.manage.service.service;
import com.gic.api.base.commons.Page; import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse; import com.gic.api.base.commons.ServiceResponse;
import com.gic.haoban.manage.api.dto.welcome.dto.WelcomeRemoveDTO; import com.gic.haoban.manage.api.dto.welcome.dto.WelcomeRemoveCheckDTO;
import com.gic.haoban.manage.api.dto.welcome.qdto.QueryWelcomeQDTO; import com.gic.haoban.manage.api.dto.welcome.qdto.QueryWelcomeQDTO;
import com.gic.haoban.manage.service.pojo.bo.welcome.*; import com.gic.haoban.manage.service.pojo.bo.welcome.*;
...@@ -142,5 +142,12 @@ public interface WelcomeService { ...@@ -142,5 +142,12 @@ public interface WelcomeService {
* @param welcomeId * @param welcomeId
* @return * @return
*/ */
WelcomeRemoveDTO removeWithErrorInfo(String welcomeId); WelcomeRemoveCheckDTO removeWithErrorInfo(String welcomeId);
/**
* 欢迎语引用情况统计
* @param welcomeId
* @return
*/
WelcomeRemoveCheckDTO welcomeReferStatistics(String welcomeId);
} }
package com.gic.haoban.manage.service.service.hm; package com.gic.haoban.manage.service.service.hm;
import com.gic.api.base.commons.Page;
import com.gic.haoban.manage.api.dto.hm.HmGroupDTO;
import com.gic.haoban.manage.service.pojo.bo.hm.HmGroupRelationBO; import com.gic.haoban.manage.service.pojo.bo.hm.HmGroupRelationBO;
import com.gic.haoban.manage.service.pojo.bo.hm.HmGroupSettingBO;
import com.gic.haoban.manage.service.pojo.qo.HmGroupInfoQO;
import java.util.List; import java.util.List;
...@@ -28,4 +32,40 @@ public interface HmGroupService { ...@@ -28,4 +32,40 @@ public interface HmGroupService {
*/ */
Boolean batchUpdateGroupRelationCount(List<HmGroupRelationBO> groupRelations); Boolean batchUpdateGroupRelationCount(List<HmGroupRelationBO> groupRelations);
/**
* 查询分组被引用的次数
* @param enterpriseId
* @param wxEnterpriseId
* @return
*/
Integer queryGroupTotalReferCount(String enterpriseId, String wxEnterpriseId);
/**
* 删除分组
* @param groupDTO
*/
void deleteGroupSetting(HmGroupDTO groupDTO);
/**
* 查询分组详情
* @param groupId
* @return
*/
HmGroupSettingBO queryGroupSettingDetail(Long groupId);
/**
* 条件查询分组列表
* @param groupInfoQo
* @return
*/
Page<HmGroupSettingBO> queryGroupSettingList(HmGroupInfoQO groupInfoQo);
/**
* 保存分组
* @param groupDTO
* @return
*/
Long saveOrUpdateGroupSetting(HmGroupDTO groupDTO);
} }
...@@ -13,6 +13,10 @@ public interface HmLinkService { ...@@ -13,6 +13,10 @@ public interface HmLinkService {
public TabHmLink getByLinkId(String wxEnterpriseId, String enterprieId,Long linkId); public TabHmLink getByLinkId(String wxEnterpriseId, String enterprieId,Long linkId);
public TabHmLink getByLinkShortCode(String enterprieId,String shortCode);
public TabHmLink getByLinkIdFormCache(String wxEnterpriseId, String enterprieId,Long linkId);
public List<HmLinkDTO> listForSms(String wxEnterpriseId, String enterprieId, String linkName, Integer linkType); public List<HmLinkDTO> listForSms(String wxEnterpriseId, String enterprieId, String linkName, Integer linkType);
public HmLinkDTO saveLink(HmLinkDTO dto, List<HmLinkStoreDTO> stoerList); public HmLinkDTO saveLink(HmLinkDTO dto, List<HmLinkStoreDTO> stoerList);
......
...@@ -36,14 +36,14 @@ public interface HmPageRelationService { ...@@ -36,14 +36,14 @@ public interface HmPageRelationService {
* @param pageCode * @param pageCode
* @return * @return
*/ */
List<HmPageRelationBO> queryPageTemplateRelation(String pageCode); List<HmPageRelationBO> queryPageRelation(String pageCode);
/** /**
* 链接code/模板名称 条件查询 * 链接code/模板名称 条件查询
* @param hmPageRelationQo
* @return * @return
*/ */
Page<HmPageRelationBO> queryPageTemplateRelationWithSearchText(HmPageRelationQO hmPageRelationQo); Page<HmPageRelationBO> queryPageRelationWithSearchText(HmPageRelationQO hmPageRelationQo);
/** /**
* 统计templateCode 被引用的总数 * 统计templateCode 被引用的总数
......
package com.gic.haoban.manage.service.service.hm; package com.gic.haoban.manage.service.service.hm;
import com.gic.api.base.commons.Page; import com.gic.api.base.commons.Page;
import com.gic.haoban.manage.api.dto.hm.HmPageTemplateDTO; import com.gic.haoban.manage.api.dto.hm.HmPageDTO;
import com.gic.haoban.manage.service.pojo.bo.hm.HmPageBO; 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.pojo.qo.HmPageTemplateQO;
...@@ -38,14 +38,14 @@ public interface HmPageService { ...@@ -38,14 +38,14 @@ public interface HmPageService {
/** /**
* 删除落地页模板 * 删除落地页模板
* @param pageTemplateDTO * @param pageDTO
*/ */
void deleteHmPageTemplate(HmPageTemplateDTO pageTemplateDTO); void deleteHmPage(HmPageDTO pageDTO);
/** /**
* 保存 * 保存
* @param pageTemplateDTO * @param pageDTO
* @return * @return
*/ */
Long saveOrUpdateHmPageTemplate(HmPageTemplateDTO pageTemplateDTO); Long saveOrUpdateHmPage(HmPageDTO pageDTO);
} }
package com.gic.haoban.manage.service.service.hm; package com.gic.haoban.manage.service.service.hm;
import com.gic.haoban.manage.service.entity.hm.TabHaobanWelcomeTemplateRelation; import com.gic.api.base.commons.Page;
import com.gic.haoban.manage.service.pojo.bo.hm.HmWelcomeRelationBO;
import com.gic.haoban.manage.service.pojo.qo.WelcomeRelationQO; import com.gic.haoban.manage.service.pojo.qo.WelcomeRelationQO;
import java.util.List; import java.util.List;
...@@ -19,12 +20,19 @@ public interface WelcomeRelationService { ...@@ -19,12 +20,19 @@ public interface WelcomeRelationService {
* @param status * @param status
* @return * @return
*/ */
TabHaobanWelcomeTemplateRelation queryWelcomeRelation(String referId, Integer status); HmWelcomeRelationBO queryWelcomeRelation(String referId, Integer status);
/** /**
* 条件查询 欢迎语引用列表 * 条件查询 欢迎语引用列表
* @param welcomeRelationQo * @param welcomeRelationQo
* @return * @return
*/ */
List<TabHaobanWelcomeTemplateRelation> queryWelcomeRelationList(WelcomeRelationQO welcomeRelationQo); List<HmWelcomeRelationBO> queryWelcomeRelationList(WelcomeRelationQO welcomeRelationQo);
/**
* 分页查询 欢迎语关联列表
* @param welcomeRelationQo
* @return
*/
Page<HmWelcomeRelationBO> queryWelcomeRelationPage(WelcomeRelationQO welcomeRelationQo);
} }
package com.gic.haoban.manage.service.service.hm; package com.gic.haoban.manage.service.service.hm;
import com.gic.haoban.manage.api.dto.qdto.hm.WxUserAddLogQDTO;
/** /**
* *
* @ClassName: TabHaobanWxUserAddLogMapper * @ClassName: TabHaobanWxUserAddLogMapper
...@@ -11,4 +13,13 @@ package com.gic.haoban.manage.service.service.hm; ...@@ -11,4 +13,13 @@ package com.gic.haoban.manage.service.service.hm;
*/ */
public interface WxUserAddLogService { public interface WxUserAddLogService {
/**
*
* @Title: save
* @Description: 添加记录
* @author xugh
* @param qdto
* @throws
*/
public void save(WxUserAddLogQDTO qdto);
} }
\ No newline at end of file
package com.gic.haoban.manage.service.service.hm.impl; 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.HmGroupDTO;
import com.gic.haoban.manage.api.enums.hm.HmGroupStatus; import com.gic.haoban.manage.api.enums.hm.HmGroupStatus;
import com.gic.haoban.manage.service.dao.mapper.hm.TabHaobanHmGroupSettingMapper; import com.gic.haoban.manage.service.dao.mapper.hm.TabHaobanHmGroupSettingMapper;
import com.gic.haoban.manage.service.entity.hm.TabHaobanHmGroupSetting; import com.gic.haoban.manage.service.entity.hm.TabHaobanHmGroupSetting;
import com.gic.haoban.manage.service.pojo.bo.hm.HmGroupRelationBO; import com.gic.haoban.manage.service.pojo.bo.hm.HmGroupRelationBO;
import com.gic.haoban.manage.service.pojo.bo.hm.HmGroupSettingBO;
import com.gic.haoban.manage.service.pojo.qo.HmGroupInfoQO;
import com.gic.haoban.manage.service.service.hm.HmGroupService; import com.gic.haoban.manage.service.service.hm.HmGroupService;
import com.github.pagehelper.PageHelper;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.math.NumberUtils;
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.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.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
...@@ -24,6 +36,9 @@ public class HmGroupServiceImpl implements HmGroupService { ...@@ -24,6 +36,9 @@ public class HmGroupServiceImpl implements HmGroupService {
private static final Logger log = LoggerFactory.getLogger(HmGroupServiceImpl.class); private static final Logger log = LoggerFactory.getLogger(HmGroupServiceImpl.class);
private static final Long DEFAULT_GROUP_ID = NumberUtils.LONG_ZERO;
private static final String DEFAULT_GROUP_NAME = "默认分组";
@Autowired @Autowired
private TabHaobanHmGroupSettingMapper haobanHmGroupSettingMapper; private TabHaobanHmGroupSettingMapper haobanHmGroupSettingMapper;
...@@ -45,4 +60,95 @@ public class HmGroupServiceImpl implements HmGroupService { ...@@ -45,4 +60,95 @@ public class HmGroupServiceImpl implements HmGroupService {
}); });
return null; return null;
} }
/**
* 查询分组被引用的次数
*
* @param enterpriseId
* @param wxEnterpriseId
* @return
*/
@Override
public Integer queryGroupTotalReferCount(String enterpriseId, String wxEnterpriseId) {
return 0;
}
/**
* 删除分组
*
* @param groupDTO
*/
@Override
public void deleteGroupSetting(HmGroupDTO groupDTO) {
TabHaobanHmGroupSetting tempGroupSetting = new TabHaobanHmGroupSetting();
tempGroupSetting.setGroupId(groupDTO.getGroupId());
tempGroupSetting.setStatus(HmGroupStatus.DISABLE.getCode());
tempGroupSetting.setModifierId(groupDTO.getModifierId());
tempGroupSetting.setModifierName(groupDTO.getModifierName());
tempGroupSetting.setUpdateTime(new Date());
haobanHmGroupSettingMapper.updateByPrimaryKeySelective(tempGroupSetting);
}
/**
* 查询分组详情
*
* @param groupId
* @return
*/
@Override
public HmGroupSettingBO queryGroupSettingDetail(Long groupId) {
TabHaobanHmGroupSetting tabHaobanHmGroupSetting = haobanHmGroupSettingMapper.selectByPrimaryKey(groupId);
if (tabHaobanHmGroupSetting == null){
return null;
}
HmGroupSettingBO groupSettingBo = new HmGroupSettingBO();
BeanUtils.copyProperties(tabHaobanHmGroupSetting, groupSettingBo);
return groupSettingBo;
}
/**
* 条件查询分组列表
*
* @param groupInfoQo
* @return
*/
@Override
public Page<HmGroupSettingBO> queryGroupSettingList(HmGroupInfoQO groupInfoQo) {
PageHelper.startPage(groupInfoQo.getPageNum(), groupInfoQo.getPageSize());
com.github.pagehelper.Page<TabHaobanHmGroupSetting> tabHaobanHmGroupSettings =
(com.github.pagehelper.Page<TabHaobanHmGroupSetting>) haobanHmGroupSettingMapper.queryHmGroupSettingList(groupInfoQo);
return PageUtil.changePageHelperToCurrentPage(tabHaobanHmGroupSettings, HmGroupSettingBO.class);
}
/**
* 保存分组
*
* @param groupDTO
* @return
*/
@Override
public Long saveOrUpdateGroupSetting(HmGroupDTO groupDTO) {
if (groupDTO.getGroupId() == null) {
TabHaobanHmGroupSetting tempGroupSetting = new TabHaobanHmGroupSetting();
tempGroupSetting.setGroupId(UniqueIdUtils.uniqueLong());
tempGroupSetting.setGroupName(groupDTO.getGroupName());
tempGroupSetting.setCreatorId(groupDTO.getCreatorId());
tempGroupSetting.setCreatorName(groupDTO.getCreatorName());
tempGroupSetting.setCreateTime(new Date());
tempGroupSetting.setStatus(HmGroupStatus.ENABLE.getCode());
tempGroupSetting.setEnterpriseId(groupDTO.getEnterpriseId());
tempGroupSetting.setWxEnterpriseId(groupDTO.getWxEnterpriseId());
haobanHmGroupSettingMapper.insertSelective(tempGroupSetting);
return tempGroupSetting.getGroupId();
}else {
TabHaobanHmGroupSetting tempGroupSetting = new TabHaobanHmGroupSetting();
tempGroupSetting.setGroupId(groupDTO.getGroupId());
tempGroupSetting.setGroupName(groupDTO.getGroupName());
tempGroupSetting.setModifierId(groupDTO.getModifierId());
tempGroupSetting.setModifierName(groupDTO.getModifierName());
tempGroupSetting.setUpdateTime(new Date());
haobanHmGroupSettingMapper.updateByPrimaryKeySelective(tempGroupSetting);
return tempGroupSetting.getGroupId();
}
}
} }
...@@ -3,6 +3,8 @@ package com.gic.haoban.manage.service.service.hm.impl; ...@@ -3,6 +3,8 @@ package com.gic.haoban.manage.service.service.hm.impl;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -11,6 +13,7 @@ import com.gic.api.base.commons.BasePageInfo; ...@@ -11,6 +13,7 @@ import com.gic.api.base.commons.BasePageInfo;
import com.gic.api.base.commons.Page; import com.gic.api.base.commons.Page;
import com.gic.commons.util.EntityUtil; import com.gic.commons.util.EntityUtil;
import com.gic.commons.util.PageHelperUtils; import com.gic.commons.util.PageHelperUtils;
import com.gic.commons.util.ToolUtil;
import com.gic.commons.util.UniqueIdUtils; import com.gic.commons.util.UniqueIdUtils;
import com.gic.haoban.manage.api.dto.hm.HmLinkDTO; import com.gic.haoban.manage.api.dto.hm.HmLinkDTO;
import com.gic.haoban.manage.api.dto.hm.HmLinkStoreDTO; import com.gic.haoban.manage.api.dto.hm.HmLinkStoreDTO;
...@@ -19,11 +22,19 @@ import com.gic.haoban.manage.service.dao.mapper.hm.HmLinkMapper; ...@@ -19,11 +22,19 @@ import com.gic.haoban.manage.service.dao.mapper.hm.HmLinkMapper;
import com.gic.haoban.manage.service.entity.hm.TabHmLink; import com.gic.haoban.manage.service.entity.hm.TabHmLink;
import com.gic.haoban.manage.service.service.hm.HmLinkService; import com.gic.haoban.manage.service.service.hm.HmLinkService;
import com.gic.haoban.manage.service.service.hm.HmLinkStoreService; import com.gic.haoban.manage.service.service.hm.HmLinkStoreService;
import com.gic.redis.data.util.RedisUtil;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
@Service("hmLikService") @Service("hmLikService")
public class HmLinkServiceImpl implements HmLinkService { public class HmLinkServiceImpl implements HmLinkService {
private static final Logger log = LoggerFactory.getLogger(HmLinkService.class);
public static String[] PADDING = new String[] { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C",
"D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X",
"Y", "Z", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s",
"t", "u", "v", "w", "x", "y", "z" };
@Autowired @Autowired
private HmLinkMapper linkMapper; private HmLinkMapper linkMapper;
@Autowired @Autowired
...@@ -36,6 +47,25 @@ public class HmLinkServiceImpl implements HmLinkService { ...@@ -36,6 +47,25 @@ public class HmLinkServiceImpl implements HmLinkService {
} }
@Override @Override
public TabHmLink getByLinkShortCode(String enterpriseId, String shortCode) {
TabHmLink link = this.linkMapper.selectByShortCode(enterpriseId, shortCode);
return link;
}
@Override
public TabHmLink getByLinkIdFormCache(String wxEnterpriseId, String enterprieId, Long linkId) {
String key = "hm:link:" + linkId;
TabHmLink link = RedisUtil.getCache(key, TabHmLink.class);
if (link == null) {
link = this.getByLinkId(wxEnterpriseId, enterprieId, linkId);
if (link != null) {
RedisUtil.setCache(key, link, 20 * 60L);
}
}
return link;
}
@Override
public List<HmLinkDTO> listForSms(String wxEnterpriseId, String enterpriseId, String linkName, Integer linkType) { public List<HmLinkDTO> listForSms(String wxEnterpriseId, String enterpriseId, String linkName, Integer linkType) {
List<TabHmLink> list = this.linkMapper.listForSms(wxEnterpriseId, enterpriseId, linkName, linkType); List<TabHmLink> list = this.linkMapper.listForSms(wxEnterpriseId, enterpriseId, linkName, linkType);
return EntityUtil.changeEntityListByJSON(HmLinkDTO.class, list); return EntityUtil.changeEntityListByJSON(HmLinkDTO.class, list);
...@@ -51,6 +81,8 @@ public class HmLinkServiceImpl implements HmLinkService { ...@@ -51,6 +81,8 @@ public class HmLinkServiceImpl implements HmLinkService {
StringBuilder sb = new StringBuilder("LJ").append("0").append(dto.getLinkType()).append(linkId); StringBuilder sb = new StringBuilder("LJ").append("0").append(dto.getLinkType()).append(linkId);
dto.setLinkId(linkId); dto.setLinkId(linkId);
dto.setLinkCode(sb.toString()); dto.setLinkCode(sb.toString());
String shortCode = shortCode(dto.getEnterpriseId());
dto.setShortCode(shortCode);
dto.setStatusFlag(1); dto.setStatusFlag(1);
TabHmLink entity = EntityUtil.changeEntityByJSON(TabHmLink.class, dto); TabHmLink entity = EntityUtil.changeEntityByJSON(TabHmLink.class, dto);
this.linkMapper.insert(entity); this.linkMapper.insert(entity);
...@@ -76,4 +108,29 @@ public class HmLinkServiceImpl implements HmLinkService { ...@@ -76,4 +108,29 @@ public class HmLinkServiceImpl implements HmLinkService {
return page; return page;
} }
public String shortCode(String enterpriseId) {
StringBuilder sb = new StringBuilder();
String uuid = ToolUtil.randomUUID();
int length = 5;
int totalLength = 62;
int interval = (int) (uuid.length() / length);
String str;
for (int i = 0; i < length; i++) {
if (i == length - 1) {
str = uuid.substring(length * interval);
} else {
str = uuid.substring(i * interval, i * interval + interval);
}
int x = Integer.parseInt(str, 16);
sb.append(PADDING[x % totalLength]);
}
sb.append(PADDING[(int) (Math.random() * totalLength)]);
String code = sb.toString();
TabHmLink link = this.linkMapper.selectByShortCode(enterpriseId, code) ;
if(null == link) {
return code ;
}
return shortCode(enterpriseId) ;
}
} }
...@@ -2,8 +2,8 @@ package com.gic.haoban.manage.service.service.hm.impl; ...@@ -2,8 +2,8 @@ package com.gic.haoban.manage.service.service.hm.impl;
import com.gic.api.base.commons.Page; import com.gic.api.base.commons.Page;
import com.gic.haoban.common.utils.PageUtil; import com.gic.haoban.common.utils.PageUtil;
import com.gic.haoban.manage.api.enums.hm.HmPageTemplateStatus; import com.gic.haoban.manage.api.enums.hm.HmPageStatus;
import com.gic.haoban.manage.api.enums.hm.HmPageTemplateType; import com.gic.haoban.manage.api.enums.hm.HmPageType;
import com.gic.haoban.manage.service.dao.mapper.hm.TabHaobanHmPageRelationMapper; 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.entity.hm.TabHaobanHmPageRelation;
import com.gic.haoban.manage.service.pojo.bo.hm.HmPageRelationBO; import com.gic.haoban.manage.service.pojo.bo.hm.HmPageRelationBO;
...@@ -47,8 +47,8 @@ public class HmPageRelationServiceImpl implements HmPageRelationService { ...@@ -47,8 +47,8 @@ public class HmPageRelationServiceImpl implements HmPageRelationService {
pageRelation.setReferName(hmPageRelationBO.getReferName()); pageRelation.setReferName(hmPageRelationBO.getReferName());
pageRelation.setCreateTime(new Date()); pageRelation.setCreateTime(new Date());
pageRelation.setUpdateTime(new Date()); pageRelation.setUpdateTime(new Date());
pageRelation.setType(HmPageTemplateType.LINK.getCode()); pageRelation.setType(HmPageType.LINK.getCode());
pageRelation.setStatus(HmPageTemplateStatus.ENABLE.getCode()); pageRelation.setStatus(HmPageStatus.ENABLE.getCode());
return haobanHmPageRelationMapper.insertSelective(pageRelation) == 1; return haobanHmPageRelationMapper.insertSelective(pageRelation) == 1;
} }
...@@ -58,10 +58,10 @@ public class HmPageRelationServiceImpl implements HmPageRelationService { ...@@ -58,10 +58,10 @@ public class HmPageRelationServiceImpl implements HmPageRelationService {
} }
@Override @Override
public List<HmPageRelationBO> queryPageTemplateRelation(String pageCode) { public List<HmPageRelationBO> queryPageRelation(String pageCode) {
HmPageRelationQO hmPageRelationQo = new HmPageRelationQO(); HmPageRelationQO hmPageRelationQo = new HmPageRelationQO();
hmPageRelationQo.setPageCode(pageCode); hmPageRelationQo.setPageCode(pageCode);
hmPageRelationQo.setStatus(HmPageTemplateStatus.ENABLE.getCode()); hmPageRelationQo.setStatus(HmPageStatus.ENABLE.getCode());
hmPageRelationQo.setPageSize(1); hmPageRelationQo.setPageSize(1);
PageHelper.startPage(hmPageRelationQo.getPageNum(), hmPageRelationQo.getPageSize()); PageHelper.startPage(hmPageRelationQo.getPageNum(), hmPageRelationQo.getPageSize());
List<TabHaobanHmPageRelation> tabHaobanHmPageRelations = List<TabHaobanHmPageRelation> tabHaobanHmPageRelations =
...@@ -79,7 +79,7 @@ public class HmPageRelationServiceImpl implements HmPageRelationService { ...@@ -79,7 +79,7 @@ public class HmPageRelationServiceImpl implements HmPageRelationService {
* @return * @return
*/ */
@Override @Override
public Page<HmPageRelationBO> queryPageTemplateRelationWithSearchText(HmPageRelationQO hmPageRelationQo) { public Page<HmPageRelationBO> queryPageRelationWithSearchText(HmPageRelationQO hmPageRelationQo) {
PageHelper.startPage(hmPageRelationQo.getPageNum(), hmPageRelationQo.getPageSize()); PageHelper.startPage(hmPageRelationQo.getPageNum(), hmPageRelationQo.getPageSize());
com.github.pagehelper.Page<TabHaobanHmPageRelation> pageRelationPage = com.github.pagehelper.Page<TabHaobanHmPageRelation> pageRelationPage =
(com.github.pagehelper.Page<TabHaobanHmPageRelation>) haobanHmPageRelationMapper.queryPageRelationList(hmPageRelationQo); (com.github.pagehelper.Page<TabHaobanHmPageRelation>) haobanHmPageRelationMapper.queryPageRelationList(hmPageRelationQo);
......
...@@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSON; ...@@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSON;
import com.gic.api.base.commons.Page; import com.gic.api.base.commons.Page;
import com.gic.commons.util.UniqueIdUtils; import com.gic.commons.util.UniqueIdUtils;
import com.gic.haoban.common.utils.PageUtil; import com.gic.haoban.common.utils.PageUtil;
import com.gic.haoban.manage.api.dto.hm.HmPageTemplateDTO; import com.gic.haoban.manage.api.dto.hm.HmPageDTO;
import com.gic.haoban.manage.api.enums.hm.HmPageTemplateStatus; import com.gic.haoban.manage.api.enums.hm.HmPageStatus;
import com.gic.haoban.manage.service.dao.mapper.hm.TabHaobanHmPageMapper; 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.entity.hm.TabHaobanHmPage;
import com.gic.haoban.manage.service.pojo.bo.hm.HmPageBO; import com.gic.haoban.manage.service.pojo.bo.hm.HmPageBO;
...@@ -80,16 +80,16 @@ public class HmPageServiceImpl implements HmPageService { ...@@ -80,16 +80,16 @@ public class HmPageServiceImpl implements HmPageService {
/** /**
* 删除落地页模板 * 删除落地页模板
* *
* @param pageTemplateDTO * @param pageDTO
*/ */
@Override @Override
public void deleteHmPageTemplate(HmPageTemplateDTO pageTemplateDTO) { public void deleteHmPage(HmPageDTO pageDTO) {
TabHaobanHmPage tempHmPage = new TabHaobanHmPage(); TabHaobanHmPage tempHmPage = new TabHaobanHmPage();
tempHmPage.setPageId(pageTemplateDTO.getPageId()); tempHmPage.setPageId(pageDTO.getPageId());
tempHmPage.setStatus(HmPageTemplateStatus.DISABLE.getCode()); tempHmPage.setStatus(HmPageStatus.DISABLE.getCode());
tempHmPage.setUpdateTime(new Date()); tempHmPage.setUpdateTime(new Date());
tempHmPage.setModifierId(pageTemplateDTO.getClerkId()); tempHmPage.setModifierId(pageDTO.getModifierId());
tempHmPage.setModifierName(pageTemplateDTO.getClerkName()); tempHmPage.setModifierName(pageDTO.getModifierName());
log.info("[deleteHmPageTemplate] params:{}", JSON.toJSONString(tempHmPage)); log.info("[deleteHmPageTemplate] params:{}", JSON.toJSONString(tempHmPage));
haobanHmPageMapper.updateByPrimaryKeySelective(tempHmPage); haobanHmPageMapper.updateByPrimaryKeySelective(tempHmPage);
} }
...@@ -97,37 +97,37 @@ public class HmPageServiceImpl implements HmPageService { ...@@ -97,37 +97,37 @@ public class HmPageServiceImpl implements HmPageService {
/** /**
* 保存 * 保存
* *
* @param pageTemplateDTO * @param pageDTO
* @return * @return
*/ */
@Override @Override
public Long saveOrUpdateHmPageTemplate(HmPageTemplateDTO pageTemplateDTO) { public Long saveOrUpdateHmPage(HmPageDTO pageDTO) {
log.info("[saveOrUpdateHmPageTemplate] params:{}", JSON.toJSONString(pageTemplateDTO)); log.info("[saveOrUpdateHmPageTemplate] params:{}", JSON.toJSONString(pageDTO));
Date now = new Date(); Date now = new Date();
if (Objects.isNull(pageTemplateDTO.getPageId())) { if (Objects.isNull(pageDTO.getPageId())) {
// save // save
TabHaobanHmPage haobanHmPage = new TabHaobanHmPage(); TabHaobanHmPage haobanHmPage = new TabHaobanHmPage();
BeanUtils.copyProperties(pageTemplateDTO, haobanHmPage); BeanUtils.copyProperties(pageDTO, haobanHmPage);
haobanHmPage.setPageId(UniqueIdUtils.uniqueLong()); haobanHmPage.setPageId(UniqueIdUtils.uniqueLong());
haobanHmPage.setPageCode(this.generatorTemplateCode(haobanHmPage.getPageId())); haobanHmPage.setPageCode(this.generatorTemplateCode(haobanHmPage.getPageId()));
haobanHmPage.setCreateorId(pageTemplateDTO.getClerkId()); haobanHmPage.setCreateorId(pageDTO.getCreateorId());
haobanHmPage.setCreateorName(pageTemplateDTO.getClerkName()); haobanHmPage.setCreateorName(pageDTO.getCreateorName());
haobanHmPage.setCreateTime(now); haobanHmPage.setCreateTime(now);
haobanHmPage.setModifierId(pageTemplateDTO.getClerkId()); haobanHmPage.setModifierId(pageDTO.getCreateorId());
haobanHmPage.setModifierName(pageTemplateDTO.getClerkName()); haobanHmPage.setModifierName(pageDTO.getCreateorName());
haobanHmPage.setUpdateTime(now); haobanHmPage.setUpdateTime(now);
haobanHmPage.setStatus(HmPageTemplateStatus.ENABLE.getCode()); haobanHmPage.setStatus(HmPageStatus.ENABLE.getCode());
haobanHmPageMapper.insertSelective(haobanHmPage); haobanHmPageMapper.insertSelective(haobanHmPage);
return haobanHmPage.getPageId(); return haobanHmPage.getPageId();
} else { } else {
// update // update
TabHaobanHmPage haobanHmPage = new TabHaobanHmPage(); TabHaobanHmPage haobanHmPage = new TabHaobanHmPage();
BeanUtils.copyProperties(pageTemplateDTO, haobanHmPage); BeanUtils.copyProperties(pageDTO, haobanHmPage);
haobanHmPage.setPageId(pageTemplateDTO.getPageId()); haobanHmPage.setPageId(pageDTO.getPageId());
haobanHmPage.setPageCode(null); haobanHmPage.setPageCode(null);
haobanHmPage.setUpdateTime(now); haobanHmPage.setUpdateTime(now);
haobanHmPage.setModifierId(pageTemplateDTO.getClerkId()); haobanHmPage.setModifierId(pageDTO.getModifierId());
haobanHmPage.setModifierName(pageTemplateDTO.getClerkName()); haobanHmPage.setModifierName(pageDTO.getModifierName());
haobanHmPageMapper.updateByPrimaryKeySelective(haobanHmPage); haobanHmPageMapper.updateByPrimaryKeySelective(haobanHmPage);
return haobanHmPage.getPageId(); return haobanHmPage.getPageId();
} }
......
package com.gic.haoban.manage.service.service.hm.impl; 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.service.dao.mapper.TabHaobanWelcomeTemplateRelationMapper; import com.gic.haoban.manage.service.dao.mapper.TabHaobanWelcomeTemplateRelationMapper;
import com.gic.haoban.manage.service.entity.hm.TabHaobanWelcomeTemplateRelation; import com.gic.haoban.manage.service.entity.hm.TabHaobanWelcomeTemplateRelation;
import com.gic.haoban.manage.service.pojo.bo.hm.HmWelcomeRelationBO;
import com.gic.haoban.manage.service.pojo.qo.WelcomeRelationQO; import com.gic.haoban.manage.service.pojo.qo.WelcomeRelationQO;
import com.gic.haoban.manage.service.service.hm.WelcomeRelationService; import com.gic.haoban.manage.service.service.hm.WelcomeRelationService;
import com.github.pagehelper.PageHelper;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.BeanUtils;
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 java.util.Collections;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
/** /**
* @Author MUSI * @Author MUSI
...@@ -29,8 +37,14 @@ public class WelcomeRelationServiceImpl implements WelcomeRelationService { ...@@ -29,8 +37,14 @@ public class WelcomeRelationServiceImpl implements WelcomeRelationService {
* @return * @return
*/ */
@Override @Override
public TabHaobanWelcomeTemplateRelation queryWelcomeRelation(String referId, Integer status) { public HmWelcomeRelationBO queryWelcomeRelation(String referId, Integer status) {
return welcomeTemplateRelationMapper.queryWelTemplateRelation(null, referId, status); TabHaobanWelcomeTemplateRelation welcomeTemplateRelation = welcomeTemplateRelationMapper.queryWelTemplateRelation(null, referId, status);
if (welcomeTemplateRelation == null) {
return null;
}
HmWelcomeRelationBO welcomeRelationBo = new HmWelcomeRelationBO();
BeanUtils.copyProperties(welcomeTemplateRelation, welcomeRelationBo);
return welcomeRelationBo;
} }
/** /**
...@@ -40,7 +54,30 @@ public class WelcomeRelationServiceImpl implements WelcomeRelationService { ...@@ -40,7 +54,30 @@ public class WelcomeRelationServiceImpl implements WelcomeRelationService {
* @return * @return
*/ */
@Override @Override
public List<TabHaobanWelcomeTemplateRelation> queryWelcomeRelationList(WelcomeRelationQO welcomeRelationQo) { public List<HmWelcomeRelationBO> queryWelcomeRelationList(WelcomeRelationQO welcomeRelationQo) {
return welcomeTemplateRelationMapper.queryWelcomeTemplate(welcomeRelationQo); List<TabHaobanWelcomeTemplateRelation> tabHaobanWelcomeTemplateRelations = welcomeTemplateRelationMapper.queryWelcomeTemplate(welcomeRelationQo);
if (CollectionUtils.isEmpty(tabHaobanWelcomeTemplateRelations)) {
return Collections.emptyList();
}
return tabHaobanWelcomeTemplateRelations.stream()
.map(item -> {
HmWelcomeRelationBO welcomeRelationBo = new HmWelcomeRelationBO();
BeanUtils.copyProperties(item, welcomeRelationBo);
return welcomeRelationBo;
}).collect(Collectors.toList());
}
/**
* 分页查询 欢迎语关联列表
*
* @param welcomeRelationQo
* @return
*/
@Override
public Page<HmWelcomeRelationBO> queryWelcomeRelationPage(WelcomeRelationQO welcomeRelationQo) {
PageHelper.startPage(welcomeRelationQo.getPageNum(), welcomeRelationQo.getPageSize());
com.github.pagehelper.Page<TabHaobanWelcomeTemplateRelation> tabHaobanWelcomeTemplateRelations =
(com.github.pagehelper.Page<TabHaobanWelcomeTemplateRelation>) welcomeTemplateRelationMapper.queryWelcomeTemplate(welcomeRelationQo);
return PageUtil.changePageHelperToCurrentPage(tabHaobanWelcomeTemplateRelations, HmWelcomeRelationBO.class);
} }
} }
package com.gic.haoban.manage.service.service.hm.impl; package com.gic.haoban.manage.service.service.hm.impl;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.alibaba.fastjson.JSONObject;
import com.gic.haoban.manage.api.dto.qdto.hm.WxUserAddLogQDTO;
import com.gic.haoban.manage.service.dao.mapper.hm.WxUserAddLogMapper;
import com.gic.haoban.manage.service.entity.hm.TabHmLink;
import com.gic.haoban.manage.service.entity.hm.TabWxUserAddLog;
import com.gic.haoban.manage.service.pojo.bo.hm.HmQrcodeBO;
import com.gic.haoban.manage.service.service.MemberQueryService;
import com.gic.haoban.manage.service.service.hm.HmLinkService;
import com.gic.haoban.manage.service.service.hm.HmQrcodeService;
import com.gic.haoban.manage.service.service.hm.WxUserAddLogService; import com.gic.haoban.manage.service.service.hm.WxUserAddLogService;
import com.gic.member.api.dto.es.MemberDataDTO;
import com.gic.member.tag.api.dto.MemberTagItemDTO;
import com.gic.member.tag.api.service.MemberTagApiService;
@Service("wxUserAddLogService") @Service("wxUserAddLogService")
public class WxUserAddLogServiceImpl implements WxUserAddLogService { public class WxUserAddLogServiceImpl implements WxUserAddLogService {
private static final Logger log = LoggerFactory.getLogger(WxUserAddLogService.class);
@Autowired
private WxUserAddLogMapper wxUserAddLogMapper;
@Autowired
private HmLinkService hmLinkService;
@Autowired
private HmQrcodeService hmQrcodeService;
@Autowired
private MemberQueryService memberQueryService;
@Autowired
private MemberTagApiService memberTagApiService;
public void save(WxUserAddLogQDTO qdto) {
String externalUserid = qdto.getExternalUserid();
String wxUserId = qdto.getWxUserId();
TabWxUserAddLog entity = new TabWxUserAddLog();
entity.setWxEnterpriseId(qdto.getWxEnterpriseId());
entity.setEnterpriseId(qdto.getEnterpriseId());
entity.setExternalUserid(externalUserid);
entity.setAddChannel(0);
entity.setStatusFlag(1);
entity.setWxUserId(qdto.getWxUserId());
entity.setStaffId(qdto.getStaffId());
entity.setStaffName(qdto.getStaffName());
if (qdto.isDelFlag()) {
TabWxUserAddLog log = this.wxUserAddLogMapper.selectNewLog(externalUserid, wxUserId);
entity = log;
entity.setStatusFlag(2);
// 是否所有好友删除 1是0否
entity.setAllDelFlag(this.isAllDel(externalUserid));
}
// 新增好友
if (!qdto.isDelFlag()) {
String memberLabelId = null;
if (null != qdto.getHmId()) {
HmQrcodeBO hm = this.hmQrcodeService.queryById(qdto.getHmId());
entity.setAddChannel(2);
entity.setHmId(qdto.getHmId());
entity.setHmName(hm.getName());
entity.setClerkId(hm.getClerkId());
entity.setClerkCode(hm.getClerkCode());
entity.setClerkName(hm.getClerkName());
entity.setStoreId(hm.getStoreId());
entity.setStoreCode(hm.getStoreCode());
entity.setStoreName(hm.getStoreName());
memberLabelId = hm.getMemberLabelId();
}
if (null != qdto.getLinkId()) {
TabHmLink link = this.hmLinkService.getByLinkIdFormCache(qdto.getWxEnterpriseId(),
qdto.getEnterpriseId(), qdto.getLinkId());
entity.setAddChannel(1);
entity.setLinkId(qdto.getLinkId());
entity.setLinkName(link.getName());
memberLabelId = link.getMemberLabelId();
}
if (null != memberLabelId) {
entity.setMemberLabelId(memberLabelId);
MemberTagItemDTO dto = this.memberTagApiService.findMemberTagItem(memberLabelId);
if (null != dto) {
entity.setMemberName(dto.getTagName() + dto.getTagItemName());
}
}
if (null != qdto.getMemberId()) {
entity = this.addMemberInfo(qdto.getEnterpriseId(), qdto.getMemberId(), entity);
}
}
this.wxUserAddLogMapper.insert(entity);
}
// 冗余会员信息
private TabWxUserAddLog addMemberInfo(String enterpriseId, String memberId, TabWxUserAddLog entity) {
String returnFields = "memberId,photoUrl,name,nickName,cardNo,gradeId,gradeName,phoneNumber";
JSONObject memberObj = this.memberQueryService.queryDataSingle(enterpriseId, memberId, returnFields);
if (null == memberObj) {
return entity;
}
MemberDataDTO memberDataDTO = memberObj.toJavaObject(MemberDataDTO.class);
entity.setMemberId(memberId);
entity.setMemberName(memberDataDTO.getName());
entity.setMemberNick(memberDataDTO.getNickName());
entity.setMemberImage(memberDataDTO.getPhotoUrl());
entity.setMemberPhone(memberDataDTO.getPhoneNumber());
entity.setMemberGradeId(memberDataDTO.getGradeId());
entity.setMemberGradeName(memberDataDTO.getGradeName());
entity.setMemberCardNo(memberDataDTO.getCardNo());
return entity;
}
private int isAllDel(String externalUserid) {
List<TabWxUserAddLog> list = this.wxUserAddLogMapper.listAllForDel(externalUserid);
Map<String, List<TabWxUserAddLog>> map = list.stream()
.collect(Collectors.groupingBy(TabWxUserAddLog::getWxUserId));
Set<String> set = map.keySet();
Iterator<String> it = set.iterator();
boolean exist = false;
while (it.hasNext()) {
String wxUserId = it.next();
List<TabWxUserAddLog> itemList = map.get(wxUserId);
if (itemList.size() == 1 && itemList.get(0).getStatusFlag() == 2) {
log.info("成员={}只有1条删除的记录", wxUserId);
} else {
TabWxUserAddLog addLog = itemList.get(0);
if (addLog.getStatusFlag() == 1) {
log.info("成员={}最新是添加记录", wxUserId);
if (addLog.getWxUserId().equals(wxUserId)) {
log.info("成员={}本次删除", wxUserId);
} else {
exist = true;
}
} else {
log.info("成员={}最新是删除记录", wxUserId);
}
}
}
if (exist) {
return 0;
}
return 1;
}
} }
package com.gic.haoban.manage.service.service.impl; package com.gic.haoban.manage.service.service.impl;
import java.util.Date; import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -10,7 +8,6 @@ import org.springframework.stereotype.Service; ...@@ -10,7 +8,6 @@ import org.springframework.stereotype.Service;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.gic.commons.util.EntityUtil; import com.gic.commons.util.EntityUtil;
import com.gic.commons.util.ToolUtil;
import com.gic.commons.util.UniqueIdUtils; import com.gic.commons.util.UniqueIdUtils;
import com.gic.haoban.manage.api.dto.KeyDataDTO; import com.gic.haoban.manage.api.dto.KeyDataDTO;
import com.gic.haoban.manage.api.enums.KeyDataEnum; import com.gic.haoban.manage.api.enums.KeyDataEnum;
...@@ -21,20 +18,15 @@ import com.gic.haoban.manage.service.service.KeyDataService; ...@@ -21,20 +18,15 @@ import com.gic.haoban.manage.service.service.KeyDataService;
@Service("keyDataService") @Service("keyDataService")
public class KeyDataServiceImpl implements KeyDataService { public class KeyDataServiceImpl implements KeyDataService {
public static String[] PADDING = new String[] { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C",
"D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X",
"Y", "Z", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s",
"t", "u", "v", "w", "x", "y", "z" };
@Autowired @Autowired
private TabKeyDataMapper tabKeyDataMapper; private TabKeyDataMapper tabKeyDataMapper;
@Override @Override
public KeyDataDTO saveData(String enterpriseId , String relationId , String data, KeyDataEnum dataEnum) { public KeyDataDTO saveData(String enterpriseId, String relationId, String data, KeyDataEnum dataEnum) {
KeyDataDTO dto = new KeyDataDTO(); KeyDataDTO dto = new KeyDataDTO();
dto.setRelationId(relationId); dto.setRelationId(relationId);
dto.setEnterpriseId(enterpriseId); dto.setEnterpriseId(enterpriseId);
dto.setDataKey(generateKey(dataEnum)); dto.setDataKey(generateKey(dataEnum, data));
dto.setCreateTime(new Date()); dto.setCreateTime(new Date());
dto.setId(UniqueIdUtils.uniqueLong()); dto.setId(UniqueIdUtils.uniqueLong());
dto.setData(data); dto.setData(data);
...@@ -45,18 +37,18 @@ public class KeyDataServiceImpl implements KeyDataService { ...@@ -45,18 +37,18 @@ public class KeyDataServiceImpl implements KeyDataService {
} }
@Override @Override
public String saveHmData(String enterpriseId , String unionid, Long linkId, Long hmId) { public String saveHmData(String enterpriseId, String unionid, Long linkId, Long hmId) {
JSONObject json = new JSONObject(); JSONObject json = new JSONObject();
json.put("unid", unionid); json.put("unid", unionid);
json.put("ljid", linkId); json.put("ljid", linkId);
json.put("hmid", hmId); json.put("hmid", hmId);
KeyDataDTO data = this.saveData(enterpriseId,String.valueOf(linkId), json.toString(), KeyDataEnum.DYNAMIC_HM); KeyDataDTO data = this.saveData(enterpriseId, String.valueOf(linkId), json.toString(), KeyDataEnum.DYNAMIC_HM);
return data.getDataKey(); return data.getDataKey();
} }
@Override @Override
public KeyDataDTO getDataByKey(String key, KeyDataEnum dataEnum , String relationId) { public KeyDataDTO getDataByKey(String key, KeyDataEnum dataEnum, String relationId) {
TabKeyData tab = this.tabKeyDataMapper.selectByKey(key, dataEnum.getType() ,relationId); TabKeyData tab = this.tabKeyDataMapper.selectByKey(key, dataEnum.getType(), relationId);
if (null != tab) { if (null != tab) {
return EntityUtil.changeEntityByJSON(KeyDataDTO.class, tab); return EntityUtil.changeEntityByJSON(KeyDataDTO.class, tab);
} }
...@@ -65,42 +57,19 @@ public class KeyDataServiceImpl implements KeyDataService { ...@@ -65,42 +57,19 @@ public class KeyDataServiceImpl implements KeyDataService {
@Override @Override
public String getMobile(String key, String relationId) { public String getMobile(String key, String relationId) {
KeyDataDTO data = this.getDataByKey(key, KeyDataEnum.MOBILE, relationId) ; KeyDataDTO data = this.getDataByKey(key, KeyDataEnum.MOBILE, relationId);
if(null != data) { if (null != data) {
return JSON.parseObject(data.getData()).getString("ph") ; return JSON.parseObject(data.getData()).getString("ph");
} }
return null; return null;
} }
public static String generateKey(KeyDataEnum dataEnum) { public static String generateKey(KeyDataEnum dataEnum, String data) {
if (dataEnum.equals(KeyDataEnum.MOBILE)) { if (dataEnum.equals(KeyDataEnum.MOBILE)) {
StringBuilder sb = new StringBuilder(); String phone = JSON.parseObject(data).getString("ph");
String uuid = ToolUtil.randomUUID(); return Long.toHexString(Long.valueOf(phone));
int length = 6;
int interval = (int) (uuid.length() / length);
String str;
for (int i = 0; i < length; i++) {
if (i == length - 1) {
str = uuid.substring(length * interval);
} else {
str = uuid.substring(i * interval, i * interval + interval);
}
int x = Integer.parseInt(str, 16);
sb.append(PADDING[x % 62]);
}
sb.append(PADDING[(int) (Math.random() * 62)]);
return sb.toString();
} }
return UniqueIdUtils.uniqueLongHex(); return UniqueIdUtils.uniqueLongHex();
} }
public static void main(String[] args) {
Set<String> set = new HashSet<>();
for (int i = 0; i < 1000000; i++) {
String s = generateKey(KeyDataEnum.MOBILE);
set.add(s);
}
System.out.println(set.size());
}
} }
...@@ -3,7 +3,7 @@ package com.gic.haoban.manage.service.service.impl; ...@@ -3,7 +3,7 @@ package com.gic.haoban.manage.service.service.impl;
import com.gic.api.base.commons.Page; import com.gic.api.base.commons.Page;
import com.gic.commons.util.UniqueIdUtils; import com.gic.commons.util.UniqueIdUtils;
import com.gic.haoban.common.utils.StringUtil; import com.gic.haoban.common.utils.StringUtil;
import com.gic.haoban.manage.api.dto.welcome.dto.WelcomeRemoveDTO; import com.gic.haoban.manage.api.dto.welcome.dto.WelcomeRemoveCheckDTO;
import com.gic.haoban.manage.api.dto.welcome.qdto.QueryWelcomeQDTO; import com.gic.haoban.manage.api.dto.welcome.qdto.QueryWelcomeQDTO;
import com.gic.haoban.manage.api.enums.FriendSettingTypeEnum; import com.gic.haoban.manage.api.enums.FriendSettingTypeEnum;
import com.gic.haoban.manage.api.enums.WelcomeMediaTypeEnum; import com.gic.haoban.manage.api.enums.WelcomeMediaTypeEnum;
...@@ -13,7 +13,7 @@ import com.gic.haoban.manage.api.enums.hm.HmWelcomeReferType; ...@@ -13,7 +13,7 @@ import com.gic.haoban.manage.api.enums.hm.HmWelcomeReferType;
import com.gic.haoban.manage.api.enums.hm.HmWelcomeType; import com.gic.haoban.manage.api.enums.hm.HmWelcomeType;
import com.gic.haoban.manage.service.dao.mapper.*; import com.gic.haoban.manage.service.dao.mapper.*;
import com.gic.haoban.manage.service.entity.*; import com.gic.haoban.manage.service.entity.*;
import com.gic.haoban.manage.service.entity.hm.TabHaobanWelcomeTemplateRelation; import com.gic.haoban.manage.service.pojo.bo.hm.HmWelcomeRelationBO;
import com.gic.haoban.manage.service.pojo.bo.welcome.*; import com.gic.haoban.manage.service.pojo.bo.welcome.*;
import com.gic.haoban.manage.service.pojo.qo.WelcomeInfoQO; import com.gic.haoban.manage.service.pojo.qo.WelcomeInfoQO;
import com.gic.haoban.manage.service.pojo.qo.WelcomeRelationQO; import com.gic.haoban.manage.service.pojo.qo.WelcomeRelationQO;
...@@ -637,12 +637,12 @@ public class WelcomeServiceImpl implements WelcomeService { ...@@ -637,12 +637,12 @@ public class WelcomeServiceImpl implements WelcomeService {
logger.info("[getMatchWelcomeWithReferId] staffId:{}, wxEnterpriseId:{}, referId:{}", logger.info("[getMatchWelcomeWithReferId] staffId:{}, wxEnterpriseId:{}, referId:{}",
staffId, wxEnterpriseId, referId); staffId, wxEnterpriseId, referId);
// 根据referId 查询 关联关系表 // 根据referId 查询 关联关系表
TabHaobanWelcomeTemplateRelation welcomeTemplateRelation = welcomeRelationService.queryWelcomeRelation(referId, WelcomeRelationStatusEnum.ENABLE.getCode()); HmWelcomeRelationBO welcomeRelationBO = welcomeRelationService.queryWelcomeRelation(referId, WelcomeRelationStatusEnum.ENABLE.getCode());
if (welcomeTemplateRelation == null){ if (welcomeRelationBO == null){
// 不存在 // 不存在
return null; return null;
} }
TabWelcome tabWelcome = welcomeMapper.selectByPrimaryKey(welcomeTemplateRelation.getWelcomeId()); TabWelcome tabWelcome = welcomeMapper.selectByPrimaryKey(welcomeRelationBO.getWelcomeId());
return convertWelcomeToBo(tabWelcome); return convertWelcomeToBo(tabWelcome);
} }
...@@ -655,7 +655,7 @@ public class WelcomeServiceImpl implements WelcomeService { ...@@ -655,7 +655,7 @@ public class WelcomeServiceImpl implements WelcomeService {
* 不可删除时 返回具体的关联数量 * 不可删除时 返回具体的关联数量
*/ */
@Override @Override
public WelcomeRemoveDTO removeWithErrorInfo(String welcomeId) { public WelcomeRemoveCheckDTO removeWithErrorInfo(String welcomeId) {
// 1、查询欢迎语 // 1、查询欢迎语
// 2、根据欢迎语类型 区分 // 2、根据欢迎语类型 区分
// 3、特殊类型 查询欢迎语引用的数量 // 3、特殊类型 查询欢迎语引用的数量
...@@ -668,20 +668,37 @@ public class WelcomeServiceImpl implements WelcomeService { ...@@ -668,20 +668,37 @@ public class WelcomeServiceImpl implements WelcomeService {
this.removeWelcome(welcomeId); this.removeWelcome(welcomeId);
return null; return null;
} }
WelcomeRemoveCheckDTO welcomeRemoveCheckDTO = this.welcomeReferStatistics(welcomeId);
if (welcomeRemoveCheckDTO == null){
this.removeWelcome(welcomeId);
return null;
}
return welcomeRemoveCheckDTO;
}
/**
* 欢迎语引用情况统计
*
* @param welcomeId
* @return
*/
@Override
public WelcomeRemoveCheckDTO welcomeReferStatistics(String welcomeId) {
WelcomeRelationQO welcomeRelationQo = new WelcomeRelationQO(); WelcomeRelationQO welcomeRelationQo = new WelcomeRelationQO();
welcomeRelationQo.setWelcomeId(welcomeId); welcomeRelationQo.setWelcomeId(welcomeId);
List<TabHaobanWelcomeTemplateRelation> tabHaobanWelcomeTemplateRelations = welcomeRelationService.queryWelcomeRelationList(welcomeRelationQo); welcomeRelationQo.setStatus(WelcomeRelationStatusEnum.ENABLE.getCode());
if (CollectionUtils.isEmpty(tabHaobanWelcomeTemplateRelations)){ List<HmWelcomeRelationBO> hmWelcomeRelationBos = welcomeRelationService.queryWelcomeRelationList(welcomeRelationQo);
this.removeWelcome(welcomeId); if (CollectionUtils.isEmpty(hmWelcomeRelationBos)){
return null; return null;
} }
Map<Integer, List<TabHaobanWelcomeTemplateRelation>> welcomeGroupByType = tabHaobanWelcomeTemplateRelations.stream() Map<Integer, List<HmWelcomeRelationBO>> welcomeGroupByType = hmWelcomeRelationBos.stream()
.collect(Collectors.groupingBy(TabHaobanWelcomeTemplateRelation::getType)); .collect(Collectors.groupingBy(HmWelcomeRelationBO::getType));
WelcomeRemoveDTO welcomeRemoveDTO = new WelcomeRemoveDTO(); WelcomeRemoveCheckDTO welcomeRemoveCheckDTO = new WelcomeRemoveCheckDTO();
welcomeRemoveDTO.setQrCodeReferNum(Optional.ofNullable(welcomeGroupByType.get(HmWelcomeReferType.HM.getCode())) welcomeRemoveCheckDTO.setQrCodeReferNum(Optional.ofNullable(welcomeGroupByType.get(HmWelcomeReferType.HM.getCode()))
.map(List::size).orElse(0)); .map(List::size).orElse(0));
welcomeRemoveDTO.setLinkReferNum(Optional.ofNullable(welcomeGroupByType.get(HmWelcomeReferType.LINK.getCode())) welcomeRemoveCheckDTO.setLinkReferNum(Optional.ofNullable(welcomeGroupByType.get(HmWelcomeReferType.LINK.getCode()))
.map(List::size).orElse(0)); .map(List::size).orElse(0));
return welcomeRemoveDTO; return welcomeRemoveCheckDTO;
} }
} }
...@@ -7,7 +7,7 @@ import com.gic.haoban.manage.api.dto.welcome.dto.FriendSettingDetailDTO; ...@@ -7,7 +7,7 @@ import com.gic.haoban.manage.api.dto.welcome.dto.FriendSettingDetailDTO;
import com.gic.haoban.manage.api.dto.welcome.dto.WelcomeDetailDTO; import com.gic.haoban.manage.api.dto.welcome.dto.WelcomeDetailDTO;
import com.gic.haoban.manage.api.dto.welcome.dto.WelcomeListDTO; import com.gic.haoban.manage.api.dto.welcome.dto.WelcomeListDTO;
import com.gic.haoban.manage.api.dto.welcome.dto.WelcomeMediaDTO; import com.gic.haoban.manage.api.dto.welcome.dto.WelcomeMediaDTO;
import com.gic.haoban.manage.api.dto.welcome.dto.WelcomeRemoveDTO; import com.gic.haoban.manage.api.dto.welcome.dto.WelcomeRemoveCheckDTO;
import com.gic.haoban.manage.api.dto.welcome.dto.WelcomeSuitDepartmentDTO; import com.gic.haoban.manage.api.dto.welcome.dto.WelcomeSuitDepartmentDTO;
import com.gic.haoban.manage.api.dto.welcome.qdto.QueryWelcomeQDTO; import com.gic.haoban.manage.api.dto.welcome.qdto.QueryWelcomeQDTO;
import com.gic.haoban.manage.api.dto.welcome.qdto.SaveFriendSettingQDTO; import com.gic.haoban.manage.api.dto.welcome.qdto.SaveFriendSettingQDTO;
...@@ -60,6 +60,7 @@ public class WelcomeApiServiceImpl implements WelcomeApiService { ...@@ -60,6 +60,7 @@ public class WelcomeApiServiceImpl implements WelcomeApiService {
saveWelcomeBO.setCreatorName(qdto.getCreatorName()); saveWelcomeBO.setCreatorName(qdto.getCreatorName());
saveWelcomeBO.setModifierId(qdto.getModifierId()); saveWelcomeBO.setModifierId(qdto.getModifierId());
saveWelcomeBO.setModifierName(qdto.getModifierName()); saveWelcomeBO.setModifierName(qdto.getModifierName());
saveWelcomeBO.setType(qdto.getType());
// 媒体列表 // 媒体列表
saveWelcomeBO.setWelcomeMediaList(EntityUtil.changeEntityListNew(SaveWelcomeMediaBO.class, qdto.getWelcomeMediaList())); saveWelcomeBO.setWelcomeMediaList(EntityUtil.changeEntityListNew(SaveWelcomeMediaBO.class, qdto.getWelcomeMediaList()));
// 适用部门新增列表 // 适用部门新增列表
...@@ -189,7 +190,18 @@ public class WelcomeApiServiceImpl implements WelcomeApiService { ...@@ -189,7 +190,18 @@ public class WelcomeApiServiceImpl implements WelcomeApiService {
* @return * @return
*/ */
@Override @Override
public ServiceResponse<WelcomeRemoveDTO> removeWelcomeWithErrorInfo(String welcomeId) { public ServiceResponse<WelcomeRemoveCheckDTO> removeWelcomeWithErrorInfo(String welcomeId) {
return ServiceResponse.success(welcomeService.removeWithErrorInfo(welcomeId)); return ServiceResponse.success(welcomeService.removeWithErrorInfo(welcomeId));
} }
/**
* 欢迎语被引用统计
*
* @param welcomeId
* @return
*/
@Override
public ServiceResponse<WelcomeRemoveCheckDTO> welcomeReferStatistics(String welcomeId) {
return ServiceResponse.success(welcomeService.welcomeReferStatistics(welcomeId));
}
} }
...@@ -3,17 +3,15 @@ package com.gic.haoban.manage.service.service.out.impl.hm; ...@@ -3,17 +3,15 @@ package com.gic.haoban.manage.service.service.out.impl.hm;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.gic.api.base.commons.Page; import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse; import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.util.UniqueIdUtils;
import com.gic.haoban.base.api.common.errCode.HaoBanErrCodeCommon; import com.gic.haoban.base.api.common.errCode.HaoBanErrCodeCommon;
import com.gic.haoban.common.utils.PageUtil; import com.gic.haoban.common.utils.PageUtil;
import com.gic.haoban.manage.api.dto.hm.HmGroupDTO; import com.gic.haoban.manage.api.dto.hm.HmGroupDTO;
import com.gic.haoban.manage.api.dto.hm.HmGroupQueryDTO; import com.gic.haoban.manage.api.dto.hm.HmGroupQueryDTO;
import com.gic.haoban.manage.api.enums.hm.HmGroupStatus; import com.gic.haoban.manage.api.enums.hm.HmGroupStatus;
import com.gic.haoban.manage.api.service.hm.HmGroupApiService; import com.gic.haoban.manage.api.service.hm.HmGroupApiService;
import com.gic.haoban.manage.service.dao.mapper.hm.TabHaobanHmGroupSettingMapper; import com.gic.haoban.manage.service.pojo.bo.hm.HmGroupSettingBO;
import com.gic.haoban.manage.service.entity.hm.TabHaobanHmGroupSetting;
import com.gic.haoban.manage.service.pojo.qo.HmGroupInfoQO; import com.gic.haoban.manage.service.pojo.qo.HmGroupInfoQO;
import com.github.pagehelper.PageHelper; import com.gic.haoban.manage.service.service.hm.HmGroupService;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils; import org.apache.commons.lang3.math.NumberUtils;
...@@ -24,7 +22,6 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -24,7 +22,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
...@@ -42,68 +39,51 @@ public class HmGroupApiServiceImpl implements HmGroupApiService { ...@@ -42,68 +39,51 @@ public class HmGroupApiServiceImpl implements HmGroupApiService {
private static final String DEFAULT_GROUP_NAME = "默认分组"; private static final String DEFAULT_GROUP_NAME = "默认分组";
@Autowired @Autowired
private TabHaobanHmGroupSettingMapper haobanHmGroupSettingMapper; private HmGroupService groupService;
@Override @Override
public ServiceResponse<Long> saveOrUpdateHmGroupSetting(HmGroupDTO hmGroupDTO) { public ServiceResponse<Long> saveOrUpdateHmGroupSetting(HmGroupDTO hmGroupDTO) {
if (StringUtils.isBlank(hmGroupDTO.getGroupName())) { if (StringUtils.isBlank(hmGroupDTO.getGroupName())) {
return ServiceResponse.failure(HaoBanErrCodeCommon.ERR_5.getCode()+"", HaoBanErrCodeCommon.ERR_5.getMsg()); return ServiceResponse.failure(HaoBanErrCodeCommon.ERR_5.getCode() + "", HaoBanErrCodeCommon.ERR_5.getMsg());
} }
if (StringUtils.equals(DEFAULT_GROUP_NAME, hmGroupDTO.getGroupName())){ if (StringUtils.equals(DEFAULT_GROUP_NAME, hmGroupDTO.getGroupName())) {
return ServiceResponse.failure(HaoBanErrCodeCommon.ERR_5.getCode()+"", HaoBanErrCodeCommon.ERR_5.getMsg()); return ServiceResponse.failure(HaoBanErrCodeCommon.ERR_5.getCode() + "", HaoBanErrCodeCommon.ERR_5.getMsg());
} }
HmGroupInfoQO groupInfoQo = new HmGroupInfoQO(); HmGroupInfoQO groupInfoQo = new HmGroupInfoQO();
groupInfoQo.setGroupName(hmGroupDTO.getGroupName()); groupInfoQo.setGroupName(hmGroupDTO.getGroupName());
groupInfoQo.setStatus(HmGroupStatus.ENABLE.getCode()); groupInfoQo.setStatus(HmGroupStatus.ENABLE.getCode());
groupInfoQo.setEnterpriseId(hmGroupDTO.getEnterpriseId()); groupInfoQo.setEnterpriseId(hmGroupDTO.getEnterpriseId());
groupInfoQo.setWxEnterpriseId(groupInfoQo.getWxEnterpriseId()); groupInfoQo.setWxEnterpriseId(groupInfoQo.getWxEnterpriseId());
List<TabHaobanHmGroupSetting> tabHaobanHmGroupSettings = haobanHmGroupSettingMapper.queryHmGroupSettingList(groupInfoQo); Page<HmGroupSettingBO> hmGroupSettingPage = groupService.queryGroupSettingList(groupInfoQo);
if (hmGroupDTO.getGroupId() == null) { if (hmGroupDTO.getGroupId() == null) {
// insert // insert
// check groupName unique // check groupName unique
if (CollectionUtils.isNotEmpty(tabHaobanHmGroupSettings)) { if (CollectionUtils.isNotEmpty(hmGroupSettingPage.getResult())) {
return ServiceResponse.failure(HaoBanErrCodeCommon.ERR_5.getCode()+"", HaoBanErrCodeCommon.ERR_5.getMsg()); return ServiceResponse.failure(HaoBanErrCodeCommon.ERR_5.getCode() + "", HaoBanErrCodeCommon.ERR_5.getMsg());
} }
TabHaobanHmGroupSetting tempGroupSetting = new TabHaobanHmGroupSetting();
tempGroupSetting.setGroupId(UniqueIdUtils.uniqueLong());
tempGroupSetting.setGroupName(hmGroupDTO.getGroupName());
tempGroupSetting.setCreatorId(hmGroupDTO.getCreatorId());
tempGroupSetting.setCreatorName(hmGroupDTO.getCreatorName());
tempGroupSetting.setCreateTime(new Date());
tempGroupSetting.setStatus(HmGroupStatus.ENABLE.getCode());
tempGroupSetting.setEnterpriseId(hmGroupDTO.getEnterpriseId());
tempGroupSetting.setWxEnterpriseId(hmGroupDTO.getWxEnterpriseId());
haobanHmGroupSettingMapper.insertSelective(tempGroupSetting);
return ServiceResponse.success(tempGroupSetting.getGroupId());
} else { } else {
// update // update
if (CollectionUtils.isNotEmpty(tabHaobanHmGroupSettings) if (CollectionUtils.isNotEmpty(hmGroupSettingPage.getResult())
&& tabHaobanHmGroupSettings.size() > 1) { && hmGroupSettingPage.getTotalCount() > 1) {
// 名称重复 // 名称重复
return ServiceResponse.failure(HaoBanErrCodeCommon.ERR_5.getCode()+"", HaoBanErrCodeCommon.ERR_5.getMsg()); return ServiceResponse.failure(HaoBanErrCodeCommon.ERR_5.getCode() + "", HaoBanErrCodeCommon.ERR_5.getMsg());
} }
if (CollectionUtils.isNotEmpty(tabHaobanHmGroupSettings) if (CollectionUtils.isNotEmpty(hmGroupSettingPage.getResult())
&& !tabHaobanHmGroupSettings.get(0).getGroupId().equals(hmGroupDTO.getGroupId())) { && !hmGroupSettingPage.getResult().get(0).getGroupId().equals(hmGroupDTO.getGroupId())) {
// 名称重复 // 名称重复
return ServiceResponse.failure(HaoBanErrCodeCommon.ERR_5.getCode()+"", HaoBanErrCodeCommon.ERR_5.getMsg()); return ServiceResponse.failure(HaoBanErrCodeCommon.ERR_5.getCode() + "", HaoBanErrCodeCommon.ERR_5.getMsg());
} }
TabHaobanHmGroupSetting tabHaobanHmGroupSetting = haobanHmGroupSettingMapper.selectByPrimaryKey(hmGroupDTO.getGroupId()); HmGroupSettingBO groupSettingBo = groupService.queryGroupSettingDetail(hmGroupDTO.getGroupId());
if (tabHaobanHmGroupSetting == null) { if (groupSettingBo == null) {
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(tabHaobanHmGroupSetting.getEnterpriseId(), hmGroupDTO.getEnterpriseId())) { if (!StringUtils.equals(groupSettingBo.getEnterpriseId(), hmGroupDTO.getEnterpriseId())) {
// 无权限 // 无权限
return ServiceResponse.failure(HaoBanErrCodeCommon.ERR_9.getCode()+"", HaoBanErrCodeCommon.ERR_9.getMsg()); return ServiceResponse.failure(HaoBanErrCodeCommon.ERR_9.getCode() + "", HaoBanErrCodeCommon.ERR_9.getMsg());
} }
TabHaobanHmGroupSetting tempGroupSetting = new TabHaobanHmGroupSetting();
tempGroupSetting.setGroupId(tabHaobanHmGroupSetting.getGroupId());
tempGroupSetting.setGroupName(hmGroupDTO.getGroupName());
tempGroupSetting.setModifierId(hmGroupDTO.getModifierId());
tempGroupSetting.setModifierName(hmGroupDTO.getModifierName());
tempGroupSetting.setUpdateTime(new Date());
haobanHmGroupSettingMapper.updateByPrimaryKeySelective(tempGroupSetting);
return ServiceResponse.success(tempGroupSetting.getGroupId());
} }
Long groupId = groupService.saveOrUpdateGroupSetting(hmGroupDTO);
return ServiceResponse.success(groupId);
} }
@Override @Override
...@@ -112,52 +92,46 @@ public class HmGroupApiServiceImpl implements HmGroupApiService { ...@@ -112,52 +92,46 @@ public class HmGroupApiServiceImpl implements HmGroupApiService {
HmGroupInfoQO groupInfoQo = new HmGroupInfoQO(); HmGroupInfoQO groupInfoQo = new HmGroupInfoQO();
BeanUtils.copyProperties(groupQueryDTO, groupInfoQo); BeanUtils.copyProperties(groupQueryDTO, groupInfoQo);
groupInfoQo.setStatus(HmGroupStatus.ENABLE.getCode()); groupInfoQo.setStatus(HmGroupStatus.ENABLE.getCode());
PageHelper.startPage(groupInfoQo.getPageNum(), groupInfoQo.getPageSize()); Page<HmGroupSettingBO> groupSettingPage = groupService.queryGroupSettingList(groupInfoQo);
com.github.pagehelper.Page<TabHaobanHmGroupSetting> tabHaobanHmGroupSettings =
(com.github.pagehelper.Page<TabHaobanHmGroupSetting>) haobanHmGroupSettingMapper.queryHmGroupSettingList(groupInfoQo);
Page<HmGroupDTO> hmGroupInfoPage = PageUtil.changePageHelperToCurrentPage(tabHaobanHmGroupSettings, HmGroupDTO.class);
// todo query 活码 默认分组的总数 Page<HmGroupDTO> groupDtoPage = PageUtil.changeToCurrentPage(groupSettingPage, HmGroupDTO.class);
List<HmGroupDTO> result = new ArrayList<>(); List<HmGroupDTO> result = new ArrayList<>();
// todo query 活码 默认分组的总数
result.add(buildDefault(null)); result.add(buildDefault(null));
if (CollectionUtils.isNotEmpty(hmGroupInfoPage.getResult())){ if (CollectionUtils.isNotEmpty(groupDtoPage.getResult())) {
hmGroupInfoPage.getResult().forEach(item -> item.setDefaultFlag(0)); groupDtoPage.getResult().forEach(item -> item.setDefaultFlag(0));
result.addAll(hmGroupInfoPage.getResult()); result.addAll(groupDtoPage.getResult());
} }
hmGroupInfoPage.setResult(result); groupDtoPage.setResult(result);
return ServiceResponse.success(hmGroupInfoPage); return ServiceResponse.success(groupDtoPage);
} }
private HmGroupDTO buildDefault(Integer num){ private HmGroupDTO buildDefault(Integer num) {
HmGroupDTO hmGroupDTO = new HmGroupDTO(); HmGroupDTO groupSettingDTO = new HmGroupDTO();
hmGroupDTO.setGroupId(DEFAULT_GROUP_ID); groupSettingDTO.setGroupId(DEFAULT_GROUP_ID);
hmGroupDTO.setGroupName(DEFAULT_GROUP_NAME); groupSettingDTO.setGroupName(DEFAULT_GROUP_NAME);
hmGroupDTO.setDefaultFlag(1); groupSettingDTO.setDefaultFlag(1);
hmGroupDTO.setReferNum(num); groupSettingDTO.setReferNum(num);
return hmGroupDTO; return groupSettingDTO;
} }
@Override @Override
public ServiceResponse<Boolean> deleteGroupSetting(HmGroupDTO groupDTO) { public ServiceResponse<Boolean> deleteGroupSetting(HmGroupDTO groupDTO) {
log.info("[deleteGroupSetting] 删除分组, params:{}", JSON.toJSONString(groupDTO)); log.info("[deleteGroupSetting] 删除分组, params:{}", JSON.toJSONString(groupDTO));
if (groupDTO.getGroupId() == null) { if (groupDTO.getGroupId() == null) {
return ServiceResponse.failure(HaoBanErrCodeCommon.ERR_2.getCode()+"", HaoBanErrCodeCommon.ERR_2.getMsg()); return ServiceResponse.failure(HaoBanErrCodeCommon.ERR_2.getCode() + "", HaoBanErrCodeCommon.ERR_2.getMsg());
} }
if (DEFAULT_GROUP_ID.equals(groupDTO.getGroupId())){ if (DEFAULT_GROUP_ID.equals(groupDTO.getGroupId())) {
return ServiceResponse.failure(HaoBanErrCodeCommon.ERR_5.getCode()+"", HaoBanErrCodeCommon.ERR_5.getMsg()); return ServiceResponse.failure(HaoBanErrCodeCommon.ERR_5.getCode() + "", HaoBanErrCodeCommon.ERR_5.getMsg());
} }
TabHaobanHmGroupSetting tabHaobanHmGroupSetting = haobanHmGroupSettingMapper.selectByPrimaryKey(groupDTO.getGroupId()); HmGroupSettingBO groupSettingBo = groupService.queryGroupSettingDetail(groupDTO.getGroupId());
if (tabHaobanHmGroupSetting == null || !HmGroupStatus.ENABLE.getCode().equals(tabHaobanHmGroupSetting.getStatus())) { if (groupSettingBo == null
return ServiceResponse.failure(HaoBanErrCodeCommon.ERR_5.getCode()+"", HaoBanErrCodeCommon.ERR_5.getMsg()); || !HmGroupStatus.ENABLE.getCode().equals(groupSettingBo.getStatus())
|| groupSettingBo.getReferNum() != 0) {
return ServiceResponse.failure(HaoBanErrCodeCommon.ERR_5.getCode() + "", HaoBanErrCodeCommon.ERR_5.getMsg());
} }
// todo query hm 校验分组是否被引用 groupService.deleteGroupSetting(groupDTO);
TabHaobanHmGroupSetting tempGroupSetting = new TabHaobanHmGroupSetting(); return ServiceResponse.success(Boolean.TRUE);
tempGroupSetting.setGroupId(tabHaobanHmGroupSetting.getGroupId());
tempGroupSetting.setStatus(HmGroupStatus.DISABLE.getCode());
tempGroupSetting.setModifierId(groupDTO.getModifierId());
tempGroupSetting.setModifierName(groupDTO.getModifierName());
tempGroupSetting.setUpdateTime(new Date());
return ServiceResponse.success(haobanHmGroupSettingMapper.updateByPrimaryKeySelective(tempGroupSetting) == 1);
} }
/** /**
...@@ -168,8 +142,8 @@ public class HmGroupApiServiceImpl implements HmGroupApiService { ...@@ -168,8 +142,8 @@ public class HmGroupApiServiceImpl implements HmGroupApiService {
* @return * @return
*/ */
@Override @Override
public ServiceResponse<Integer> queryGroupReferCount(String enterpriseId, String wxEnterpriseId) { public ServiceResponse<Integer> queryGroupTotalReferCount(String enterpriseId, String wxEnterpriseId) {
// todo query 分组引用的总数 Integer referCount = groupService.queryGroupTotalReferCount(enterpriseId, wxEnterpriseId);
return ServiceResponse.success(0); return ServiceResponse.success(referCount);
} }
} }
package com.gic.haoban.manage.service.service.out.impl.hm; package com.gic.haoban.manage.service.service.out.impl.hm;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Random;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.BasePageInfo; import com.gic.api.base.commons.BasePageInfo;
...@@ -8,36 +20,31 @@ import com.gic.api.base.commons.ServiceResponse; ...@@ -8,36 +20,31 @@ import com.gic.api.base.commons.ServiceResponse;
import com.gic.clerk.api.dto.ClerkDTO; import com.gic.clerk.api.dto.ClerkDTO;
import com.gic.clerk.api.service.ClerkService; import com.gic.clerk.api.service.ClerkService;
import com.gic.commons.util.EntityUtil; import com.gic.commons.util.EntityUtil;
import com.gic.enterprise.api.service.StoreService; import com.gic.haoban.manage.api.dto.WxEnterpriseDTO;
import com.gic.haoban.manage.api.dto.hm.HmLinkDTO; import com.gic.haoban.manage.api.dto.hm.HmLinkDTO;
import com.gic.haoban.manage.api.dto.hm.HmLinkStoreDTO; import com.gic.haoban.manage.api.dto.hm.HmLinkStoreDTO;
import com.gic.haoban.manage.api.dto.hm.HmLinkStoreSettingDTO; import com.gic.haoban.manage.api.dto.hm.HmLinkStoreSettingDTO;
import com.gic.haoban.manage.api.dto.hm.HmLinkWxaDTO; import com.gic.haoban.manage.api.dto.hm.HmLinkWxaDTO;
import com.gic.haoban.manage.api.dto.hm.HmPageTemplateRespDTO;
import com.gic.haoban.manage.api.dto.qdto.hm.HmLinkSearchQDTO; import com.gic.haoban.manage.api.dto.qdto.hm.HmLinkSearchQDTO;
import com.gic.haoban.manage.api.service.hm.HmLinkApiService; import com.gic.haoban.manage.api.service.hm.HmLinkApiService;
import com.gic.haoban.manage.api.service.hm.HmPageTemplateApiService;
import com.gic.haoban.manage.service.config.Config;
import com.gic.haoban.manage.service.entity.hm.TabHmLink; import com.gic.haoban.manage.service.entity.hm.TabHmLink;
import com.gic.haoban.manage.service.errorcode.HaoBanErrCode; import com.gic.haoban.manage.service.errorcode.HaoBanErrCode;
import com.gic.haoban.manage.service.pojo.bo.hm.HmQrcodeBO; import com.gic.haoban.manage.service.pojo.bo.hm.HmQrcodeBO;
import com.gic.haoban.manage.service.service.KeyDataService; import com.gic.haoban.manage.service.service.KeyDataService;
import com.gic.haoban.manage.service.service.MemberQueryService;
import com.gic.haoban.manage.service.service.WxEnterpriseService;
import com.gic.haoban.manage.service.service.hm.HmLinkService; import com.gic.haoban.manage.service.service.hm.HmLinkService;
import com.gic.haoban.manage.service.service.hm.HmLinkStoreService; import com.gic.haoban.manage.service.service.hm.HmLinkStoreService;
import com.gic.haoban.manage.service.service.hm.HmQrcodeService; import com.gic.haoban.manage.service.service.hm.HmQrcodeService;
import com.gic.member.api.dto.es.MemberDataDTO; import com.gic.member.api.dto.es.MemberDataDTO;
import com.gic.member.api.dto.es.MemberStoreClerkDataDTO; import com.gic.member.api.dto.es.MemberStoreClerkDataDTO;
import com.gic.member.api.service.MemberService; import com.gic.member.api.service.MemberService;
import com.gic.search.engine.api.dto.ESResponseQuerySingle; import com.gic.wechat.api.dto.qywx.welcome.QywxExternalcontactDTO;
import com.gic.search.engine.api.dto.dynamic.DynamicSearchDTO; import com.gic.wechat.api.dto.qywx.welcome.QywxExternalcontactResultDTO;
import com.gic.search.engine.api.service.dynamic.ESDataDynamicOperationApiService; import com.gic.wechat.api.service.qywx.QywxUserApiService;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
@Service("hmLinkApiService") @Service("hmLinkApiService")
public class HmLinkApiServiceImpl implements HmLinkApiService { public class HmLinkApiServiceImpl implements HmLinkApiService {
...@@ -53,13 +60,19 @@ public class HmLinkApiServiceImpl implements HmLinkApiService { ...@@ -53,13 +60,19 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
@Autowired @Autowired
private MemberService memberService; private MemberService memberService;
@Autowired @Autowired
private ESDataDynamicOperationApiService esApiService; private MemberQueryService memberQueryService;
@Autowired
private StoreService storeService;
@Autowired @Autowired
private HmQrcodeService hmQrcodeService; private HmQrcodeService hmQrcodeService;
@Autowired @Autowired
private ClerkService clerkService; private ClerkService clerkService;
@Autowired
private QywxUserApiService qywxUserApiService;
@Autowired
private Config config;
@Autowired
private WxEnterpriseService wxEnterpriseService;
@Autowired
private HmPageTemplateApiService hmPageTemplateApiService;
@Override @Override
public ServiceResponse<HmLinkDTO> getByLinkId(String wxEnterpriseId, String enterpriseId, Long linkId) { public ServiceResponse<HmLinkDTO> getByLinkId(String wxEnterpriseId, String enterpriseId, Long linkId) {
...@@ -92,13 +105,22 @@ public class HmLinkApiServiceImpl implements HmLinkApiService { ...@@ -92,13 +105,22 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
@Override @Override
public ServiceResponse<HmLinkWxaDTO> getLinkHmFromWxa(String enterpriseId, Integer whitchStore, String inStoreId, public ServiceResponse<HmLinkWxaDTO> getLinkHmFromWxa(String enterpriseId, Integer whitchStore, String inStoreId,
String inClerkId, String linkIdStr, String mixPhone, String unionid) { String inClerkId, String linkShortCode, String mixPhone, String unionid) {
HmQrcodeBO hm = null; HmQrcodeBO hm = null;
HmLinkWxaDTO retDTO = new HmLinkWxaDTO(); HmLinkWxaDTO retDTO = new HmLinkWxaDTO();
log.info("小程序获取活码={},linkId={},mixPhone={}", enterpriseId, linkIdStr, mixPhone); log.info("小程序获取活码={},linkShortCode={},mixPhone={}", enterpriseId, linkShortCode, mixPhone);
Long linkId = Long.parseLong(linkIdStr); TabHmLink link = this.hmLinkService.getByLinkShortCode(enterpriseId, linkShortCode) ;
TabHmLink link = this.hmLinkService.getByLinkId(null, null, linkId); if(null == link) {
log.error("链接记录不存,linkShortCode={}", linkShortCode);
return ServiceResponse.failure(HaoBanErrCode.ERR_OTHER.getCode(), "链接记录不存");
}
Long linkId = link.getLinkId() ;
String wxEnterpriseId = link.getWxEnterpriseId(); String wxEnterpriseId = link.getWxEnterpriseId();
WxEnterpriseDTO wxEnterpriseDTO = wxEnterpriseService.selectById(wxEnterpriseId);
if (wxEnterpriseDTO == null) {
log.error("未查询到微信企业,id={}", wxEnterpriseId);
return ServiceResponse.failure(HaoBanErrCode.ERR_OTHER.getCode(), "未查询到微信企业");
}
// 判断导购是否有活码,如果没有返回错误 // 判断导购是否有活码,如果没有返回错误
if (StringUtils.isNotBlank(inClerkId)) { if (StringUtils.isNotBlank(inClerkId)) {
hm = this.getHmFromClerk(inClerkId, wxEnterpriseId); hm = this.getHmFromClerk(inClerkId, wxEnterpriseId);
...@@ -157,7 +179,7 @@ public class HmLinkApiServiceImpl implements HmLinkApiService { ...@@ -157,7 +179,7 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
if (null == xgStore || xgStore.getOpen() == 0) { if (null == xgStore || xgStore.getOpen() == 0) {
xgStore = null; xgStore = null;
} }
String mobile = this.keyDataService.getMobile(mixPhone, linkIdStr); String mobile = this.keyDataService.getMobile(mixPhone, String.valueOf(linkId));
log.info("小程序获取活码mobile={}", mobile); log.info("小程序获取活码mobile={}", mobile);
String memberId = this.memberService.getMemberIdByPhoneNumber(mobile, enterpriseId); String memberId = this.memberService.getMemberIdByPhoneNumber(mobile, enterpriseId);
log.info("小程序获取活码memberId={}", memberId); log.info("小程序获取活码memberId={}", memberId);
...@@ -232,12 +254,38 @@ public class HmLinkApiServiceImpl implements HmLinkApiService { ...@@ -232,12 +254,38 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
} }
if (null != hm) { if (null != hm) {
String key = this.keyDataService.saveHmData(enterpriseId, unionid, linkId, hm.getHmId()); String key = this.keyDataService.saveHmData(enterpriseId, unionid, linkId, hm.getHmId());
if (null != key) {
this.addQrcode(hm, key, wxEnterpriseDTO.getCorpid(), retDTO);
}
// 查询页面
ServiceResponse<HmPageTemplateRespDTO> resp = this.hmPageTemplateApiService.queryPageTemplateDetail(link.getPageId());
// retDTO.setPage(resp.getResult());
} }
// 生成动态活码 // 生成动态活码
log.info(JSON.toJSONString(retDTO, true)); log.info(JSON.toJSONString(retDTO, true));
return ServiceResponse.success(retDTO); return ServiceResponse.success(retDTO);
} }
private void addQrcode(HmQrcodeBO hm, String key, String corpid, HmLinkWxaDTO retDTO) {
QywxExternalcontactDTO paramsDTO = new QywxExternalcontactDTO();
// 联系方式类型,1-单人, 2-多人
paramsDTO.setType(1);
// 场景,1-在小程序中联系,2-通过二维码联系
paramsDTO.setScene(2);
paramsDTO.setRemark(hm.getName());
paramsDTO.setSkipVerify(hm.getPassFlag() == 1);
paramsDTO.setState("DT" + key);
paramsDTO.setTemp(true);
// 过期时间一小时
paramsDTO.setExpiresIn(60L * 60);
paramsDTO.setUser(Arrays.asList(hm.getWxUserId()));
QywxExternalcontactResultDTO dto = qywxUserApiService.addContactWay(corpid, config.getWxSuiteid(), paramsDTO);
log.info("创建动态活码参数={},返回={}", corpid, JSON.toJSONString(paramsDTO), JSON.toJSONString(dto));
if (null != dto) {
retDTO.setHmQrcode(retDTO.getHmQrcode());
}
}
private HmQrcodeBO getHmFromClerk(String clerkId, String wxEnterpriseId) { private HmQrcodeBO getHmFromClerk(String clerkId, String wxEnterpriseId) {
if (StringUtils.isBlank(clerkId) || "-1".equals(clerkId)) { if (StringUtils.isBlank(clerkId) || "-1".equals(clerkId)) {
return null; return null;
...@@ -260,19 +308,17 @@ public class HmLinkApiServiceImpl implements HmLinkApiService { ...@@ -260,19 +308,17 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
} }
} }
if (null == hm && dy == 1) { if (null == hm && dy == 1) {
List<HmQrcodeBO> list = this.hmQrcodeService.listByStoreId(wxEnterpriseId,inStoreId, 0); List<HmQrcodeBO> list = this.hmQrcodeService.listByStoreId(wxEnterpriseId, inStoreId, 0);
if (CollectionUtils.isNotEmpty(list)) { if (CollectionUtils.isNotEmpty(list)) {
hm = list.get(new Random().nextInt(list.size())); hm = list.get(new Random().nextInt(list.size()));
} }
} }
return hm; return hm;
} }
// 冗余会员信息 // 冗余会员信息
private MemberDataDTO getMemberClerk(String enterpriseId, String memberId) { private MemberDataDTO getMemberClerk(String enterpriseId, String memberId) {
String returnFields = "memberId,mainClerkId,mainStoreId,storeClerkRel"; String returnFields = "memberId,mainClerkId,mainStoreId,storeClerkRel";
JSONObject memberObj = this.queryDataSingle(enterpriseId, memberId, returnFields); JSONObject memberObj = this.memberQueryService.queryDataSingle(enterpriseId, memberId, returnFields);
if (null == memberObj) { if (null == memberObj) {
return null; return null;
} }
...@@ -280,25 +326,4 @@ public class HmLinkApiServiceImpl implements HmLinkApiService { ...@@ -280,25 +326,4 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
MemberDataDTO memberDataDTO = memberObj.toJavaObject(MemberDataDTO.class); MemberDataDTO memberDataDTO = memberObj.toJavaObject(MemberDataDTO.class);
return memberDataDTO; return memberDataDTO;
} }
public JSONObject queryDataSingle(String enterpriseId, String memberId, String returnFields) {
JSONObject searchRes = null;
try {
JSONObject searchJson = new JSONObject();
DynamicSearchDTO search = new DynamicSearchDTO();
searchJson.put("id", memberId);
search.setSearchJson(searchJson);
search.setEnterpriseId(enterpriseId);
search.setColumnCategoryCode("member");
if (StringUtils.isNotBlank(returnFields)) {
search.setReturnFileds(returnFields);
}
ESResponseQuerySingle single = esApiService.queryDataSingle(search);
searchRes = single.getRes();
} catch (Exception e) {
log.warn("从搜索引擎搜索会员数据异常memberId: {}", memberId, e);
}
return searchRes;
}
} }
...@@ -4,13 +4,12 @@ import com.gic.api.base.commons.Page; ...@@ -4,13 +4,12 @@ import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse; import com.gic.api.base.commons.ServiceResponse;
import com.gic.haoban.base.api.common.errCode.HaoBanErrCodeCommon; import com.gic.haoban.base.api.common.errCode.HaoBanErrCodeCommon;
import com.gic.haoban.common.utils.PageUtil; import com.gic.haoban.common.utils.PageUtil;
import com.gic.haoban.manage.api.dto.hm.HmPageQueryDTO; import com.gic.haoban.manage.api.dto.hm.HmPageDTO;
import com.gic.haoban.manage.api.dto.hm.HmPageRelationQueryDTO; import com.gic.haoban.manage.api.dto.hm.HmPageRelationDTO;
import com.gic.haoban.manage.api.dto.hm.HmPageRelationRespDTO; import com.gic.haoban.manage.api.dto.qdto.hm.HmPageQDTO;
import com.gic.haoban.manage.api.dto.hm.HmPageTemplateDTO; import com.gic.haoban.manage.api.dto.qdto.hm.HmPageRelationQDTO;
import com.gic.haoban.manage.api.dto.hm.HmPageTemplateRespDTO; import com.gic.haoban.manage.api.enums.hm.HmPageStatus;
import com.gic.haoban.manage.api.enums.hm.HmPageTemplateStatus; import com.gic.haoban.manage.api.service.hm.HmPageApiService;
import com.gic.haoban.manage.api.service.hm.HmPageTemplateApiService;
import com.gic.haoban.manage.service.pojo.bo.hm.HmPageBO; 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.bo.hm.HmPageRelationBO;
import com.gic.haoban.manage.service.pojo.qo.HmPageRelationQO; import com.gic.haoban.manage.service.pojo.qo.HmPageRelationQO;
...@@ -35,11 +34,9 @@ import java.util.Objects; ...@@ -35,11 +34,9 @@ import java.util.Objects;
* @Version * @Version
**/ **/
@Component(value = "hmPageTemplateApiServiceImpl") @Component(value = "hmPageTemplateApiServiceImpl")
public class HmPageTemplateApiServiceImpl implements HmPageTemplateApiService { public class HmPageApiServiceImpl implements HmPageApiService {
private static final Logger log = LoggerFactory.getLogger(HmPageTemplateApiServiceImpl.class); private static final Logger log = LoggerFactory.getLogger(HmPageApiServiceImpl.class);
private static final String TEMPLATE_CODE_PREFIX = "MB01";
@Autowired @Autowired
private HmPageRelationService pageRelationService; private HmPageRelationService pageRelationService;
...@@ -47,61 +44,61 @@ public class HmPageTemplateApiServiceImpl implements HmPageTemplateApiService { ...@@ -47,61 +44,61 @@ public class HmPageTemplateApiServiceImpl implements HmPageTemplateApiService {
private HmPageService haobanHmPageService; private HmPageService haobanHmPageService;
@Override @Override
public ServiceResponse<Long> saveOrUpdateHmPageTemplate(HmPageTemplateDTO pageTemplateDTO) { public ServiceResponse<Long> saveOrUpdateHmPage(HmPageDTO pageDTO) {
if (Objects.nonNull(pageTemplateDTO.getPageId())) { if (Objects.nonNull(pageDTO.getPageId())) {
// update // update
HmPageBO pageDetail = haobanHmPageService.queryHmPageDetail(pageTemplateDTO.getPageId()); HmPageBO pageDetail = haobanHmPageService.queryHmPageDetail(pageDTO.getPageId());
if (Objects.isNull(pageDetail)) { 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(pageDetail.getEnterpriseId(), pageTemplateDTO.getEnterpriseId())) { if (!StringUtils.equals(pageDetail.getEnterpriseId(), pageDTO.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(pageDetail.getWxEnterpriseId(), pageTemplateDTO.getWxEnterpriseId())) { if (!StringUtils.equals(pageDetail.getWxEnterpriseId(), pageDTO.getWxEnterpriseId())) {
// 无权限 // 无权限
return ServiceResponse.failure(HaoBanErrCodeCommon.ERR_9.getCode() + "", HaoBanErrCodeCommon.ERR_9.getMsg()); return ServiceResponse.failure(HaoBanErrCodeCommon.ERR_9.getCode() + "", HaoBanErrCodeCommon.ERR_9.getMsg());
} }
} }
return ServiceResponse.success(haobanHmPageService.saveOrUpdateHmPageTemplate(pageTemplateDTO)); return ServiceResponse.success(haobanHmPageService.saveOrUpdateHmPage(pageDTO));
} }
@Override @Override
@Transactional(rollbackFor = RuntimeException.class) @Transactional(rollbackFor = RuntimeException.class)
public ServiceResponse<Boolean> deleteHmPageTemplate(HmPageTemplateDTO pageTemplateDTO) { public ServiceResponse<Boolean> deleteHmPage(HmPageDTO pageDTO) {
HmPageBO pageBo = haobanHmPageService.queryHmPageDetail(pageTemplateDTO.getPageId()); HmPageBO pageBo = haobanHmPageService.queryHmPageDetail(pageDTO.getPageId());
if (Objects.isNull(pageBo) || !Objects.equals(HmPageTemplateStatus.ENABLE.getCode(), pageBo.getStatus())) { if (Objects.isNull(pageBo) || !Objects.equals(HmPageStatus.ENABLE.getCode(), pageBo.getStatus())) {
return ServiceResponse.failure(HaoBanErrCodeCommon.ERR_8.getCode() + "", HaoBanErrCodeCommon.ERR_8.getMsg()); return ServiceResponse.failure(HaoBanErrCodeCommon.ERR_8.getCode() + "", HaoBanErrCodeCommon.ERR_8.getMsg());
} }
if (this.checkPageIsBeQuoted(pageBo.getPageCode()) > 0) { if (this.checkPageIsBeQuoted(pageBo.getPageCode()) > 0) {
return ServiceResponse.failure(HaoBanErrCodeCommon.ERR_9.getCode() + "", HaoBanErrCodeCommon.ERR_9.getMsg()); return ServiceResponse.failure(HaoBanErrCodeCommon.ERR_9.getCode() + "", HaoBanErrCodeCommon.ERR_9.getMsg());
} }
haobanHmPageService.deleteHmPageTemplate(pageTemplateDTO); haobanHmPageService.deleteHmPage(pageDTO);
return ServiceResponse.success(Boolean.TRUE); return ServiceResponse.success(Boolean.TRUE);
} }
@Override @Override
public ServiceResponse<Page<HmPageTemplateRespDTO>> queryPageTemplateList(HmPageQueryDTO pageQueryDTO) { public ServiceResponse<Page<HmPageDTO>> queryPageList(HmPageQDTO pageQueryDTO) {
HmPageTemplateQO pageTemplateQo = new HmPageTemplateQO(); HmPageTemplateQO pageTemplateQo = new HmPageTemplateQO();
BeanUtils.copyProperties(pageQueryDTO, pageTemplateQo); BeanUtils.copyProperties(pageQueryDTO, pageTemplateQo);
pageTemplateQo.setStatus(HmPageTemplateStatus.ENABLE.getCode()); pageTemplateQo.setStatus(HmPageStatus.ENABLE.getCode());
Page<HmPageBO> hmPageBoPages = haobanHmPageService.queryPageList(pageTemplateQo); Page<HmPageBO> hmPageBoPages = haobanHmPageService.queryPageList(pageTemplateQo);
Page<HmPageTemplateRespDTO> pageRespVos = PageUtil.changeToCurrentPage(hmPageBoPages, HmPageTemplateRespDTO.class); Page<HmPageDTO> pageRespVos = PageUtil.changeToCurrentPage(hmPageBoPages, HmPageDTO.class);
return ServiceResponse.success(pageRespVos); return ServiceResponse.success(pageRespVos);
} }
/** /**
* 校验落地页模板pageTemplateCode 是否被关联 * 校验落地页模板pageTemplateCode 是否被关联
* *
* @param pageTemplateCode * @param pageCode
* @return true 存在关联 * @return true 存在关联
* false 不存在关联关系 * false 不存在关联关系
*/ */
private Integer checkPageIsBeQuoted(String pageTemplateCode) { private Integer checkPageIsBeQuoted(String pageCode) {
List<HmPageRelationBO> relations = pageRelationService.queryPageTemplateRelation(pageTemplateCode); List<HmPageRelationBO> relations = pageRelationService.queryPageRelation(pageCode);
return 0; return 0;
} }
...@@ -112,7 +109,7 @@ public class HmPageTemplateApiServiceImpl implements HmPageTemplateApiService { ...@@ -112,7 +109,7 @@ public class HmPageTemplateApiServiceImpl implements HmPageTemplateApiService {
* @return * @return
*/ */
@Override @Override
public ServiceResponse<Page<HmPageRelationRespDTO>> queryPageRelation(HmPageRelationQueryDTO relationQueryDTO) { public ServiceResponse<Page<HmPageRelationDTO>> queryPageRelation(HmPageRelationQDTO relationQueryDTO) {
HmPageRelationQO hmPageRelationQo = new HmPageRelationQO(); HmPageRelationQO hmPageRelationQo = new HmPageRelationQO();
hmPageRelationQo.setTemplateSearchText(relationQueryDTO.getSearchText()); hmPageRelationQo.setTemplateSearchText(relationQueryDTO.getSearchText());
hmPageRelationQo.setEnterpriseId(relationQueryDTO.getEnterpriseId()); hmPageRelationQo.setEnterpriseId(relationQueryDTO.getEnterpriseId());
...@@ -120,8 +117,9 @@ public class HmPageTemplateApiServiceImpl implements HmPageTemplateApiService { ...@@ -120,8 +117,9 @@ public class HmPageTemplateApiServiceImpl implements HmPageTemplateApiService {
hmPageRelationQo.setPageNum(relationQueryDTO.getPageNum()); hmPageRelationQo.setPageNum(relationQueryDTO.getPageNum());
hmPageRelationQo.setPageSize(relationQueryDTO.getPageSize()); hmPageRelationQo.setPageSize(relationQueryDTO.getPageSize());
hmPageRelationQo.setPageCode(relationQueryDTO.getPageId() + ""); hmPageRelationQo.setPageCode(relationQueryDTO.getPageId() + "");
Page<HmPageRelationBO> hmPageRelationPage = pageRelationService.queryPageTemplateRelationWithSearchText(hmPageRelationQo); hmPageRelationQo.setStatus(HmPageStatus.ENABLE.getCode());
return ServiceResponse.success(PageUtil.changeToCurrentPage(hmPageRelationPage, HmPageRelationRespDTO.class)); Page<HmPageRelationBO> hmPageRelationPage = pageRelationService.queryPageRelationWithSearchText(hmPageRelationQo);
return ServiceResponse.success(PageUtil.changeToCurrentPage(hmPageRelationPage, HmPageRelationDTO.class));
} }
/** /**
...@@ -131,13 +129,13 @@ public class HmPageTemplateApiServiceImpl implements HmPageTemplateApiService { ...@@ -131,13 +129,13 @@ public class HmPageTemplateApiServiceImpl implements HmPageTemplateApiService {
* @return * @return
*/ */
@Override @Override
public ServiceResponse<HmPageTemplateRespDTO> queryPageTemplateDetail(Long pageId) { public ServiceResponse<HmPageDTO> queryPageDetail(Long pageId) {
HmPageBO pageBO = haobanHmPageService.queryHmPageDetail(pageId); HmPageBO pageBO = haobanHmPageService.queryHmPageDetail(pageId);
if (pageBO == null) { if (pageBO == null) {
return ServiceResponse.success(); return ServiceResponse.success();
} }
HmPageTemplateRespDTO hmPageTemplateRespDTO = new HmPageTemplateRespDTO(); HmPageDTO hmPageDTO = new HmPageDTO();
BeanUtils.copyProperties(pageBO, hmPageTemplateRespDTO); BeanUtils.copyProperties(pageBO, hmPageDTO);
return ServiceResponse.success(hmPageTemplateRespDTO); return ServiceResponse.success(hmPageDTO);
} }
} }
...@@ -6,11 +6,11 @@ import com.gic.haoban.base.api.common.errCode.HaoBanErrCodeCommon; ...@@ -6,11 +6,11 @@ import com.gic.haoban.base.api.common.errCode.HaoBanErrCodeCommon;
import com.gic.haoban.common.utils.PageUtil; import com.gic.haoban.common.utils.PageUtil;
import com.gic.haoban.manage.api.dto.hm.HmWelcomeRelationDTO; 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.dto.welcome.qdto.QueryWelcomeRelationQDTO;
import com.gic.haoban.manage.api.enums.WelcomeRelationStatusEnum;
import com.gic.haoban.manage.api.service.hm.HmWelcomeRelationApiService; import com.gic.haoban.manage.api.service.hm.HmWelcomeRelationApiService;
import com.gic.haoban.manage.service.dao.mapper.TabHaobanWelcomeTemplateRelationMapper; import com.gic.haoban.manage.service.pojo.bo.hm.HmWelcomeRelationBO;
import com.gic.haoban.manage.service.entity.hm.TabHaobanWelcomeTemplateRelation;
import com.gic.haoban.manage.service.pojo.qo.WelcomeRelationQO; import com.gic.haoban.manage.service.pojo.qo.WelcomeRelationQO;
import com.github.pagehelper.PageHelper; import com.gic.haoban.manage.service.service.hm.WelcomeRelationService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -24,24 +24,24 @@ import org.springframework.stereotype.Component; ...@@ -24,24 +24,24 @@ import org.springframework.stereotype.Component;
public class HmWelcomeRelationApiServiceImpl implements HmWelcomeRelationApiService { public class HmWelcomeRelationApiServiceImpl implements HmWelcomeRelationApiService {
@Autowired @Autowired
private TabHaobanWelcomeTemplateRelationMapper welcomeTemplateRelationMapper; private WelcomeRelationService welcomeRelationService;
/** /**
* 条件查询 欢迎语关联关系 * 条件查询 欢迎语关联关系
* *
* @param queryWelcomeRelationQDTO * @param queryWelcomeRelationQdto
* @return * @return
*/ */
@Override @Override
public ServiceResponse<Page<HmWelcomeRelationDTO>> queryWelcomeRelation(QueryWelcomeRelationQDTO queryWelcomeRelationQDTO) { public ServiceResponse<Page<HmWelcomeRelationDTO>> queryWelcomeRelation(QueryWelcomeRelationQDTO queryWelcomeRelationQdto) {
if (queryWelcomeRelationQDTO.getWelcomeId() == null){ if (queryWelcomeRelationQdto.getWelcomeId() == null){
return ServiceResponse.failure(HaoBanErrCodeCommon.ERR_2.getCode()+"", HaoBanErrCodeCommon.ERR_2.getMsg()); return ServiceResponse.failure(HaoBanErrCodeCommon.ERR_2.getCode()+"", HaoBanErrCodeCommon.ERR_2.getMsg());
} }
WelcomeRelationQO welcomeRelationQo = new WelcomeRelationQO(); WelcomeRelationQO welcomeRelationQo = new WelcomeRelationQO();
welcomeRelationQo.setWelcomeId(queryWelcomeRelationQDTO.getWelcomeId()); welcomeRelationQo.setWelcomeId(queryWelcomeRelationQdto.getWelcomeId());
PageHelper.startPage(queryWelcomeRelationQDTO.getPageNum(), queryWelcomeRelationQDTO.getPageSize()); welcomeRelationQo.setStatus(WelcomeRelationStatusEnum.ENABLE.getCode());
com.github.pagehelper.Page<TabHaobanWelcomeTemplateRelation> tabHaobanWelcomeTemplateRelations = Page<HmWelcomeRelationBO> welcomeRelationPage = welcomeRelationService.queryWelcomeRelationPage(welcomeRelationQo);
(com.github.pagehelper.Page<TabHaobanWelcomeTemplateRelation>) welcomeTemplateRelationMapper.queryWelcomeTemplate(welcomeRelationQo); Page<HmWelcomeRelationDTO> welcomeRelationDTOPage = PageUtil.changeToCurrentPage(welcomeRelationPage, HmWelcomeRelationDTO.class);
Page<HmWelcomeRelationDTO> hmWelcomeRelationDTOPage = PageUtil.changePageHelperToCurrentPage(tabHaobanWelcomeTemplateRelations, HmWelcomeRelationDTO.class); return ServiceResponse.success(welcomeRelationDTOPage);
return ServiceResponse.success(hmWelcomeRelationDTOPage);
} }
} }
...@@ -112,7 +112,7 @@ ...@@ -112,7 +112,7 @@
ref="hmGroupApiServiceImpl" timeout="10000" /> ref="hmGroupApiServiceImpl" timeout="10000" />
<dubbo:service interface="com.gic.haoban.manage.api.service.hm.HmWelcomeRelationApiService" <dubbo:service interface="com.gic.haoban.manage.api.service.hm.HmWelcomeRelationApiService"
ref="hmWelcomeRelationApiServiceImpl" timeout="10000" /> ref="hmWelcomeRelationApiServiceImpl" timeout="10000" />
<dubbo:service interface="com.gic.haoban.manage.api.service.hm.HmPageTemplateApiService" <dubbo:service interface="com.gic.haoban.manage.api.service.hm.HmPageApiService"
ref="hmPageTemplateApiServiceImpl" timeout="10000" /> ref="hmPageTemplateApiServiceImpl" timeout="10000" />
<dubbo:service interface="com.gic.haoban.manage.api.service.hm.HmQrcodeApiService" <dubbo:service interface="com.gic.haoban.manage.api.service.hm.HmQrcodeApiService"
ref="hmQrcodeApiServiceImpl" timeout="10000" /> ref="hmQrcodeApiServiceImpl" timeout="10000" />
......
...@@ -163,6 +163,9 @@ ...@@ -163,6 +163,9 @@
<if test="welcomeId != null"> <if test="welcomeId != null">
and welcome_id = #{welcomeId} and welcome_id = #{welcomeId}
</if> </if>
<if test="status != null">
and `status` = #{status}
</if>
</where> </where>
</select> </select>
......
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
<result column="custom_rule_json" property="customRuleJson"/> <result column="custom_rule_json" property="customRuleJson"/>
<result column="member_label_id" property="memberLabelId"/> <result column="member_label_id" property="memberLabelId"/>
<result column="status_flag" property="statusFlag"/> <result column="status_flag" property="statusFlag"/>
<result column="short_code" property="shortCode" />
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
link_id, link_id,
...@@ -41,7 +42,7 @@ ...@@ -41,7 +42,7 @@
store_rule_json, store_rule_json,
custom_rule_json, custom_rule_json,
member_label_id, member_label_id,
status_flag status_flag,shortCode
</sql> </sql>
<!-- ===================== 新增 ======================== --> <!-- ===================== 新增 ======================== -->
<insert id="insert" parameterType="com.gic.haoban.manage.service.entity.hm.TabHmLink"> <insert id="insert" parameterType="com.gic.haoban.manage.service.entity.hm.TabHmLink">
...@@ -65,7 +66,7 @@ ...@@ -65,7 +66,7 @@
store_rule_json, store_rule_json,
custom_rule_json, custom_rule_json,
member_label_id, member_label_id,
status_flag status_flag , short_code
)VALUES( )VALUES(
#{linkId,jdbcType=BIGINT}, #{linkId,jdbcType=BIGINT},
#{linkCode,jdbcType=VARCHAR}, #{linkCode,jdbcType=VARCHAR},
...@@ -85,7 +86,7 @@ ...@@ -85,7 +86,7 @@
#{storeRuleJson,jdbcType=VARCHAR}, #{storeRuleJson,jdbcType=VARCHAR},
#{customRuleJson,jdbcType=VARCHAR}, #{customRuleJson,jdbcType=VARCHAR},
#{memberLabelId,jdbcType=VARCHAR}, #{memberLabelId,jdbcType=VARCHAR},
#{statusFlag,jdbcType=INTEGER} #{statusFlag,jdbcType=INTEGER} , #{shortCode}
) )
]]> ]]>
</insert> </insert>
...@@ -110,7 +111,11 @@ ...@@ -110,7 +111,11 @@
<!-- ============ 查询=============--> <!-- ============ 查询=============-->
<select id="selectById" parameterType="long" resultMap="result-map-tabHaobanHmLink"> <select id="selectById" parameterType="long" resultMap="result-map-tabHaobanHmLink">
SELECT * FROM tab_haoban_hm_link WHERE link_id = #{linkId} SELECT <include refid="Base_Column_List" /> FROM tab_haoban_hm_link WHERE link_id = #{linkId} and status_flag = 1
</select>
<select id="selectByShortCode" resultMap="result-map-tabHaobanHmLink">
SELECT <include refid="Base_Column_List" /> FROM tab_haoban_hm_link WHERE enterprise_id=#{enterpriseId} and short_code=#{shortCode} and status_flag = 1
</select> </select>
<select id="listForSms" resultMap="result-map-tabHaobanHmLink"> <select id="listForSms" resultMap="result-map-tabHaobanHmLink">
......
...@@ -275,5 +275,6 @@ ...@@ -275,5 +275,6 @@
and #{endTime} >= create_time and #{endTime} >= create_time
</if> </if>
</where> </where>
order by page_id desc
</select> </select>
</mapper> </mapper>
\ No newline at end of file
...@@ -165,5 +165,6 @@ ...@@ -165,5 +165,6 @@
and `status` = #{status} and `status` = #{status}
</if> </if>
</where> </where>
order by relation_id desc
</select> </select>
</mapper> </mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" ?> <?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"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gic.haoban.manage.service.dao.mapper.hm.WxUserAddLogMapper"> <mapper namespace="com.gic.haoban.manage.service.dao.mapper.hm.WxUserAddLogMapper">
<resultMap type="com.gic.haoban.manage.service.entity.hm.TabWxUserAddLog" id="result-map-tabHaobanWxUserAddLog"> <resultMap type="com.gic.haoban.manage.service.entity.hm.TabWxUserAddLog"
<result column="log_id" property="logId"/> id="result-map-tabHaobanWxUserAddLog">
<result column="wx_enterprise_id" property="wxEnterpriseId"/> <result column="log_id" property="logId" />
<result column="enterprise_id" property="enterpriseId"/> <result column="wx_enterprise_id" property="wxEnterpriseId" />
<result column="external_userid" property="externalUserid"/> <result column="enterprise_id" property="enterpriseId" />
<result column="staff_id" property="staffId"/> <result column="external_userid" property="externalUserid" />
<result column="staff_name" property="staffName"/> <result column="staff_id" property="staffId" />
<result column="wx_user_id" property="wxUserId"/> <result column="staff_name" property="staffName" />
<result column="status_flag" property="statusFlag"/> <result column="wx_user_id" property="wxUserId" />
<result column="add_channel" property="addChannel"/> <result column="status_flag" property="statusFlag" />
<result column="hm_id" property="hmId"/> <result column="add_channel" property="addChannel" />
<result column="hm_name" property="hmName"/> <result column="hm_id" property="hmId" />
<result column="link_id" property="linkId"/> <result column="hm_name" property="hmName" />
<result column="link_name" property="linkName"/> <result column="link_id" property="linkId" />
<result column="member_id" property="memberId"/> <result column="link_name" property="linkName" />
<result column="member_name" property="memberName"/> <result column="member_id" property="memberId" />
<result column="member_nick" property="memberNick"/> <result column="member_name" property="memberName" />
<result column="member_image" property="memberImage"/> <result column="member_nick" property="memberNick" />
<result column="member_phone" property="memberPhone"/> <result column="member_image" property="memberImage" />
<result column="member_grade_id" property="memberGradeId"/> <result column="member_phone" property="memberPhone" />
<result column="member_grade_name" property="memberGradeName"/> <result column="member_grade_id" property="memberGradeId" />
<result column="member_card_no" property="memberCardNo"/> <result column="member_grade_name" property="memberGradeName" />
<result column="clerk_id" property="clerkId"/> <result column="member_card_no" property="memberCardNo" />
<result column="clerk_code" property="clerkCode"/> <result column="clerk_id" property="clerkId" />
<result column="clerk_name" property="clerkName"/> <result column="clerk_code" property="clerkCode" />
<result column="store_id" property="storeId"/> <result column="clerk_name" property="clerkName" />
<result column="store_name" property="storeName"/> <result column="store_id" property="storeId" />
<result column="store_code" property="storeCode"/> <result column="store_name" property="storeName" />
<result column="member_label_id" property="memberLabelId"/> <result column="store_code" property="storeCode" />
<result column="member_label_name" property="memberLabelName"/> <result column="member_label_id" property="memberLabelId" />
<result column="create_time" property="createTime"/> <result column="member_label_name" property="memberLabelName" />
<result column="update_time" property="updateTime"/> <result column="create_time" property="createTime" />
<result column="all_del_flag" property="allDelFlag"/> <result column="update_time" property="updateTime" />
<result column="all_del_flag" property="allDelFlag" />
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
log_id, log_id,
...@@ -70,7 +71,8 @@ ...@@ -70,7 +71,8 @@
all_del_flag all_del_flag
</sql> </sql>
<!-- ===================== 新增 ======================== --> <!-- ===================== 新增 ======================== -->
<insert id="insert" parameterType="com.gic.haoban.manage.service.entity.hm.TabWxUserAddLog"> <insert id="insert"
parameterType="com.gic.haoban.manage.service.entity.hm.TabWxUserAddLog">
<![CDATA[ <![CDATA[
INSERT INTO tab_haoban_wx_user_add_log( INSERT INTO tab_haoban_wx_user_add_log(
log_id, log_id,
...@@ -135,14 +137,30 @@ ...@@ -135,14 +137,30 @@
#{storeCode,jdbcType=VARCHAR}, #{storeCode,jdbcType=VARCHAR},
#{memberLabelId,jdbcType=VARCHAR}, #{memberLabelId,jdbcType=VARCHAR},
#{memberLabelName,jdbcType=VARCHAR}, #{memberLabelName,jdbcType=VARCHAR},
#{createTime,jdbcType=TIMESTAMP}, now(),
#{updateTime,jdbcType=TIMESTAMP}, now(),
#{allDelFlag,jdbcType=INTEGER} #{allDelFlag,jdbcType=INTEGER}
) )
]]> ]]>
</insert> </insert>
<select id="listAll" parameterType="com.gic.haoban.manage.service.entity.hm.TabWxUserAddLog" resultMap="result-map-tabHaobanWxUserAddLog"> <select id="listAllForDel"
select * from tab_haoban_wx_user_add_log parameterType="com.gic.haoban.manage.service.entity.hm.TabWxUserAddLog"
resultMap="result-map-tabHaobanWxUserAddLog">
select
<include refid="Base_Column_List" />
from tab_haoban_wx_user_add_log where
external_userid=#{externalUserid} and status_flag != 0 order by
create_time asc
</select> </select>
<select id="selectNewLog" resultMap="result-map-tabHaobanWxUserAddLog">
select
<include refid="Base_Column_List" />
from tab_haoban_wx_user_add_log where
external_userid=#{externalUserid} and wx_user_id =#{wxUserId} and
status_flag != 0 order by create_time desc limit 1
</select>
</mapper> </mapper>
\ No newline at end of file
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.gic.haoban.manage.api.dto.hm.HmPageTemplateDTO; import com.gic.haoban.manage.api.dto.hm.HmPageDTO;
import com.gic.haoban.manage.service.entity.hm.TabHaobanHmPage; import com.gic.haoban.manage.service.entity.hm.TabHaobanHmPage;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
...@@ -12,7 +12,7 @@ import org.springframework.beans.BeanUtils; ...@@ -12,7 +12,7 @@ import org.springframework.beans.BeanUtils;
public class TestBeanCopy { public class TestBeanCopy {
public static void main(String[] args) { public static void main(String[] args) {
HmPageTemplateDTO pageTemplateDTO = new HmPageTemplateDTO(); HmPageDTO pageTemplateDTO = new HmPageDTO();
pageTemplateDTO.setPageBackgroundImg("dadadadasd"); pageTemplateDTO.setPageBackgroundImg("dadadadasd");
TabHaobanHmPage temp = new TabHaobanHmPage(); TabHaobanHmPage temp = new TabHaobanHmPage();
BeanUtils.copyProperties(pageTemplateDTO, temp); BeanUtils.copyProperties(pageTemplateDTO, temp);
......
...@@ -13,6 +13,7 @@ import com.gic.haoban.manage.api.dto.hm.HmWelcomeRelationDTO; ...@@ -13,6 +13,7 @@ import com.gic.haoban.manage.api.dto.hm.HmWelcomeRelationDTO;
import com.gic.haoban.manage.api.dto.welcome.dto.FriendSettingDetailDTO; import com.gic.haoban.manage.api.dto.welcome.dto.FriendSettingDetailDTO;
import com.gic.haoban.manage.api.dto.welcome.dto.WelcomeDetailDTO; import com.gic.haoban.manage.api.dto.welcome.dto.WelcomeDetailDTO;
import com.gic.haoban.manage.api.dto.welcome.dto.WelcomeListDTO; import com.gic.haoban.manage.api.dto.welcome.dto.WelcomeListDTO;
import com.gic.haoban.manage.api.dto.welcome.dto.WelcomeRemoveCheckDTO;
import com.gic.haoban.manage.api.dto.welcome.qdto.QueryWelcomeQDTO; import com.gic.haoban.manage.api.dto.welcome.qdto.QueryWelcomeQDTO;
import com.gic.haoban.manage.api.dto.welcome.qdto.QueryWelcomeRelationQDTO; import com.gic.haoban.manage.api.dto.welcome.qdto.QueryWelcomeRelationQDTO;
import com.gic.haoban.manage.api.dto.welcome.qdto.SaveFriendSettingQDTO; import com.gic.haoban.manage.api.dto.welcome.qdto.SaveFriendSettingQDTO;
...@@ -21,6 +22,7 @@ import com.gic.haoban.manage.api.dto.welcome.qdto.SaveWelcomeQDTO; ...@@ -21,6 +22,7 @@ import com.gic.haoban.manage.api.dto.welcome.qdto.SaveWelcomeQDTO;
import com.gic.haoban.manage.api.enums.hm.HmWelcomeType; import com.gic.haoban.manage.api.enums.hm.HmWelcomeType;
import com.gic.haoban.manage.api.service.hm.HmWelcomeRelationApiService; import com.gic.haoban.manage.api.service.hm.HmWelcomeRelationApiService;
import com.gic.haoban.manage.api.service.out.WelcomeApiService; import com.gic.haoban.manage.api.service.out.WelcomeApiService;
import com.gic.haoban.manage.web.errCode.HaoBanErrCode;
import com.gic.haoban.manage.web.qo.welcome.ListWelcomeQO; import com.gic.haoban.manage.web.qo.welcome.ListWelcomeQO;
import com.gic.haoban.manage.web.qo.welcome.SaveFriendSettingQO; import com.gic.haoban.manage.web.qo.welcome.SaveFriendSettingQO;
import com.gic.haoban.manage.web.qo.welcome.SaveWelcomeQO; import com.gic.haoban.manage.web.qo.welcome.SaveWelcomeQO;
...@@ -109,8 +111,37 @@ public class WelcomeController extends WebBaseController { ...@@ -109,8 +111,37 @@ public class WelcomeController extends WebBaseController {
if (StringUtils.isEmpty(welcomeId)) { if (StringUtils.isEmpty(welcomeId)) {
RestResponse.failure(Constant.STRING_1, "欢迎语id为空", Boolean.FALSE); RestResponse.failure(Constant.STRING_1, "欢迎语id为空", Boolean.FALSE);
} }
ServiceResponse<Boolean> response = welcomeApiService.removeWelcome(welcomeId); ServiceResponse<WelcomeRemoveCheckDTO> serviceResponse = welcomeApiService.removeWelcomeWithErrorInfo(welcomeId);
return RestResponse.successResult(response.getResult()); if (serviceResponse.getResult() != null) {
// can't remove
return RestResponse.failure(HaoBanErrCode.ERR_9.getCode()+"", this.buildErrorMessage(serviceResponse.getResult()));
}
return RestResponse.successResult();
}
private String buildErrorMessage(WelcomeRemoveCheckDTO welcomeRemoveCheckDTO) {
StringBuilder stringBuilder = new StringBuilder("");
if (welcomeRemoveCheckDTO.getQrCodeReferNum() != null
&& welcomeRemoveCheckDTO.getQrCodeReferNum() > 0
&& welcomeRemoveCheckDTO.getLinkReferNum() != null
&& welcomeRemoveCheckDTO.getLinkReferNum() > 0) {
stringBuilder.append("当前模板已关联状态为正常的活码(")
.append(welcomeRemoveCheckDTO.getQrCodeReferNum())
.append(")、链接(")
.append(welcomeRemoveCheckDTO.getLinkReferNum())
.append("),请确认相关活码是否不再使用该欢迎语以及链接已投放结束,取消关联后才可删除该模板");
} else if (welcomeRemoveCheckDTO.getQrCodeReferNum() != null
&& welcomeRemoveCheckDTO.getQrCodeReferNum() > 0){
stringBuilder.append("当前模板已关联状态为正常的活码(")
.append(welcomeRemoveCheckDTO.getQrCodeReferNum())
.append("),请确认相关活码是否不再使用该欢迎语,取消关联后才可删除该模板");
}else if (welcomeRemoveCheckDTO.getLinkReferNum() != null
&& welcomeRemoveCheckDTO.getLinkReferNum() > 0){
stringBuilder.append("当前模板已关联状态为正常的链接(")
.append(welcomeRemoveCheckDTO.getLinkReferNum())
.append("),请确认相关链接已投放结束,取消关联后才可删除该模板");
}
return stringBuilder.toString();
} }
/** /**
...@@ -227,11 +258,20 @@ public class WelcomeController extends WebBaseController { ...@@ -227,11 +258,20 @@ public class WelcomeController extends WebBaseController {
queryWelcomeRelationQDTO.setPageNum(pageNum); queryWelcomeRelationQDTO.setPageNum(pageNum);
queryWelcomeRelationQDTO.setPageSize(pageSize); queryWelcomeRelationQDTO.setPageSize(pageSize);
ServiceResponse<Page<HmWelcomeRelationDTO>> serviceResponse = welcomeRelationApiService.queryWelcomeRelation(queryWelcomeRelationQDTO); ServiceResponse<Page<HmWelcomeRelationDTO>> serviceResponse = welcomeRelationApiService.queryWelcomeRelation(queryWelcomeRelationQDTO);
if (serviceResponse.isSuccess()){ if (serviceResponse.isSuccess()) {
Page<HmWelcomeRelationDTO> result = serviceResponse.getResult(); Page<HmWelcomeRelationDTO> result = serviceResponse.getResult();
return RestResponse.successResult(PageUtil.getPageInfo(result)); return RestResponse.successResult(PageUtil.getPageInfo(result));
} }
return RestResponse.failure(serviceResponse.getCode(), serviceResponse.getMessage()); return RestResponse.failure(serviceResponse.getCode(), serviceResponse.getMessage());
} }
@RequestMapping(path = "/statistics")
public RestResponse<?> checkWelcomeReferStatistics(String welcomeId) {
if (StringUtils.isBlank(welcomeId)){
return RestResponse.failure(HaoBanErrCode.ERR_2.getCode()+"", HaoBanErrCode.ERR_2.getMsg());
}
return RestResponse.successResult(welcomeApiService.welcomeReferStatistics(welcomeId));
}
} }
...@@ -103,7 +103,7 @@ public class HmGroupController extends WebBaseController { ...@@ -103,7 +103,7 @@ public class HmGroupController extends WebBaseController {
@RequestMapping(path = "/refer/count") @RequestMapping(path = "/refer/count")
public RestResponse<?> queryGroupTotalReferCount(){ public RestResponse<?> queryGroupTotalReferCount(){
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser(); WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
ServiceResponse<Integer> serviceResponse = groupApiService.queryGroupReferCount(loginUser.getEnterpriseId(), loginUser.getWxEnterpriseId()); ServiceResponse<Integer> serviceResponse = groupApiService.queryGroupTotalReferCount(loginUser.getEnterpriseId(), loginUser.getWxEnterpriseId());
return RestResponse.successResult(serviceResponse.getResult()); return RestResponse.successResult(serviceResponse.getResult());
} }
} }
package com.gic.haoban.manage.web.controller.hm; package com.gic.haoban.manage.web.controller.hm;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -20,13 +21,13 @@ import com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO; ...@@ -20,13 +21,13 @@ import com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO;
import com.gic.haoban.common.utils.AuthWebRequestUtil; import com.gic.haoban.common.utils.AuthWebRequestUtil;
import com.gic.haoban.manage.api.dto.hm.HmLinkDTO; import com.gic.haoban.manage.api.dto.hm.HmLinkDTO;
import com.gic.haoban.manage.api.dto.hm.HmLinkStoreSettingDTO; import com.gic.haoban.manage.api.dto.hm.HmLinkStoreSettingDTO;
import com.gic.haoban.manage.api.dto.hm.HmPageTemplateRespDTO; import com.gic.haoban.manage.api.dto.hm.HmPageDTO;
import com.gic.haoban.manage.api.dto.qdto.hm.HmLinkSearchQDTO; import com.gic.haoban.manage.api.dto.qdto.hm.HmLinkSearchQDTO;
import com.gic.haoban.manage.api.dto.welcome.dto.WelcomeDetailDTO; import com.gic.haoban.manage.api.dto.welcome.dto.WelcomeDetailDTO;
import com.gic.haoban.manage.api.service.hm.HmLinkApiService; import com.gic.haoban.manage.api.service.hm.HmLinkApiService;
import com.gic.haoban.manage.api.service.hm.HmPageApiService; import com.gic.haoban.manage.api.service.hm.HmPageApiService;
import com.gic.haoban.manage.api.service.out.WelcomeApiService; import com.gic.haoban.manage.api.service.out.WelcomeApiService;
import com.gic.member.tag.api.service.MemberTagApiService;
/** /**
* *
...@@ -367,7 +368,7 @@ public class HmLinkController { ...@@ -367,7 +368,7 @@ public class HmLinkController {
// 落地页 // 落地页
Long pageId = link.getPageId(); Long pageId = link.getPageId();
if (null != pageId) { if (null != pageId) {
ServiceResponse<HmPageTemplateRespDTO> resp = this.hmPageTemplateApiService.queryPageTemplateDetail(pageId); ServiceResponse<HmPageDTO> resp = this.hmPageApiService.queryPageDetail(pageId);
retMap.put("page", resp.getResult()); retMap.put("page", resp.getResult());
} }
// 查询欢迎语 // 查询欢迎语
......
package com.gic.haoban.manage.web.controller.hm;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.haoban.base.api.common.PageResult2;
import com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO;
import com.gic.haoban.common.utils.AuthWebRequestUtil;
import com.gic.haoban.common.utils.PageUtil;
import com.gic.haoban.manage.api.dto.qdto.hm.HmPageRelationQDTO;
import com.gic.haoban.manage.api.dto.hm.HmPageRelationDTO;
import com.gic.haoban.manage.api.dto.hm.HmPageDTO;
import com.gic.haoban.manage.api.service.hm.HmPageApiService;
import com.gic.haoban.manage.web.vo.hm.HmPageInfoVO;
import com.gic.haoban.manage.web.vo.hm.HmPageListVO;
import com.gic.haoban.manage.web.vo.hm.HmPageSettingReq;
import com.gic.haoban.manage.web.vo.hm.PageRelationVO;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.stream.Collectors;
/**
* @Author MUSI
* @Date 2022/7/4 1:58 PM
* @Description
* @Version
**/
@RestController
@RequestMapping(path = "/hm/guide")
public class HmPageController {
@Autowired
private HmPageApiService pageApiService;
@RequestMapping(path = "/page/save")
public RestResponse<?> savePage(HmPageSettingReq pageSettingVO){
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
HmPageDTO pageDTO = new HmPageDTO();
pageDTO.setPageName(pageSettingVO.getTemplateName());
pageDTO.setPageTitle(pageSettingVO.getPageTitle());
pageDTO.setMerchantName(pageSettingVO.getMerchantName());
pageDTO.setMerchantPhoneNumber(pageSettingVO.getMerchantPhoneNumber());
pageDTO.setMerchantLogo(pageSettingVO.getMerchantLogo());
pageDTO.setPageBackgroundImg(pageSettingVO.getPageBackgroundImg());
pageDTO.setGuideComment(pageSettingVO.getGuideComment());
pageDTO.setCreateorId(loginUser.getClerkId());
pageDTO.setCreateorName(loginUser.getClerkName());
pageDTO.setEnterpriseId(loginUser.getEnterpriseId());
pageDTO.setWxEnterpriseId(loginUser.getWxEnterpriseId());
ServiceResponse<Long> serviceResponse = pageApiService.saveOrUpdateHmPage(pageDTO);
if (serviceResponse.isSuccess()){
return RestResponse.successResult(serviceResponse.getResult());
}
return RestResponse.failure(serviceResponse.getCode(), serviceResponse.getMessage());
}
@RequestMapping(path = "/page/edit")
public RestResponse<?> editPageTemplate(HmPageSettingReq pageSettingVO){
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
HmPageDTO pageDTO = new HmPageDTO();
pageDTO.setPageId(pageSettingVO.getTemplateId());
pageDTO.setPageName(pageSettingVO.getTemplateName());
pageDTO.setPageTitle(pageSettingVO.getPageTitle());
pageDTO.setMerchantName(pageSettingVO.getMerchantName());
pageDTO.setMerchantPhoneNumber(pageSettingVO.getMerchantPhoneNumber());
pageDTO.setMerchantLogo(pageSettingVO.getMerchantLogo());
pageDTO.setPageBackgroundImg(pageSettingVO.getPageBackgroundImg());
pageDTO.setGuideComment(pageSettingVO.getGuideComment());
pageDTO.setCreateorId(loginUser.getClerkId());
pageDTO.setCreateorName(loginUser.getClerkName());
pageDTO.setEnterpriseId(loginUser.getEnterpriseId());
pageDTO.setWxEnterpriseId(loginUser.getWxEnterpriseId());
ServiceResponse<Long> serviceResponse = pageApiService.saveOrUpdateHmPage(pageDTO);
if (serviceResponse.isSuccess()){
return RestResponse.successResult(serviceResponse.getResult());
}
return RestResponse.failure(serviceResponse.getCode(), serviceResponse.getMessage());
}
@RequestMapping(path = "/page/list")
public RestResponse<?> queryPageList(HmPageListVO pageListVO){
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
com.gic.haoban.manage.api.dto.qdto.hm.HmPageQDTO hmPageQDTO = new com.gic.haoban.manage.api.dto.qdto.hm.HmPageQDTO();
hmPageQDTO.setPageNum(pageListVO.getPageNum());
hmPageQDTO.setPageSize(pageListVO.getPageSize());
hmPageQDTO.setEnterpriseId(loginUser.getEnterpriseId());
hmPageQDTO.setWxEnterpriseId(loginUser.getWxEnterpriseId());
hmPageQDTO.setPageSearchText(pageListVO.getPageSearchText());
hmPageQDTO.setStartTime(pageListVO.getStartTime());
hmPageQDTO.setEndTime(pageListVO.getEndTime());
ServiceResponse<Page<HmPageDTO>> serviceResponse = pageApiService.queryPageList(hmPageQDTO);
PageResult2 pageInfo = PageUtil.getPageInfo(serviceResponse.getResult());
List<HmPageInfoVO> pageInfoVos = ((List<HmPageDTO>)pageInfo.getList()).stream().map(item -> {
HmPageInfoVO pageInfoVo = new HmPageInfoVO();
BeanUtils.copyProperties(item, pageInfoVo);
pageInfoVo.setTemplateName(item.getPageName());
pageInfoVo.setTemplateCode(item.getPageCode());
pageInfoVo.setTemplateId(item.getPageId());
return pageInfoVo;
}).collect(Collectors.toList());
pageInfo.setList(pageInfoVos);
return RestResponse.successResult(pageInfo);
}
@RequestMapping(path = "/page/delete")
public RestResponse<?> deletePage(Long pageId){
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
HmPageDTO hmPageDTO = new HmPageDTO();
hmPageDTO.setPageId(pageId);
hmPageDTO.setModifierId(loginUser.getClerkId());
hmPageDTO.setModifierName(loginUser.getClerkName());
ServiceResponse<Boolean> serviceResponse = pageApiService.deleteHmPage(hmPageDTO);
if (serviceResponse.isSuccess()){
return RestResponse.successResult(serviceResponse.getResult());
}
return RestResponse.failure(serviceResponse.getCode(), serviceResponse.getMessage());
}
@RequestMapping(path = "/page/detail")
public RestResponse<?> queryPageDetail(Long templateId){
ServiceResponse<HmPageDTO> serviceResponse = pageApiService.queryPageDetail(templateId);
return RestResponse.successResult(serviceResponse.getResult());
}
@RequestMapping(path = "/page/relation")
public RestResponse<?> queryPageRelationList(PageRelationVO pageRelationVO){
HmPageRelationQDTO pageRelationQueryDTO = new HmPageRelationQDTO();
pageRelationQueryDTO.setPageNum(pageRelationVO.getPageNum());
pageRelationQueryDTO.setPageSize(pageRelationVO.getPageSize());
pageRelationQueryDTO.setSearchText(pageRelationVO.getSearchContent());
pageRelationQueryDTO.setPageId(pageRelationQueryDTO.getPageId());
ServiceResponse<Page<HmPageRelationDTO>> serviceResponse = pageApiService.queryPageRelation(pageRelationQueryDTO);
PageResult2 pageInfo = PageUtil.getPageInfo(serviceResponse.getResult());
return RestResponse.successResult(pageInfo);
}
}
package com.gic.haoban.manage.web.controller.hm;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.haoban.base.api.common.PageResult2;
import com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO;
import com.gic.haoban.common.utils.AuthWebRequestUtil;
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.service.hm.HmPageTemplateApiService;
import com.gic.haoban.manage.web.vo.hm.HmPageTemplateListVO;
import com.gic.haoban.manage.web.vo.hm.HmPageTemplateSettingVO;
import com.gic.haoban.manage.web.vo.hm.PageTemplateRelationVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Author MUSI
* @Date 2022/7/4 1:58 PM
* @Description
* @Version
**/
@RestController
@RequestMapping(path = "/hm/guide")
public class HmPageTemplateController {
@Autowired
private HmPageTemplateApiService pageTemplateApiService;
@RequestMapping(path = "/page/save")
public RestResponse<?> savePageTemplate(HmPageTemplateSettingVO pageTemplateSettingVO){
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
HmPageTemplateDTO pageTemplateDTO = new HmPageTemplateDTO();
pageTemplateDTO.setPageName(pageTemplateSettingVO.getTemplateName());
pageTemplateDTO.setPageTitle(pageTemplateSettingVO.getPageTitle());
pageTemplateDTO.setMerchantName(pageTemplateSettingVO.getMerchantName());
pageTemplateDTO.setMerchantPhoneNumber(pageTemplateSettingVO.getMerchantPhoneNumber());
pageTemplateDTO.setMerchantLogo(pageTemplateSettingVO.getMerchantLogo());
pageTemplateDTO.setPageBackgroundImg(pageTemplateSettingVO.getPageBackgroundImg());
pageTemplateDTO.setGuideComment(pageTemplateSettingVO.getGuideComment());
pageTemplateDTO.setClerkId(loginUser.getClerkId());
pageTemplateDTO.setClerkName(loginUser.getClerkName());
pageTemplateDTO.setEnterpriseId(loginUser.getEnterpriseId());
pageTemplateDTO.setWxEnterpriseId(loginUser.getWxEnterpriseId());
ServiceResponse<Long> serviceResponse = pageTemplateApiService.saveOrUpdateHmPageTemplate(pageTemplateDTO);
if (serviceResponse.isSuccess()){
return RestResponse.successResult(serviceResponse.getResult());
}
return RestResponse.failure(serviceResponse.getCode()+"", serviceResponse.getMessage());
}
@RequestMapping(path = "/page/edit")
public RestResponse<?> editPageTemplate(HmPageTemplateSettingVO pageTemplateSettingVO){
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
HmPageTemplateDTO pageTemplateDTO = new HmPageTemplateDTO();
pageTemplateDTO.setPageId(pageTemplateSettingVO.getTemplateId());
pageTemplateDTO.setPageName(pageTemplateSettingVO.getTemplateName());
pageTemplateDTO.setPageTitle(pageTemplateSettingVO.getPageTitle());
pageTemplateDTO.setMerchantName(pageTemplateSettingVO.getMerchantName());
pageTemplateDTO.setMerchantPhoneNumber(pageTemplateSettingVO.getMerchantPhoneNumber());
pageTemplateDTO.setMerchantLogo(pageTemplateSettingVO.getMerchantLogo());
pageTemplateDTO.setPageBackgroundImg(pageTemplateSettingVO.getPageBackgroundImg());
pageTemplateDTO.setGuideComment(pageTemplateSettingVO.getGuideComment());
pageTemplateDTO.setClerkId(loginUser.getClerkId());
pageTemplateDTO.setClerkName(loginUser.getClerkName());
pageTemplateDTO.setEnterpriseId(loginUser.getEnterpriseId());
pageTemplateDTO.setWxEnterpriseId(loginUser.getWxEnterpriseId());
ServiceResponse<Long> serviceResponse = pageTemplateApiService.saveOrUpdateHmPageTemplate(pageTemplateDTO);
if (serviceResponse.isSuccess()){
return RestResponse.successResult(serviceResponse.getResult());
}
return RestResponse.failure(serviceResponse.getCode()+"", serviceResponse.getMessage());
}
@RequestMapping(path = "/page/list")
public RestResponse<?> queryPageTemplateList(HmPageTemplateListVO pageTemplateListVO){
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
HmPageQueryDTO hmPageQueryDTO = new HmPageQueryDTO();
hmPageQueryDTO.setPageNum(pageTemplateListVO.getPageNum());
hmPageQueryDTO.setPageSize(pageTemplateListVO.getPageSize());
hmPageQueryDTO.setEnterpriseId(loginUser.getEnterpriseId());
hmPageQueryDTO.setWxEnterpriseId(loginUser.getWxEnterpriseId());
hmPageQueryDTO.setPageSearchText(pageTemplateListVO.getPageSearchText());
hmPageQueryDTO.setStartTime(pageTemplateListVO.getStartTime());
hmPageQueryDTO.setEndTime(pageTemplateListVO.getEndTime());
ServiceResponse<Page<HmPageTemplateRespDTO>> serviceResponse = pageTemplateApiService.queryPageTemplateList(hmPageQueryDTO);
PageResult2 pageInfo = PageUtil.getPageInfo(serviceResponse.getResult());
return RestResponse.successResult(pageInfo);
}
@RequestMapping(path = "/page/delete")
public RestResponse<?> deletePageTemplate(Long templateId){
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
HmPageTemplateDTO hmPageTemplateDTO = new HmPageTemplateDTO();
hmPageTemplateDTO.setPageId(templateId);
hmPageTemplateDTO.setClerkId(loginUser.getClerkId());
hmPageTemplateDTO.setClerkName(loginUser.getClerkName());
ServiceResponse<Boolean> serviceResponse = pageTemplateApiService.deleteHmPageTemplate(hmPageTemplateDTO);
if (serviceResponse.isSuccess()){
return RestResponse.successResult(serviceResponse.getResult());
}
return RestResponse.failure(serviceResponse.getCode()+"", serviceResponse.getMessage());
}
@RequestMapping(path = "/page/detail")
public RestResponse<?> queryPageTemplateDetail(Long templateId){
ServiceResponse<HmPageTemplateRespDTO> serviceResponse = pageTemplateApiService.queryPageTemplateDetail(templateId);
return RestResponse.successResult(serviceResponse.getResult());
}
@RequestMapping(path = "/page/relation")
public RestResponse<?> queryPageTemplateRelationList(PageTemplateRelationVO pageTemplateRelationVO){
HmPageRelationQueryDTO pageRelationQueryDTO = new HmPageRelationQueryDTO();
pageRelationQueryDTO.setPageNum(pageTemplateRelationVO.getPageNum());
pageRelationQueryDTO.setPageSize(pageTemplateRelationVO.getPageSize());
pageRelationQueryDTO.setSearchText(pageTemplateRelationVO.getSearchContent());
pageRelationQueryDTO.setPageId(pageRelationQueryDTO.getPageId());
ServiceResponse<Page<HmPageRelationRespDTO>> serviceResponse = pageTemplateApiService.queryPageRelation(pageRelationQueryDTO);
PageResult2 pageInfo = PageUtil.getPageInfo(serviceResponse.getResult());
return RestResponse.successResult(pageInfo);
}
}
...@@ -32,12 +32,14 @@ import com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO; ...@@ -32,12 +32,14 @@ import com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO;
import com.gic.haoban.common.utils.AuthWebRequestUtil; import com.gic.haoban.common.utils.AuthWebRequestUtil;
import com.gic.haoban.manage.api.dto.StaffClerkRelationDTO; import com.gic.haoban.manage.api.dto.StaffClerkRelationDTO;
import com.gic.haoban.manage.api.dto.hm.HmQrcodeListDTO; import com.gic.haoban.manage.api.dto.hm.HmQrcodeListDTO;
import com.gic.haoban.manage.api.dto.hm.HmQrcodeStoreDTO;
import com.gic.haoban.manage.api.service.StaffApiService; import com.gic.haoban.manage.api.service.StaffApiService;
import com.gic.haoban.manage.api.service.StaffClerkRelationApiService; import com.gic.haoban.manage.api.service.StaffClerkRelationApiService;
import com.gic.haoban.manage.api.service.hm.HmQrcodeApiService; import com.gic.haoban.manage.api.service.hm.HmQrcodeApiService;
import com.gic.haoban.manage.web.vo.hm.ClerkListVO; import com.gic.haoban.manage.web.vo.hm.ClerkListVO;
import com.gic.haoban.manage.web.vo.hm.ClerkStoreListVO; import com.gic.haoban.manage.web.vo.hm.ClerkStoreListVO;
import com.gic.haoban.manage.web.vo.hm.StoreVO; import com.gic.haoban.manage.web.vo.hm.StoreVO;
import com.google.common.collect.Sets;
@RestController @RestController
@RequestMapping("hm") @RequestMapping("hm")
...@@ -54,7 +56,7 @@ public class HmStoreController { ...@@ -54,7 +56,7 @@ public class HmStoreController {
@Autowired @Autowired
private HmQrcodeApiService hmQrcodeApiService; private HmQrcodeApiService hmQrcodeApiService;
@Autowired @Autowired
private StoreService storeService ; private StoreService storeService;
/** /**
* *
...@@ -70,7 +72,7 @@ public class HmStoreController { ...@@ -70,7 +72,7 @@ public class HmStoreController {
@ResponseBody @ResponseBody
public RestResponse<Object> listStoreClerk(HttpServletRequest request, BasePageInfo basePageInfo) { public RestResponse<Object> listStoreClerk(HttpServletRequest request, BasePageInfo basePageInfo) {
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser(); WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
String wxEnterpriseId = loginUser.getWxEnterpriseId() ; String wxEnterpriseId = loginUser.getWxEnterpriseId();
// 分组id // 分组id
String storeGroupId = request.getParameter("storeGroupId"); String storeGroupId = request.getParameter("storeGroupId");
// 门店参数 // 门店参数
...@@ -115,12 +117,12 @@ public class HmStoreController { ...@@ -115,12 +117,12 @@ public class HmStoreController {
retPage.setTotalPage(page.getTotalPage()); retPage.setTotalPage(page.getTotalPage());
List<ClerkStoreListVO> result = EntityUtil.changeEntityListByJSON(ClerkStoreListVO.class, page.getResult()); List<ClerkStoreListVO> result = EntityUtil.changeEntityListByJSON(ClerkStoreListVO.class, page.getResult());
// 好办状态 // 好办状态
this.haobanStatus(result,wxEnterpriseId); this.haobanStatus(result, wxEnterpriseId);
retPage.setResult(result); retPage.setResult(result);
return RestResponse.successResult(retPage); return RestResponse.successResult(retPage);
} }
private void haobanStatus(List<ClerkStoreListVO> list , String wxEnterpriseId) { private void haobanStatus(List<ClerkStoreListVO> list, String wxEnterpriseId) {
List<String> clerkIdList = new ArrayList<>(); List<String> clerkIdList = new ArrayList<>();
if (CollectionUtils.isEmpty(list)) { if (CollectionUtils.isEmpty(list)) {
return; return;
...@@ -145,9 +147,9 @@ public class HmStoreController { ...@@ -145,9 +147,9 @@ public class HmStoreController {
List<String> statusList = new ArrayList<>(); List<String> statusList = new ArrayList<>();
if (CollectionUtils.isNotEmpty(clerkIdList)) { if (CollectionUtils.isNotEmpty(clerkIdList)) {
List<StaffClerkRelationDTO> clerkRelationList = this.staffClerkRelationApiService List<StaffClerkRelationDTO> clerkRelationList = this.staffClerkRelationApiService
.listClerkIdConcatFlagByClerkIds(clerkIdList,wxEnterpriseId); .listClerkIdConcatFlagByClerkIds(clerkIdList, wxEnterpriseId);
if (CollectionUtils.isNotEmpty(clerkRelationList)) { if (CollectionUtils.isNotEmpty(clerkRelationList)) {
status2List.addAll(clerkRelationList.stream().filter(dto -> dto.getOpenConcatFlag()== 0) status2List.addAll(clerkRelationList.stream().filter(dto -> dto.getOpenConcatFlag() == 0)
.map(dto -> dto.getClerkId()).collect(Collectors.toList())); .map(dto -> dto.getClerkId()).collect(Collectors.toList()));
statusList.addAll(clerkRelationList.stream().filter(dto -> dto.getOpenConcatFlag() == 1) statusList.addAll(clerkRelationList.stream().filter(dto -> dto.getOpenConcatFlag() == 1)
.map(dto -> dto.getClerkId()).collect(Collectors.toList())); .map(dto -> dto.getClerkId()).collect(Collectors.toList()));
...@@ -199,9 +201,10 @@ public class HmStoreController { ...@@ -199,9 +201,10 @@ public class HmStoreController {
@ResponseBody @ResponseBody
public RestResponse<Object> listStore(HttpServletRequest request, BasePageInfo basePageInfo) { public RestResponse<Object> listStore(HttpServletRequest request, BasePageInfo basePageInfo) {
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser(); WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
String enterpriseId = loginUser.getEnterpriseId();
String clerkId = loginUser.getClerkId();
// 如果有权限控制,进行管辖门店过0滤 // 如果有权限控制,进行管辖门店过0滤
List<String> authStoreIdList = this.staffApiService.getHaoBanStoreIdsRolesByClerkId(loginUser.getClerkId(), List<String> authStoreIdList = this.staffApiService.getHaoBanStoreIdsRolesByClerkId(clerkId, enterpriseId);
loginUser.getWxEnterpriseId());
if (CollectionUtils.isEmpty(authStoreIdList)) { if (CollectionUtils.isEmpty(authStoreIdList)) {
return RestResponse.failure("-1", "无授权门店"); return RestResponse.failure("-1", "无授权门店");
} }
...@@ -213,10 +216,23 @@ public class HmStoreController { ...@@ -213,10 +216,23 @@ public class HmStoreController {
String storeSearchParams = request.getParameter("storeSearchParams"); String storeSearchParams = request.getParameter("storeSearchParams");
searchDTO.setSearchName(storeSearchParams); searchDTO.setSearchName(storeSearchParams);
// 企业ID // 企业ID
searchDTO.setEnterpriseId(loginUser.getEnterpriseId()); searchDTO.setEnterpriseId(enterpriseId);
List<HmQrcodeStoreDTO> hmStoreList = this.hmQrcodeApiService.getHmStoreByEnterpriseId(enterpriseId);
if (CollectionUtils.isEmpty(hmStoreList)) {
return RestResponse.failure("-1", "无活码门店");
}
Map<String, Integer> map = hmStoreList.stream()
.collect(Collectors.toMap(HmQrcodeStoreDTO::getStoreId, HmQrcodeStoreDTO::getOverFlag, (k1, k2) -> k1));
List<String> hmStoreIdList = hmStoreList.stream().map(dto -> dto.getStoreId()).collect(Collectors.toList());
Sets.SetView<String> setView = Sets.intersection(Sets.newHashSet(authStoreIdList),
Sets.newHashSet(hmStoreIdList));
hmStoreIdList = setView.stream().collect(Collectors.toList());
if (CollectionUtils.isEmpty(hmStoreList)) {
return RestResponse.failure("-1", "无符合门店");
}
// 授权门店 且有活码的门店 // 授权门店 且有活码的门店
if (CollectionUtils.isNotEmpty(authStoreIdList)) { if (CollectionUtils.isNotEmpty(hmStoreIdList)) {
searchDTO.setAuthStoreIdList(authStoreIdList); searchDTO.setAuthStoreIdList(hmStoreIdList);
} }
// 门店参数 // 门店参数
Page page = new Page(); Page page = new Page();
...@@ -227,7 +243,7 @@ public class HmStoreController { ...@@ -227,7 +243,7 @@ public class HmStoreController {
logger.info("查询条件={}", JSON.toJSONString(page)); logger.info("查询条件={}", JSON.toJSONString(page));
Map<String, Object> result = storeService.getStoreListPage(page); Map<String, Object> result = storeService.getStoreListPage(page);
page = (Page) result.get("page"); page = (Page) result.get("page");
List<StoreDTO> storeList = (List<StoreDTO>)result.get("list"); List<StoreDTO> storeList = (List<StoreDTO>) result.get("list");
List<StoreVO> retList = new ArrayList<StoreVO>(); List<StoreVO> retList = new ArrayList<StoreVO>();
StoreVO vo = null; StoreVO vo = null;
for (StoreDTO dto : storeList) { for (StoreDTO dto : storeList) {
...@@ -235,8 +251,7 @@ public class HmStoreController { ...@@ -235,8 +251,7 @@ public class HmStoreController {
vo.setStoreId(dto.getStoreId()); vo.setStoreId(dto.getStoreId());
vo.setStoreCode(dto.getStoreCode()); vo.setStoreCode(dto.getStoreCode());
vo.setStoreName(dto.getStoreName()); vo.setStoreName(dto.getStoreName());
// todo vo.setIsOver(map.get(dto.getStoreId()) == null ? 0 : map.get(dto.getStoreId()));
vo.setIsOver(1);
retList.add(vo); retList.add(vo);
} }
page.setResult(retList); page.setResult(retList);
......
package com.gic.haoban.manage.api.dto.hm; package com.gic.haoban.manage.web.vo.hm;
import com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO; import java.io.Serializable;
import java.util.Date;
/** /**
* @Author MUSI * @Author MUSI
* @Date 2022/7/3 6:49 PM * @Date 2022/7/9 3:31 PM
* @Description * @Description
* @Version * @Version
**/ **/
public class HmPageTemplateDTO extends WebLoginDTO { public class HmPageInfoVO implements Serializable {
private static final long serialVersionUID = 8049920392780217427L;
/** /**
* 落地页id * 落地页id
*/ */
private Long pageId; private Long templateId;
/** /**
* 落地页code * 落地页code
*/ */
private String pageCode; private String templateCode;
/** /**
* 落地页模板名称 * 落地页模板名称
*/ */
private String pageName; private String templateName;
private Integer status;
/** /**
* 页面标题 * 页面标题
...@@ -57,28 +58,57 @@ public class HmPageTemplateDTO extends WebLoginDTO { ...@@ -57,28 +58,57 @@ public class HmPageTemplateDTO extends WebLoginDTO {
*/ */
private String guideComment; private String guideComment;
public Long getPageId() { /**
return pageId; * 创建人id
*/
private String createorId;
/**
* 创建人名称
*/
private String createorName;
private String modifierId;
private String modifierName;
/**
* 创建时间
*/
private Date createTime;
private Date updateTime;
public Long getTemplateId() {
return templateId;
}
public void setTemplateId(Long templateId) {
this.templateId = templateId;
} }
public void setPageId(Long pageId) { public String getTemplateCode() {
this.pageId = pageId; return templateCode;
} }
public String getPageCode() { public void setTemplateCode(String templateCode) {
return pageCode; this.templateCode = templateCode;
} }
public void setPageCode(String pageCode) { public String getTemplateName() {
this.pageCode = pageCode; return templateName;
} }
public String getPageName() { public void setTemplateName(String templateName) {
return pageName; this.templateName = templateName;
} }
public void setPageName(String pageName) { public Integer getStatus() {
this.pageName = pageName; return status;
}
public void setStatus(Integer status) {
this.status = status;
} }
public String getPageTitle() { public String getPageTitle() {
...@@ -128,4 +158,52 @@ public class HmPageTemplateDTO extends WebLoginDTO { ...@@ -128,4 +158,52 @@ public class HmPageTemplateDTO extends WebLoginDTO {
public void setGuideComment(String guideComment) { public void setGuideComment(String guideComment) {
this.guideComment = 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;
}
} }
...@@ -10,7 +10,7 @@ import java.util.Date; ...@@ -10,7 +10,7 @@ import java.util.Date;
* @Description * @Description
* @Version * @Version
**/ **/
public class HmPageTemplateListVO extends BasePageInfo { public class HmPageListVO extends BasePageInfo {
private String pageSearchText; private String pageSearchText;
......
...@@ -8,8 +8,9 @@ import java.io.Serializable; ...@@ -8,8 +8,9 @@ import java.io.Serializable;
* @Description * @Description
* @Version * @Version
**/ **/
public class HmPageTemplateSettingVO implements Serializable { public class HmPageSettingReq implements Serializable {
private static final long serialVersionUID = -3759274516687664059L;
private Long templateId; private Long templateId;
/** /**
* 落地页模板名称 * 落地页模板名称
......
...@@ -8,7 +8,7 @@ import com.gic.haoban.base.api.common.BasePageInfo; ...@@ -8,7 +8,7 @@ import com.gic.haoban.base.api.common.BasePageInfo;
* @Description * @Description
* @Version * @Version
**/ **/
public class PageTemplateRelationVO extends BasePageInfo { public class PageRelationVO extends BasePageInfo {
private Long templateId; private Long templateId;
......
...@@ -104,7 +104,7 @@ ...@@ -104,7 +104,7 @@
<dubbo:reference id="hmGroupApiService" interface="com.gic.haoban.manage.api.service.hm.HmGroupApiService" <dubbo:reference id="hmGroupApiService" interface="com.gic.haoban.manage.api.service.hm.HmGroupApiService"
timeout="10000" retries="0" check="false" /> timeout="10000" retries="0" check="false" />
<dubbo:reference id="hmPageTemplateApiService" interface="com.gic.haoban.manage.api.service.hm.HmPageTemplateApiService" <dubbo:reference id="hmPageTemplateApiService" interface="com.gic.haoban.manage.api.service.hm.HmPageApiService"
timeout="10000" retries="0" check="false" /> timeout="10000" retries="0" check="false" />
<dubbo:reference id="hmWelcomeRelationApiService" interface="com.gic.haoban.manage.api.service.hm.HmWelcomeRelationApiService" <dubbo:reference id="hmWelcomeRelationApiService" interface="com.gic.haoban.manage.api.service.hm.HmWelcomeRelationApiService"
timeout="10000" retries="0" check="false" /> timeout="10000" retries="0" check="false" />
......
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