Commit 035ad4c4 by 徐高华

链接

parent 14351aba
......@@ -27,6 +27,24 @@ public class HmLinkStoreDTO implements Serializable {
private Long linkId;
/**1推荐门店*/
private Integer setttingType;
private java.util.Date createTime;
private java.util.Date updateTime;
public java.util.Date getCreateTime() {
return createTime;
}
public java.util.Date getUpdateTime() {
return updateTime;
}
public void setCreateTime(java.util.Date createTime) {
this.createTime = createTime;
}
public void setUpdateTime(java.util.Date updateTime) {
this.updateTime = updateTime;
}
public void setId(Long id) {
this.id = id;
......
package com.gic.haoban.manage.api.service.hm;
import java.util.List;
import com.gic.haoban.manage.api.dto.hm.HmLinkDTO;
import com.gic.haoban.manage.api.dto.hm.HmLinkStoreDTO;
/**
*
......@@ -13,4 +16,19 @@ import com.gic.haoban.manage.api.dto.hm.HmLinkDTO;
public interface HmLinkApiService {
public HmLinkDTO getByLinkId(Long linkId);
/**
*
* @Title: listForSms
* @Description: 营销短信-查询专用链接
* @author xugh
* @param wxEnterpriseId
* @param enterprieId
* @param linkName
* @return
* @throws
*/
public List<HmLinkDTO> listForSms(String wxEnterpriseId, String enterprieId, String linkName);
public HmLinkDTO save(HmLinkDTO dto, List<HmLinkStoreDTO> stoerList);
}
......@@ -15,40 +15,20 @@ import com.gic.haoban.manage.service.entity.hm.TabHmLinkStore;
*/
public interface HmLinkStoreMapper {
/**
* 新增
* @Title: insert
* @Description: TODO
* @Param @param TabHaobanHmLinkStore
*/
public int insert(TabHmLinkStore entity);
public int insertBatch(List<TabHmLinkStore> list);
/**
* 通过主键删除
* @Title: delete
* @Description: TODO
* @Param @param id
* @Throws
*/
public int deleteByPrimaryKey(Long id);
/**
* 更新
* @Title: update
* @Description: TODO
* @Param @param TabHaobanHmLinkStore
* @Throws
*/
public int updateByPrimaryKey(TabHmLinkStore entity);
public int deleteByLinkId(Long linkId);
public int deleteById(List<Long> list);
/**
* 通过条件查询
* @Title: listAll
* @Description: TODO
* @Param @param TabHaobanHmLinkStore
* @Param @return
* @Return List
* @Throws
*
* @Title: listByLinkId
* @Description: 查询链接配置的门店
* @author xugh
* @param linkId
* @return
* @throws
*/
public List<TabHmLinkStore> listByLinkId(Long linkId);
}
\ No newline at end of file
......@@ -27,6 +27,24 @@ public class TabHmLinkStore implements Serializable {
private Long linkId;
/**1推荐门店*/
private Integer setttingType;
private java.util.Date createTime;
private java.util.Date updateTime;
public java.util.Date getCreateTime() {
return createTime;
}
public java.util.Date getUpdateTime() {
return updateTime;
}
public void setCreateTime(java.util.Date createTime) {
this.createTime = createTime;
}
public void setUpdateTime(java.util.Date updateTime) {
this.updateTime = updateTime;
}
public void setId(Long id) {
this.id = id;
......
package com.gic.haoban.manage.service.service.hm;
import java.util.List;
import com.gic.haoban.manage.api.dto.hm.HmLinkDTO;
import com.gic.haoban.manage.api.dto.hm.HmLinkStoreDTO;
import com.gic.haoban.manage.service.entity.hm.TabHmLink;
public interface HmLinkService {
public TabHmLink getByLinkId(Long linkId);
public TabHmLink getByLinkId(Long linkId) ;
public List<HmLinkDTO> listForSms(String wxEnterpriseId, String enterprieId) ;
public HmLinkDTO saveLink(HmLinkDTO dto , List<HmLinkStoreDTO> stoerList);
}
......@@ -7,5 +7,7 @@ import com.gic.haoban.manage.api.dto.hm.HmLinkStoreDTO;
public interface HmLinkStoreService {
public List<HmLinkStoreDTO> listByLinkId(String wxEnterpriseId, String enterpriseId, Long linkId);
public int saveStore(Long linkId , List<HmLinkStoreDTO> list) ;
}
package com.gic.haoban.manage.service.service.hm.impl;
import java.util.Date;
import java.util.List;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.gic.commons.util.EntityUtil;
import com.gic.commons.util.UniqueIdUtils;
import com.gic.haoban.manage.api.dto.hm.HmLinkDTO;
import com.gic.haoban.manage.api.dto.hm.HmLinkStoreDTO;
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.service.hm.HmLinkService;
import com.gic.haoban.manage.service.service.hm.HmLinkStoreService;
@Service("hmLikService")
public class HmLinkServiceImpl implements HmLinkService {
@Autowired
private HmLinkMapper linkMapper;
@Autowired
private HmLinkStoreService hmLinkStoreService;
@Override
public TabHmLink getByLinkId(Long linkId) {
return this.linkMapper.selectById(linkId);
}
@Override
public List<HmLinkDTO> listForSms(String wxEnterpriseId, String enterprieId) {
// TODO Auto-generated method stub
return null;
}
@Override
@Transactional
public HmLinkDTO saveLink(HmLinkDTO dto, List<HmLinkStoreDTO> storeList) {
// 新增
Long linkId = dto.getLinkId();
if (null == linkId) {
linkId = UniqueIdUtils.uniqueLong();
dto.setLinkId(linkId);
StringBuilder sb = new StringBuilder("LJ").append("0").append(dto.getLinkType()).append(linkId);
dto.setLinkCode(sb.toString());
dto.setStatusFlag(1);
Date now = new Date();
dto.setCreateTime(now);
dto.setUpdateTime(now);
TabHmLink entity = EntityUtil.changeEntityByJSON(TabHmLink.class, dto);
this.linkMapper.insert(entity);
} else {
}
this.hmLinkStoreService.saveStore(linkId, storeList);
return dto;
}
}
package com.gic.haoban.manage.service.service.hm.impl;
import java.util.List;
import java.util.ArrayList;
import java.util.List;import java.util.stream.Collector;
import java.util.stream.Collectors;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.gic.commons.util.EntityUtil;
import com.gic.commons.util.UniqueIdUtils;
import com.gic.haoban.manage.api.dto.hm.HmLinkStoreDTO;
import com.gic.haoban.manage.service.dao.mapper.hm.HmLinkStoreMapper;
import com.gic.haoban.manage.service.entity.hm.TabHmLinkStore;
......@@ -28,4 +31,45 @@ public class HmLinkStoreServiceImpl implements HmLinkStoreService {
return null;
}
@Override
public int saveStore(Long linkId, List<HmLinkStoreDTO> thisList) {
if (CollectionUtils.isEmpty(thisList)) {
this.hmLinkStoreMapper.deleteByLinkId(linkId);
return 0;
}
int count = 0;
// 本次新加的
List<TabHmLinkStore> addList = new ArrayList<>();
List<Long> delIdList = new ArrayList<>();
List<String> oldStoreIdList = new ArrayList<>();
List<TabHmLinkStore> oldList = this.hmLinkStoreMapper.listByLinkId(linkId);
if (CollectionUtils.isNotEmpty(oldList)) {
oldStoreIdList = oldList.stream().map(dto -> dto.getStoreId()).collect(Collectors.toList());
}
for (HmLinkStoreDTO dto : thisList) {
if (!oldStoreIdList.contains(dto.getStoreId())) {
addList.add(EntityUtil.changeEntityByJSON(TabHmLinkStore.class, dto));
}
}
List<String> thisStoreIdList = thisList.stream().map(dto->dto.getStoreId()).collect(Collectors.toList()) ;
for(TabHmLinkStore item : oldList) {
if(!thisStoreIdList.contains(item.getStoreId())) {
delIdList.add(item.getId()) ;
}
}
if(CollectionUtils.isNotEmpty(addList)) {
for (TabHmLinkStore item : addList) {
item.setId(UniqueIdUtils.uniqueLong());
item.setLinkId(linkId);
item.setSetttingType(1);
item.setStatusFlag(1);
}
this.hmLinkStoreMapper.insertBatch(addList);
}
if(CollectionUtils.isNotEmpty(delIdList)) {
this.hmLinkStoreMapper.deleteById(delIdList) ;
}
return count;
}
}
package com.gic.haoban.manage.service.service.out.impl.hm;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.gic.commons.util.EntityUtil;
import com.gic.haoban.manage.api.dto.hm.HmLinkDTO;
import com.gic.haoban.manage.api.dto.hm.HmLinkStoreDTO;
import com.gic.haoban.manage.api.service.hm.HmLinkApiService;
import com.gic.haoban.manage.service.entity.hm.TabHmLink;
import com.gic.haoban.manage.service.service.hm.HmLinkService;
......@@ -24,4 +27,14 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
return null;
}
@Override
public List<HmLinkDTO> listForSms(String wxEnterpriseId, String enterprieId, String linkName) {
return null;
}
@Override
public HmLinkDTO save(HmLinkDTO dto, List<HmLinkStoreDTO> stoerList) {
return this.hmLinkService.saveLink(dto, stoerList);
}
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gic.haoban.manage.service.dao.mapper.hm.HmLinkStoreMapper">
<resultMap type="com.gic.haoban.manage.service.entity.hm.TabHmLinkStore" id="result-map-tabHaobanHmLinkStore">
<result column="id" property="id"/>
<result column="wx_enterprise_id" property="wxEnterpriseId"/>
<result column="enterprise_id" property="enterpriseId"/>
<result column="store_id" property="storeId"/>
<result column="store_code" property="storeCode"/>
<result column="store_name" property="storeName"/>
<result column="status_flag" property="statusFlag"/>
<result column="link_id" property="linkId"/>
<result column="settting_type" property="setttingType"/>
</resultMap>
<sql id="Base_Column_List">
wx_enterprise_id,
enterprise_id,
store_id,
store_code,
store_name,
status_flag,
link_id,
settting_type
</sql>
<!-- ===================== 新增 ======================== -->
<insert id="insert" parameterType="com.gic.haoban.manage.service.entity.hm.TabHmLinkStore">
<![CDATA[
INSERT INTO tab_haoban_hm_link_store(
wx_enterprise_id,
enterprise_id,
store_id,
store_code,
store_name,
status_flag,
link_id,
settting_type
)VALUES(
#{wxEnterpriseId,jdbcType=CHAR},
#{enterpriseId,jdbcType=CHAR},
#{storeId,jdbcType=VARCHAR},
#{storeCode,jdbcType=VARCHAR},
#{storeName,jdbcType=VARCHAR},
#{statusFlag,jdbcType=INTEGER},
#{linkId,jdbcType=BIGINT},
#{setttingType,jdbcType=INTEGER}
)
]]>
</insert>
<!-- =====================删除==================== -->
<delete id="deleteByPrimaryKey" parameterType="long">
UPDATE tab_haoban_hm_link_store SET delete_flag = 1 WHERE id = #{id}
</delete>
<!-- ==================更新 ========== -->
<update id="updateByPrimaryKey" parameterType="com.gic.haoban.manage.service.entity.hm.TabHmLinkStore">
<![CDATA[
UPDATE tab_haoban_hm_link_store SET
id=#{id,jdbcType=BIGINT},
wx_enterprise_id=#{wxEnterpriseId,jdbcType=CHAR},
enterprise_id=#{enterpriseId,jdbcType=CHAR},
store_id=#{storeId,jdbcType=VARCHAR},
store_code=#{storeCode,jdbcType=VARCHAR},
store_name=#{storeName,jdbcType=VARCHAR},
status_flag=#{statusFlag,jdbcType=INTEGER},
link_id=#{linkId,jdbcType=BIGINT},
settting_type=#{setttingType,jdbcType=INTEGER}
id = #{id}
]]>
</update>
<select id="listByLinkId" parameterType="com.gic.haoban.manage.service.entity.hm.TabHmLinkStore" resultMap="result-map-tabHaobanHmLinkStore">
select * from tab_haoban_hm_link_store
</select>
<resultMap type="com.gic.haoban.manage.service.entity.hm.TabHmLinkStore"
id="result-map-tabHaobanHmLinkStore">
<result column="id" property="id" />
<result column="wx_enterprise_id" property="wxEnterpriseId" />
<result column="enterprise_id" property="enterpriseId" />
<result column="store_id" property="storeId" />
<result column="store_code" property="storeCode" />
<result column="store_name" property="storeName" />
<result column="status_flag" property="statusFlag" />
<result column="link_id" property="linkId" />
<result column="settting_type" property="setttingType" />
</resultMap>
<sql id="Base_Column_List">
id,
wx_enterprise_id,
enterprise_id,
store_id,
store_code,
store_name,
status_flag,
link_id,
settting_type , create_time , update_time
</sql>
<insert id="insertBatch">
INSERT INTO tab_haoban_hm_link_store(
id,
wx_enterprise_id,
enterprise_id,
store_id,
store_code,
store_name,
status_flag,
link_id,
settting_type , create_time , update_time
)VALUES
<foreach collection="list" item="item" separator="," >
( #{item.id} , #{item.wxEnterpriseId},
#{item.enterpriseId},
#{item.storeId},
#{item.storeCode},
#{item.storeName},
#{item.statusFlag},
#{item.linkId},
#{item.setttingType} , now() , now())
</foreach>
</insert>
<delete id="deleteByLinkId" parameterType="long">
UPDATE
tab_haoban_hm_link_store SET status_flag = 0 , update_time=now() WHERE
link_id = #{linkId} and status_flag = 1
</delete>
<delete id="deleteById">
UPDATE
tab_haoban_hm_link_store SET status_flag = 0 , update_time=now() WHERE
id in <foreach collection="list" item="item" separator="," open="(" close=")" >
#{item}
</foreach>
status_flag = 1
</delete>
<select id="listByLinkId"
parameterType="com.gic.haoban.manage.service.entity.hm.TabHmLinkStore"
resultMap="result-map-tabHaobanHmLinkStore">
select * from tab_haoban_hm_link_store where link_id=#{linkId} and status_flag = 1
</select>
</mapper>
\ No newline at end of file
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import com.gic.haoban.manage.api.dto.hm.HmLinkDTO;
import com.gic.haoban.manage.api.dto.hm.HmLinkStoreDTO;
import com.gic.haoban.manage.api.enums.KeyDataEnum;
import com.gic.haoban.manage.api.service.KeyDataApiService;
import com.gic.haoban.manage.api.service.hm.HmLinkApiService;
import com.gic.haoban.manage.api.service.hm.HmLinkVisitLogApiService;
import com.gic.haoban.manage.service.service.hm.HmLinkStoreService;
import com.gic.haoban.manage.service.util.QwFriendLimitCountUtil;
@RunWith(SpringJUnit4ClassRunner.class)
......@@ -22,6 +28,49 @@ public class HmLinkTest {
@Autowired
private KeyDataApiService keyDataApiService ;
@Autowired
private HmLinkStoreService hmLinkStoreService ;
@Test
public void saveLinkStore() {
HmLinkStoreDTO dto = new HmLinkStoreDTO() ;
dto.setStoreName("11111");
dto.setStoreId("1");
List<HmLinkStoreDTO> list = new ArrayList<HmLinkStoreDTO>();
list.add(dto) ;
HmLinkStoreDTO dto1 = new HmLinkStoreDTO() ;
dto1.setStoreName("2222");
dto1.setStoreId("2");
list.add(dto1) ;
this.hmLinkStoreService.saveStore(1000L, list) ;
}
@Test
public void saveLink() {
HmLinkDTO dto = new HmLinkDTO() ;
dto.setLinkType(1);
dto.setName("打的费");
dto.setCreatorId("creatorid");
dto.setCreatorName("创建人");
dto.setModifierId("xiugren");
dto.setModifierName("修改人");
dto.setWxEnterpriseId("111");
dto.setEnterpriseId("2222");
dto.setRemark("说明");
dto.setWelcomeId("欢迎语");
dto.setPageId(1000l);
dto.setCustomRuleJson("{}");
dto.setStoreRuleJson("{}");
dto.setMemberLabelId("MEML");
this.hmLinkApiService.save(dto,null) ;
}
@Test
public void test3() {
......
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