瀏覽代碼

超级会员

huangzhiguo 2 年之前
父節點
當前提交
363fb96cad

+ 31 - 0
src/main/java/com/caimei365/manager/controller/caimei/svip/CmSvipHistoryApi.java

@@ -4,6 +4,7 @@ import com.caimei.utils.StringUtils;
 import com.caimei365.manager.entity.PaginationVo;
 import com.caimei365.manager.entity.ResponseJson;
 import com.caimei365.manager.entity.caimei.CmUser;
+import com.caimei365.manager.entity.caimei.product.Product;
 import com.caimei365.manager.entity.caimei.svip.*;
 import com.caimei365.manager.service.caimei.svip.CmSvipHistoryService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -136,6 +137,36 @@ public class CmSvipHistoryApi {
         }
         return historyService.deleteCoupon(id);
     }
+
+    /**
+     * 获取供应商列表
+     * @param cmShop
+     * @param pageNum
+     * @param pageSize
+     * @return
+     */
+    @GetMapping("/findShopList")
+    public ResponseJson<PaginationVo<NewCmShop>> findShopList(NewCmShop cmShop,
+                                                              @RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
+                                                              @RequestParam(value = "pageSize",defaultValue = "20")int pageSize) {
+
+        return historyService.findShopList(cmShop, pageNum, pageSize);
+    }
+
+    /**
+     * 获取商品信息列表
+     * @param product
+     * @param pageNum
+     * @param pageSize
+     * @return
+     */
+    @GetMapping("/findProductDialogList")
+    public ResponseJson<PaginationVo<Product>> findProductList(Product product,
+                                                               @RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
+                                                               @RequestParam(value = "pageSize",defaultValue = "20") int pageSize) {
+        return historyService.findProductDialogList(product, pageNum, pageSize);
+    }
+
     /**
      * 超级会员商品列表
      * @param cmSvipProduct

+ 14 - 0
src/main/java/com/caimei365/manager/dao/svip/CmSvipHistoryDao.java

@@ -2,6 +2,7 @@ package com.caimei365.manager.dao.svip;
 
 import com.caimei365.manager.entity.caimei.CmUser;
 import com.caimei365.manager.entity.caimei.MessageCenter;
+import com.caimei365.manager.entity.caimei.product.Product;
 import com.caimei365.manager.entity.caimei.svip.*;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
@@ -119,6 +120,19 @@ public interface CmSvipHistoryDao {
 
     List<CmCoupon> getCouponListByIds(@Param("bindCoupons") List<String> bindCoupons,@Param("couponType") String couponType,@Param("status") String status);
 
+    /**
+     * 供应商列表
+     * @param newCmShop
+     * @return
+     */
+    List<NewCmShop> findShopList(NewCmShop newCmShop);
+
+    /**
+     * 获取商品列表
+     * @param product
+     * @return
+     */
+    List<Product> findProductImage(Product product);
     /**
      * 超级会员优惠商品
      * @param svipProduct

+ 72 - 0
src/main/java/com/caimei365/manager/entity/caimei/brand/CmBrand.java

@@ -0,0 +1,72 @@
+package com.caimei365.manager.entity.caimei.brand;
+
+
+import lombok.Data;
+
+import java.beans.Transient;
+
+/**
+ * 采美品牌Entity
+ * @author Lijun
+ * @version 2019-04-19
+ */
+@Data
+public class CmBrand {
+
+	/**
+	 * 品牌名字
+	 */
+	private String name;
+	/**
+	 * 添加来源 0:后台添加 ,1:供应商添加
+	 */
+	private String source;
+	/**
+	 * 添加用户ID,后台则为后台用户ID,供应商则为供应商用户ID
+	 */
+	private String userID;
+	/**
+	 * 品牌状态 0:待审核,1:审核通过,2:审核失败
+	 */
+	private String status;
+	/**
+	 * 品牌权重(1-100):默认为50
+	 */
+	private String weights;
+	/**
+	 * 审核备注
+	 */
+	private String auditNote;
+	/**
+	 * 审核备注
+	 */
+	private String auditStatus;
+	/**
+	 * 排序
+	 */
+	private String sort;
+	/**
+	 * 品牌logo
+	 */
+	private String logo;
+	/**
+	 * 品牌授权logo
+	 */
+	private String authLogo;
+	private String description;
+
+	/**
+	 * 供应商名称
+	 */
+	private String shopName;
+	/**
+	 * 供应商手机号
+	 */
+	private String shopMobile;
+
+	/**
+	 * 品牌描述有无标记  1有   0无
+	 */
+	private String descriptionFlag;
+
+}

+ 697 - 0
src/main/java/com/caimei365/manager/entity/caimei/product/Product.java

@@ -0,0 +1,697 @@
+package com.caimei365.manager.entity.caimei.product;
+
+import com.caimei.po.ProductLadderPrice;
+import com.caimei365.manager.entity.caimei.brand.CmBrand;
+import com.caimei365.manager.entity.caimei.svip.CmSku;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * Description
+ *
+ * @author : Charles
+ * @date : 2023/4/12
+ */
+@Data
+public class Product {
+    private String name;
+    /**
+     * 供应商名称
+     */
+    private String shopName;
+    /**
+     * 0暂存中 1待审核 2已上架 3已下架 8 审核不通过 9已冻结
+     */
+    private String validFlag;
+    /**
+     * 0暂存中 1待审核 2已上架 3已下架 8 审核不通过 9已冻结
+     */
+    private String[] validFlagString;
+    /**
+     * 新品上线(001) 优惠商品(010) 常用商品(100),三者同时存在111
+     */
+    private Integer preferredFlag;
+    /**
+     * 是否在crm可以被搜索到 1是 0否
+     */
+    private String displayOnCRMFlag;
+    /**
+     * productIDprice1
+     */
+    private Integer productId;
+    /**
+     * 品牌Id
+     */
+    private Integer brandID;
+    /**
+     * 品牌信息
+     */
+    private CmBrand brand;
+    /**
+     * 一级商品分类
+     */
+    private Integer bigTypeID;
+    /**
+     * 二级商品分类
+     */
+    private Integer smallTypeID;
+    /**
+     * 三级分类Id
+     */
+    private Integer tinyTypeID;
+    /**
+     * selfTypeID
+     */
+    private Integer selfTypeID;
+    /**
+     * 所属供应商Id
+     */
+    private Integer shopId;
+    /**
+     * 搜索关键词
+     */
+    private String searchKey;
+    /**
+     * 商品备注
+     */
+    private String productRemarks;
+    /**
+     * 市场价
+     */
+    private Double normalPrice;
+    /**
+     * 机构价
+     */
+    private Double price;
+    /**
+     * 会员用户价格展示标志 0 否 1 是
+     */
+    private String priceFlag;
+    /**
+     * 游客价格文字
+     */
+    private String beautyActFlag;
+    /**
+     * 启用阶梯价格标识 0否 1是
+     */
+    private String ladderPriceFlag;
+    /**
+     * 库存
+     */
+    private String stock;
+    /**
+     * 是否有sku:1有, 0没有
+     */
+    private String hasSkuFlag;
+    /**
+     * 主图
+     */
+    private String mainImage;
+    /**
+     * sku属性
+     */
+    private String propertiesInfo;
+    /**
+     * 添加时间
+     */
+    private String addTime;
+    /**
+     * 更新时间
+     */
+    private String updateTime;
+    /**
+     * 销量
+     */
+    private String sellNumber;
+    /**
+     * weekSellNumber
+     */
+    private String weekSellNumber;
+    /**
+     * 保存商品状态修改之前的状态(目前只在进行冻结操作时保存)
+     */
+    private String beforeValidFlag;
+    /**
+     * 收藏量
+     */
+    private String favoriteTimes;
+    /**
+     * 评论分数
+     */
+    private String commentScore;
+    /**
+     * 评论次数
+     */
+    private String commentTimes;
+    /**
+     * selfRecommendFlag
+     */
+    private String selfRecommendFlag;
+    /**
+     * sysRecommendFlag
+     */
+    private String sysRecommendFlag;
+    /**
+     * 排序值
+     */
+    private String sortIndex;
+    /**
+     * 供应商主推商品标志 0否 1是
+     */
+    private String featuredFlag;
+    /**
+     * 供应商主推商品排序
+     */
+    private String featuredSortIndex;
+    /**
+     * 商品货号
+     */
+    private String productCode;
+    /**
+     * 包装规格
+     */
+    private String unit;
+    /**
+     * 是否推送到ERP,1已推送, 空或0未推送
+     */
+    private String synToERPFlag;
+    /**
+     * 销售区域:1全部区域, 0指定区域
+     */
+    private String allAreaFlag;
+    /**
+     * 指定的销售区域
+     */
+    private String provinceIDs;
+    /**
+     * 服务起订量
+     */
+    private String serviceNumber;
+    /**
+     * 最大购买量
+     */
+    private String maxBuyNumber;
+    /**
+     * 最小购买量
+     */
+    private String minBuyNumber;
+    /**
+     * 最小包装数量
+     */
+    private String packageCount;
+    /**
+     *  运费:0 买家承担, 1 卖家承担
+     */
+    private String byFlag;
+    /**
+     * 普通商品标志 1是
+     */
+    private String normalProductFlag;
+    /**
+     * wholeSaleProductFlag
+     */
+    private String wholeSaleProductFlag;
+    /**
+     * promotionProductFlag
+     */
+    private String promotionProductFlag;
+    /**
+     * groupBuyProductFlag
+     */
+    private String groupBuyProductFlag;
+    /**
+     * 购买梯度数(编辑数量时加减的数量)
+     */
+    private String step;
+    /**
+     * 是否活动商品:1是,空或0不是
+     */
+    private String actFlag;
+    /**
+     * '商品活动类型:1推荐热销、2推荐上新、3团购促销、4无',
+     */
+    private String actType;
+    /**
+     * 上架时间
+     */
+    private Date onlineTime;
+    /**
+     * 下架时间
+     */
+    private Date downlineTime;
+    /**
+     * 是否包邮 0包邮 1不包邮
+     */
+    private String freePostFlag;
+    /**
+     * 成本价
+     */
+    private String costPrice;
+    private Double SqlCostPrice;
+    /**
+     * 比例成本百分比
+     */
+    private String costProportional;
+    /**
+     * 入数据库字段
+     */
+    private Double sqlCostProportional;
+    /**
+     * 成本价选中标志:1 固定成本 2 比例成
+     */
+    private String costCheckFlag;
+    /**
+     * 精确关键字
+     */
+    private String precisehKey;
+    /**
+     * 是否可以参加赠送(0:无法参加,1:可以参加赠送,2:已参加过赠送)
+     */
+    private String giftFlag;
+    /**
+     * 活动开始时间串
+     */
+    private String beginTimeStr;
+    /**
+     * 活动结束时间串
+     */
+    private String endTimeStr;
+    /**
+     * 活动状态 1:即将开始 2:进行中 3:已结束
+     */
+    private String actStatus;
+    /**
+     * 活动时间
+     */
+    private String actTime;
+    /**
+     * 活动创建时间
+     */
+    private Date actCreateTime;
+    private String actCreateTimeStr;
+    /**
+     * 相关推荐类型 0自动选择; 1手动推荐
+     */
+    private String recommendType;
+    /**
+     * 商品组合Id
+     */
+    private Integer combinationID;
+    /**
+     * 普通机构商品详情1同资质机构商品详情,2用普通机构商品详情
+     */
+    private String productDetail;
+    /**
+     * 该商品分账商户号
+     */
+    private String splitCode;
+    /**
+     * 退货状态 1 能退货  2 不能退货
+     */
+    private Integer returnGoodsStutas;
+    private List<CmSku> skuList;
+    //-----------------  虚拟字段 ----
+    private Integer skuId;
+    /**
+     * 供应商类别,0未审核的二手供应商,1普通,2新品供应商,3二手供应商
+     */
+    private Integer shopType;
+    /**
+     * 是否有自定义分类
+     */
+    private boolean customClass = false;
+    /**
+     * 品牌名称
+     */
+    private String brandName;
+    /**
+     * 其他手填品牌名称
+     */
+    private String otherBrandName;
+    /**
+     * 默认分类 1 是默认分类,,0不是默认分类即自定义分类
+     */
+    private String defaultType;
+    private String defaultTypeName;
+    /**
+     * '活动商品排序'
+     */
+    private String actSort;
+    /**
+     * 搜索推荐商品排序
+     */
+    private String sort;
+    /**
+     * 搜索推荐商品ID
+     */
+    private Integer recommendProductId;
+    /**
+     * 是否已存在小程序商品中 1已存在,其他都为不存在
+     */
+    private String existsFlag;
+    /**
+     * 添加商品字符串
+     */
+    private String itemsList;
+    /**
+     * 分类id
+     */
+    private List<Integer> ids;
+    /**
+     * 商品组合排序
+     */
+    private Integer combinationSort;
+    /**
+     * 是否存在数据库
+     */
+    private boolean storeStatus = false;
+    /**
+     * 活动表价格,活动价
+     */
+    private BigDecimal activityPrice;
+    /**
+     * 商品id","隔开
+     */
+    private String productIds;
+    /**
+     * 搜索关键词List
+     */
+    private List<String> searchKeyList;
+    /**
+     * 商品相关参数List
+     */
+    private List<ProductParameters> productParametersList;
+    /**
+     * 械字号类型,商品类型:0其它类型(默认),1妆字号,2械字号
+     */
+    private String productType;
+    /**
+     * 械字号资质证书图  (基于械字号基础)
+     */
+    private String qualificationImg;
+    /**
+     * 是否含税   0不含税,1含税
+     */
+    private String includedTax;
+    /**
+     * 发票类型(基于是否含税基础)   1增值税票,2普通票, 3不能开票
+     */
+    private String invoiceType;
+    /**
+     * 机构开票税点(基于不含税基础) :增值税默认13%,普通票6%取值范围[0-100]
+     */
+    private String taxPoint;
+    private Double sqlTaxPoint;
+    /**
+     * 供应商开票税点(基于不含税基础) :增值税默认13%,普通票6%取值范围[0-100]
+     */
+    private String supplierTaxPoint;
+    /**
+     * 供应商开票税点(基于不含税基础) :增值税默认13%,普通票6%取值范围[0-100]
+     */
+    private Double sqlSupplierTaxPoint;
+    /**
+     * 赠品数量
+     */
+    private Integer giftNumber;
+    /**
+     * 优惠价格
+     */
+    private BigDecimal reducedPrice;
+    /**
+     * 促销类型
+     */
+    private String promotionType;
+    /**
+     * 删除商品id
+     */
+    private String delProductIds;
+    /**
+     * 删除商品
+     */
+    private List<Integer> delIdList;
+    /**
+     * 是否已售:0和空未出售,1已出售
+     */
+    private String sold;
+    /**
+     * 付款状态:1待支付,2已付款,3无需付款
+     */
+    private String payStatus;
+    /**
+     * 联系人名称
+     */
+    private String contactName;
+    /**
+     * 采购价
+     */
+    private BigDecimal originalPrice;
+    /**
+     * 提交时间
+     */
+    private String submitDate;
+    /**
+     * 审核时间
+     */
+    private String reviewedDate;
+    /**
+     * 到期时间
+     */
+    private String onLineDate;
+    /**
+     * 后台二手商品发布人员名称
+     */
+    private String publisher;
+    /**
+     * 商品属性:1产品,2仪器
+     */
+    private String commodityType;
+    /**
+     * 组织Id
+     */
+    private Integer organizeId;
+    /**
+     * 商品Id字符串格式
+     */
+    private String productIdStr;
+    /**
+     * 仪器培训方式:1 线上培训,2 线下培训
+     */
+    private Integer trainingMethod;
+    /**
+     * 售价是否包含:1售价未包含,2售价已包含
+     */
+    private Integer trainingType;
+    /**
+     * 培训费用(售价未包含)
+     */
+    private BigDecimal trainingFee;
+    /**
+     * 超级会员商品标识:1是,2不是
+     */
+    private Integer svipFlag;
+    /**
+     * 发布者身份 1,个人,2.公司
+     */
+    private Integer publishIdentity;
+    /**
+     * 公司名称
+     */
+    private String companyName;
+    /**
+     * 联系方式主要用与信息推送
+     */
+    private String mobile;
+    /**
+     * 用户id主要用与信息推送
+     */
+    private Integer userId;
+    private String image1;
+    private String image2;
+    private String image3;
+    private String image4;
+    private String image5;
+    /**
+     * 上架费关联id
+     */
+    private String receiptID;
+    /**
+     * 以下参数是搜索回显参数
+     */
+    private String searchName;
+    private String searchShopName;
+    private Integer searchShopID;
+    private String searchCommodityType;
+    private Integer searchBigTypeID;
+    private Integer searchSmallTypeID;
+    private Integer searchTinyTypeID;
+    private String searchValidFlag;
+    private String searchActStatus;
+    private String searchProductType;
+    private Integer searchBrandID;
+    private Integer searchPreferredFlag;
+    /**
+     * 商品的类别:1正常商品(默认),2二手商品
+     */
+    private String searchProductCategory;
+    /**
+     * 商品的类别:1正常商品(默认),2二手商品
+     */
+    private String productCategory;
+    /**
+     * 二手商品分类,1二手仪器,2临期产品,3其他
+     */
+    private String secondHandType;
+    /**
+     * 二手仪器分类的类型,1轻光电、2重光电、3耗材配件(仅适用于二手仪器分类多个用英文逗号分分隔)
+     */
+    private String instrumentType;
+    /**
+     * 编辑标记,1是编辑,其他都不是
+     */
+    private String editFlag;
+    /**
+     * 信息来源 1 网站 2 小程序 3 后台 4 小程序-协销
+     */
+    private String source;
+    /**
+     * 对接人名称
+     */
+    private String dockingPeopleName;
+    /**
+     * 呵呵商城楼层id
+     */
+    private Integer floorId;
+    private Integer insertStatus;
+    /**
+     * 是否关联标签
+     */
+    private Integer isRelevance;
+    /**
+     * 供应商关联标签
+     */
+    private String keywords;
+
+    /**
+     * 商品别名
+     */
+    private String aliasName;
+    /**
+     * (3:高可见度,2:中可见度,1:低可见度)
+     */
+    private String visibility;
+
+    /**
+     * 商品详情可见度:0所有人不可见,1所有人可见,2所有机构可见,3仅会员机构可见,4仅医美机构可见
+     */
+    private String commodityDetailsFlag;
+
+    /**
+     * 商品标签 用逗号隔开
+     */
+    private String tags;
+    /**
+     * 械字号   0或Null:不是,1:一类,2:二类,3:三类
+     */
+    private String machineType;
+    /**
+     * 资质机构商品详情信息
+     */
+    private String detailInfo;
+    /**
+     * 商品说明
+     */
+    private String productDescribe;
+    /**
+     * 普通机构商品详情
+     */
+    private String commonDetailInfo;
+    /**
+     * 服务详情
+     */
+    private String serviceInfo;
+
+    /**
+     * 订购方案
+     */
+    private String orderInfo;
+    /**
+     * 阶梯价格列表
+     */
+    private List<ProductLadderPrice> ladderPriceList;
+
+    /**
+     * 搜索类型:1采美商品,2呵呵商城商品
+     */
+    private Integer searchType;
+
+    /*
+     *发布类型1.二手预成交商品 2.二手估价商品
+     */
+    private Integer announType;
+
+    /**
+     * 新品商品状态  1.已审核  2.未参与   3.审核未通过
+     */
+    private Integer newvalidFlag;
+    /**
+     * 新品展示状态
+     */
+    private Integer showFlag;
+    /**
+     * 展示结束时间
+     */
+    private String showTime;
+    /**
+     * 展示开始时间
+     */
+    private String newshowTime;
+
+    //1.重点推荐
+    private Integer recommend;
+
+
+    /**
+     * 新品参与状态1.参与 2.未参与
+     */
+    private Integer newProductType;
+
+    /**
+     * 证书编号
+     *
+     * @return
+     */
+    public String qualificationNo;
+
+    /**
+     * 产品名称
+     */
+    public String productName;
+    /*
+     *证书有效日期
+     */
+    public String qualificationTime;
+
+    /**
+     * 证书有效链接
+     */
+    public String qualificationLink;
+    /**
+     * 关联标签库Ids
+     */
+    private String labelIds;
+    /**
+     * 关联标签库字符串
+     */
+    private String relatedLabels;
+
+    //子订单ID
+    private Integer shopOrderID;
+    //订单商品ID
+    private Integer orderProductID;
+    //税率
+    private Double taxRate;
+}

+ 25 - 0
src/main/java/com/caimei365/manager/entity/caimei/product/ProductParameters.java

@@ -0,0 +1,25 @@
+package com.caimei365.manager.entity.caimei.product;
+
+
+import lombok.Data;
+
+@Data
+public class ProductParameters {
+    /**
+     * 参数名称
+     */
+    private String paramsName;
+    /**
+     * 参数内容
+     */
+    private String paramsContent;
+    /**
+     * 删除标记 0否 其余是
+     */
+    private String delFlag;
+    /**
+     * 商品ID
+     */
+    private Integer productId;
+
+}

+ 2 - 2
src/main/java/com/caimei365/manager/entity/caimei/svip/NewCmShop.java

@@ -21,11 +21,11 @@ public class NewCmShop {
     /**
      * shopID
      */
-    private Integer shopID;
+    private Integer shopId;
     /**
      * 对应的userId
      */
-    private Integer userID;
+    private Integer userId;
     /**
      * 名称
      */

+ 17 - 0
src/main/java/com/caimei365/manager/service/caimei/svip/CmSvipHistoryService.java

@@ -3,6 +3,7 @@ package com.caimei365.manager.service.caimei.svip;
 import com.caimei365.manager.entity.PaginationVo;
 import com.caimei365.manager.entity.ResponseJson;
 import com.caimei365.manager.entity.caimei.CmUser;
+import com.caimei365.manager.entity.caimei.product.Product;
 import com.caimei365.manager.entity.caimei.svip.*;
 
 /**
@@ -77,6 +78,22 @@ public interface CmSvipHistoryService {
      */
     ResponseJson deleteCoupon(Integer id);
 
+    /**
+     * 获取供应商列表
+     * @param cmShop
+     * @return
+     */
+    ResponseJson<PaginationVo<NewCmShop>> findShopList(NewCmShop cmShop, int pageNum, int pageSize);
+
+    /**
+     * 获取商品列表
+     * @param product
+     * @param pageNum
+     * @param pageSize
+     * @return
+     */
+    ResponseJson<PaginationVo<Product>> findProductDialogList(Product product, int pageNum, int pageSize);
+
     /**
      *超级会员优惠商品
      * @param svipProduct

+ 44 - 0
src/main/java/com/caimei365/manager/service/caimei/svip/impl/CmSvipHistoryServiceImpl.java

@@ -8,6 +8,7 @@ import com.caimei365.manager.entity.PaginationVo;
 import com.caimei365.manager.entity.ResponseJson;
 import com.caimei365.manager.entity.caimei.CmUser;
 import com.caimei365.manager.entity.caimei.MessageCenter;
+import com.caimei365.manager.entity.caimei.product.Product;
 import com.caimei365.manager.entity.caimei.svip.*;
 import com.caimei365.manager.service.SendSmsService;
 import com.caimei365.manager.service.caimei.svip.CmSvipHistoryService;
@@ -301,6 +302,49 @@ public class CmSvipHistoryServiceImpl implements CmSvipHistoryService {
         return ResponseJson.success();
     }
 
+    /**
+     * 获取供应商列表
+     *
+     * @param cmShop
+     * @param pageNum
+     * @param pageSize
+     * @return
+     */
+    @Override
+    public ResponseJson<PaginationVo<NewCmShop>> findShopList(NewCmShop cmShop, int pageNum, int pageSize) {
+        PageHelper.startPage(pageNum, pageSize);
+        List<NewCmShop> shopList = historyDao.findShopList(cmShop);
+        PaginationVo<NewCmShop> page = new PaginationVo<>(shopList);
+        return ResponseJson.success(page);
+    }
+
+    /**
+     * 获取商品列表
+     *
+     * @param product
+     * @param pageNum
+     * @param pageSize
+     * @return
+     */
+    @Override
+    public ResponseJson<PaginationVo<Product>> findProductDialogList(Product product, int pageNum, int pageSize) {
+        PageHelper.startPage(pageNum, pageSize);
+        product.setValidFlag("2");
+        product.setProductCategory("1");
+        List<Product> productList = historyDao.findProductImage(product);
+        if (productList != null && productList.size() > 0) {
+            productList.forEach(item -> {
+                item.setMainImage(AppUtils.getImageURL("product", item.getMainImage(), 0, "https://www.caimei365.com/"));
+                item.setProductIds(product.getProductIds());
+                if (org.apache.commons.lang3.StringUtils.isNotBlank(product.getProductIds()) && product.getProductIds().contains(item.getProductId().toString())) {
+                    item.setStoreStatus(true);
+                }
+            });
+        }
+        PaginationVo<Product> page = new PaginationVo<>(productList);
+        return ResponseJson.success(page);
+    }
+
     /**
      * 超级会员优惠商品
      *

+ 146 - 1
src/main/resources/mapper/svip/CmSvipHistoryDao.xml

@@ -81,7 +81,89 @@
 		a.chargeSupport AS "chargeSupport",
 		d.name AS "province",c.name AS "city",b.name AS "town"
     </sql>
-
+    <sql id="productColumns">
+        a.productID AS "id",
+		a.productID AS "productId",
+		a.brandID AS "brandID",
+		a.bigTypeID AS "bigTypeID",
+		ifnull(a.smallTypeID,-1)  AS "smallTypeID",
+		ifnull(a.tinyTypeID,-1) AS "tinyTypeID",
+		a.selfTypeID AS "selfTypeID",
+		a.preferredFlag AS "preferredFlag",
+		a.shopID AS "shopId",
+		a.name AS "name",
+		a.searchKey AS "searchKey",
+		a.combinationID AS "combinationID",
+		a.productRemarks AS "productRemarks",
+		a.priceFlag AS "priceFlag",
+		a.beautyActFlag AS "beautyActFlag",
+		a.hasSkuFlag AS "hasSkuFlag",
+		a.mainImage AS "mainImage",
+		a.propertiesInfo AS "propertiesInfo",
+		a.addTime AS "addTime",
+		a.updateTime AS "updateTime",
+		a.sellNumber AS "sellNumber",
+		a.weekSellNumber AS "weekSellNumber",
+		a.beforeValidFlag AS "beforeValidFlag",
+		a.validFlag AS "validFlag",
+		a.favoriteTimes AS "favoriteTimes",
+		a.commentScore AS "commentScore",
+		a.commentTimes AS "commentTimes",
+		a.selfRecommendFlag AS "selfRecommendFlag",
+		a.sysRecommendFlag AS "sysRecommendFlag",
+		a.sortIndex AS "sortIndex",
+		a.featuredFlag AS "featuredFlag",
+		a.featuredSortIndex AS "featuredSortIndex",
+		a.productCode AS "productCode",
+		a.synToERPFlag AS "synToERPFlag",
+		a.allAreaFlag AS "allAreaFlag",
+		a.provinceIDs AS "provinceIDs",
+		a.serviceNumber AS "serviceNumber",
+		a.packageCount AS "packageCount",
+		a.byFlag AS "byFlag",
+		a.normalProductFlag AS "normalProductFlag",
+		a.wholeSaleProductFlag AS "wholeSaleProductFlag",
+		a.promotionProductFlag AS "promotionProductFlag",
+		a.groupBuyProductFlag AS "groupBuyProductFlag",
+		a.step AS "step",
+		a.actStatus AS "actStatus",
+		a.actFlag AS "actFlag",
+		a.actType AS "actType",
+		a.onlineTime AS "onlineTime",
+		a.downlineTime AS "downlineTime",
+		a.freePostFlag AS "freePostFlag",
+		a.precisehKey AS "precisehKey",
+		s.name AS "shopName",
+		a.actSort AS "actSort",
+		a.recommendType AS "recommendType",
+		a.aliasName as "aliasName",
+		a.visibility as "visibility",
+# 		a.commodityDetailsFlag as "commodityDetailsFlag",
+		a.productType as "productType",
+		a.qualificationImg as "qualificationImg",
+		a.includedTax as "includedTax",
+		a.invoiceType as "invoiceType",
+		a.taxPoint as "taxPoint",
+		a.tags as "tags",
+		a.machineType as "machineType",
+		a.trainingMethod as "trainingMethod",
+		a.trainingType as "trainingType",
+		a.trainingFee as "trainingFee",
+		a.commodityType as "commodityType",
+		a.splitCode,
+        a.announType,
+        ifnull(a.newvalidFlag,0),
+         ifnull(a.newProductType,2),
+        a.showFlag,
+        a.showTime,
+        a.newshowTime,
+        a.recommend,
+		a.qualificationNo,
+		a.productName,
+		a.qualificationTime,
+		a.qualificationLink,
+        a.labelIds
+    </sql>
     <sql id="newCmShopJoins">
         LEFT JOIN user u ON u.userID = a.userID
 		LEFT JOIN town b ON b.townID=a.townID
@@ -459,6 +541,69 @@
         GROUP BY a.id
         ORDER BY a.createDate DESC
     </select>
+    <select id="findShopList" resultType="com.caimei365.manager.entity.caimei.svip.NewCmShop">
+        SELECT
+        s.shopId,
+        s.userId,
+        IFNULL(s.name, u.name) AS name,
+        IFNULL(s.sname, u.realName) AS sname,
+        IFNULL(s.contractMobile, u.bindMobile) AS contractMobile,
+        IFNULL(s.linkMan, u.userName) AS linkMan
+        FROM
+        shop s
+        LEFT JOIN USER u ON u.`shopID` = s.`shopID`
+        WHERE
+        s.status = 90
+        <if test="shopId != null">
+            AND s.shopID = #{shopId}
+        </if>
+        <if test="name != null and name != ''">
+            AND (s.name LIKE CONCAT('%',#{name},'%') OR	u.name LIKE CONCAT('%',#{name},'%'))
+        </if>
+        <if test="sname != null and sname != ''">
+            AND (s.sname LIKE CONCAT('%',#{sname},'%') OR u.realName LIKE CONCAT('%',#{sname},'%'))
+        </if>
+        ORDER BY
+        s.shopID
+    </select>
+    <select id="findProductImage" resultType="com.caimei365.manager.entity.caimei.product.Product">
+        SELECT
+        <include refid="productColumns"/>
+        FROM product a
+        LEFT JOIN shop s on s.shopID = a.shopID
+        left join product p on a.productID = p.productId
+        <where>
+            <if test="productId !=null">
+                AND a.productID=#{productId}
+            </if>
+            <if test="shopId != null and shopId != ''">
+                AND a.shopID = #{shopId}
+            </if>
+            <if test="name != null and name != ''">
+                AND a.name LIKE concat('%',#{name},'%')
+            </if>
+            <if test="shopName != null and shopName != ''">
+                AND s.name LIKE concat('%',#{shopName},'%')
+            </if>
+            <if test="validFlag !=null and validFlag !=''">
+                AND a.validFlag=#{validFlag}
+            </if>
+            <if test="productCategory !=null and productCategory !=''">
+                AND a.productCategory=#{productCategory}
+            </if>
+            <if test="ids != null and ids.size() > 0">
+                AND a.productID NOT IN
+                <foreach collection="ids" close=")" separator="," open="(" item="id">
+                    #{id}
+                </foreach>
+            </if>
+        </where>
+        <choose>
+            <otherwise>
+                order by a.productID asc
+            </otherwise>
+        </choose>
+    </select>
     <select id="findProductList" resultType="com.caimei365.manager.entity.caimei.svip.CmSvipProduct">
         SELECT
         a.id AS "id",