Commit 4086b7de3badffdb019b5d1e199d4eccfe4468da

Authored by 陈杰
1 parent 845f9c99
Exists in master

1

src/main/java/com/sincere/wechatbusiness/controller/ChannelController.java
@@ -6,6 +6,7 @@ import com.alibaba.fastjson.TypeReference; @@ -6,6 +6,7 @@ import com.alibaba.fastjson.TypeReference;
6 import com.fasterxml.jackson.databind.ser.Serializers; 6 import com.fasterxml.jackson.databind.ser.Serializers;
7 import com.sincere.wechatbusiness.dto.BaseDto; 7 import com.sincere.wechatbusiness.dto.BaseDto;
8 import com.sincere.wechatbusiness.dto.ChannelDto; 8 import com.sincere.wechatbusiness.dto.ChannelDto;
  9 +import com.sincere.wechatbusiness.dto.CopyDto;
9 import com.sincere.wechatbusiness.logs.LogName; 10 import com.sincere.wechatbusiness.logs.LogName;
10 import com.sincere.wechatbusiness.logs.LoggerUtils; 11 import com.sincere.wechatbusiness.logs.LoggerUtils;
11 import com.sincere.wechatbusiness.model.*; 12 import com.sincere.wechatbusiness.model.*;
@@ -54,11 +55,67 @@ public class ChannelController { @@ -54,11 +55,67 @@ public class ChannelController {
54 @Autowired 55 @Autowired
55 AgentService agentService; 56 AgentService agentService;
56 57
  58 + @Autowired
  59 + PageViewService pageViewService ;
  60 +
57 private static final Logger log_channel = LoggerUtils.Logger(LogName.channel); 61 private static final Logger log_channel = LoggerUtils.Logger(LogName.channel);
58 62
59 // private String domain="https://mytest.myjxt.com:51314"; 63 // private String domain="https://mytest.myjxt.com:51314";
60 private String domain="https://proxy.shunzhi.net:51314"; 64 private String domain="https://proxy.shunzhi.net:51314";
61 65
  66 +
  67 + @RequestMapping(value = "copyChannel",method = RequestMethod.POST)
  68 + @ApiOperation(value = "内容下发")
  69 + public BaseDto copyChannel(@RequestBody CopyDto copyDto){
  70 + Channel channel = channelService.getDetail(copyDto.getSourceId());
  71 + if(channel.getTemplateId() == 1){
  72 + List<Banner> banners = bannerService.getList(copyDto.getSourceId());
  73 + Attention attention = attentionService.getDetail(copyDto.getSourceId());
  74 + List<Catalog> catalogs = catalogService.getList(copyDto.getSourceId());
  75 + for(Integer channelId : copyDto.getTargetIdList()){
  76 + for(Banner banner : banners){
  77 + banner.setChannelId(channelId);
  78 + bannerService.copy(banner);
  79 + }
  80 + if(attention != null){
  81 + attention.setChannelId(channelId);
  82 + attentionService.insert(attention);
  83 + }
  84 + for(Catalog catalog : catalogs){
  85 + catalog.setChannelId(channelId);
  86 + catalogService.insert(catalog);
  87 + List<CatalogContent> list = catalogContentService.getList(catalog.getId());
  88 + for(CatalogContent catalogContent : list){
  89 + catalogContent.setCatalogId(catalog.getId());
  90 + catalogContentService.insert(catalogContent);
  91 + }
  92 + }
  93 + }
  94 + }else if(channel.getTemplateId() == 2){
  95 + List<Banner> banners = bannerService.getList(copyDto.getSourceId());
  96 + List<BannerNext> bannerNexts = bannerService.getBannerNextList(copyDto.getSourceId());
  97 + for(Integer channelId : copyDto.getTargetIdList()){
  98 + for(Banner banner : banners){
  99 + banner.setChannelId(channelId);
  100 + bannerService.copy(banner);
  101 + }
  102 + for(BannerNext bannerNext : bannerNexts){
  103 + bannerNext.setChannelId(channelId);
  104 + bannerService.copyBannerNext(bannerNext);
  105 + }
  106 + }
  107 + }
  108 + return new BaseDto();
  109 + }
  110 +
  111 +
  112 + @RequestMapping(value = "updateLook",method = RequestMethod.POST)
  113 + @ApiOperation(value = "增加浏览量")
  114 + public BaseDto updateLook(@RequestBody PageView pageView){
  115 + pageViewService.updateLook(pageView);
  116 + return new BaseDto();
  117 + }
  118 +
62 @RequestMapping(value = "getBannerNextList",method = RequestMethod.GET) 119 @RequestMapping(value = "getBannerNextList",method = RequestMethod.GET)
63 @ApiOperation(value = "获取左右轮播图列表") 120 @ApiOperation(value = "获取左右轮播图列表")
64 public BaseDto<List<BannerNext>> getBannerNextList(int channelId){ 121 public BaseDto<List<BannerNext>> getBannerNextList(int channelId){
src/main/java/com/sincere/wechatbusiness/dto/CopyDto.java 0 → 100644
@@ -0,0 +1,25 @@ @@ -0,0 +1,25 @@
  1 +package com.sincere.wechatbusiness.dto;
  2 +
  3 +import java.util.List;
  4 +
  5 +public class CopyDto {
  6 +
  7 + private int sourceId ;
  8 + private List<Integer> targetIdList ;
  9 +
  10 + public int getSourceId() {
  11 + return sourceId;
  12 + }
  13 +
  14 + public void setSourceId(int sourceId) {
  15 + this.sourceId = sourceId;
  16 + }
  17 +
  18 + public List<Integer> getTargetIdList() {
  19 + return targetIdList;
  20 + }
  21 +
  22 + public void setTargetIdList(List<Integer> targetIdList) {
  23 + this.targetIdList = targetIdList;
  24 + }
  25 +}
src/main/java/com/sincere/wechatbusiness/mapper/BannerMapper.java
@@ -12,4 +12,6 @@ public interface BannerMapper { @@ -12,4 +12,6 @@ public interface BannerMapper {
12 int update(Banner banner); 12 int update(Banner banner);
13 13
14 int deleteBanner(int id); 14 int deleteBanner(int id);
  15 +
  16 + int copy(Banner banner);
15 } 17 }
src/main/java/com/sincere/wechatbusiness/mapper/BannerNextMapper.java
@@ -14,6 +14,8 @@ public interface BannerNextMapper { @@ -14,6 +14,8 @@ public interface BannerNextMapper {
14 14
15 int insert(BannerNext record); 15 int insert(BannerNext record);
16 16
  17 + int copy(BannerNext record);
  18 +
17 int insertSelective(BannerNext record); 19 int insertSelective(BannerNext record);
18 20
19 BannerNext selectByPrimaryKey(Integer id); 21 BannerNext selectByPrimaryKey(Integer id);
src/main/java/com/sincere/wechatbusiness/mapper/ChannelMapper.java
@@ -7,6 +7,9 @@ import org.springframework.web.bind.annotation.RequestParam; @@ -7,6 +7,9 @@ import org.springframework.web.bind.annotation.RequestParam;
7 import java.util.List; 7 import java.util.List;
8 8
9 public interface ChannelMapper { 9 public interface ChannelMapper {
  10 +
  11 + List<Channel> get2List();
  12 +
10 List<Channel> getList(Channel channel); 13 List<Channel> getList(Channel channel);
11 14
12 int getListCount(Channel channel); 15 int getListCount(Channel channel);
src/main/java/com/sincere/wechatbusiness/mapper/PageViewMapper.java 0 → 100644
@@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
  1 +package com.sincere.wechatbusiness.mapper;
  2 +
  3 +import com.sincere.wechatbusiness.model.PageView;
  4 +
  5 +public interface PageViewMapper {
  6 +
  7 + int insert(PageView record);
  8 +
  9 + PageView getDetail(PageView pageView);
  10 +
  11 + int updateLook(PageView pageView);
  12 +}
0 \ No newline at end of file 13 \ No newline at end of file
src/main/java/com/sincere/wechatbusiness/model/PageView.java 0 → 100644
@@ -0,0 +1,65 @@ @@ -0,0 +1,65 @@
  1 +package com.sincere.wechatbusiness.model;
  2 +
  3 +import java.util.Date;
  4 +
  5 +public class PageView {
  6 + private Integer id;
  7 +
  8 + private Integer channelId;
  9 +
  10 + private Integer agentId;
  11 +
  12 + private Integer channelProductId;
  13 +
  14 + private Integer lookNumber;
  15 +
  16 + private Date createTime;
  17 +
  18 + public Integer getId() {
  19 + return id;
  20 + }
  21 +
  22 + public void setId(Integer id) {
  23 + this.id = id;
  24 + }
  25 +
  26 + public Integer getChannelId() {
  27 + return channelId;
  28 + }
  29 +
  30 + public void setChannelId(Integer channelId) {
  31 + this.channelId = channelId;
  32 + }
  33 +
  34 + public Integer getAgentId() {
  35 + return agentId;
  36 + }
  37 +
  38 + public void setAgentId(Integer agentId) {
  39 + this.agentId = agentId;
  40 + }
  41 +
  42 + public Integer getChannelProductId() {
  43 + return channelProductId;
  44 + }
  45 +
  46 + public void setChannelProductId(Integer channelProductId) {
  47 + this.channelProductId = channelProductId;
  48 + }
  49 +
  50 + public Integer getLookNumber() {
  51 + return lookNumber;
  52 + }
  53 +
  54 + public void setLookNumber(Integer lookNumber) {
  55 + this.lookNumber = lookNumber;
  56 + }
  57 +
  58 + public Date getCreateTime() {
  59 + return createTime;
  60 + }
  61 +
  62 + public void setCreateTime(Date createTime) {
  63 + this.createTime = createTime;
  64 + }
  65 +}
0 \ No newline at end of file 66 \ No newline at end of file
src/main/java/com/sincere/wechatbusiness/service/BannerService.java
@@ -10,6 +10,8 @@ public interface BannerService { @@ -10,6 +10,8 @@ public interface BannerService {
10 10
11 int insert(Banner banner); 11 int insert(Banner banner);
12 12
  13 + int copy(Banner banner);
  14 +
13 int update(Banner banner); 15 int update(Banner banner);
14 16
15 int deleteBanner(int id); 17 int deleteBanner(int id);
@@ -23,4 +25,6 @@ public interface BannerService { @@ -23,4 +25,6 @@ public interface BannerService {
23 25
24 int update(BannerNext bannerNext); 26 int update(BannerNext bannerNext);
25 27
  28 + int copyBannerNext(BannerNext bannerNext);
  29 +
26 } 30 }
src/main/java/com/sincere/wechatbusiness/service/PageViewService.java 0 → 100644
@@ -0,0 +1,8 @@ @@ -0,0 +1,8 @@
  1 +package com.sincere.wechatbusiness.service;
  2 +
  3 +import com.sincere.wechatbusiness.model.PageView;
  4 +
  5 +public interface PageViewService {
  6 +
  7 + int updateLook(PageView pageView);
  8 +}
src/main/java/com/sincere/wechatbusiness/service/impl/BannerServiceImpl.java
@@ -50,4 +50,14 @@ public class BannerServiceImpl implements BannerService { @@ -50,4 +50,14 @@ public class BannerServiceImpl implements BannerService {
50 public int update(BannerNext bannerNext) { 50 public int update(BannerNext bannerNext) {
51 return bannerNextMapper.update(bannerNext); 51 return bannerNextMapper.update(bannerNext);
52 } 52 }
  53 +
  54 + @Override
  55 + public int copy(Banner banner) {
  56 + return bannerMapper.copy(banner);
  57 + }
  58 +
  59 + @Override
  60 + public int copyBannerNext(BannerNext bannerNext) {
  61 + return bannerNextMapper.copy(bannerNext);
  62 + }
53 } 63 }
src/main/java/com/sincere/wechatbusiness/service/impl/PageViewServiceImpl.java 0 → 100644
@@ -0,0 +1,26 @@ @@ -0,0 +1,26 @@
  1 +package com.sincere.wechatbusiness.service.impl;
  2 +
  3 +import com.sincere.wechatbusiness.mapper.PageViewMapper;
  4 +import com.sincere.wechatbusiness.model.PageView;
  5 +import com.sincere.wechatbusiness.service.PageViewService;
  6 +import org.springframework.beans.factory.annotation.Autowired;
  7 +import org.springframework.stereotype.Service;
  8 +
  9 +@Service
  10 +public class PageViewServiceImpl implements PageViewService {
  11 +
  12 + @Autowired
  13 + PageViewMapper pageViewMapper ;
  14 +
  15 + @Override
  16 + public int updateLook(PageView pageView) {
  17 + PageView temp = pageViewMapper.getDetail(pageView);
  18 + if(temp != null){
  19 + pageViewMapper.updateLook(pageView);
  20 + }else {
  21 + pageView.setLookNumber(1);
  22 + pageViewMapper.insert(pageView);
  23 + }
  24 + return 1;
  25 + }
  26 +}
src/main/resources/mapper/BannerMapper.xml
@@ -20,6 +20,12 @@ @@ -20,6 +20,12 @@
20 ) 20 )
21 </insert> 21 </insert>
22 22
  23 + <insert id="copy" parameterType="com.sincere.wechatbusiness.model.Banner">
  24 + insert into banner (channelId, img_url,link_url,create_time)
  25 + values (#{channelId,jdbcType=INTEGER}, #{imgUrl,jdbcType=VARCHAR}, #{linkUrl,jdbcType=VARCHAR},#{createTime}
  26 + )
  27 + </insert>
  28 +
23 <update id="update" parameterType="com.sincere.wechatbusiness.model.Banner"> 29 <update id="update" parameterType="com.sincere.wechatbusiness.model.Banner">
24 update banner 30 update banner
25 <trim prefix="set" suffixOverrides=","> 31 <trim prefix="set" suffixOverrides=",">
src/main/resources/mapper/BannerNextMapper.xml
@@ -13,7 +13,7 @@ @@ -13,7 +13,7 @@
13 </sql> 13 </sql>
14 14
15 <select id="getByChannel" parameterType="java.lang.Integer" resultMap="BaseResultMap"> 15 <select id="getByChannel" parameterType="java.lang.Integer" resultMap="BaseResultMap">
16 - select * from banner_next where channel_id = #{channelId} order by sort 16 + select * from banner_next where channel_id = #{channelId} order by create_time
17 </select> 17 </select>
18 18
19 <update id="update" parameterType="com.sincere.wechatbusiness.model.BannerNext"> 19 <update id="update" parameterType="com.sincere.wechatbusiness.model.BannerNext">
@@ -45,6 +45,14 @@ @@ -45,6 +45,14 @@
45 values ( #{imgUrl,jdbcType=VARCHAR}, #{channelId,jdbcType=INTEGER}, 45 values ( #{imgUrl,jdbcType=VARCHAR}, #{channelId,jdbcType=INTEGER},
46 getdate(), #{sort,jdbcType=INTEGER}) 46 getdate(), #{sort,jdbcType=INTEGER})
47 </insert> 47 </insert>
  48 +
  49 + <insert id="copy" parameterType="com.sincere.wechatbusiness.model.BannerNext">
  50 + insert into banner_next ( img_url, channel_id,
  51 + create_time, sort)
  52 + values ( #{imgUrl,jdbcType=VARCHAR}, #{channelId,jdbcType=INTEGER},
  53 + #{createTime}, #{sort,jdbcType=INTEGER})
  54 + </insert>
  55 +
48 <insert id="insertSelective" parameterType="com.sincere.wechatbusiness.model.BannerNext"> 56 <insert id="insertSelective" parameterType="com.sincere.wechatbusiness.model.BannerNext">
49 insert into banner_next 57 insert into banner_next
50 <trim prefix="(" suffix=")" suffixOverrides=","> 58 <trim prefix="(" suffix=")" suffixOverrides=",">
src/main/resources/mapper/CatalogMapper.xml
@@ -18,7 +18,7 @@ @@ -18,7 +18,7 @@
18 select * from catalog where channelId=#{channelId} and sort=#{sort} and state=1 18 select * from catalog where channelId=#{channelId} and sort=#{sort} and state=1
19 </select> 19 </select>
20 20
21 - <insert id="insert" parameterType="com.sincere.wechatbusiness.model.Catalog"> 21 + <insert id="insert" parameterType="com.sincere.wechatbusiness.model.Catalog" useGeneratedKeys="true" keyProperty="id">
22 insert into catalog (channelId, name,sort) 22 insert into catalog (channelId, name,sort)
23 values (#{channelId,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{sort,jdbcType=INTEGER} 23 values (#{channelId,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{sort,jdbcType=INTEGER}
24 ) 24 )
src/main/resources/mapper/ChannelMapper.xml
@@ -65,6 +65,10 @@ @@ -65,6 +65,10 @@
65 <result column="create_time" jdbcType="TIMESTAMP" property="createTime" /> 65 <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
66 </resultMap> 66 </resultMap>
67 67
  68 + <select id="get2List" resultMap="ChannelMap">
  69 + select * from channel where templateId = 2
  70 + </select>
  71 +
68 <select id="getList" parameterType="com.sincere.wechatbusiness.model.Channel" resultMap="ChannelMap"> 72 <select id="getList" parameterType="com.sincere.wechatbusiness.model.Channel" resultMap="ChannelMap">
69 select *,(select count(0) from channel_product where channelId=c.id and state=1) as product_count, 73 select *,(select count(0) from channel_product where channelId=c.id and state=1) as product_count,
70 (select title from template where id=c.templateId) as template_name from channel c 74 (select title from template where id=c.templateId) as template_name from channel c
src/main/resources/mapper/PageViewMapper.xml 0 → 100644
@@ -0,0 +1,36 @@ @@ -0,0 +1,36 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3 +<mapper namespace="com.sincere.wechatbusiness.mapper.PageViewMapper">
  4 + <resultMap id="BaseResultMap" type="com.sincere.wechatbusiness.model.PageView">
  5 + <id column="id" jdbcType="INTEGER" property="id" />
  6 + <result column="channel_id" jdbcType="INTEGER" property="channelId" />
  7 + <result column="agent_id" jdbcType="INTEGER" property="agentId" />
  8 + <result column="channel_product_id" jdbcType="INTEGER" property="channelProductId" />
  9 + <result column="look_number" jdbcType="INTEGER" property="lookNumber" />
  10 + <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
  11 + </resultMap>
  12 + <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
  13 + select *
  14 + from page_view
  15 + where id = #{id,jdbcType=INTEGER}
  16 + </select>
  17 +
  18 + <insert id="insert" parameterType="com.sincere.wechatbusiness.model.PageView">
  19 + insert into page_view (channel_id, agent_id,
  20 + channel_product_id, look_number, create_time
  21 + )
  22 + values ( #{channelId,jdbcType=INTEGER}, #{agentId,jdbcType=INTEGER},
  23 + #{channelProductId,jdbcType=INTEGER}, #{lookNumber,jdbcType=INTEGER}, getdate()
  24 + )
  25 + </insert>
  26 +
  27 + <select id="getDetail" parameterType="com.sincere.wechatbusiness.model.PageView" resultMap="BaseResultMap">
  28 + select * from page_view
  29 + where channel_id = #{channelId} and agent_id = #{agentId} and channel_product_id = #{channelProductId}
  30 + </select>
  31 +
  32 + <update id="updateLook" parameterType="com.sincere.wechatbusiness.model.PageView">
  33 + update page_view set look_number = look_number + 1
  34 + where channel_id = #{channelId} and agent_id = #{agentId} and channel_product_id = #{channelProductId}
  35 + </update>
  36 +</mapper>
0 \ No newline at end of file 37 \ No newline at end of file