wangyunpeng пре 3 месеци
родитељ
комит
f4851165ae

+ 19 - 0
api-module/src/main/java/com/tzld/piaoquan/api/dao/mapper/contentplatform/ext/ContentPlatformPlanMapperExt.java

@@ -0,0 +1,19 @@
+package com.tzld.piaoquan.api.dao.mapper.contentplatform.ext;
+
+import com.tzld.piaoquan.api.model.param.contentplatform.GzhPlanListParam;
+import com.tzld.piaoquan.api.model.po.contentplatform.ContentPlatformGzhPlan;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface ContentPlatformPlanMapperExt {
+
+
+    int getGzhPlanCount(@Param("param") GzhPlanListParam param,
+                        @Param("createAccountId") Long createAccountId);
+
+    List<ContentPlatformGzhPlan> getGzhPlanList(@Param("param") GzhPlanListParam param,
+                                                @Param("createAccountId") Long createAccountId,
+                                                @Param("offset") int offset,
+                                                @Param("pageSize") Integer pageSize);
+}

+ 2 - 0
api-module/src/main/java/com/tzld/piaoquan/api/model/vo/contentplatform/AccountVO.java

@@ -18,6 +18,8 @@ public class AccountVO {
 	private String contactName;
 	@ApiModelProperty(value = "手机号")
 	private String telNum;
+	@ApiModelProperty(value = "状态 1-正常 0-封禁")
+	private Integer status;
 	@ApiModelProperty(value = "创建时间")
 	private Long createTimestamp;
 

+ 3 - 0
api-module/src/main/java/com/tzld/piaoquan/api/model/vo/contentplatform/GzhPlanItemVO.java

@@ -8,6 +8,9 @@ import java.util.List;
 @Data
 public class GzhPlanItemVO {
 
+    @ApiModelProperty(value = "id")
+    private Long id;
+
     @ApiModelProperty(value = "公众号id")
     private Long accountId;
 

+ 1 - 2
api-module/src/main/java/com/tzld/piaoquan/api/service/contentplatform/impl/ContentPlatformAccountServiceImpl.java

@@ -4,7 +4,6 @@ import com.alibaba.fastjson.JSON;
 import com.tzld.piaoquan.api.common.enums.ExceptionEnum;
 import com.tzld.piaoquan.api.common.enums.contentplatform.AccountStatusEnum;
 import com.tzld.piaoquan.api.common.exception.CommonException;
-import com.tzld.piaoquan.api.config.JwtInterceptor;
 import com.tzld.piaoquan.api.dao.mapper.contentplatform.ContentPlatformAccountMapper;
 import com.tzld.piaoquan.api.dao.mapper.contentplatform.ContentPlatformVerifyCodeMapper;
 import com.tzld.piaoquan.api.dao.mapper.contentplatform.ext.ContentPlatformAccountMapperExt;
@@ -18,7 +17,6 @@ import com.tzld.piaoquan.api.model.vo.contentplatform.AccountVO;
 import com.tzld.piaoquan.api.service.contentplatform.ContentPlatformAccountService;
 import com.tzld.piaoquan.growth.common.utils.Md5Util;
 import com.tzld.piaoquan.growth.common.utils.RedisUtils;
-import com.tzld.piaoquan.growth.common.utils.SendShortMessageUtil;
 import com.tzld.piaoquan.growth.common.utils.VerificationCodeGenerator;
 import com.tzld.piaoquan.growth.common.utils.page.Page;
 import org.apache.commons.collections4.CollectionUtils;
@@ -148,6 +146,7 @@ public class ContentPlatformAccountServiceImpl implements ContentPlatformAccount
             accountVO.setChannel(account.getChannel());
             accountVO.setContactName(account.getContactName());
             accountVO.setTelNum(account.getTelNum());
+            accountVO.setStatus(account.getStatus());
             accountVO.setCreateTimestamp(account.getCreateTimestamp());
             result.add(accountVO);
         }

+ 45 - 1
api-module/src/main/java/com/tzld/piaoquan/api/service/contentplatform/impl/ContentPlatformPlanServiceImpl.java

@@ -1,20 +1,64 @@
 package com.tzld.piaoquan.api.service.contentplatform.impl;
 
+import com.tzld.piaoquan.api.dao.mapper.contentplatform.ContentPlatformGzhPlanMapper;
+import com.tzld.piaoquan.api.dao.mapper.contentplatform.ContentPlatformQwPlanMapper;
+import com.tzld.piaoquan.api.dao.mapper.contentplatform.ext.ContentPlatformPlanMapperExt;
+import com.tzld.piaoquan.api.model.config.LoginUserContext;
 import com.tzld.piaoquan.api.model.param.contentplatform.*;
+import com.tzld.piaoquan.api.model.po.contentplatform.ContentPlatformAccount;
+import com.tzld.piaoquan.api.model.po.contentplatform.ContentPlatformGzhPlan;
 import com.tzld.piaoquan.api.model.vo.contentplatform.GzhPlanItemVO;
 import com.tzld.piaoquan.api.model.vo.contentplatform.QwPlanItemVO;
 import com.tzld.piaoquan.api.model.vo.contentplatform.VideoContentItemVO;
 import com.tzld.piaoquan.api.service.contentplatform.ContentPlatformPlanService;
 import com.tzld.piaoquan.growth.common.utils.page.Page;
+import org.apache.commons.collections4.CollectionUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
 
 @Service
 public class ContentPlatformPlanServiceImpl implements ContentPlatformPlanService {
+
+    @Autowired
+    private ContentPlatformGzhPlanMapper gzhPlanMapper;
+    @Autowired
+    private ContentPlatformPlanMapperExt planMapperExt;
+    @Autowired
+    private ContentPlatformQwPlanMapper qwPlanMapper;
+
     @Override
     public Page<GzhPlanItemVO> gzhPlanList(GzhPlanListParam param) {
-        return null;
+        ContentPlatformAccount loginAccount = LoginUserContext.getUser();
+        Page<GzhPlanItemVO> result = new Page<>(param.getPageNum(), param.getPageSize());
+        int offset = (param.getPageNum() - 1) * param.getPageSize();
+        int count = planMapperExt.getGzhPlanCount(param, loginAccount.getId());
+        result.setTotalSize(count);
+        if (count == 0) {
+            return result;
+        }
+        List<ContentPlatformGzhPlan> planList = planMapperExt.getGzhPlanList(param,
+                loginAccount.getId(), offset, param.getPageSize());
+        List<GzhPlanItemVO> list = buildGzhPlanItemVOList(planList);
+        result.setObjs(list);
+        return result;
+    }
+
+    private List<GzhPlanItemVO> buildGzhPlanItemVOList(List<ContentPlatformGzhPlan> planList) {
+        if (CollectionUtils.isEmpty(planList)) {
+            return null;
+        }
+        List<GzhPlanItemVO> result = new ArrayList<>();
+        for (ContentPlatformGzhPlan gzhPlan : planList) {
+            GzhPlanItemVO planItemVO = new GzhPlanItemVO();
+            planItemVO.setId(gzhPlan.getId());
+
+            planItemVO.setCreateTimestamp(gzhPlan.getCreateTimestamp());
+            result.add(planItemVO);
+        }
+        return result;
     }
 
     @Override

+ 1 - 0
api-module/src/main/resources/mapper/contentplatform/ext/ContentPlatformAccountMapperExt.xml

@@ -33,6 +33,7 @@
             resultType="com.tzld.piaoquan.api.model.po.contentplatform.ContentPlatformAccount">
         select *
         from content_platform_account
+        order by create_timestamp desc
         limit #{offset}, #{pageSize}
     </select>
 

+ 2 - 0
api-module/src/main/resources/mapper/contentplatform/ext/ContentPlatformGzhAccountMapperExt.xml

@@ -24,6 +24,7 @@
     select *
     from content_platform_gzh_account
     where create_account_id = #{createAccountId}
+    order by create_timestamp desc
     limit #{offset}, #{pageSize}
   </select>
 
@@ -31,6 +32,7 @@
     select id, name
     from content_platform_gzh_account
     where create_account_id = #{createAccountId}
+    order by create_timestamp desc
   </select>
 
 </mapper>

+ 50 - 0
api-module/src/main/resources/mapper/contentplatform/ext/ContentPlatformPlanMapperExt.xml

@@ -0,0 +1,50 @@
+<?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.tzld.piaoquan.api.dao.mapper.contentplatform.ext.ContentPlatformPlanMapperExt">
+
+    <select id="getGzhPlanCount" resultType="java.lang.Integer">
+        select count(*)
+        from content_platform_gzh_plan
+        where create_account_id = #{createAccountId}
+        <if test="param.accountId != null and param.accountId != ''">
+            and account_id = #{param.accountId}
+        </if>
+        <if test="param.publishStage != null and param.publishStage != ''">
+            and publish_stage = #{param.publishStage}
+        </if>
+        <if test="param.createTimestampStart != null and param.createTimestampStart != ''">
+            and create_timestamp > #{param.createTimestampStart}
+        </if>
+        <if test="param.createTimestampEnd != null and param.createTimestampEnd != ''">
+            and create_timestamp &lt; #{param.createTimestampEnd}
+        </if>
+        <if test="param.title != null and param.title != ''">
+            and id in (select plan_id from content_platform_gzh_plan_video where title like concat('%', #{param.title}, '%'))
+        </if>
+    </select>
+
+    <select id="getGzhPlanList"
+            resultType="com.tzld.piaoquan.api.model.po.contentplatform.ContentPlatformGzhPlan">
+        select *
+        from content_platform_gzh_plan
+        where create_account_id = #{createAccountId}
+        <if test="param.accountId != null and param.accountId != ''">
+            and account_id = #{param.accountId}
+        </if>
+        <if test="param.publishStage != null and param.publishStage != ''">
+            and publish_stage = #{param.publishStage}
+        </if>
+        <if test="param.createTimestampStart != null and param.createTimestampStart != ''">
+            and create_timestamp > #{param.createTimestampStart}
+        </if>
+        <if test="param.createTimestampEnd != null and param.createTimestampEnd != ''">
+            and create_timestamp &lt; #{param.createTimestampEnd}
+        </if>
+        <if test="param.title != null and param.title != ''">
+            and id in (select plan_id from content_platform_gzh_plan_video where title like concat('%', #{param.title}, '%'))
+        </if>
+        order by create_timestamp desc
+        limit #{offset}, #{pageSize}
+    </select>
+
+</mapper>