Commit 035ad4c4 by 徐高华

链接

parent 14351aba
...@@ -27,6 +27,24 @@ public class HmLinkStoreDTO implements Serializable { ...@@ -27,6 +27,24 @@ public class HmLinkStoreDTO implements Serializable {
private Long linkId; private Long linkId;
/**1推荐门店*/ /**1推荐门店*/
private Integer setttingType; 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) { public void setId(Long id) {
this.id = id; this.id = id;
......
package com.gic.haoban.manage.api.service.hm; 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.HmLinkDTO;
import com.gic.haoban.manage.api.dto.hm.HmLinkStoreDTO;
/** /**
* *
...@@ -13,4 +16,19 @@ import com.gic.haoban.manage.api.dto.hm.HmLinkDTO; ...@@ -13,4 +16,19 @@ import com.gic.haoban.manage.api.dto.hm.HmLinkDTO;
public interface HmLinkApiService { public interface HmLinkApiService {
public HmLinkDTO getByLinkId(Long linkId); 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; ...@@ -15,40 +15,20 @@ import com.gic.haoban.manage.service.entity.hm.TabHmLinkStore;
*/ */
public interface HmLinkStoreMapper { public interface HmLinkStoreMapper {
/** public int insertBatch(List<TabHmLinkStore> list);
* 新增
* @Title: insert
* @Description: TODO
* @Param @param TabHaobanHmLinkStore
*/
public int insert(TabHmLinkStore entity);
/** public int deleteByLinkId(Long linkId);
* 通过主键删除
* @Title: delete public int deleteById(List<Long> list);
* @Description: TODO
* @Param @param id
* @Throws
*/
public int deleteByPrimaryKey(Long id);
/**
* 更新
* @Title: update
* @Description: TODO
* @Param @param TabHaobanHmLinkStore
* @Throws
*/
public int updateByPrimaryKey(TabHmLinkStore entity);
/** /**
* 通过条件查询 *
* @Title: listAll * @Title: listByLinkId
* @Description: TODO * @Description: 查询链接配置的门店
* @Param @param TabHaobanHmLinkStore * @author xugh
* @Param @return * @param linkId
* @Return List * @return
* @Throws * @throws
*/ */
public List<TabHmLinkStore> listByLinkId(Long linkId); public List<TabHmLinkStore> listByLinkId(Long linkId);
} }
\ No newline at end of file
...@@ -27,6 +27,24 @@ public class TabHmLinkStore implements Serializable { ...@@ -27,6 +27,24 @@ public class TabHmLinkStore implements Serializable {
private Long linkId; private Long linkId;
/**1推荐门店*/ /**1推荐门店*/
private Integer setttingType; 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) { public void setId(Long id) {
this.id = id; this.id = id;
......
package com.gic.haoban.manage.service.service.hm; 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; import com.gic.haoban.manage.service.entity.hm.TabHmLink;
public interface HmLinkService { 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; ...@@ -7,5 +7,7 @@ import com.gic.haoban.manage.api.dto.hm.HmLinkStoreDTO;
public interface HmLinkStoreService { public interface HmLinkStoreService {
public List<HmLinkStoreDTO> listByLinkId(String wxEnterpriseId, String enterpriseId, Long linkId); 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; 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.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; 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.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;
@Service("hmLikService") @Service("hmLikService")
public class HmLinkServiceImpl implements HmLinkService { public class HmLinkServiceImpl implements HmLinkService {
@Autowired @Autowired
private HmLinkMapper linkMapper; private HmLinkMapper linkMapper;
@Autowired
private HmLinkStoreService hmLinkStoreService;
@Override @Override
public TabHmLink getByLinkId(Long linkId) { public TabHmLink getByLinkId(Long linkId) {
return this.linkMapper.selectById(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; 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.apache.commons.collections.CollectionUtils;
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 com.gic.commons.util.EntityUtil; 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.api.dto.hm.HmLinkStoreDTO;
import com.gic.haoban.manage.service.dao.mapper.hm.HmLinkStoreMapper; import com.gic.haoban.manage.service.dao.mapper.hm.HmLinkStoreMapper;
import com.gic.haoban.manage.service.entity.hm.TabHmLinkStore; import com.gic.haoban.manage.service.entity.hm.TabHmLinkStore;
...@@ -28,4 +31,45 @@ public class HmLinkStoreServiceImpl implements HmLinkStoreService { ...@@ -28,4 +31,45 @@ public class HmLinkStoreServiceImpl implements HmLinkStoreService {
return null; 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; package com.gic.haoban.manage.service.service.out.impl.hm;
import java.util.List;
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 com.gic.commons.util.EntityUtil; import com.gic.commons.util.EntityUtil;
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.service.hm.HmLinkApiService; import com.gic.haoban.manage.api.service.hm.HmLinkApiService;
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;
...@@ -24,4 +27,14 @@ public class HmLinkApiServiceImpl implements HmLinkApiService { ...@@ -24,4 +27,14 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
return null; 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" ?> <?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.HmLinkStoreMapper"> <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"> <resultMap type="com.gic.haoban.manage.service.entity.hm.TabHmLinkStore"
<result column="id" property="id"/> id="result-map-tabHaobanHmLinkStore">
<result column="wx_enterprise_id" property="wxEnterpriseId"/> <result column="id" property="id" />
<result column="enterprise_id" property="enterpriseId"/> <result column="wx_enterprise_id" property="wxEnterpriseId" />
<result column="store_id" property="storeId"/> <result column="enterprise_id" property="enterpriseId" />
<result column="store_code" property="storeCode"/> <result column="store_id" property="storeId" />
<result column="store_name" property="storeName"/> <result column="store_code" property="storeCode" />
<result column="status_flag" property="statusFlag"/> <result column="store_name" property="storeName" />
<result column="link_id" property="linkId"/> <result column="status_flag" property="statusFlag" />
<result column="settting_type" property="setttingType"/> <result column="link_id" property="linkId" />
</resultMap> <result column="settting_type" property="setttingType" />
<sql id="Base_Column_List">
wx_enterprise_id, </resultMap>
enterprise_id, <sql id="Base_Column_List">
store_id, id,
store_code, wx_enterprise_id,
store_name, enterprise_id,
status_flag, store_id,
link_id, store_code,
settting_type store_name,
</sql> status_flag,
<!-- ===================== 新增 ======================== --> link_id,
<insert id="insert" parameterType="com.gic.haoban.manage.service.entity.hm.TabHmLinkStore"> settting_type , create_time , update_time
<![CDATA[ </sql>
INSERT INTO tab_haoban_hm_link_store( <insert id="insertBatch">
wx_enterprise_id, INSERT INTO tab_haoban_hm_link_store(
enterprise_id, id,
store_id, wx_enterprise_id,
store_code, enterprise_id,
store_name, store_id,
status_flag, store_code,
link_id, store_name,
settting_type status_flag,
)VALUES( link_id,
#{wxEnterpriseId,jdbcType=CHAR}, settting_type , create_time , update_time
#{enterpriseId,jdbcType=CHAR}, )VALUES
#{storeId,jdbcType=VARCHAR}, <foreach collection="list" item="item" separator="," >
#{storeCode,jdbcType=VARCHAR}, ( #{item.id} , #{item.wxEnterpriseId},
#{storeName,jdbcType=VARCHAR}, #{item.enterpriseId},
#{statusFlag,jdbcType=INTEGER}, #{item.storeId},
#{linkId,jdbcType=BIGINT}, #{item.storeCode},
#{setttingType,jdbcType=INTEGER} #{item.storeName},
) #{item.statusFlag},
]]> #{item.linkId},
</insert> #{item.setttingType} , now() , now())
</foreach>
<!-- =====================删除==================== --> </insert>
<delete id="deleteByPrimaryKey" parameterType="long">
UPDATE tab_haoban_hm_link_store SET delete_flag = 1 WHERE id = #{id} <delete id="deleteByLinkId" parameterType="long">
</delete> UPDATE
tab_haoban_hm_link_store SET status_flag = 0 , update_time=now() WHERE
link_id = #{linkId} and status_flag = 1
<!-- ==================更新 ========== --> </delete>
<update id="updateByPrimaryKey" parameterType="com.gic.haoban.manage.service.entity.hm.TabHmLinkStore">
<![CDATA[
UPDATE tab_haoban_hm_link_store SET <delete id="deleteById">
id=#{id,jdbcType=BIGINT}, UPDATE
wx_enterprise_id=#{wxEnterpriseId,jdbcType=CHAR}, tab_haoban_hm_link_store SET status_flag = 0 , update_time=now() WHERE
enterprise_id=#{enterpriseId,jdbcType=CHAR}, id in <foreach collection="list" item="item" separator="," open="(" close=")" >
store_id=#{storeId,jdbcType=VARCHAR}, #{item}
store_code=#{storeCode,jdbcType=VARCHAR}, </foreach>
store_name=#{storeName,jdbcType=VARCHAR}, status_flag = 1
status_flag=#{statusFlag,jdbcType=INTEGER}, </delete>
link_id=#{linkId,jdbcType=BIGINT},
settting_type=#{setttingType,jdbcType=INTEGER}
id = #{id} <select id="listByLinkId"
]]> parameterType="com.gic.haoban.manage.service.entity.hm.TabHmLinkStore"
</update> resultMap="result-map-tabHaobanHmLinkStore">
select * from tab_haoban_hm_link_store where link_id=#{linkId} and status_flag = 1
<select id="listByLinkId" parameterType="com.gic.haoban.manage.service.entity.hm.TabHmLinkStore" resultMap="result-map-tabHaobanHmLinkStore"> </select>
select * from tab_haoban_hm_link_store
</select>
</mapper> </mapper>
\ No newline at end of file
import java.util.ArrayList;
import java.util.List;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; 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.enums.KeyDataEnum;
import com.gic.haoban.manage.api.service.KeyDataApiService; 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.HmLinkApiService;
import com.gic.haoban.manage.api.service.hm.HmLinkVisitLogApiService; 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; import com.gic.haoban.manage.service.util.QwFriendLimitCountUtil;
@RunWith(SpringJUnit4ClassRunner.class) @RunWith(SpringJUnit4ClassRunner.class)
...@@ -22,6 +28,49 @@ public class HmLinkTest { ...@@ -22,6 +28,49 @@ public class HmLinkTest {
@Autowired @Autowired
private KeyDataApiService keyDataApiService ; 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 @Test
public void test3() { 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