PLF 5 tahun lalu
induk
melakukan
8e89729308

+ 51 - 0
src/main/java/com/caimei/controller/products/DetailsController.java

@@ -0,0 +1,51 @@
+package com.caimei.controller.products;
+
+import com.caimei.entity.CmMallCart;
+import com.caimei.entity.CmOrganizeProducts;
+import com.caimei.entity.WxJsonModel;
+import com.caimei.service.products.DetailsService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+/**
+ * 详情页面
+ */
+@Controller
+@RequestMapping("/details")
+public class DetailsController {
+    @Autowired
+    private DetailsService detailsService;
+
+    /**
+     * 商品详情页
+     *
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping("/product")
+    public WxJsonModel productDetails(Integer id, Integer userID) {
+        CmOrganizeProducts organizeProducts = detailsService.productDetails(id, userID);
+        return WxJsonModel.newInstance().success(organizeProducts);
+    }
+
+    /**
+     * 加入购物车
+     *
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping("/addCart")
+    public WxJsonModel addCart(@RequestBody CmMallCart cmMallCart) {
+        WxJsonModel model = WxJsonModel.newInstance();
+        if (cmMallCart == null) return model.error("参数异常");
+        try {
+            detailsService.saveCart(cmMallCart);
+        } catch (Exception e) {
+            return model.error("添加失败");
+        }
+        return model.success("加入购物车成功", "");
+    }
+}

+ 47 - 6
src/main/java/com/caimei/controller/products/HomePageController.java

@@ -1,7 +1,6 @@
 package com.caimei.controller.products;
 
-import com.caimei.entity.CmOrganizeProducts;
-import com.caimei.entity.Page;
+import com.caimei.entity.*;
 import com.caimei.service.products.HomePageService;
 import com.github.pagehelper.PageHelper;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -29,9 +28,9 @@ public class HomePageController {
      */
     @ResponseBody
     @RequestMapping("/information")
-    public Map<String, Object> information(Integer organizeID, Integer userID) {
+    public WxJsonModel information(Integer organizeID, Integer userID) {
         Map<String, Object> map = homePageService.information(organizeID, userID);
-        return map;
+        return WxJsonModel.newInstance().success(map);
     }
 
     /**
@@ -41,14 +40,56 @@ public class HomePageController {
      */
     @ResponseBody
     @RequestMapping("/classify")
-    public Page<CmOrganizeProducts> classify(CmOrganizeProducts organizeProducts, Integer index, Integer pageSize) {
+    public WxJsonModel classify(CmOrganizeProducts organizeProducts, Integer index, Integer pageSize) {
         if (index == null) index = 1;
         if (pageSize == null) pageSize = 10;
         PageHelper.startPage(index, pageSize);
         List<CmOrganizeProducts> list = homePageService.classify(organizeProducts);
         Page<CmOrganizeProducts> page = new Page<>(list);
-        return page;
+        return WxJsonModel.newInstance().success(page);
     }
 
+    /**
+     * 优选商品,惊喜特惠,常用商品
+     *
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping("/preferred")
+    public WxJsonModel preferred(CmOrganizeProducts organizeProducts, Integer index, Integer pageSize) {
+        if (index == null) index = 1;
+        if (pageSize == null) pageSize = 10;
+        PageHelper.startPage(index, pageSize);
+        List<CmOrganizeProducts> list = homePageService.preferred(organizeProducts);
+        Page<CmOrganizeProducts> page = new Page<>(list);
+        return WxJsonModel.newInstance().success(page);
+    }
+
+    /**
+     * 医美机构正品联盟
+     *
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping("/member")
+    public WxJsonModel member(Integer index, Integer pageSize) {
+        if (index == null) index = 1;
+        if (pageSize == null) pageSize = 10;
+        PageHelper.startPage(index, pageSize);
+        List<hospital> member = homePageService.member();
+        Page<hospital> page = new Page<>(member);
+        return WxJsonModel.newInstance().success(page);
+    }
 
+    /**
+     * 售后无忧,购物须知
+     *
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping("/afterSale")
+    public WxJsonModel afterSale(Integer organizeID) {
+        CmMallOrganize organize = homePageService.afterSale(organizeID);
+        return WxJsonModel.newInstance().success(organize);
+    }
 }

+ 61 - 0
src/main/java/com/caimei/entity/CmMallCart.java

@@ -0,0 +1,61 @@
+package com.caimei.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class CmMallCart implements Serializable {
+    private Integer id;
+    private Integer productID;      //关联cm_mall_organize_products的ID
+    private Integer userID;     //用户ID(目前小程序用户和采美用户都在user表中)
+    private Integer productCount;   //商品数量
+    private Date addTime;       //添加时间
+    private String delFlag;        //是否有效状态 0 有效 其它无效
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getProductID() {
+        return productID;
+    }
+
+    public void setProductID(Integer productID) {
+        this.productID = productID;
+    }
+
+    public Integer getUserID() {
+        return userID;
+    }
+
+    public void setUserID(Integer userID) {
+        this.userID = userID;
+    }
+
+    public Integer getProductCount() {
+        return productCount;
+    }
+
+    public void setProductCount(Integer productCount) {
+        this.productCount = productCount;
+    }
+
+    public Date getAddTime() {
+        return addTime;
+    }
+
+    public void setAddTime(Date addTime) {
+        this.addTime = addTime;
+    }
+
+    public String getDelFlag() {
+        return delFlag;
+    }
+
+    public void setDelFlag(String delFlag) {
+        this.delFlag = delFlag;
+    }
+}

+ 105 - 0
src/main/java/com/caimei/entity/CmMallOrganize.java

@@ -0,0 +1,105 @@
+package com.caimei.entity;
+
+import java.io.Serializable;
+
+public class CmMallOrganize implements Serializable {
+    private Integer id;
+    private String organizeName;        //组织名称
+    private String organizeLinkName;    //组织联系人
+    private String mobile;          //手机号码
+    private String contactNumber;   //联系我们,手机或者座机号码
+    private String introduction;    //关于我们:组织介绍信息
+    private String afterSale;       //售后无忧
+    private String shoppingNotes;   //购物须知
+    private String updateTime;      //更新时间
+    private String addTime;         //添加时间
+    private String delFlag;     //0 有效 其它无效
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public String getOrganizeName() {
+        return organizeName;
+    }
+
+    public void setOrganizeName(String organizeName) {
+        this.organizeName = organizeName;
+    }
+
+    public String getOrganizeLinkName() {
+        return organizeLinkName;
+    }
+
+    public void setOrganizeLinkName(String organizeLinkName) {
+        this.organizeLinkName = organizeLinkName;
+    }
+
+    public String getMobile() {
+        return mobile;
+    }
+
+    public void setMobile(String mobile) {
+        this.mobile = mobile;
+    }
+
+    public String getContactNumber() {
+        return contactNumber;
+    }
+
+    public void setContactNumber(String contactNumber) {
+        this.contactNumber = contactNumber;
+    }
+
+    public String getIntroduction() {
+        return introduction;
+    }
+
+    public void setIntroduction(String introduction) {
+        this.introduction = introduction;
+    }
+
+    public String getAfterSale() {
+        return afterSale;
+    }
+
+    public void setAfterSale(String afterSale) {
+        this.afterSale = afterSale;
+    }
+
+    public String getShoppingNotes() {
+        return shoppingNotes;
+    }
+
+    public void setShoppingNotes(String shoppingNotes) {
+        this.shoppingNotes = shoppingNotes;
+    }
+
+    public String getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(String updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getAddTime() {
+        return addTime;
+    }
+
+    public void setAddTime(String addTime) {
+        this.addTime = addTime;
+    }
+
+    public String getDelFlag() {
+        return delFlag;
+    }
+
+    public void setDelFlag(String delFlag) {
+        this.delFlag = delFlag;
+    }
+}

+ 46 - 0
src/main/java/com/caimei/entity/CmOrganizeProducts.java

@@ -1,6 +1,7 @@
 package com.caimei.entity;
 
 import java.io.Serializable;
+import java.util.List;
 
 public class CmOrganizeProducts implements Serializable {
     private Integer id;
@@ -22,6 +23,11 @@ public class CmOrganizeProducts implements Serializable {
     private String mainImage;   //主图
     private String name;        //名称
     private String unit;        //包装规格
+    private Integer cartCount;   //购物车数量
+    private Product product;    //采美商品表
+    private List<ProductImage> ProductImage;  //商品图片
+    private ProductDetailInfo productDetailInfo; //商品详情
+    private Shop shop;      //供应商信息
 
     public Integer getId() {
         return id;
@@ -174,4 +180,44 @@ public class CmOrganizeProducts implements Serializable {
     public void setUnit(String unit) {
         this.unit = unit;
     }
+
+    public Product getProduct() {
+        return product;
+    }
+
+    public void setProduct(Product product) {
+        this.product = product;
+    }
+
+    public List<com.caimei.entity.ProductImage> getProductImage() {
+        return ProductImage;
+    }
+
+    public void setProductImage(List<com.caimei.entity.ProductImage> productImage) {
+        ProductImage = productImage;
+    }
+
+    public ProductDetailInfo getProductDetailInfo() {
+        return productDetailInfo;
+    }
+
+    public void setProductDetailInfo(ProductDetailInfo productDetailInfo) {
+        this.productDetailInfo = productDetailInfo;
+    }
+
+    public Shop getShop() {
+        return shop;
+    }
+
+    public void setShop(Shop shop) {
+        this.shop = shop;
+    }
+
+    public Integer getCartCount() {
+        return cartCount;
+    }
+
+    public void setCartCount(Integer cartCount) {
+        this.cartCount = cartCount;
+    }
 }

+ 941 - 0
src/main/java/com/caimei/entity/Product.java

@@ -0,0 +1,941 @@
+package com.caimei.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class Product implements Serializable {
+    private Integer productID; //
+    private Integer brandID; //品牌Id(使用cm_brand品牌表brand供应商品牌已废弃)
+    private String brandName; //品牌名称
+    private Integer tinyTypeID; //三级分类Id
+    private Integer selfTypeID; //
+    private Integer shopID; //所属供应商Id
+    private String name; //名称
+    private String aliasName; //商品别名
+    private String productTitle;//等同于name用作于搜索改变商品名字样式时使用
+    private String searchKey; //搜索关键词
+    private String precisehKey; //精准搜索关键词
+    //private Float normalPrice; //市场价
+    //private Float price; //
+    //private Float highestUserLevelPrice; //最低价
+    //private Float lowestUserLevelPrice; //最高价
+    private Integer lowestUserLevelID; //最高价会员等级
+    private Float price0; //普通用户价格
+    private String price0Grade; //等级
+    private String price0Text; //普通显示文本
+    private String price0TextFlag;//0否 	1 是
+    private Float price1; //普通会员价
+    private String price1Grade; //等级
+    private String price1Text; //会员显示文本
+    private String price1TextFlag; //0否 1 是
+    private Float price8; //游客价
+    private String price8Grade; //等级
+    private String price8Text; //游客文本
+    private String price8TextFlag; //0否 1 是
+    private Float fee; //运费
+    private Integer stock; //库存
+    private String hasSkuFlag; //是否有sku:1有, 0没有
+    private String mainImage; //主图
+    private String propertiesInfo; //sku属性
+    private String addTime; //添加时间
+    private String updateTime; //添加时间
+    private Integer sellNumber = 0; //销量
+    private Integer weekSellNumber; //
+    private String beforeValidFlag; //
+    //private String validFlag; //商品状态,见表c_productstatus或枚举ProductStatus,0逻辑删除 1待审核 2已上架 3已下架 8审核未通过 9已冻结
+    private Integer favoriteTimes; //收藏量
+    private Float commentScore = 0f; //评论分数
+    private Integer commentTimes = 0; //评论次数
+    private String selfRecommendFlag = "0"; //
+    private String sysRecommendFlag = "0"; //
+    private Integer sortIndex; //排序值
+    private String productCode; //商品货号(商品编码)
+    private Float rate1; //
+    private Float rate2; //
+    private String unit; //包装规格
+    private String synToERPFlag; //是否推送到ERP,1已推送, 空或0未推送
+    private String allAreaFlag; //销售区域:1全部区域, 0指定区域
+    private String provinceIDs; //指定的销售区域
+    //private String serviceNumber; //服务起订量
+    //private Integer maxBuyNumber; //最大购买量
+    private String virtualFlag; //
+    //private Integer minBuyNumber; //最小购买量
+    //private Integer packageCount; //最小包装数量
+    private String byFlag; //运费:0买家承担, 1卖家承担
+    private Integer normalProductFlag; //普通商品标志 1是
+    private Integer wholeSaleProductFlag; //
+    private Integer promotionProductFlag; //
+    private Integer groupBuyProductFlag; //
+    private Integer step; //购买梯度数(编辑数量时加减的数量)
+    private String speCommisionFlag; //
+    private Float speCommision; //
+    private String videourl; //
+    private String props; //
+    private String providers; //
+    private Float serviceCommissionRatio; //
+    private Float reCommissionRatio; //
+    private String pushToERPName; // 推送到ERP的原商品名称 name字段的名称可能做修改已适应平台的搜索
+    private Integer prodBeans; // 商品具有的豆值
+    private Integer useBeansFlag; // 该商品是否可以使用采美豆购买
+    private Integer privateFlag; // 0开放市场 1私有市场
+    private String invisibleServiceProviderIDs; //
+    //private Float actPrice0; //普通用户活动价格
+    //private Float actPrice1; //普通会员活动价
+    private Date beginTime; //活动开始时间
+    private Date endTime; //活动结束时间
+    private String endTimeStr;	//活动结束时间字符串
+    private Integer actFlag; //是否活动商品:1是,空或0不是
+    private Integer actType;	// 活动类型 1推荐热销、2推荐上新、3团购促销  由于原来设计以及固定死了
+    //private Date onlineTime; // 上架时间
+    //private Date downlineTime; // 下架时间
+    private Integer shopIndexModuleID; // 商品所属供应商主页模块ID
+    private Integer displayOnCRMFlag;
+    private String moduleName; // 商品所属供应商主页模块名称
+    private String priceInfo;//价格信息(价格、文案,价格等级)
+    private String priceType;//价格类型(0价格、1文案,2价格等级)
+    private String category;	// 分类
+    private String freePostFlag = "0";//是否包邮 0包邮 1不包邮
+    //private Float costPrice;//固定成本价
+    //private Float costProportional;//比例成本价
+    //private String costCheckFlag; //成本价计算选中标志
+    private String company;
+    private String actionStr;
+    private String skill;
+    private String part;
+    private String featuredFlag;//供应商主推商品标志 0否 1是
+    private Integer featuredSortIndex;//供应商主推商品排序
+    private String priceStr; // 价格展示信息
+    private Integer bigTypeId; // 一级分类Id
+    private String cmbeanFlag;//是否采美豆专区商品(0 否,1 是
+    private Integer cmbeanPrice;//采美豆专区价格(采美豆)
+    private Integer cmbeanSort;//采美豆专区排序(值越大越前)
+    private String shopName;//商品供应商名称
+    private boolean isVisitor;//是否是游客(未注册以及从未下过单的普通用户)
+    private String ladderPriceFlag; //启用阶梯价格标识 0否 1是
+    private Integer minLadderBuyNumber; //最小阶梯价格购买量
+    private String giftFlag;//是否可以参加赠送(0:无法参加,1:可以参加赠送,2:已参加过赠送)
+    private Integer shopStatus;//供应商状态
+    private String visibility; //3:高可见度,2:中可见度,1:低可见度
+    private String surplusTime;//活动剩余时间
+    private String actSort;//活动排序
+    private String[] tagsList;//标签列表
+    private String recommendType;	//相关推荐类型 0自动选择; 1手动推荐
+    private String tags;// 商品标签用逗号隔开
+    private Boolean showfooter;//是否可以购买
+
+    public Integer getProductID() {
+        return productID;
+    }
+
+    public void setProductID(Integer productID) {
+        this.productID = productID;
+    }
+
+    public Integer getBrandID() {
+        return brandID;
+    }
+
+    public void setBrandID(Integer brandID) {
+        this.brandID = brandID;
+    }
+
+    public String getBrandName() {
+        return brandName;
+    }
+
+    public void setBrandName(String brandName) {
+        this.brandName = brandName;
+    }
+
+    public Integer getTinyTypeID() {
+        return tinyTypeID;
+    }
+
+    public void setTinyTypeID(Integer tinyTypeID) {
+        this.tinyTypeID = tinyTypeID;
+    }
+
+    public Integer getSelfTypeID() {
+        return selfTypeID;
+    }
+
+    public void setSelfTypeID(Integer selfTypeID) {
+        this.selfTypeID = selfTypeID;
+    }
+
+    public Integer getShopID() {
+        return shopID;
+    }
+
+    public void setShopID(Integer shopID) {
+        this.shopID = shopID;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getAliasName() {
+        return aliasName;
+    }
+
+    public void setAliasName(String aliasName) {
+        this.aliasName = aliasName;
+    }
+
+    public String getProductTitle() {
+        return productTitle;
+    }
+
+    public void setProductTitle(String productTitle) {
+        this.productTitle = productTitle;
+    }
+
+    public String getSearchKey() {
+        return searchKey;
+    }
+
+    public void setSearchKey(String searchKey) {
+        this.searchKey = searchKey;
+    }
+
+    public String getPrecisehKey() {
+        return precisehKey;
+    }
+
+    public void setPrecisehKey(String precisehKey) {
+        this.precisehKey = precisehKey;
+    }
+
+    public Integer getLowestUserLevelID() {
+        return lowestUserLevelID;
+    }
+
+    public void setLowestUserLevelID(Integer lowestUserLevelID) {
+        this.lowestUserLevelID = lowestUserLevelID;
+    }
+
+    public Float getPrice0() {
+        return price0;
+    }
+
+    public void setPrice0(Float price0) {
+        this.price0 = price0;
+    }
+
+    public String getPrice0Grade() {
+        return price0Grade;
+    }
+
+    public void setPrice0Grade(String price0Grade) {
+        this.price0Grade = price0Grade;
+    }
+
+    public String getPrice0Text() {
+        return price0Text;
+    }
+
+    public void setPrice0Text(String price0Text) {
+        this.price0Text = price0Text;
+    }
+
+    public String getPrice0TextFlag() {
+        return price0TextFlag;
+    }
+
+    public void setPrice0TextFlag(String price0TextFlag) {
+        this.price0TextFlag = price0TextFlag;
+    }
+
+    public Float getPrice1() {
+        return price1;
+    }
+
+    public void setPrice1(Float price1) {
+        this.price1 = price1;
+    }
+
+    public String getPrice1Grade() {
+        return price1Grade;
+    }
+
+    public void setPrice1Grade(String price1Grade) {
+        this.price1Grade = price1Grade;
+    }
+
+    public String getPrice1Text() {
+        return price1Text;
+    }
+
+    public void setPrice1Text(String price1Text) {
+        this.price1Text = price1Text;
+    }
+
+    public String getPrice1TextFlag() {
+        return price1TextFlag;
+    }
+
+    public void setPrice1TextFlag(String price1TextFlag) {
+        this.price1TextFlag = price1TextFlag;
+    }
+
+    public Float getPrice8() {
+        return price8;
+    }
+
+    public void setPrice8(Float price8) {
+        this.price8 = price8;
+    }
+
+    public String getPrice8Grade() {
+        return price8Grade;
+    }
+
+    public void setPrice8Grade(String price8Grade) {
+        this.price8Grade = price8Grade;
+    }
+
+    public String getPrice8Text() {
+        return price8Text;
+    }
+
+    public void setPrice8Text(String price8Text) {
+        this.price8Text = price8Text;
+    }
+
+    public String getPrice8TextFlag() {
+        return price8TextFlag;
+    }
+
+    public void setPrice8TextFlag(String price8TextFlag) {
+        this.price8TextFlag = price8TextFlag;
+    }
+
+    public Float getFee() {
+        return fee;
+    }
+
+    public void setFee(Float fee) {
+        this.fee = fee;
+    }
+
+    public Integer getStock() {
+        return stock;
+    }
+
+    public void setStock(Integer stock) {
+        this.stock = stock;
+    }
+
+    public String getHasSkuFlag() {
+        return hasSkuFlag;
+    }
+
+    public void setHasSkuFlag(String hasSkuFlag) {
+        this.hasSkuFlag = hasSkuFlag;
+    }
+
+    public String getMainImage() {
+        return mainImage;
+    }
+
+    public void setMainImage(String mainImage) {
+        this.mainImage = mainImage;
+    }
+
+    public String getPropertiesInfo() {
+        return propertiesInfo;
+    }
+
+    public void setPropertiesInfo(String propertiesInfo) {
+        this.propertiesInfo = propertiesInfo;
+    }
+
+    public String getAddTime() {
+        return addTime;
+    }
+
+    public void setAddTime(String addTime) {
+        this.addTime = addTime;
+    }
+
+    public String getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(String updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public Integer getSellNumber() {
+        return sellNumber;
+    }
+
+    public void setSellNumber(Integer sellNumber) {
+        this.sellNumber = sellNumber;
+    }
+
+    public Integer getWeekSellNumber() {
+        return weekSellNumber;
+    }
+
+    public void setWeekSellNumber(Integer weekSellNumber) {
+        this.weekSellNumber = weekSellNumber;
+    }
+
+    public String getBeforeValidFlag() {
+        return beforeValidFlag;
+    }
+
+    public void setBeforeValidFlag(String beforeValidFlag) {
+        this.beforeValidFlag = beforeValidFlag;
+    }
+
+    public Integer getFavoriteTimes() {
+        return favoriteTimes;
+    }
+
+    public void setFavoriteTimes(Integer favoriteTimes) {
+        this.favoriteTimes = favoriteTimes;
+    }
+
+    public Float getCommentScore() {
+        return commentScore;
+    }
+
+    public void setCommentScore(Float commentScore) {
+        this.commentScore = commentScore;
+    }
+
+    public Integer getCommentTimes() {
+        return commentTimes;
+    }
+
+    public void setCommentTimes(Integer commentTimes) {
+        this.commentTimes = commentTimes;
+    }
+
+    public String getSelfRecommendFlag() {
+        return selfRecommendFlag;
+    }
+
+    public void setSelfRecommendFlag(String selfRecommendFlag) {
+        this.selfRecommendFlag = selfRecommendFlag;
+    }
+
+    public String getSysRecommendFlag() {
+        return sysRecommendFlag;
+    }
+
+    public void setSysRecommendFlag(String sysRecommendFlag) {
+        this.sysRecommendFlag = sysRecommendFlag;
+    }
+
+    public Integer getSortIndex() {
+        return sortIndex;
+    }
+
+    public void setSortIndex(Integer sortIndex) {
+        this.sortIndex = sortIndex;
+    }
+
+    public String getProductCode() {
+        return productCode;
+    }
+
+    public void setProductCode(String productCode) {
+        this.productCode = productCode;
+    }
+
+    public Float getRate1() {
+        return rate1;
+    }
+
+    public void setRate1(Float rate1) {
+        this.rate1 = rate1;
+    }
+
+    public Float getRate2() {
+        return rate2;
+    }
+
+    public void setRate2(Float rate2) {
+        this.rate2 = rate2;
+    }
+
+    public String getUnit() {
+        return unit;
+    }
+
+    public void setUnit(String unit) {
+        this.unit = unit;
+    }
+
+    public String getSynToERPFlag() {
+        return synToERPFlag;
+    }
+
+    public void setSynToERPFlag(String synToERPFlag) {
+        this.synToERPFlag = synToERPFlag;
+    }
+
+    public String getAllAreaFlag() {
+        return allAreaFlag;
+    }
+
+    public void setAllAreaFlag(String allAreaFlag) {
+        this.allAreaFlag = allAreaFlag;
+    }
+
+    public String getProvinceIDs() {
+        return provinceIDs;
+    }
+
+    public void setProvinceIDs(String provinceIDs) {
+        this.provinceIDs = provinceIDs;
+    }
+
+    public String getVirtualFlag() {
+        return virtualFlag;
+    }
+
+    public void setVirtualFlag(String virtualFlag) {
+        this.virtualFlag = virtualFlag;
+    }
+
+    public String getByFlag() {
+        return byFlag;
+    }
+
+    public void setByFlag(String byFlag) {
+        this.byFlag = byFlag;
+    }
+
+    public Integer getNormalProductFlag() {
+        return normalProductFlag;
+    }
+
+    public void setNormalProductFlag(Integer normalProductFlag) {
+        this.normalProductFlag = normalProductFlag;
+    }
+
+    public Integer getWholeSaleProductFlag() {
+        return wholeSaleProductFlag;
+    }
+
+    public void setWholeSaleProductFlag(Integer wholeSaleProductFlag) {
+        this.wholeSaleProductFlag = wholeSaleProductFlag;
+    }
+
+    public Integer getPromotionProductFlag() {
+        return promotionProductFlag;
+    }
+
+    public void setPromotionProductFlag(Integer promotionProductFlag) {
+        this.promotionProductFlag = promotionProductFlag;
+    }
+
+    public Integer getGroupBuyProductFlag() {
+        return groupBuyProductFlag;
+    }
+
+    public void setGroupBuyProductFlag(Integer groupBuyProductFlag) {
+        this.groupBuyProductFlag = groupBuyProductFlag;
+    }
+
+    public Integer getStep() {
+        return step;
+    }
+
+    public void setStep(Integer step) {
+        this.step = step;
+    }
+
+    public String getSpeCommisionFlag() {
+        return speCommisionFlag;
+    }
+
+    public void setSpeCommisionFlag(String speCommisionFlag) {
+        this.speCommisionFlag = speCommisionFlag;
+    }
+
+    public Float getSpeCommision() {
+        return speCommision;
+    }
+
+    public void setSpeCommision(Float speCommision) {
+        this.speCommision = speCommision;
+    }
+
+    public String getVideourl() {
+        return videourl;
+    }
+
+    public void setVideourl(String videourl) {
+        this.videourl = videourl;
+    }
+
+    public String getProps() {
+        return props;
+    }
+
+    public void setProps(String props) {
+        this.props = props;
+    }
+
+    public String getProviders() {
+        return providers;
+    }
+
+    public void setProviders(String providers) {
+        this.providers = providers;
+    }
+
+    public Float getServiceCommissionRatio() {
+        return serviceCommissionRatio;
+    }
+
+    public void setServiceCommissionRatio(Float serviceCommissionRatio) {
+        this.serviceCommissionRatio = serviceCommissionRatio;
+    }
+
+    public Float getReCommissionRatio() {
+        return reCommissionRatio;
+    }
+
+    public void setReCommissionRatio(Float reCommissionRatio) {
+        this.reCommissionRatio = reCommissionRatio;
+    }
+
+    public String getPushToERPName() {
+        return pushToERPName;
+    }
+
+    public void setPushToERPName(String pushToERPName) {
+        this.pushToERPName = pushToERPName;
+    }
+
+    public Integer getProdBeans() {
+        return prodBeans;
+    }
+
+    public void setProdBeans(Integer prodBeans) {
+        this.prodBeans = prodBeans;
+    }
+
+    public Integer getUseBeansFlag() {
+        return useBeansFlag;
+    }
+
+    public void setUseBeansFlag(Integer useBeansFlag) {
+        this.useBeansFlag = useBeansFlag;
+    }
+
+    public Integer getPrivateFlag() {
+        return privateFlag;
+    }
+
+    public void setPrivateFlag(Integer privateFlag) {
+        this.privateFlag = privateFlag;
+    }
+
+    public String getInvisibleServiceProviderIDs() {
+        return invisibleServiceProviderIDs;
+    }
+
+    public void setInvisibleServiceProviderIDs(String invisibleServiceProviderIDs) {
+        this.invisibleServiceProviderIDs = invisibleServiceProviderIDs;
+    }
+
+    public Date getBeginTime() {
+        return beginTime;
+    }
+
+    public void setBeginTime(Date beginTime) {
+        this.beginTime = beginTime;
+    }
+
+    public Date getEndTime() {
+        return endTime;
+    }
+
+    public void setEndTime(Date endTime) {
+        this.endTime = endTime;
+    }
+
+    public String getEndTimeStr() {
+        return endTimeStr;
+    }
+
+    public void setEndTimeStr(String endTimeStr) {
+        this.endTimeStr = endTimeStr;
+    }
+
+    public Integer getActFlag() {
+        return actFlag;
+    }
+
+    public void setActFlag(Integer actFlag) {
+        this.actFlag = actFlag;
+    }
+
+    public Integer getActType() {
+        return actType;
+    }
+
+    public void setActType(Integer actType) {
+        this.actType = actType;
+    }
+
+    public Integer getShopIndexModuleID() {
+        return shopIndexModuleID;
+    }
+
+    public void setShopIndexModuleID(Integer shopIndexModuleID) {
+        this.shopIndexModuleID = shopIndexModuleID;
+    }
+
+    public Integer getDisplayOnCRMFlag() {
+        return displayOnCRMFlag;
+    }
+
+    public void setDisplayOnCRMFlag(Integer displayOnCRMFlag) {
+        this.displayOnCRMFlag = displayOnCRMFlag;
+    }
+
+    public String getModuleName() {
+        return moduleName;
+    }
+
+    public void setModuleName(String moduleName) {
+        this.moduleName = moduleName;
+    }
+
+    public String getPriceInfo() {
+        return priceInfo;
+    }
+
+    public void setPriceInfo(String priceInfo) {
+        this.priceInfo = priceInfo;
+    }
+
+    public String getPriceType() {
+        return priceType;
+    }
+
+    public void setPriceType(String priceType) {
+        this.priceType = priceType;
+    }
+
+    public String getCategory() {
+        return category;
+    }
+
+    public void setCategory(String category) {
+        this.category = category;
+    }
+
+    public String getFreePostFlag() {
+        return freePostFlag;
+    }
+
+    public void setFreePostFlag(String freePostFlag) {
+        this.freePostFlag = freePostFlag;
+    }
+
+    public String getCompany() {
+        return company;
+    }
+
+    public void setCompany(String company) {
+        this.company = company;
+    }
+
+    public String getActionStr() {
+        return actionStr;
+    }
+
+    public void setActionStr(String actionStr) {
+        this.actionStr = actionStr;
+    }
+
+    public String getSkill() {
+        return skill;
+    }
+
+    public void setSkill(String skill) {
+        this.skill = skill;
+    }
+
+    public String getPart() {
+        return part;
+    }
+
+    public void setPart(String part) {
+        this.part = part;
+    }
+
+    public String getFeaturedFlag() {
+        return featuredFlag;
+    }
+
+    public void setFeaturedFlag(String featuredFlag) {
+        this.featuredFlag = featuredFlag;
+    }
+
+    public Integer getFeaturedSortIndex() {
+        return featuredSortIndex;
+    }
+
+    public void setFeaturedSortIndex(Integer featuredSortIndex) {
+        this.featuredSortIndex = featuredSortIndex;
+    }
+
+    public String getPriceStr() {
+        return priceStr;
+    }
+
+    public void setPriceStr(String priceStr) {
+        this.priceStr = priceStr;
+    }
+
+    public Integer getBigTypeId() {
+        return bigTypeId;
+    }
+
+    public void setBigTypeId(Integer bigTypeId) {
+        this.bigTypeId = bigTypeId;
+    }
+
+    public String getCmbeanFlag() {
+        return cmbeanFlag;
+    }
+
+    public void setCmbeanFlag(String cmbeanFlag) {
+        this.cmbeanFlag = cmbeanFlag;
+    }
+
+    public Integer getCmbeanPrice() {
+        return cmbeanPrice;
+    }
+
+    public void setCmbeanPrice(Integer cmbeanPrice) {
+        this.cmbeanPrice = cmbeanPrice;
+    }
+
+    public Integer getCmbeanSort() {
+        return cmbeanSort;
+    }
+
+    public void setCmbeanSort(Integer cmbeanSort) {
+        this.cmbeanSort = cmbeanSort;
+    }
+
+    public String getShopName() {
+        return shopName;
+    }
+
+    public void setShopName(String shopName) {
+        this.shopName = shopName;
+    }
+
+    public boolean isVisitor() {
+        return isVisitor;
+    }
+
+    public void setVisitor(boolean visitor) {
+        isVisitor = visitor;
+    }
+
+    public String getLadderPriceFlag() {
+        return ladderPriceFlag;
+    }
+
+    public void setLadderPriceFlag(String ladderPriceFlag) {
+        this.ladderPriceFlag = ladderPriceFlag;
+    }
+
+    public Integer getMinLadderBuyNumber() {
+        return minLadderBuyNumber;
+    }
+
+    public void setMinLadderBuyNumber(Integer minLadderBuyNumber) {
+        this.minLadderBuyNumber = minLadderBuyNumber;
+    }
+
+    public String getGiftFlag() {
+        return giftFlag;
+    }
+
+    public void setGiftFlag(String giftFlag) {
+        this.giftFlag = giftFlag;
+    }
+
+    public Integer getShopStatus() {
+        return shopStatus;
+    }
+
+    public void setShopStatus(Integer shopStatus) {
+        this.shopStatus = shopStatus;
+    }
+
+    public String getVisibility() {
+        return visibility;
+    }
+
+    public void setVisibility(String visibility) {
+        this.visibility = visibility;
+    }
+
+    public String getSurplusTime() {
+        return surplusTime;
+    }
+
+    public void setSurplusTime(String surplusTime) {
+        this.surplusTime = surplusTime;
+    }
+
+    public String getActSort() {
+        return actSort;
+    }
+
+    public void setActSort(String actSort) {
+        this.actSort = actSort;
+    }
+
+    public String[] getTagsList() {
+        return tagsList;
+    }
+
+    public void setTagsList(String[] tagsList) {
+        this.tagsList = tagsList;
+    }
+
+    public String getRecommendType() {
+        return recommendType;
+    }
+
+    public void setRecommendType(String recommendType) {
+        this.recommendType = recommendType;
+    }
+
+    public String getTags() {
+        return tags;
+    }
+
+    public void setTags(String tags) {
+        this.tags = tags;
+    }
+
+    public Boolean getShowfooter() {
+        return showfooter;
+    }
+
+    public void setShowfooter(Boolean showfooter) {
+        this.showfooter = showfooter;
+    }
+}

+ 105 - 0
src/main/java/com/caimei/entity/ProductDetailInfo.java

@@ -0,0 +1,105 @@
+package com.caimei.entity;
+
+import java.io.Serializable;
+
+public class ProductDetailInfo implements Serializable {
+    private Integer productDetailInfoID;
+    private Integer productID;  //商品Id
+    private String propValueAlias;
+    private String propValueImages;
+    private String detailInfo;     //商品详情信息
+    private String detailInfoTxt;
+    private String seoTitle;
+    private String seoKeyword;
+    private String seoDes;
+    private String serviceInfo;    //服务详情
+    private String orderInfo;      //订购方案
+
+    public Integer getProductDetailInfoID() {
+        return productDetailInfoID;
+    }
+
+    public void setProductDetailInfoID(Integer productDetailInfoID) {
+        this.productDetailInfoID = productDetailInfoID;
+    }
+
+    public Integer getProductID() {
+        return productID;
+    }
+
+    public void setProductID(Integer productID) {
+        this.productID = productID;
+    }
+
+    public String getPropValueAlias() {
+        return propValueAlias;
+    }
+
+    public void setPropValueAlias(String propValueAlias) {
+        this.propValueAlias = propValueAlias;
+    }
+
+    public String getPropValueImages() {
+        return propValueImages;
+    }
+
+    public void setPropValueImages(String propValueImages) {
+        this.propValueImages = propValueImages;
+    }
+
+    public String getDetailInfo() {
+        return detailInfo;
+    }
+
+    public void setDetailInfo(String detailInfo) {
+        this.detailInfo = detailInfo;
+    }
+
+    public String getDetailInfoTxt() {
+        return detailInfoTxt;
+    }
+
+    public void setDetailInfoTxt(String detailInfoTxt) {
+        this.detailInfoTxt = detailInfoTxt;
+    }
+
+    public String getSeoTitle() {
+        return seoTitle;
+    }
+
+    public void setSeoTitle(String seoTitle) {
+        this.seoTitle = seoTitle;
+    }
+
+    public String getSeoKeyword() {
+        return seoKeyword;
+    }
+
+    public void setSeoKeyword(String seoKeyword) {
+        this.seoKeyword = seoKeyword;
+    }
+
+    public String getSeoDes() {
+        return seoDes;
+    }
+
+    public void setSeoDes(String seoDes) {
+        this.seoDes = seoDes;
+    }
+
+    public String getServiceInfo() {
+        return serviceInfo;
+    }
+
+    public void setServiceInfo(String serviceInfo) {
+        this.serviceInfo = serviceInfo;
+    }
+
+    public String getOrderInfo() {
+        return orderInfo;
+    }
+
+    public void setOrderInfo(String orderInfo) {
+        this.orderInfo = orderInfo;
+    }
+}

+ 69 - 0
src/main/java/com/caimei/entity/ProductImage.java

@@ -0,0 +1,69 @@
+package com.caimei.entity;
+
+import java.io.Serializable;
+
+public class ProductImage implements Serializable {
+    private Integer productImageID; //
+    private Integer productID; //商品Id
+    private Integer shopID; //商品对应供应商Id
+    private String addTime; //添加时间
+    private String image; //图片
+    private String mainFlag; //是否主图:1是,空或0不是
+    private Integer sortIndex; //排序值
+
+    public Integer getProductImageID() {
+        return productImageID;
+    }
+
+    public void setProductImageID(Integer productImageID) {
+        this.productImageID = productImageID;
+    }
+
+    public Integer getProductID() {
+        return productID;
+    }
+
+    public void setProductID(Integer productID) {
+        this.productID = productID;
+    }
+
+    public Integer getShopID() {
+        return shopID;
+    }
+
+    public void setShopID(Integer shopID) {
+        this.shopID = shopID;
+    }
+
+    public String getAddTime() {
+        return addTime;
+    }
+
+    public void setAddTime(String addTime) {
+        this.addTime = addTime;
+    }
+
+    public String getImage() {
+        return image;
+    }
+
+    public void setImage(String image) {
+        this.image = image;
+    }
+
+    public String getMainFlag() {
+        return mainFlag;
+    }
+
+    public void setMainFlag(String mainFlag) {
+        this.mainFlag = mainFlag;
+    }
+
+    public Integer getSortIndex() {
+        return sortIndex;
+    }
+
+    public void setSortIndex(Integer sortIndex) {
+        this.sortIndex = sortIndex;
+    }
+}

+ 717 - 0
src/main/java/com/caimei/entity/Shop.java

@@ -0,0 +1,717 @@
+package com.caimei.entity;
+
+import java.io.Serializable;
+
+public class Shop implements Serializable {
+    private Integer shopID; //
+    private Integer userID; //
+    private String name; //
+    private String sname;//简称
+    private String nameEn; //
+    private String site; //
+    private String logo; //
+    private Float level; //
+    private Float score; //
+    private Integer productCount; //
+    private String legalPerson; //
+    private String businessLicense; //
+    private String businessLicenseImage; //
+    private String taxCertificate; //
+    private String taxCertificateImage; //
+    private Integer townID; //
+    private Integer provinceID;
+    private Integer cityID;
+    private String address; //
+    private Float registeredCapital; //
+    private String nature; //
+    private Float turnover; //
+    private String linkMan; //
+    private String contractPhone; //
+    private String contractMobile; //
+    private String fax; //
+    private String zipCode; //
+    private String linkMan1; //
+    private String duty1; //
+    private String contractPhone1; //
+    private String contractMobile1; //
+    private String contractQQ1; //
+    private String wechat1; //
+    private String contractEmail1; //
+    private String linkMan2; //
+    private String duty2; //
+    private String contractPhone2; //
+    private String contractMobile2; //
+    private String contractQQ2; //
+    private String wechat2; //
+    private String contractEmail2; //
+    private String scope; //
+    private String info; //
+    private String productDesc; //主打系列产品介绍
+    private Double lng = 0d; //
+    private Double lat = 0d; //
+    private String addTime; //
+    private String auditStatus; //
+    private String auditTime; //
+    private String auditNote; //
+    private Integer favoriteTimes = 0; //
+    private String validFlag; //
+    private String payFlag1; //
+    private String auditFlag1; //
+    private String payFlag2; //
+    private String auditFlag2; //
+    private String payFlag3; //
+    private String auditFlag3; //
+    private String note; //
+    private Integer status; //
+    private Integer sortIndex; //
+    private Float rate1; //
+    private Float rate2; //
+    private String masterFlag; //
+    private String erpFlag; //
+    private String shopSecret; //
+    private String masterLogo; //
+    private String cooperateFlag; //
+    private String businessScope; //
+    private Integer bail; // 是否已缴纳保证金(0 没有,1 有)
+    private String mainpro;
+    private Integer shopScore; // 供应商评分
+    private String[] businessScopeArray; // 经营范围的数组形式
+    private String socialCreditCode; // 统一社会信用代码
+    private String firstShopType;
+    private String secondShopType;
+    private String medicalPracticeLicenseImg1;
+    private String medicalPracticeLicenseImg2;
+    private String medicalPracticeLicenseImg3;
+
+    public Integer getShopID() {
+        return shopID;
+    }
+
+    public void setShopID(Integer shopID) {
+        this.shopID = shopID;
+    }
+
+    public Integer getUserID() {
+        return userID;
+    }
+
+    public void setUserID(Integer userID) {
+        this.userID = userID;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getSname() {
+        return sname;
+    }
+
+    public void setSname(String sname) {
+        this.sname = sname;
+    }
+
+    public String getNameEn() {
+        return nameEn;
+    }
+
+    public void setNameEn(String nameEn) {
+        this.nameEn = nameEn;
+    }
+
+    public String getSite() {
+        return site;
+    }
+
+    public void setSite(String site) {
+        this.site = site;
+    }
+
+    public String getLogo() {
+        return logo;
+    }
+
+    public void setLogo(String logo) {
+        this.logo = logo;
+    }
+
+    public Float getLevel() {
+        return level;
+    }
+
+    public void setLevel(Float level) {
+        this.level = level;
+    }
+
+    public Float getScore() {
+        return score;
+    }
+
+    public void setScore(Float score) {
+        this.score = score;
+    }
+
+    public Integer getProductCount() {
+        return productCount;
+    }
+
+    public void setProductCount(Integer productCount) {
+        this.productCount = productCount;
+    }
+
+    public String getLegalPerson() {
+        return legalPerson;
+    }
+
+    public void setLegalPerson(String legalPerson) {
+        this.legalPerson = legalPerson;
+    }
+
+    public String getBusinessLicense() {
+        return businessLicense;
+    }
+
+    public void setBusinessLicense(String businessLicense) {
+        this.businessLicense = businessLicense;
+    }
+
+    public String getBusinessLicenseImage() {
+        return businessLicenseImage;
+    }
+
+    public void setBusinessLicenseImage(String businessLicenseImage) {
+        this.businessLicenseImage = businessLicenseImage;
+    }
+
+    public String getTaxCertificate() {
+        return taxCertificate;
+    }
+
+    public void setTaxCertificate(String taxCertificate) {
+        this.taxCertificate = taxCertificate;
+    }
+
+    public String getTaxCertificateImage() {
+        return taxCertificateImage;
+    }
+
+    public void setTaxCertificateImage(String taxCertificateImage) {
+        this.taxCertificateImage = taxCertificateImage;
+    }
+
+    public Integer getTownID() {
+        return townID;
+    }
+
+    public void setTownID(Integer townID) {
+        this.townID = townID;
+    }
+
+    public Integer getProvinceID() {
+        return provinceID;
+    }
+
+    public void setProvinceID(Integer provinceID) {
+        this.provinceID = provinceID;
+    }
+
+    public Integer getCityID() {
+        return cityID;
+    }
+
+    public void setCityID(Integer cityID) {
+        this.cityID = cityID;
+    }
+
+    public String getAddress() {
+        return address;
+    }
+
+    public void setAddress(String address) {
+        this.address = address;
+    }
+
+    public Float getRegisteredCapital() {
+        return registeredCapital;
+    }
+
+    public void setRegisteredCapital(Float registeredCapital) {
+        this.registeredCapital = registeredCapital;
+    }
+
+    public String getNature() {
+        return nature;
+    }
+
+    public void setNature(String nature) {
+        this.nature = nature;
+    }
+
+    public Float getTurnover() {
+        return turnover;
+    }
+
+    public void setTurnover(Float turnover) {
+        this.turnover = turnover;
+    }
+
+    public String getLinkMan() {
+        return linkMan;
+    }
+
+    public void setLinkMan(String linkMan) {
+        this.linkMan = linkMan;
+    }
+
+    public String getContractPhone() {
+        return contractPhone;
+    }
+
+    public void setContractPhone(String contractPhone) {
+        this.contractPhone = contractPhone;
+    }
+
+    public String getContractMobile() {
+        return contractMobile;
+    }
+
+    public void setContractMobile(String contractMobile) {
+        this.contractMobile = contractMobile;
+    }
+
+    public String getFax() {
+        return fax;
+    }
+
+    public void setFax(String fax) {
+        this.fax = fax;
+    }
+
+    public String getZipCode() {
+        return zipCode;
+    }
+
+    public void setZipCode(String zipCode) {
+        this.zipCode = zipCode;
+    }
+
+    public String getLinkMan1() {
+        return linkMan1;
+    }
+
+    public void setLinkMan1(String linkMan1) {
+        this.linkMan1 = linkMan1;
+    }
+
+    public String getDuty1() {
+        return duty1;
+    }
+
+    public void setDuty1(String duty1) {
+        this.duty1 = duty1;
+    }
+
+    public String getContractPhone1() {
+        return contractPhone1;
+    }
+
+    public void setContractPhone1(String contractPhone1) {
+        this.contractPhone1 = contractPhone1;
+    }
+
+    public String getContractMobile1() {
+        return contractMobile1;
+    }
+
+    public void setContractMobile1(String contractMobile1) {
+        this.contractMobile1 = contractMobile1;
+    }
+
+    public String getContractQQ1() {
+        return contractQQ1;
+    }
+
+    public void setContractQQ1(String contractQQ1) {
+        this.contractQQ1 = contractQQ1;
+    }
+
+    public String getWechat1() {
+        return wechat1;
+    }
+
+    public void setWechat1(String wechat1) {
+        this.wechat1 = wechat1;
+    }
+
+    public String getContractEmail1() {
+        return contractEmail1;
+    }
+
+    public void setContractEmail1(String contractEmail1) {
+        this.contractEmail1 = contractEmail1;
+    }
+
+    public String getLinkMan2() {
+        return linkMan2;
+    }
+
+    public void setLinkMan2(String linkMan2) {
+        this.linkMan2 = linkMan2;
+    }
+
+    public String getDuty2() {
+        return duty2;
+    }
+
+    public void setDuty2(String duty2) {
+        this.duty2 = duty2;
+    }
+
+    public String getContractPhone2() {
+        return contractPhone2;
+    }
+
+    public void setContractPhone2(String contractPhone2) {
+        this.contractPhone2 = contractPhone2;
+    }
+
+    public String getContractMobile2() {
+        return contractMobile2;
+    }
+
+    public void setContractMobile2(String contractMobile2) {
+        this.contractMobile2 = contractMobile2;
+    }
+
+    public String getContractQQ2() {
+        return contractQQ2;
+    }
+
+    public void setContractQQ2(String contractQQ2) {
+        this.contractQQ2 = contractQQ2;
+    }
+
+    public String getWechat2() {
+        return wechat2;
+    }
+
+    public void setWechat2(String wechat2) {
+        this.wechat2 = wechat2;
+    }
+
+    public String getContractEmail2() {
+        return contractEmail2;
+    }
+
+    public void setContractEmail2(String contractEmail2) {
+        this.contractEmail2 = contractEmail2;
+    }
+
+    public String getScope() {
+        return scope;
+    }
+
+    public void setScope(String scope) {
+        this.scope = scope;
+    }
+
+    public String getInfo() {
+        return info;
+    }
+
+    public void setInfo(String info) {
+        this.info = info;
+    }
+
+    public String getProductDesc() {
+        return productDesc;
+    }
+
+    public void setProductDesc(String productDesc) {
+        this.productDesc = productDesc;
+    }
+
+    public Double getLng() {
+        return lng;
+    }
+
+    public void setLng(Double lng) {
+        this.lng = lng;
+    }
+
+    public Double getLat() {
+        return lat;
+    }
+
+    public void setLat(Double lat) {
+        this.lat = lat;
+    }
+
+    public String getAddTime() {
+        return addTime;
+    }
+
+    public void setAddTime(String addTime) {
+        this.addTime = addTime;
+    }
+
+    public String getAuditStatus() {
+        return auditStatus;
+    }
+
+    public void setAuditStatus(String auditStatus) {
+        this.auditStatus = auditStatus;
+    }
+
+    public String getAuditTime() {
+        return auditTime;
+    }
+
+    public void setAuditTime(String auditTime) {
+        this.auditTime = auditTime;
+    }
+
+    public String getAuditNote() {
+        return auditNote;
+    }
+
+    public void setAuditNote(String auditNote) {
+        this.auditNote = auditNote;
+    }
+
+    public Integer getFavoriteTimes() {
+        return favoriteTimes;
+    }
+
+    public void setFavoriteTimes(Integer favoriteTimes) {
+        this.favoriteTimes = favoriteTimes;
+    }
+
+    public String getValidFlag() {
+        return validFlag;
+    }
+
+    public void setValidFlag(String validFlag) {
+        this.validFlag = validFlag;
+    }
+
+    public String getPayFlag1() {
+        return payFlag1;
+    }
+
+    public void setPayFlag1(String payFlag1) {
+        this.payFlag1 = payFlag1;
+    }
+
+    public String getAuditFlag1() {
+        return auditFlag1;
+    }
+
+    public void setAuditFlag1(String auditFlag1) {
+        this.auditFlag1 = auditFlag1;
+    }
+
+    public String getPayFlag2() {
+        return payFlag2;
+    }
+
+    public void setPayFlag2(String payFlag2) {
+        this.payFlag2 = payFlag2;
+    }
+
+    public String getAuditFlag2() {
+        return auditFlag2;
+    }
+
+    public void setAuditFlag2(String auditFlag2) {
+        this.auditFlag2 = auditFlag2;
+    }
+
+    public String getPayFlag3() {
+        return payFlag3;
+    }
+
+    public void setPayFlag3(String payFlag3) {
+        this.payFlag3 = payFlag3;
+    }
+
+    public String getAuditFlag3() {
+        return auditFlag3;
+    }
+
+    public void setAuditFlag3(String auditFlag3) {
+        this.auditFlag3 = auditFlag3;
+    }
+
+    public String getNote() {
+        return note;
+    }
+
+    public void setNote(String note) {
+        this.note = note;
+    }
+
+    public Integer getStatus() {
+        return status;
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+
+    public Integer getSortIndex() {
+        return sortIndex;
+    }
+
+    public void setSortIndex(Integer sortIndex) {
+        this.sortIndex = sortIndex;
+    }
+
+    public Float getRate1() {
+        return rate1;
+    }
+
+    public void setRate1(Float rate1) {
+        this.rate1 = rate1;
+    }
+
+    public Float getRate2() {
+        return rate2;
+    }
+
+    public void setRate2(Float rate2) {
+        this.rate2 = rate2;
+    }
+
+    public String getMasterFlag() {
+        return masterFlag;
+    }
+
+    public void setMasterFlag(String masterFlag) {
+        this.masterFlag = masterFlag;
+    }
+
+    public String getErpFlag() {
+        return erpFlag;
+    }
+
+    public void setErpFlag(String erpFlag) {
+        this.erpFlag = erpFlag;
+    }
+
+    public String getShopSecret() {
+        return shopSecret;
+    }
+
+    public void setShopSecret(String shopSecret) {
+        this.shopSecret = shopSecret;
+    }
+
+    public String getMasterLogo() {
+        return masterLogo;
+    }
+
+    public void setMasterLogo(String masterLogo) {
+        this.masterLogo = masterLogo;
+    }
+
+    public String getCooperateFlag() {
+        return cooperateFlag;
+    }
+
+    public void setCooperateFlag(String cooperateFlag) {
+        this.cooperateFlag = cooperateFlag;
+    }
+
+    public String getBusinessScope() {
+        return businessScope;
+    }
+
+    public void setBusinessScope(String businessScope) {
+        this.businessScope = businessScope;
+    }
+
+    public Integer getBail() {
+        return bail;
+    }
+
+    public void setBail(Integer bail) {
+        this.bail = bail;
+    }
+
+    public String getMainpro() {
+        return mainpro;
+    }
+
+    public void setMainpro(String mainpro) {
+        this.mainpro = mainpro;
+    }
+
+    public Integer getShopScore() {
+        return shopScore;
+    }
+
+    public void setShopScore(Integer shopScore) {
+        this.shopScore = shopScore;
+    }
+
+    public String[] getBusinessScopeArray() {
+        return businessScopeArray;
+    }
+
+    public void setBusinessScopeArray(String[] businessScopeArray) {
+        this.businessScopeArray = businessScopeArray;
+    }
+
+    public String getSocialCreditCode() {
+        return socialCreditCode;
+    }
+
+    public void setSocialCreditCode(String socialCreditCode) {
+        this.socialCreditCode = socialCreditCode;
+    }
+
+    public String getFirstShopType() {
+        return firstShopType;
+    }
+
+    public void setFirstShopType(String firstShopType) {
+        this.firstShopType = firstShopType;
+    }
+
+    public String getSecondShopType() {
+        return secondShopType;
+    }
+
+    public void setSecondShopType(String secondShopType) {
+        this.secondShopType = secondShopType;
+    }
+
+    public String getMedicalPracticeLicenseImg1() {
+        return medicalPracticeLicenseImg1;
+    }
+
+    public void setMedicalPracticeLicenseImg1(String medicalPracticeLicenseImg1) {
+        this.medicalPracticeLicenseImg1 = medicalPracticeLicenseImg1;
+    }
+
+    public String getMedicalPracticeLicenseImg2() {
+        return medicalPracticeLicenseImg2;
+    }
+
+    public void setMedicalPracticeLicenseImg2(String medicalPracticeLicenseImg2) {
+        this.medicalPracticeLicenseImg2 = medicalPracticeLicenseImg2;
+    }
+
+    public String getMedicalPracticeLicenseImg3() {
+        return medicalPracticeLicenseImg3;
+    }
+
+    public void setMedicalPracticeLicenseImg3(String medicalPracticeLicenseImg3) {
+        this.medicalPracticeLicenseImg3 = medicalPracticeLicenseImg3;
+    }
+}

+ 161 - 0
src/main/java/com/caimei/entity/brand.java

@@ -0,0 +1,161 @@
+package com.caimei.entity;
+
+import java.io.Serializable;
+import java.util.List;
+
+public class brand implements Serializable {
+    private Integer id;
+    private String name;         //品牌名称
+    private String logo;         //品牌logo
+    private String attest;       //认证机构
+    private String url;          //认证网址
+    private String introduction; //品牌介绍
+    private String deviceName;   //产品/设备名称
+    private String model;        //型号
+    private String efficacy;     //功 效
+    private String delFlag;      //删除标记 0 否,其余是
+    private String certificate;  //品牌证书
+    private String certifiedPhoto;  //认证照片
+    private List<hospital> hospitals; //医院信息
+    private Integer sort;  //排序值
+    private String securityLink;   //防伪链接
+
+    public String getSecurityLink() {
+        return securityLink;
+    }
+
+    public void setSecurityLink(String securityLink) {
+        this.securityLink = securityLink;
+    }
+
+    public Integer getSort() {
+        return sort;
+    }
+
+    public void setSort(Integer sort) {
+        this.sort = sort;
+    }
+
+    public String getCertifiedPhoto() {
+        return certifiedPhoto;
+    }
+
+    public void setCertifiedPhoto(String certifiedPhoto) {
+        this.certifiedPhoto = certifiedPhoto;
+    }
+
+    public String getCertificate() {
+        return certificate;
+    }
+
+    public void setCertificate(String certificate) {
+        this.certificate = certificate;
+    }
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getLogo() {
+        return logo;
+    }
+
+    public void setLogo(String logo) {
+        this.logo = logo;
+    }
+
+    public String getAttest() {
+        return attest;
+    }
+
+    public void setAttest(String attest) {
+        this.attest = attest;
+    }
+
+    public String getUrl() {
+        return url;
+    }
+
+    public void setUrl(String url) {
+        this.url = url;
+    }
+
+    public String getIntroduction() {
+        return introduction;
+    }
+
+    public void setIntroduction(String introduction) {
+        this.introduction = introduction;
+    }
+
+    public String getDeviceName() {
+        return deviceName;
+    }
+
+    public void setDeviceName(String deviceName) {
+        this.deviceName = deviceName;
+    }
+
+    public String getModel() {
+        return model;
+    }
+
+    public void setModel(String model) {
+        this.model = model;
+    }
+
+    public String getEfficacy() {
+        return efficacy;
+    }
+
+    public void setEfficacy(String efficacy) {
+        this.efficacy = efficacy;
+    }
+
+    public String getDelFlag() {
+        return delFlag;
+    }
+
+    public void setDelFlag(String delFlag) {
+        this.delFlag = delFlag;
+    }
+
+    public List<hospital> getHospitals() {
+        return hospitals;
+    }
+
+    public void setHospitals(List<hospital> hospitals) {
+        this.hospitals = hospitals;
+    }
+
+    @Override
+    public String toString() {
+        return "brand{" +
+                "id=" + id +
+                ", name='" + name + '\'' +
+                ", logo='" + logo + '\'' +
+                ", attest='" + attest + '\'' +
+                ", url='" + url + '\'' +
+                ", introduction='" + introduction + '\'' +
+                ", deviceName='" + deviceName + '\'' +
+                ", model='" + model + '\'' +
+                ", efficacy='" + efficacy + '\'' +
+                ", delFlag='" + delFlag + '\'' +
+                ", certificate='" + certificate + '\'' +
+                ", certifiedPhoto='" + certifiedPhoto + '\'' +
+                ", hospitals=" + hospitals +
+                '}';
+    }
+}

+ 242 - 0
src/main/java/com/caimei/entity/hospital.java

@@ -0,0 +1,242 @@
+package com.caimei.entity;
+
+import java.io.Serializable;
+import java.util.List;
+
+public class hospital implements Serializable {
+    private Integer id;
+    private String name;                //医院名称
+    private String provinceCityDistrict;//医院地址省市区(地址前部分)
+    private String address;             //医院详细地址
+    private String logo;                //医院logo
+    private String businessLicense;     //营业执照
+    private String practicePermit;      //执业许可证
+    private String environmentalMap1;    //医院环境图1
+    private String environmentalMap2;    //医院环境图2
+    private String environmentalMap3;    //医院环境图...
+    private String environmentalMap4;    //医院环境图
+    private String environmentalMap5;    //医院环境图
+    private String environmentalMap6;    //医院环境图
+    private String environmentalMap7;    //医院环境图
+    private String environmentalMap8;    //医院环境图
+    private String environmentalMap9;    //医院环境图
+    private String environmentalMap10;    //医院环境图
+    private String establishTime;       //成立时间
+    private String introduction;        //医院简介
+    private String delFlag;             //删除标记 0 否,其余是
+    private String creationVip;         //是不是创始会员 1是的, 0不是的
+    private List<brand> brands;         //品牌
+    private Integer sort;  //排序值
+
+    public Integer getSort() {
+        return sort;
+    }
+
+    public void setSort(Integer sort) {
+        this.sort = sort;
+    }
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getProvinceCityDistrict() {
+        return provinceCityDistrict;
+    }
+
+    public void setProvinceCityDistrict(String provinceCityDistrict) {
+        this.provinceCityDistrict = provinceCityDistrict;
+    }
+
+    public String getAddress() {
+        return address;
+    }
+
+    public void setAddress(String address) {
+        this.address = address;
+    }
+
+    public String getLogo() {
+        return logo;
+    }
+
+    public void setLogo(String logo) {
+        this.logo = logo;
+    }
+
+    public String getBusinessLicense() {
+        return businessLicense;
+    }
+
+    public void setBusinessLicense(String businessLicense) {
+        this.businessLicense = businessLicense;
+    }
+
+    public String getPracticePermit() {
+        return practicePermit;
+    }
+
+    public void setPracticePermit(String practicePermit) {
+        this.practicePermit = practicePermit;
+    }
+
+    public String getEnvironmentalMap1() {
+        return environmentalMap1;
+    }
+
+    public void setEnvironmentalMap1(String environmentalMap1) {
+        this.environmentalMap1 = environmentalMap1;
+    }
+
+    public String getEnvironmentalMap2() {
+        return environmentalMap2;
+    }
+
+    public void setEnvironmentalMap2(String environmentalMap2) {
+        this.environmentalMap2 = environmentalMap2;
+    }
+
+    public String getEnvironmentalMap3() {
+        return environmentalMap3;
+    }
+
+    public void setEnvironmentalMap3(String environmentalMap3) {
+        this.environmentalMap3 = environmentalMap3;
+    }
+
+    public String getEnvironmentalMap4() {
+        return environmentalMap4;
+    }
+
+    public void setEnvironmentalMap4(String environmentalMap4) {
+        this.environmentalMap4 = environmentalMap4;
+    }
+
+    public String getEnvironmentalMap5() {
+        return environmentalMap5;
+    }
+
+    public void setEnvironmentalMap5(String environmentalMap5) {
+        this.environmentalMap5 = environmentalMap5;
+    }
+
+    public String getEnvironmentalMap6() {
+        return environmentalMap6;
+    }
+
+    public void setEnvironmentalMap6(String environmentalMap6) {
+        this.environmentalMap6 = environmentalMap6;
+    }
+
+    public String getEnvironmentalMap7() {
+        return environmentalMap7;
+    }
+
+    public void setEnvironmentalMap7(String environmentalMap7) {
+        this.environmentalMap7 = environmentalMap7;
+    }
+
+    public String getEnvironmentalMap8() {
+        return environmentalMap8;
+    }
+
+    public void setEnvironmentalMap8(String environmentalMap8) {
+        this.environmentalMap8 = environmentalMap8;
+    }
+
+    public String getEnvironmentalMap9() {
+        return environmentalMap9;
+    }
+
+    public void setEnvironmentalMap9(String environmentalMap9) {
+        this.environmentalMap9 = environmentalMap9;
+    }
+
+    public String getEnvironmentalMap10() {
+        return environmentalMap10;
+    }
+
+    public void setEnvironmentalMap10(String environmentalMap10) {
+        this.environmentalMap10 = environmentalMap10;
+    }
+
+    public String getEstablishTime() {
+        return establishTime;
+    }
+
+    public void setEstablishTime(String establishTime) {
+        this.establishTime = establishTime;
+    }
+
+    public String getIntroduction() {
+        return introduction;
+    }
+
+    public void setIntroduction(String introduction) {
+        this.introduction = introduction;
+    }
+
+    public String getDelFlag() {
+        return delFlag;
+    }
+
+    public void setDelFlag(String delFlag) {
+        this.delFlag = delFlag;
+    }
+
+    public String getCreationVip() {
+        return creationVip;
+    }
+
+    public void setCreationVip(String creationVip) {
+        this.creationVip = creationVip;
+    }
+
+    public List<brand> getBrands() {
+        return brands;
+    }
+
+    public void setBrands(List<brand> brands) {
+        this.brands = brands;
+    }
+
+    @Override
+    public String toString() {
+        return "hospital{" +
+                "id=" + id +
+                ", name='" + name + '\'' +
+                ", provinceCityDistrict='" + provinceCityDistrict + '\'' +
+                ", address='" + address + '\'' +
+                ", logo='" + logo + '\'' +
+                ", businessLicense='" + businessLicense + '\'' +
+                ", practicePermit='" + practicePermit + '\'' +
+                ", environmentalMap1='" + environmentalMap1 + '\'' +
+                ", environmentalMap2='" + environmentalMap2 + '\'' +
+                ", environmentalMap3='" + environmentalMap3 + '\'' +
+                ", environmentalMap4='" + environmentalMap4 + '\'' +
+                ", environmentalMap5='" + environmentalMap5 + '\'' +
+                ", environmentalMap6='" + environmentalMap6 + '\'' +
+                ", environmentalMap7='" + environmentalMap7 + '\'' +
+                ", environmentalMap8='" + environmentalMap8 + '\'' +
+                ", environmentalMap9='" + environmentalMap9 + '\'' +
+                ", environmentalMap10='" + environmentalMap10 + '\'' +
+                ", establishTime='" + establishTime + '\'' +
+                ", introduction='" + introduction + '\'' +
+                ", delFlag='" + delFlag + '\'' +
+                ", creationVip='" + creationVip + '\'' +
+                ", brands=" + brands +
+                '}';
+    }
+}

+ 23 - 0
src/main/java/com/caimei/mapper/products/DetailsMapper.java

@@ -0,0 +1,23 @@
+package com.caimei.mapper.products;
+
+import com.caimei.entity.*;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+@Mapper
+public interface DetailsMapper {
+    CmOrganizeProducts findProduct(Integer id);
+
+    Product product(Integer productID);
+
+    List<ProductImage> findAllProductImage(Integer productID);
+
+    ProductDetailInfo findProductDetail(Integer productID);
+
+    Shop findShop(Integer shopID);
+
+    void saveCart(CmMallCart cmMallCart);
+
+    CmMallCart findCartProduct(CmMallCart cmMallCart);
+}

+ 9 - 2
src/main/java/com/caimei/mapper/products/HomePageMapper.java

@@ -1,7 +1,6 @@
 package com.caimei.mapper.products;
 
-import com.caimei.entity.CmOrganizeProducts;
-import com.caimei.entity.CmProductsClassify;
+import com.caimei.entity.*;
 import org.apache.ibatis.annotations.Mapper;
 
 import java.util.List;
@@ -16,4 +15,12 @@ public interface HomePageMapper {
     Integer cartQuantity(Integer userID);
 
     List<CmOrganizeProducts> classify(CmOrganizeProducts organizeProducts);
+
+    List<CmOrganizeProducts> preferred(CmOrganizeProducts organizeProducts);
+
+    List<hospital> member();
+
+    List<brand> findId(Integer id);
+
+    CmMallOrganize afterSale(Integer organizeID);
 }

+ 10 - 0
src/main/java/com/caimei/service/products/DetailsService.java

@@ -0,0 +1,10 @@
+package com.caimei.service.products;
+
+import com.caimei.entity.CmMallCart;
+import com.caimei.entity.CmOrganizeProducts;
+
+public interface DetailsService {
+    CmOrganizeProducts productDetails(Integer id, Integer userID);
+
+    void saveCart(CmMallCart cmMallCart);
+}

+ 8 - 0
src/main/java/com/caimei/service/products/HomePageService.java

@@ -1,6 +1,8 @@
 package com.caimei.service.products;
 
+import com.caimei.entity.CmMallOrganize;
 import com.caimei.entity.CmOrganizeProducts;
+import com.caimei.entity.hospital;
 
 import java.util.List;
 import java.util.Map;
@@ -9,4 +11,10 @@ public interface HomePageService {
     Map<String, Object> information(Integer organizeID, Integer userID);
 
     List<CmOrganizeProducts> classify(CmOrganizeProducts organizeProducts);
+
+    List<CmOrganizeProducts> preferred(CmOrganizeProducts organizeProducts);
+
+    List<hospital> member();
+
+    CmMallOrganize afterSale(Integer organizeID);
 }

+ 63 - 0
src/main/java/com/caimei/service/products/impl/DetailsServiceImpl.java

@@ -0,0 +1,63 @@
+package com.caimei.service.products.impl;
+
+import com.caimei.entity.*;
+import com.caimei.mapper.products.DetailsMapper;
+import com.caimei.mapper.products.HomePageMapper;
+import com.caimei.service.products.DetailsService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class DetailsServiceImpl implements DetailsService {
+    @Autowired
+    private DetailsMapper detailsMapper;
+    @Autowired
+    private HomePageMapper homePageMapper;
+
+    @Override
+    public CmOrganizeProducts productDetails(Integer id, Integer userID) {
+        //商品信息
+        CmOrganizeProducts organizeProducts = detailsMapper.findProduct(id);
+        Product product = detailsMapper.product(organizeProducts.getProductID());
+        if (product.getTags() != null && product.getTags().contains(",")) {
+            String[] split = product.getTags().split(",");
+            product.setTagsList(split);
+        }
+        organizeProducts.setProduct(product);
+        //商品图片
+        List<ProductImage> productImage = detailsMapper.findAllProductImage(organizeProducts.getProductID());
+        organizeProducts.setProductImage(productImage);
+        //商品详情
+        ProductDetailInfo productDetailInfo = detailsMapper.findProductDetail(organizeProducts.getProductID());
+        organizeProducts.setProductDetailInfo(productDetailInfo);
+        //供应商信息
+        Shop shop = detailsMapper.findShop(product.getShopID());
+        if (shop.getBusinessScope() != null && shop.getBusinessScope().contains("/")) {
+            String[] businessScopeArray = shop.getBusinessScope().split("/");
+            shop.setBusinessScopeArray(businessScopeArray);
+        }
+        organizeProducts.setShop(shop);
+        //购物车数量
+        Integer count = homePageMapper.cartQuantity(userID);
+        organizeProducts.setCartCount(count);
+        return organizeProducts;
+    }
+
+    @Override
+    public void saveCart(CmMallCart cmMallCart) {
+        CmMallCart cart = detailsMapper.findCartProduct(cmMallCart);
+        if (cart != null) {
+            int count = cart.getProductCount() + cmMallCart.getProductCount();
+            cart.setProductCount(count);
+            cart.setAddTime(new Date());
+            detailsMapper.saveCart(cart);
+        } else {
+            cmMallCart.setAddTime(new Date());
+            cmMallCart.setDelFlag("0");
+            detailsMapper.saveCart(cmMallCart);
+        }
+    }
+}

+ 21 - 2
src/main/java/com/caimei/service/products/impl/HomePageServiceImpl.java

@@ -1,7 +1,6 @@
 package com.caimei.service.products.impl;
 
-import com.caimei.entity.CmOrganizeProducts;
-import com.caimei.entity.CmProductsClassify;
+import com.caimei.entity.*;
 import com.caimei.mapper.products.HomePageMapper;
 import com.caimei.service.products.HomePageService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -35,4 +34,24 @@ public class HomePageServiceImpl implements HomePageService {
     public List<CmOrganizeProducts> classify(CmOrganizeProducts organizeProducts) {
         return homePageMapper.classify(organizeProducts);
     }
+
+    @Override
+    public List<CmOrganizeProducts> preferred(CmOrganizeProducts organizeProducts) {
+        return homePageMapper.preferred(organizeProducts);
+    }
+
+    @Override
+    public List<hospital> member() {
+        List<hospital> member = homePageMapper.member();
+        for (hospital hospital : member) {
+            List<brand> brands = homePageMapper.findId(hospital.getId());
+            hospital.setBrands(brands);
+        }
+        return member;
+    }
+
+    @Override
+    public CmMallOrganize afterSale(Integer organizeID) {
+        return homePageMapper.afterSale(organizeID);
+    }
 }

+ 77 - 0
src/main/resources/mapper/DetailsMapper.xml

@@ -0,0 +1,77 @@
+<?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.caimei.mapper.products.DetailsMapper">
+    <select id="findProduct" parameterType="int" resultType="com.caimei.entity.CmOrganizeProducts">
+        SELECT
+          *
+        FROM
+          cm_mall_organize_products
+        WHERE
+          id = #{id}
+          AND delFlag = '0'
+    </select>
+
+    <select id="product" resultType="com.caimei.entity.Product" parameterType="int">
+        SELECT
+          p.*,
+          cb.name AS brandName
+        FROM
+          product p
+          LEFT JOIN cm_brand cb ON p.brandID = cb.id
+        WHERE
+          productID = #{productID}
+    </select>
+
+    <select id="findAllProductImage" parameterType="int" resultType="com.caimei.entity.ProductImage">
+        SELECT
+          *
+        FROM
+          productimage
+        WHERE
+          productID = #{productID}
+        ORDER BY
+          mainFlag DESC
+    </select>
+
+    <select id="findProductDetail" resultType="com.caimei.entity.ProductDetailInfo" parameterType="int">
+        SELECT
+          *
+        FROM
+          productdetailinfo
+        WHERE
+          productID = #{productID}
+    </select>
+
+    <select id="findShop" parameterType="int" resultType="com.caimei.entity.Shop">
+        SELECT
+          *
+        FROM
+          shop
+        WHERE
+          shopID = #{shopID}
+    </select>
+
+    <insert id="saveCart" parameterType="com.caimei.entity.CmMallCart">
+        INSERT INTO cm_mall_cart (
+          productID, userID, productCount, addTime,
+          delFlag
+        )
+        VALUES
+          (#{productID},#{userID},#{productCount},#{addTime},
+          #{delFlag})
+    </insert>
+
+    <select id="findCartProduct" parameterType="com.caimei.entity.CmMallCart" resultType="com.caimei.entity.CmMallCart">
+        SELECT
+          *
+        FROM
+          cm_mall_cart
+        WHERE
+          productID = #{productID}
+          AND userID = #{userID}
+          AND delFlag = '0'
+    </select>
+
+</mapper>

+ 69 - 2
src/main/resources/mapper/HomePageMapper.xml

@@ -41,15 +41,18 @@
 
     <select id="cartQuantity" resultType="int" parameterType="int">
         SELECT
-          SUM(productCount)
+          COUNT(*)
         FROM
           cm_mall_cart
         WHERE
           userID = #{userID}
           AND delFlag = '0'
+        GROUP BY
+          productID
     </select>
 
-    <select id="classify" resultType="com.caimei.entity.CmOrganizeProducts" parameterType="com.caimei.entity.CmOrganizeProducts">
+    <select id="classify" resultType="com.caimei.entity.CmOrganizeProducts"
+            parameterType="com.caimei.entity.CmOrganizeProducts">
         SELECT
           cmop.*,
           p.mainImage,
@@ -67,4 +70,68 @@
           cmop.addTime DESC
     </select>
 
+    <select id="preferred" parameterType="int" resultType="com.caimei.entity.CmOrganizeProducts">
+        SELECT
+        cmop.*,
+        p.mainImage,
+        p.name,
+        p.unit
+        FROM
+        cm_mall_organize_products cmop
+        LEFT JOIN product p ON cmop.productID = p.productID
+        <where>
+            <if test="preferredProduct != null and preferredProduct != ''">
+                AND cmop.preferredProduct = '1'
+            </if>
+            <if test="commonlyProduct != null and commonlyProduct != ''">
+                AND cmop.commonlyProduct = '1'
+            </if>
+            <if test="preferentialProduct != null and preferentialProduct != ''">
+                AND cmop.preferentialProduct = '1'
+            </if>
+            AND cmop.organizeID = #{organizeID}
+            AND cmop.validFlag = '1'
+            AND cmop.delFlag = '0'
+        </where>
+        ORDER BY
+          cmop.addTime DESC
+    </select>
+
+    <select id="member" resultType="com.caimei.entity.hospital">
+        SELECT
+          zh.*
+        FROM
+          zplm_hospital zh
+          LEFT JOIN zplm_hospital_brand zhb ON zhb.hospitalID = zh.id  AND zhb.delFlag="0"
+          LEFT JOIN zplm_brand zb ON zhb.brandID = zb.id  AND zb.delFlag="0"
+        WHERE
+          zh.delFlag="0"
+        GROUP BY
+          zh.id
+        ORDER BY
+          zh.sort DESC,COUNT(zhb.brandID) DESC,zh.id DESC
+    </select>
+
+    <select id="findId" resultType="com.caimei.entity.brand" parameterType="int">
+        SELECT
+          b.*
+        FROM
+          zplm_brand b,
+          zplm_hospital_brand hb
+        WHERE
+          b.`id` = hb.brandID
+          AND hb.hospitalID = #{hospitalID}
+          AND b.delFlag = "0"
+          AND hb.delFlag = "0"
+    </select>
+
+    <select id="afterSale" resultType="com.caimei.entity.CmMallOrganize" parameterType="int">
+        SELECT
+          *
+        FROM
+          cm_mall_organize
+        WHERE
+          id = #{organizeID}
+          AND delFlag = '0'
+    </select>
 </mapper>