diff --git a/src/main/java/com/sincere/wechatbusiness/controller/ChannelController.java b/src/main/java/com/sincere/wechatbusiness/controller/ChannelController.java index 3030273..9c02dfc 100644 --- a/src/main/java/com/sincere/wechatbusiness/controller/ChannelController.java +++ b/src/main/java/com/sincere/wechatbusiness/controller/ChannelController.java @@ -6,6 +6,7 @@ import com.alibaba.fastjson.TypeReference; import com.fasterxml.jackson.databind.ser.Serializers; import com.sincere.wechatbusiness.dto.BaseDto; import com.sincere.wechatbusiness.dto.ChannelDto; +import com.sincere.wechatbusiness.dto.CopyDto; import com.sincere.wechatbusiness.logs.LogName; import com.sincere.wechatbusiness.logs.LoggerUtils; import com.sincere.wechatbusiness.model.*; @@ -54,11 +55,67 @@ public class ChannelController { @Autowired AgentService agentService; + @Autowired + PageViewService pageViewService ; + private static final Logger log_channel = LoggerUtils.Logger(LogName.channel); // private String domain="https://mytest.myjxt.com:51314"; private String domain="https://proxy.shunzhi.net:51314"; + + @RequestMapping(value = "copyChannel",method = RequestMethod.POST) + @ApiOperation(value = "内容下发") + public BaseDto copyChannel(@RequestBody CopyDto copyDto){ + Channel channel = channelService.getDetail(copyDto.getSourceId()); + if(channel.getTemplateId() == 1){ + List banners = bannerService.getList(copyDto.getSourceId()); + Attention attention = attentionService.getDetail(copyDto.getSourceId()); + List catalogs = catalogService.getList(copyDto.getSourceId()); + for(Integer channelId : copyDto.getTargetIdList()){ + for(Banner banner : banners){ + banner.setChannelId(channelId); + bannerService.copy(banner); + } + if(attention != null){ + attention.setChannelId(channelId); + attentionService.insert(attention); + } + for(Catalog catalog : catalogs){ + catalog.setChannelId(channelId); + catalogService.insert(catalog); + List list = catalogContentService.getList(catalog.getId()); + for(CatalogContent catalogContent : list){ + catalogContent.setCatalogId(catalog.getId()); + catalogContentService.insert(catalogContent); + } + } + } + }else if(channel.getTemplateId() == 2){ + List banners = bannerService.getList(copyDto.getSourceId()); + List bannerNexts = bannerService.getBannerNextList(copyDto.getSourceId()); + for(Integer channelId : copyDto.getTargetIdList()){ + for(Banner banner : banners){ + banner.setChannelId(channelId); + bannerService.copy(banner); + } + for(BannerNext bannerNext : bannerNexts){ + bannerNext.setChannelId(channelId); + bannerService.copyBannerNext(bannerNext); + } + } + } + return new BaseDto(); + } + + + @RequestMapping(value = "updateLook",method = RequestMethod.POST) + @ApiOperation(value = "增加浏览量") + public BaseDto updateLook(@RequestBody PageView pageView){ + pageViewService.updateLook(pageView); + return new BaseDto(); + } + @RequestMapping(value = "getBannerNextList",method = RequestMethod.GET) @ApiOperation(value = "获取左右轮播图列表") public BaseDto> getBannerNextList(int channelId){ diff --git a/src/main/java/com/sincere/wechatbusiness/dto/CopyDto.java b/src/main/java/com/sincere/wechatbusiness/dto/CopyDto.java new file mode 100644 index 0000000..6b5f362 --- /dev/null +++ b/src/main/java/com/sincere/wechatbusiness/dto/CopyDto.java @@ -0,0 +1,25 @@ +package com.sincere.wechatbusiness.dto; + +import java.util.List; + +public class CopyDto { + + private int sourceId ; + private List targetIdList ; + + public int getSourceId() { + return sourceId; + } + + public void setSourceId(int sourceId) { + this.sourceId = sourceId; + } + + public List getTargetIdList() { + return targetIdList; + } + + public void setTargetIdList(List targetIdList) { + this.targetIdList = targetIdList; + } +} diff --git a/src/main/java/com/sincere/wechatbusiness/mapper/BannerMapper.java b/src/main/java/com/sincere/wechatbusiness/mapper/BannerMapper.java index 741e29c..fb27c1d 100644 --- a/src/main/java/com/sincere/wechatbusiness/mapper/BannerMapper.java +++ b/src/main/java/com/sincere/wechatbusiness/mapper/BannerMapper.java @@ -12,4 +12,6 @@ public interface BannerMapper { int update(Banner banner); int deleteBanner(int id); + + int copy(Banner banner); } diff --git a/src/main/java/com/sincere/wechatbusiness/mapper/BannerNextMapper.java b/src/main/java/com/sincere/wechatbusiness/mapper/BannerNextMapper.java index faf5a09..fffdd41 100644 --- a/src/main/java/com/sincere/wechatbusiness/mapper/BannerNextMapper.java +++ b/src/main/java/com/sincere/wechatbusiness/mapper/BannerNextMapper.java @@ -14,6 +14,8 @@ public interface BannerNextMapper { int insert(BannerNext record); + int copy(BannerNext record); + int insertSelective(BannerNext record); BannerNext selectByPrimaryKey(Integer id); diff --git a/src/main/java/com/sincere/wechatbusiness/mapper/ChannelMapper.java b/src/main/java/com/sincere/wechatbusiness/mapper/ChannelMapper.java index 152e5a9..73a57fa 100644 --- a/src/main/java/com/sincere/wechatbusiness/mapper/ChannelMapper.java +++ b/src/main/java/com/sincere/wechatbusiness/mapper/ChannelMapper.java @@ -7,6 +7,9 @@ import org.springframework.web.bind.annotation.RequestParam; import java.util.List; public interface ChannelMapper { + + List get2List(); + List getList(Channel channel); int getListCount(Channel channel); diff --git a/src/main/java/com/sincere/wechatbusiness/mapper/PageViewMapper.java b/src/main/java/com/sincere/wechatbusiness/mapper/PageViewMapper.java new file mode 100644 index 0000000..fa88625 --- /dev/null +++ b/src/main/java/com/sincere/wechatbusiness/mapper/PageViewMapper.java @@ -0,0 +1,12 @@ +package com.sincere.wechatbusiness.mapper; + +import com.sincere.wechatbusiness.model.PageView; + +public interface PageViewMapper { + + int insert(PageView record); + + PageView getDetail(PageView pageView); + + int updateLook(PageView pageView); +} \ No newline at end of file diff --git a/src/main/java/com/sincere/wechatbusiness/model/PageView.java b/src/main/java/com/sincere/wechatbusiness/model/PageView.java new file mode 100644 index 0000000..97612e8 --- /dev/null +++ b/src/main/java/com/sincere/wechatbusiness/model/PageView.java @@ -0,0 +1,65 @@ +package com.sincere.wechatbusiness.model; + +import java.util.Date; + +public class PageView { + private Integer id; + + private Integer channelId; + + private Integer agentId; + + private Integer channelProductId; + + private Integer lookNumber; + + private Date createTime; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getChannelId() { + return channelId; + } + + public void setChannelId(Integer channelId) { + this.channelId = channelId; + } + + public Integer getAgentId() { + return agentId; + } + + public void setAgentId(Integer agentId) { + this.agentId = agentId; + } + + public Integer getChannelProductId() { + return channelProductId; + } + + public void setChannelProductId(Integer channelProductId) { + this.channelProductId = channelProductId; + } + + public Integer getLookNumber() { + return lookNumber; + } + + public void setLookNumber(Integer lookNumber) { + this.lookNumber = lookNumber; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } +} \ No newline at end of file diff --git a/src/main/java/com/sincere/wechatbusiness/service/BannerService.java b/src/main/java/com/sincere/wechatbusiness/service/BannerService.java index df0694f..6807693 100644 --- a/src/main/java/com/sincere/wechatbusiness/service/BannerService.java +++ b/src/main/java/com/sincere/wechatbusiness/service/BannerService.java @@ -10,6 +10,8 @@ public interface BannerService { int insert(Banner banner); + int copy(Banner banner); + int update(Banner banner); int deleteBanner(int id); @@ -23,4 +25,6 @@ public interface BannerService { int update(BannerNext bannerNext); + int copyBannerNext(BannerNext bannerNext); + } diff --git a/src/main/java/com/sincere/wechatbusiness/service/PageViewService.java b/src/main/java/com/sincere/wechatbusiness/service/PageViewService.java new file mode 100644 index 0000000..222de7d --- /dev/null +++ b/src/main/java/com/sincere/wechatbusiness/service/PageViewService.java @@ -0,0 +1,8 @@ +package com.sincere.wechatbusiness.service; + +import com.sincere.wechatbusiness.model.PageView; + +public interface PageViewService { + + int updateLook(PageView pageView); +} diff --git a/src/main/java/com/sincere/wechatbusiness/service/impl/BannerServiceImpl.java b/src/main/java/com/sincere/wechatbusiness/service/impl/BannerServiceImpl.java index ec74e5a..cfc4072 100644 --- a/src/main/java/com/sincere/wechatbusiness/service/impl/BannerServiceImpl.java +++ b/src/main/java/com/sincere/wechatbusiness/service/impl/BannerServiceImpl.java @@ -50,4 +50,14 @@ public class BannerServiceImpl implements BannerService { public int update(BannerNext bannerNext) { return bannerNextMapper.update(bannerNext); } + + @Override + public int copy(Banner banner) { + return bannerMapper.copy(banner); + } + + @Override + public int copyBannerNext(BannerNext bannerNext) { + return bannerNextMapper.copy(bannerNext); + } } diff --git a/src/main/java/com/sincere/wechatbusiness/service/impl/PageViewServiceImpl.java b/src/main/java/com/sincere/wechatbusiness/service/impl/PageViewServiceImpl.java new file mode 100644 index 0000000..f095679 --- /dev/null +++ b/src/main/java/com/sincere/wechatbusiness/service/impl/PageViewServiceImpl.java @@ -0,0 +1,26 @@ +package com.sincere.wechatbusiness.service.impl; + +import com.sincere.wechatbusiness.mapper.PageViewMapper; +import com.sincere.wechatbusiness.model.PageView; +import com.sincere.wechatbusiness.service.PageViewService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Service +public class PageViewServiceImpl implements PageViewService { + + @Autowired + PageViewMapper pageViewMapper ; + + @Override + public int updateLook(PageView pageView) { + PageView temp = pageViewMapper.getDetail(pageView); + if(temp != null){ + pageViewMapper.updateLook(pageView); + }else { + pageView.setLookNumber(1); + pageViewMapper.insert(pageView); + } + return 1; + } +} diff --git a/src/main/resources/mapper/BannerMapper.xml b/src/main/resources/mapper/BannerMapper.xml index 831edea..21f3560 100644 --- a/src/main/resources/mapper/BannerMapper.xml +++ b/src/main/resources/mapper/BannerMapper.xml @@ -20,6 +20,12 @@ ) + + insert into banner (channelId, img_url,link_url,create_time) + values (#{channelId,jdbcType=INTEGER}, #{imgUrl,jdbcType=VARCHAR}, #{linkUrl,jdbcType=VARCHAR},#{createTime} + ) + + update banner diff --git a/src/main/resources/mapper/BannerNextMapper.xml b/src/main/resources/mapper/BannerNextMapper.xml index cbc18c3..5b20085 100644 --- a/src/main/resources/mapper/BannerNextMapper.xml +++ b/src/main/resources/mapper/BannerNextMapper.xml @@ -13,7 +13,7 @@ @@ -45,6 +45,14 @@ values ( #{imgUrl,jdbcType=VARCHAR}, #{channelId,jdbcType=INTEGER}, getdate(), #{sort,jdbcType=INTEGER}) + + + insert into banner_next ( img_url, channel_id, + create_time, sort) + values ( #{imgUrl,jdbcType=VARCHAR}, #{channelId,jdbcType=INTEGER}, + #{createTime}, #{sort,jdbcType=INTEGER}) + + insert into banner_next diff --git a/src/main/resources/mapper/CatalogMapper.xml b/src/main/resources/mapper/CatalogMapper.xml index 29df3a1..23c6ef7 100644 --- a/src/main/resources/mapper/CatalogMapper.xml +++ b/src/main/resources/mapper/CatalogMapper.xml @@ -18,7 +18,7 @@ select * from catalog where channelId=#{channelId} and sort=#{sort} and state=1 - + insert into catalog (channelId, name,sort) values (#{channelId,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{sort,jdbcType=INTEGER} ) diff --git a/src/main/resources/mapper/ChannelMapper.xml b/src/main/resources/mapper/ChannelMapper.xml index 4a5fc2e..49f0bf1 100644 --- a/src/main/resources/mapper/ChannelMapper.xml +++ b/src/main/resources/mapper/ChannelMapper.xml @@ -65,6 +65,10 @@ + + + select * + from page_view + where id = #{id,jdbcType=INTEGER} + + + + insert into page_view (channel_id, agent_id, + channel_product_id, look_number, create_time + ) + values ( #{channelId,jdbcType=INTEGER}, #{agentId,jdbcType=INTEGER}, + #{channelProductId,jdbcType=INTEGER}, #{lookNumber,jdbcType=INTEGER}, getdate() + ) + + + + + + update page_view set look_number = look_number + 1 + where channel_id = #{channelId} and agent_id = #{agentId} and channel_product_id = #{channelProductId} + + \ No newline at end of file -- libgit2 0.21.0