Commit cd5e0eb7 by xugaojun

【3.0】11-1迭代:素材库支持添加多张图片实现

parent eeb3a234
package com.gic.haoban.manage.api.dto;
import java.io.Serializable;
import java.util.List;
/**
* desc:批量新增素材请求类
*
* @author: YongEn
* @date: 2021/11/8
**/
public class BatchAddMaterialDTO implements Serializable {
private static final long serialVersionUID = 4485943179748351877L;
/**
* 素材主要信息
*/
private Material material;
/**
* 素材媒体信息列表
*/
private List<MaterialMedia> materialMediaList;
public Material getMaterial() {
return material;
}
public void setMaterial(Material material) {
this.material = material;
}
public List<MaterialMedia> getMaterialMediaList() {
return materialMediaList;
}
public void setMaterialMediaList(List<MaterialMedia> materialMediaList) {
this.materialMediaList = materialMediaList;
}
@Override
public String toString() {
return "BatchAddMaterialDTO{" +
"material=" + material +
", materialMediaList=" + materialMediaList +
'}';
}
/**
* 素材主要信息
*/
public static class Material implements Serializable {
private static final long serialVersionUID = 5186039465841424394L;
/**
* 素材标题
*/
private String materialTitle;
/**
* 素材类型
* 素材类型, 1文本, 2图片, 3网页, 4视频, 5文件,6小程序
*/
private Integer materialType;
/**
* 素材分类id
*/
private String categoryId;
/**
* 企业微信id
*/
private String wxEnterpriseId;
/**
* 员工id
*/
private String staffId;
/**
* 员工姓名
*/
private String staffName;
public String getMaterialTitle() {
return materialTitle;
}
public void setMaterialTitle(String materialTitle) {
this.materialTitle = materialTitle;
}
public Integer getMaterialType() {
return materialType;
}
public void setMaterialType(Integer materialType) {
this.materialType = materialType;
}
public String getCategoryId() {
return categoryId;
}
public void setCategoryId(String categoryId) {
this.categoryId = categoryId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public String getStaffId() {
return staffId;
}
public void setStaffId(String staffId) {
this.staffId = staffId;
}
public String getStaffName() {
return staffName;
}
public void setStaffName(String staffName) {
this.staffName = staffName;
}
}
/**
* 素材媒体信息
*/
public static class MaterialMedia implements Serializable {
private static final long serialVersionUID = -6540716764890860601L;
/**
* 素材路径
*/
String url;
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
}
}
package com.gic.haoban.manage.api.service; package com.gic.haoban.manage.api.service;
import java.util.List;
import com.gic.api.base.commons.Page; import com.gic.api.base.commons.Page;
import com.gic.haoban.base.api.common.BasePageInfo; import com.gic.haoban.base.api.common.BasePageInfo;
import com.gic.haoban.base.api.common.ServiceResponse; import com.gic.haoban.base.api.common.ServiceResponse;
import com.gic.haoban.manage.api.dto.BatchAddMaterialDTO;
import com.gic.haoban.manage.api.dto.MaterialCategoryDTO; import com.gic.haoban.manage.api.dto.MaterialCategoryDTO;
import com.gic.haoban.manage.api.dto.MaterialDTO; import com.gic.haoban.manage.api.dto.MaterialDTO;
import java.util.List;
public interface MaterialApiService { public interface MaterialApiService {
boolean hasCategoryNameExsit(String categoryName, String categoryParentId,String categoryId); boolean hasCategoryNameExsit(String categoryName, String categoryParentId, String categoryId);
void insertCategory(MaterialCategoryDTO materialCategoryDTO); void insertCategory(MaterialCategoryDTO materialCategoryDTO);
List<MaterialCategoryDTO> listCategory(String wxEnterpriseId); List<MaterialCategoryDTO> listCategory(String wxEnterpriseId);
MaterialCategoryDTO selectMaterialCategoryById(String categoryId); MaterialCategoryDTO selectMaterialCategoryById(String categoryId);
void editCategory(MaterialCategoryDTO materialCategoryDTO); void editCategory(MaterialCategoryDTO materialCategoryDTO);
List<MaterialDTO> listMaterialByCategoryId(String categoryId); List<MaterialDTO> listMaterialByCategoryId(String categoryId);
void insertMaterial(MaterialDTO materialDTO); void insertMaterial(MaterialDTO materialDTO);
MaterialDTO selectMaterialById(String materialId); MaterialDTO selectMaterialById(String materialId);
List<MaterialDTO> listMaterialByIds(List<String> materialIds); List<MaterialDTO> listMaterialByIds(List<String> materialIds);
void editMaterial(MaterialDTO materialDTO); void editMaterial(MaterialDTO materialDTO);
Page<MaterialDTO> listMaterial(String wxEnterpriseId, String keyword, String categoryId, Integer materialType,BasePageInfo pageInfo); Page<MaterialDTO> listMaterial(String wxEnterpriseId, String keyword, String categoryId, Integer materialType, BasePageInfo pageInfo);
String reUpdalodMetail(String materialId); String reUpdalodMetail(String materialId);
List<MaterialCategoryDTO> listByParentCategory(String categoryId); List<MaterialCategoryDTO> listByParentCategory(String categoryId);
/** /**
* 分析素材 * 分析素材
...@@ -45,19 +46,19 @@ public interface MaterialApiService { ...@@ -45,19 +46,19 @@ public interface MaterialApiService {
*/ */
ServiceResponse<Void> shareMaterial(String wxEnterpriseId, String toWxEnterpriseId, String materialId); ServiceResponse<Void> shareMaterial(String wxEnterpriseId, String toWxEnterpriseId, String materialId);
/** /**
* 素材关联的已分配企业 * 素材关联的已分配企业
* *
* @param materialId * @param materialId
*/ */
List<MaterialDTO> listByFromMaterialId(String materialId); List<MaterialDTO> listByFromMaterialId(String materialId);
/** /**
* 删除 * 删除
* *
* @param ids * @param ids
*/ */
void delMaterial(List<String> ids); void delMaterial(List<String> ids);
/** /**
* 自动刷新madiaid的 获取素材 * 自动刷新madiaid的 获取素材
...@@ -67,4 +68,12 @@ public interface MaterialApiService { ...@@ -67,4 +68,12 @@ public interface MaterialApiService {
*/ */
MaterialDTO getHasChangeMadieMaterialById(String materialId); MaterialDTO getHasChangeMadieMaterialById(String materialId);
/**
* 批量新增素材
*
* @param dto dto
* @author: YongEn
*/
void batchInsertMaterial(BatchAddMaterialDTO dto);
} }
package com.gic.haoban.manage.service.dao.mapper; package com.gic.haoban.manage.service.dao.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.gic.haoban.manage.service.entity.TabHaobanMaterial; import com.gic.haoban.manage.service.entity.TabHaobanMaterial;
import com.github.pagehelper.Page; import com.github.pagehelper.Page;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface TabHaobanMaterialMapper { public interface TabHaobanMaterialMapper {
int deleteByPrimaryKey(String materialId); int deleteByPrimaryKey(String materialId);
int insert(TabHaobanMaterial record); int insert(TabHaobanMaterial record);
int batchInsert(@Param("records") List<TabHaobanMaterial> records);
int insertSelective(TabHaobanMaterial record); int insertSelective(TabHaobanMaterial record);
TabHaobanMaterial selectByPrimaryKey(String materialId); TabHaobanMaterial selectByPrimaryKey(String materialId);
...@@ -22,9 +23,9 @@ public interface TabHaobanMaterialMapper { ...@@ -22,9 +23,9 @@ public interface TabHaobanMaterialMapper {
int updateByPrimaryKey(TabHaobanMaterial record); int updateByPrimaryKey(TabHaobanMaterial record);
List<TabHaobanMaterial> listMaterialByCategoryId(String categoryId); List<TabHaobanMaterial> listMaterialByCategoryId(String categoryId);
Page<TabHaobanMaterial> listMaterial(@Param("wxEnterpriseId")String wxEnterpriseId, @Param("keyword")String keyword, @Param("categoryId")String categoryId, @Param("materialType")Integer materialType); Page<TabHaobanMaterial> listMaterial(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("keyword") String keyword, @Param("categoryId") String categoryId, @Param("materialType") Integer materialType);
List<TabHaobanMaterial> listMaterialByCategoryIds(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("keyword") String keyword, @Param("categoryIds") List<String> categoryIds, @Param("materialType") Integer materialType); List<TabHaobanMaterial> listMaterialByCategoryIds(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("keyword") String keyword, @Param("categoryIds") List<String> categoryIds, @Param("materialType") Integer materialType);
......
package com.gic.haoban.manage.service.service; package com.gic.haoban.manage.service.service;
import java.util.List;
import com.gic.haoban.manage.api.dto.MaterialDTO; import com.gic.haoban.manage.api.dto.MaterialDTO;
import java.util.List;
public interface MaterialService { public interface MaterialService {
List<MaterialDTO> listMaterialByCategoryId(String categoryId); List<MaterialDTO> listMaterialByCategoryId(String categoryId);
void insertMaterial(MaterialDTO materialDTO); void insertMaterial(MaterialDTO materialDTO);
void batchInsertMaterial(List<MaterialDTO> materialList);
MaterialDTO selectMaterialById(String materialId); MaterialDTO selectMaterialById(String materialId);
List<MaterialDTO> listMaterialByIds(List<String> materialIds); List<MaterialDTO> listMaterialByIds(List<String> materialIds);
......
package com.gic.haoban.manage.service.service.impl; package com.gic.haoban.manage.service.service.impl;
import java.util.Date;
import java.util.List;
import com.github.pagehelper.PageInfo;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.gic.haoban.common.utils.EntityUtil; import com.gic.haoban.common.utils.EntityUtil;
import com.gic.haoban.common.utils.StringUtil; import com.gic.haoban.common.utils.StringUtil;
import com.gic.haoban.manage.api.dto.MaterialDTO; import com.gic.haoban.manage.api.dto.MaterialDTO;
...@@ -15,6 +7,11 @@ import com.gic.haoban.manage.service.dao.mapper.TabHaobanMaterialMapper; ...@@ -15,6 +7,11 @@ import com.gic.haoban.manage.service.dao.mapper.TabHaobanMaterialMapper;
import com.gic.haoban.manage.service.entity.TabHaobanMaterial; import com.gic.haoban.manage.service.entity.TabHaobanMaterial;
import com.gic.haoban.manage.service.service.MaterialService; import com.gic.haoban.manage.service.service.MaterialService;
import com.github.pagehelper.Page; import com.github.pagehelper.Page;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
@Service @Service
public class MaterialServiceImpl implements MaterialService { public class MaterialServiceImpl implements MaterialService {
...@@ -38,6 +35,11 @@ public class MaterialServiceImpl implements MaterialService { ...@@ -38,6 +35,11 @@ public class MaterialServiceImpl implements MaterialService {
} }
@Override @Override
public void batchInsertMaterial(List<MaterialDTO> materialList) {
mapper.batchInsert(EntityUtil.changeEntityListByOrika(TabHaobanMaterial.class, materialList));
}
@Override
public MaterialDTO selectMaterialById(String materialId) { public MaterialDTO selectMaterialById(String materialId) {
return EntityUtil.changeEntityByJSON(MaterialDTO.class, mapper.selectByPrimaryKey(materialId)); return EntityUtil.changeEntityByJSON(MaterialDTO.class, mapper.selectByPrimaryKey(materialId));
} }
......
...@@ -173,6 +173,57 @@ ...@@ -173,6 +173,57 @@
</if> </if>
</trim> </trim>
</insert> </insert>
<insert id="batchInsert" parameterType="com.gic.haoban.manage.service.entity.TabHaobanMaterial">
insert into tab_haoban_material
(
material_id,
from_material_id,
material_title,
material_type,
category_id,
material_content,
wx_last_upload_time,
media_id,
wx_enterprise_id,
staff_id,
staff_name,
img_url,
wx_img_url,
material_desc,
status_flag,
link,
app_id,
create_time,
update_time
)
VALUES
(
<foreach collection="records" item="one" separator=",">
#{one.materialId,jdbcType=VARCHAR},
#{one.fromMaterialId,jdbcType=VARCHAR},
#{one.materialTitle,jdbcType=VARCHAR},
#{one.materialType,jdbcType=INTEGER},
#{one.categoryId,jdbcType=VARCHAR},
#{one.materialContent,jdbcType=VARCHAR},
#{one.wxLastUploadTime,jdbcType=TIMESTAMP},
#{one.mediaId,jdbcType=VARCHAR},
#{one.wxEnterpriseId,jdbcType=VARCHAR},
#{one.staffId,jdbcType=VARCHAR},
#{one.staffName,jdbcType=VARCHAR},
#{one.imgUrl,jdbcType=VARCHAR},
#{one.wxImgUrl,jdbcType=VARCHAR},
#{one.materialDesc,jdbcType=VARCHAR},
#{one.statusFlag,jdbcType=INTEGER},
#{one.link,jdbcType=VARCHAR},
#{one.appId,jdbcType=VARCHAR},
#{one.createTime,jdbcType=TIMESTAMP},
#{one.updateTime,jdbcType=TIMESTAMP}
</foreach>
)
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.gic.haoban.manage.service.entity.TabHaobanMaterial" > <update id="updateByPrimaryKeySelective" parameterType="com.gic.haoban.manage.service.entity.TabHaobanMaterial" >
update tab_haoban_material update tab_haoban_material
<set > <set >
......
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