Commit 2a35bff3 by songyinghui

feat: 栏目补全

parent 00a3469e
......@@ -219,6 +219,11 @@
<artifactId>gic-integral-mall-api</artifactId>
<version>${gic-integral-mall-api}</version>
</dependency>
<dependency>
<groupId>com.gic</groupId>
<artifactId>gic-content-api</artifactId>
<version>${gic-content-api}</version>
</dependency>
</dependencies>
<build>
......
package com.gic.haoban.manage.web.controller.content;
import com.gic.api.base.commons.BasePageInfo;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.content.api.dto.column.ContentColumnListDTO;
import com.gic.content.api.dto.material.ContentMaterialFrontDTO;
import com.gic.content.api.qdto.material.ContentMaterialPageFrontQDTO;
import com.gic.content.api.service.ContentColumnApiService;
import com.gic.content.api.service.ContentMaterialApiService;
import com.gic.haoban.common.utils.EntityUtil;
import com.gic.haoban.manage.web.qo.content.ContentMaterialQO;
import com.gic.haoban.manage.web.qo.content.ContentMaterialShareQO;
import com.gic.haoban.manage.web.vo.content.ContentColumnInfoVO;
import com.gic.haoban.manage.web.vo.content.ContentMaterialInfoVO;
import com.gic.haoban.manage.web.vo.content.ContentMaterialShareInfoVO;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Collections;
import java.util.List;
/**
* @Author MUSI
* @Date 2022/11/14 6:06 PM
* @Description
* @Version
**/
@RestController
public class ContentMaterialController {
@Autowired
private ContentColumnApiService contentColumnApiService;
@Autowired
private ContentMaterialApiService contentMaterialApiService;
/**
* 获取栏目筛选条件
* @param enterpriseId
* @return
*/
@RequestMapping(path = "/column-list")
public RestResponse<List<ContentColumnInfoVO>> queryContentColumn(String enterpriseId){
ServiceResponse<List<ContentColumnListDTO>> serviceResponse = contentColumnApiService.listColumn(enterpriseId, 1);
if (!serviceResponse.isSuccess() || CollectionUtils.isEmpty(serviceResponse.getResult())){
return RestResponse.successResult(Collections.emptyList());
}
List<ContentColumnInfoVO> contentColumnInfos = EntityUtil.changeEntityListByJSON(ContentColumnInfoVO.class, serviceResponse.getResult());
return RestResponse.successResult(contentColumnInfos);
}
/**
*
* 素材列表
*
* @return
*/
@RequestMapping(path = "/content-material-list")
public RestResponse<Page<ContentMaterialInfoVO>> queryContentMaterialList(@RequestBody ContentMaterialQO contentMaterialQO){
ContentMaterialPageFrontQDTO contentMaterialPageFrontQDTO = new ContentMaterialPageFrontQDTO();
contentMaterialPageFrontQDTO.setEnterpriseId(contentMaterialQO.getEnterpriseId());
contentMaterialPageFrontQDTO.setKeyWord(contentMaterialQO.getSearch());
contentMaterialPageFrontQDTO.setContentColumnId(contentMaterialQO.getContentColumnId());
if (contentMaterialQO.getSortType() != null){
if (contentMaterialQO.getSortType() == 2){
contentMaterialPageFrontQDTO.setHotFlag(1);
}else if (contentMaterialQO.getSortType() == 3){
contentMaterialPageFrontQDTO.setMaterialType(4);
}
}
BasePageInfo pageInfo = new BasePageInfo();
pageInfo.setPageNum(contentMaterialQO.getPageNum());
pageInfo.setPageSize(contentMaterialQO.getPageSize());
ServiceResponse<Page<ContentMaterialFrontDTO>> serviceResponse = contentMaterialApiService.pageMaterialFront(contentMaterialPageFrontQDTO, pageInfo);
if (!serviceResponse.isSuccess() || CollectionUtils.isEmpty(serviceResponse.getResult().getResult())){
return RestResponse.successResult(new Page<>());
}
Page<ContentMaterialFrontDTO> responseResult = serviceResponse.getResult();
Page<ContentMaterialInfoVO> result = new Page<>();
result.setTotalCount(responseResult.getTotalCount());
List<ContentMaterialInfoVO> contentMaterialInfos = EntityUtil.changeEntityListByJSON(ContentMaterialInfoVO.class, responseResult.getResult());
result.setResult(contentMaterialInfos);
return RestResponse.successResult(result);
}
/**
* 分享商品素材
* @param contentMaterialShareQO
* @return
*/
@RequestMapping(path = "/share-content-material")
public RestResponse<ContentMaterialShareInfoVO> shareContentMaterial(ContentMaterialShareQO contentMaterialShareQO){
return RestResponse.successResult();
}
}
package com.gic.haoban.manage.web.qo.content;
import com.gic.commons.web.qo.PageQo;
/**
* @Author MUSI
* @Date 2022/10/28 1:38 PM
* @Description
* @Version
**/
public class ContentMaterialQO extends PageQo {
/**
* 企业id
*/
private String enterpriseId;
/**
* 微信企业id
*/
private String wxEnterpriseId;
/**
* 1 最新; 2 最热; 3 视频
*/
private Integer sortType;
/**
* 素材搜索
*/
private String search;
/**
* 栏目id
*/
private Long contentColumnId;
public Integer getSortType() {
return sortType;
}
public void setSortType(Integer sortType) {
this.sortType = sortType;
}
public String getSearch() {
return search;
}
public void setSearch(String search) {
this.search = search;
}
public Long getContentColumnId() {
return contentColumnId;
}
public void setContentColumnId(Long contentColumnId) {
this.contentColumnId = contentColumnId;
}
public String getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(String enterpriseId) {
this.enterpriseId = enterpriseId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
}
package com.gic.haoban.manage.web.qo.content;
import java.io.Serializable;
/**
* @Author MUSI
* @Date 2022/10/28 4:09 PM
* @Description
* @Version
**/
public class ContentMaterialShareQO implements Serializable {
/**
* 商品id
*/
private String goodsId;
/**
* 商品货号
*/
private String goodsCode;
/**
* 素材id
*/
private Long contentMaterialId;
/**
* 导购id
*/
private String clerkId;
/**
* 门店id
*/
private String storeId;
/**
* 门店code
*/
private String storeCode;
public String getGoodsId() {
return goodsId;
}
public void setGoodsId(String goodsId) {
this.goodsId = goodsId;
}
public Long getContentMaterialId() {
return contentMaterialId;
}
public void setContentMaterialId(Long contentMaterialId) {
this.contentMaterialId = contentMaterialId;
}
public String getClerkId() {
return clerkId;
}
public void setClerkId(String clerkId) {
this.clerkId = clerkId;
}
public String getStoreId() {
return storeId;
}
public void setStoreId(String storeId) {
this.storeId = storeId;
}
public String getStoreCode() {
return storeCode;
}
public void setStoreCode(String storeCode) {
this.storeCode = storeCode;
}
public String getGoodsCode() {
return goodsCode;
}
public void setGoodsCode(String goodsCode) {
this.goodsCode = goodsCode;
}
}
package com.gic.haoban.manage.web.vo.content;
import java.io.Serializable;
import java.util.List;
/**
* 栏目基础信息对象
* @Author MUSI
* @Date 2022/10/27 5:00 PM
* @Description
* @Version
**/
public class ContentColumnInfoVO implements Serializable {
/**
* 栏目id
*/
private Long contentColumnId;
/**
* 栏目名称
*/
private String contentColumnName;
/**
* 子级栏目
*/
private List<ContentColumnInfoVO> childrenColumn;
public Long getContentColumnId() {
return contentColumnId;
}
public void setContentColumnId(Long contentColumnId) {
this.contentColumnId = contentColumnId;
}
public String getContentColumnName() {
return contentColumnName;
}
public void setContentColumnName(String contentColumnName) {
this.contentColumnName = contentColumnName;
}
public List<ContentColumnInfoVO> getChildrenColumn() {
return childrenColumn;
}
public void setChildrenColumn(List<ContentColumnInfoVO> childrenColumn) {
this.childrenColumn = childrenColumn;
}
}
package com.gic.haoban.manage.web.vo.content;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* @Author MUSI
* @Date 2022/10/28 1:52 PM
* @Description
* @Version
**/
public class ContentMaterialInfoVO implements Serializable {
private static final long serialVersionUID = 3274097803200172473L;
/**
* 素材id
*/
private Integer contentMaterialId;
/**
* 素材标题
*/
private String materialTitle;
/**
* 素材内容
*/
private String materialContent;
/**
* 素材类型1图文2纯文字3纯图片4视频
*/
private Integer materialType;
/**
* 发布时间
*/
private Date publishTime;
/**
* 素材图片
*/
private List<String> materialImageUrls;
/**
* 素材视频链接
*/
private String materialVideoUrl;
/**
* 素材视频封面链接
*/
private String materialVideoImageUrl;
/**
* 素材视频第一帧url
*/
private String materialVideoFirstImageUrl;
/**
* 分享次数
*/
private Integer shareCount;
/**
* 发布人id
*/
private String producerId;
/**
* 发布人头像
*/
private String avatar;
/**
* 发布人昵称
*/
private String nickName;
/**
* 商品列表
*/
private List<SimpleGoodsInfoVO> contentGoodsList;
public Integer getContentMaterialId() {
return contentMaterialId;
}
public void setContentMaterialId(Integer contentMaterialId) {
this.contentMaterialId = contentMaterialId;
}
public String getMaterialTitle() {
return materialTitle;
}
public void setMaterialTitle(String materialTitle) {
this.materialTitle = materialTitle;
}
public String getMaterialContent() {
return materialContent;
}
public void setMaterialContent(String materialContent) {
this.materialContent = materialContent;
}
public Integer getMaterialType() {
return materialType;
}
public void setMaterialType(Integer materialType) {
this.materialType = materialType;
}
public Date getPublishTime() {
return publishTime;
}
public void setPublishTime(Date publishTime) {
this.publishTime = publishTime;
}
public List<String> getMaterialImageUrls() {
return materialImageUrls;
}
public void setMaterialImageUrls(List<String> materialImageUrls) {
this.materialImageUrls = materialImageUrls;
}
public String getMaterialVideoUrl() {
return materialVideoUrl;
}
public void setMaterialVideoUrl(String materialVideoUrl) {
this.materialVideoUrl = materialVideoUrl;
}
public String getMaterialVideoImageUrl() {
return materialVideoImageUrl;
}
public void setMaterialVideoImageUrl(String materialVideoImageUrl) {
this.materialVideoImageUrl = materialVideoImageUrl;
}
public String getMaterialVideoFirstImageUrl() {
return materialVideoFirstImageUrl;
}
public void setMaterialVideoFirstImageUrl(String materialVideoFirstImageUrl) {
this.materialVideoFirstImageUrl = materialVideoFirstImageUrl;
}
public Integer getShareCount() {
return shareCount;
}
public void setShareCount(Integer shareCount) {
this.shareCount = shareCount;
}
public String getProducerId() {
return producerId;
}
public void setProducerId(String producerId) {
this.producerId = producerId;
}
public String getAvatar() {
return avatar;
}
public void setAvatar(String avatar) {
this.avatar = avatar;
}
public String getNickName() {
return nickName;
}
public void setNickName(String nickName) {
this.nickName = nickName;
}
public List<SimpleGoodsInfoVO> getContentGoodsList() {
return contentGoodsList;
}
public void setContentGoodsList(List<SimpleGoodsInfoVO> contentGoodsList) {
this.contentGoodsList = contentGoodsList;
}
}
package com.gic.haoban.manage.web.vo.content;
import java.io.Serializable;
/**
* @Author MUSI
* @Date 2022/10/28 4:12 PM
* @Description
* @Version
**/
public class ContentMaterialShareInfoVO implements Serializable {
/**
* 素材文案
*/
private String materialContentWithLink;
/**
* 商品短链
*/
private String goodsShortLink;
/**
* 商品二维码
*/
private String goodsQrcode;
public String getMaterialContentWithLink() {
return materialContentWithLink;
}
public void setMaterialContentWithLink(String materialContentWithLink) {
this.materialContentWithLink = materialContentWithLink;
}
public String getGoodsShortLink() {
return goodsShortLink;
}
public void setGoodsShortLink(String goodsShortLink) {
this.goodsShortLink = goodsShortLink;
}
public String getGoodsQrcode() {
return goodsQrcode;
}
public void setGoodsQrcode(String goodsQrcode) {
this.goodsQrcode = goodsQrcode;
}
}
package com.gic.haoban.manage.web.vo.content;
import java.io.Serializable;
/**
* @Author MUSI
* @Date 2022/10/28 2:00 PM
* @Description
* @Version
**/
public class SimpleGoodsInfoVO implements Serializable {
/**
* 商品id
*/
private String goodsId;
/**
* 商品图片
*/
private String goodsImageUrl;
/**
* 商品货号
*/
private String goodsCode;
/**
* 商品名称
*/
private String goodsName;
/**
* 商品库存
*/
private Integer spuStock;
public String getGoodsId() {
return goodsId;
}
public void setGoodsId(String goodsId) {
this.goodsId = goodsId;
}
public String getGoodsImageUrl() {
return goodsImageUrl;
}
public void setGoodsImageUrl(String goodsImageUrl) {
this.goodsImageUrl = goodsImageUrl;
}
public String getGoodsCode() {
return goodsCode;
}
public void setGoodsCode(String goodsCode) {
this.goodsCode = goodsCode;
}
public String getGoodsName() {
return goodsName;
}
public void setGoodsName(String goodsName) {
this.goodsName = goodsName;
}
public Integer getSpuStock() {
return spuStock;
}
public void setSpuStock(Integer spuStock) {
this.spuStock = spuStock;
}
}
......@@ -112,4 +112,7 @@
<dubbo:reference interface="com.gic.haoban.manage.api.service.role.HaobanRoleApiService" id="haobanRoleApiService"/>
<dubbo:reference interface="com.gic.haoban.manage.api.service.role.HaobanMenuApiService" id="haobanMenuApiService"/>
<dubbo:reference interface="com.gic.content.api.service.ContentColumnApiService" id="contentColumnApiService" timeout="10000" retries="0" check="false"/>
<dubbo:reference interface="com.gic.content.api.service.ContentMaterialApiService" id="contentMaterialApiService" timeout="10000" retries="0" check="false"/>
</beans>
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