PLF 5 år sedan
förälder
incheckning
24e59b48df

+ 54 - 0
src/main/java/com/caimei/controller/products/HomePageController.java

@@ -0,0 +1,54 @@
+package com.caimei.controller.products;
+
+import com.caimei.entity.CmOrganizeProducts;
+import com.caimei.entity.Page;
+import com.caimei.service.products.HomePageService;
+import com.github.pagehelper.PageHelper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 商城首页信息
+ */
+@Controller
+@RequestMapping("/home")
+public class HomePageController {
+    @Autowired
+    private HomePageService homePageService;
+
+
+    /**
+     * 首页所有数据
+     *
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping("/information")
+    public Map<String, Object> information(Integer organizeID, Integer userID) {
+        Map<String, Object> map = homePageService.information(organizeID, userID);
+        return map;
+    }
+
+    /**
+     * 商品分类列表
+     *
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping("/classify")
+    public Page<CmOrganizeProducts> 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;
+    }
+
+
+}

+ 1 - 1
src/main/java/com/caimei/entity/CmOperationUser.java

@@ -5,7 +5,7 @@ import java.util.Date;
 
 public class CmOperationUser implements Serializable {
     private Integer id;
-    private Integer userOrganizeID;      //具体对应cm_user_organize表ID
+    private Integer userOrganizeID;      //具体对应cm_mall_organize表ID
     private Integer clubID;              //会所ID:隶属于哪个会所的运营人员
     private String mobile;              //手机号码
     private String linkName;            //联系人

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

@@ -0,0 +1,177 @@
+package com.caimei.entity;
+
+import java.io.Serializable;
+
+public class CmOrganizeProducts implements Serializable {
+    private Integer id;
+    private Integer classifyID;   //对应cm_mall_products_classify商品分类表id
+    private Integer organizeID;    //组织ID,具体对应cm_mall_organize表ID
+    private Integer productID;     //商品ID,具体对应product表
+    private Double normalPrice;    //市场价
+    private Double costPrice;       //成本价
+    private Double retailPrice;     //售价
+    private Integer minBuyNumber;    //最小起订量
+    private String preferredProduct;    //是否是优选商品:0不是优选,1优选商品
+    private String commonlyProduct;     //是否是常用商品:0不是常用,1常用商品
+    private String preferentialProduct; //是否是惊喜特惠:0不是特惠,1惊喜特惠商品
+    private String validFlag;       //商品状态,1已上架,2已下架
+    private Integer sort;       //排序默认为空,排序优先级1最高,空最后
+    private String addTime;     //添加时间
+    private String updateTime;     //更新时间
+    private String delFlag;     //是否有效状态 0 有效 其它无效
+    private String mainImage;   //主图
+    private String name;        //名称
+    private String unit;        //包装规格
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getClassifyID() {
+        return classifyID;
+    }
+
+    public void setClassifyID(Integer classifyID) {
+        this.classifyID = classifyID;
+    }
+
+    public Integer getOrganizeID() {
+        return organizeID;
+    }
+
+    public void setOrganizeID(Integer organizeID) {
+        this.organizeID = organizeID;
+    }
+
+    public Integer getProductID() {
+        return productID;
+    }
+
+    public void setProductID(Integer productID) {
+        this.productID = productID;
+    }
+
+    public Double getNormalPrice() {
+        return normalPrice;
+    }
+
+    public void setNormalPrice(Double normalPrice) {
+        this.normalPrice = normalPrice;
+    }
+
+    public Double getCostPrice() {
+        return costPrice;
+    }
+
+    public void setCostPrice(Double costPrice) {
+        this.costPrice = costPrice;
+    }
+
+    public Double getRetailPrice() {
+        return retailPrice;
+    }
+
+    public void setRetailPrice(Double retailPrice) {
+        this.retailPrice = retailPrice;
+    }
+
+    public Integer getMinBuyNumber() {
+        return minBuyNumber;
+    }
+
+    public void setMinBuyNumber(Integer minBuyNumber) {
+        this.minBuyNumber = minBuyNumber;
+    }
+
+    public String getPreferredProduct() {
+        return preferredProduct;
+    }
+
+    public void setPreferredProduct(String preferredProduct) {
+        this.preferredProduct = preferredProduct;
+    }
+
+    public String getCommonlyProduct() {
+        return commonlyProduct;
+    }
+
+    public void setCommonlyProduct(String commonlyProduct) {
+        this.commonlyProduct = commonlyProduct;
+    }
+
+    public String getPreferentialProduct() {
+        return preferentialProduct;
+    }
+
+    public void setPreferentialProduct(String preferentialProduct) {
+        this.preferentialProduct = preferentialProduct;
+    }
+
+    public String getValidFlag() {
+        return validFlag;
+    }
+
+    public void setValidFlag(String validFlag) {
+        this.validFlag = validFlag;
+    }
+
+    public Integer getSort() {
+        return sort;
+    }
+
+    public void setSort(Integer sort) {
+        this.sort = sort;
+    }
+
+    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 String getDelFlag() {
+        return delFlag;
+    }
+
+    public void setDelFlag(String delFlag) {
+        this.delFlag = delFlag;
+    }
+
+    public String getMainImage() {
+        return mainImage;
+    }
+
+    public void setMainImage(String mainImage) {
+        this.mainImage = mainImage;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getUnit() {
+        return unit;
+    }
+
+    public void setUnit(String unit) {
+        this.unit = unit;
+    }
+}

+ 87 - 0
src/main/java/com/caimei/entity/CmProductsClassify.java

@@ -0,0 +1,87 @@
+package com.caimei.entity;
+
+import java.io.Serializable;
+
+public class CmProductsClassify implements Serializable {
+    private Integer id;
+    private Integer organizeID;   //分类归属组织ID,具体对应cm_mall_organize表ID
+    private String classifyName;  //分类名称
+    private String classifyImage;  //分类图标
+    private Integer sort;    // 排序
+    private String status;   //分类使用状态:1启用,2停用
+    private String addTime;   //添加时间
+    private String updateTime;  //更新时间
+    private String delFlag;   //0 有效 其它无效
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getOrganizeID() {
+        return organizeID;
+    }
+
+    public void setOrganizeID(Integer organizeID) {
+        this.organizeID = organizeID;
+    }
+
+    public String getClassifyName() {
+        return classifyName;
+    }
+
+    public void setClassifyName(String classifyName) {
+        this.classifyName = classifyName;
+    }
+
+    public String getClassifyImage() {
+        return classifyImage;
+    }
+
+    public void setClassifyImage(String classifyImage) {
+        this.classifyImage = classifyImage;
+    }
+
+    public Integer getSort() {
+        return sort;
+    }
+
+    public void setSort(Integer sort) {
+        this.sort = sort;
+    }
+
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+
+    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 String getDelFlag() {
+        return delFlag;
+    }
+
+    public void setDelFlag(String delFlag) {
+        this.delFlag = delFlag;
+    }
+}

+ 19 - 0
src/main/java/com/caimei/mapper/products/HomePageMapper.java

@@ -0,0 +1,19 @@
+package com.caimei.mapper.products;
+
+import com.caimei.entity.CmOrganizeProducts;
+import com.caimei.entity.CmProductsClassify;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+@Mapper
+public interface HomePageMapper {
+
+    List<CmProductsClassify> findClassify(Integer organizeID);
+
+    List<CmOrganizeProducts> findProducts(Integer organizeID);
+
+    Integer cartQuantity(Integer userID);
+
+    List<CmOrganizeProducts> classify(CmOrganizeProducts organizeProducts);
+}

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

@@ -0,0 +1,12 @@
+package com.caimei.service.products;
+
+import com.caimei.entity.CmOrganizeProducts;
+
+import java.util.List;
+import java.util.Map;
+
+public interface HomePageService {
+    Map<String, Object> information(Integer organizeID, Integer userID);
+
+    List<CmOrganizeProducts> classify(CmOrganizeProducts organizeProducts);
+}

+ 38 - 0
src/main/java/com/caimei/service/products/impl/HomePageServiceImpl.java

@@ -0,0 +1,38 @@
+package com.caimei.service.products.impl;
+
+import com.caimei.entity.CmOrganizeProducts;
+import com.caimei.entity.CmProductsClassify;
+import com.caimei.mapper.products.HomePageMapper;
+import com.caimei.service.products.HomePageService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class HomePageServiceImpl implements HomePageService {
+    @Autowired
+    private HomePageMapper homePageMapper;
+
+    @Override
+    public Map<String, Object> information(Integer organizeID, Integer userID) {
+        Map<String, Object> map = new HashMap();
+        //商品分类
+        List<CmProductsClassify> productsClassify = homePageMapper.findClassify(organizeID);
+        //常用商品
+        List<CmOrganizeProducts> organizeProducts = homePageMapper.findProducts(organizeID);
+        //购物车数量
+        Integer count = homePageMapper.cartQuantity(userID);
+        map.put("productsClassify", productsClassify);
+        map.put("organizeProducts", organizeProducts);
+        map.put("count", count);
+        return map;
+    }
+
+    @Override
+    public List<CmOrganizeProducts> classify(CmOrganizeProducts organizeProducts) {
+        return homePageMapper.classify(organizeProducts);
+    }
+}

+ 70 - 0
src/main/resources/mapper/HomePageMapper.xml

@@ -0,0 +1,70 @@
+<?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.HomePageMapper">
+    <select id="findClassify" resultType="com.caimei.entity.CmProductsClassify" parameterType="int">
+        SELECT
+          *
+        FROM
+          cm_mall_products_classify
+        WHERE
+          organizeID = #{organizeID}
+          AND STATUS = '1'
+          AND delFlag = '0'
+        ORDER BY
+          IF(ISNULL(sort),1,0) ASC,
+          sort ASC
+    </select>
+
+    <select id="findProducts" resultType="com.caimei.entity.CmOrganizeProducts" parameterType="int">
+        SELECT
+          p.mainImage,
+          p.name,
+          cop.retailPrice,
+          cop.id,
+          cop.organizeID
+        FROM
+          cm_mall_organize_products cop
+          LEFT JOIN product p ON cop.productID = p.productID
+        WHERE
+          cop.organizeID = #{organizeID}
+          AND cop.commonlyProduct = '1'
+          AND cop.delFlag = '0'
+          AND cop.validFlag='1'
+        ORDER BY
+          IF(ISNULL(cop.sort),1,0) ASC,
+          cop.sort ASC
+        LIMIT
+          5
+    </select>
+
+    <select id="cartQuantity" resultType="int" parameterType="int">
+        SELECT
+          SUM(productCount)
+        FROM
+          cm_mall_cart
+        WHERE
+          userID = #{userID}
+          AND delFlag = '0'
+    </select>
+
+    <select id="classify" resultType="com.caimei.entity.CmOrganizeProducts" parameterType="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
+          cmop.classifyID = #{classifyID}
+          AND cmop.organizeID= #{organizeID}
+          AND cmop.validFlag = '1'
+          AND cmop.delFlag = '0'
+        ORDER BY
+          cmop.addTime DESC
+    </select>
+
+</mapper>

+ 6 - 6
src/main/resources/mapper/LoginMapper.xml

@@ -7,7 +7,7 @@
         SELECT
           cou.*
         FROM
-          cm_operation_user cou
+          cm_mall_operation_user cou
           LEFT JOIN USER u ON u.userID = cou.userID
         WHERE
           cou.openid = #{openid}
@@ -21,7 +21,7 @@
           cou.*,
           u.clubStatus
         FROM
-          cm_operation_user cou
+          cm_mall_operation_user cou
           LEFT JOIN USER u ON u.userID = cou.userID
         WHERE
           cou.invitationCode = #{invitationCode}
@@ -30,7 +30,7 @@
 
     <update id="update" parameterType="com.caimei.entity.CmOperationUser">
         UPDATE
-          cm_operation_user
+          cm_mall_operation_user
         SET
           nickName = #{nickName},
           openid = #{openid},
@@ -44,7 +44,7 @@
 
     <update id="updateOperationUser" parameterType="com.caimei.entity.CmOperationUser">
         UPDATE
-          cm_operation_user
+          cm_mall_operation_user
         SET
           nickName = #{nickName},
           openid = #{openid},
@@ -60,7 +60,7 @@
         SELECT
           cou.*
         FROM
-          cm_operation_user cou
+          cm_mall_operation_user cou
           LEFT JOIN USER u ON u.userID = cou.userID
         WHERE
           cou.openid = #{openid}
@@ -73,7 +73,7 @@
         SELECT
           contactNumber
         FROM
-          cm_user_organize
+          cm_mall_organize
         WHERE
           id = #{userOrganizeID}
           AND delFlag = '0'

+ 4 - 4
src/main/resources/mapper/PersonalMapper.xml

@@ -13,10 +13,10 @@
           cuo.contactNumber,
           cuo.introduction
         FROM
-          cm_operation_user cou
+          cm_mall_operation_user cou
           LEFT JOIN USER u ON u.userID = cou.userID
           LEFT JOIN club c ON u.clubID = c.clubID
-          LEFT JOIN cm_user_organize cuo ON cuo.id=cou.userOrganizeID
+          LEFT JOIN cm_mall_organize cuo ON cuo.id=cou.userOrganizeID
         WHERE
           cou.openid = #{openid}
           AND cou.userOrganizeID = #{userOrganizeID}
@@ -29,8 +29,8 @@
         FROM
         cm_user_balance_record cubr
         <where>
-            <if test="balanceType != null and balanceType != ''">
-                AND cubr.balanceType = #{balanceType}
+            <if test="type != null and type != ''">
+                AND cubr.type = #{type}
             </if>
             AND cubr.addDate <![CDATA[ >= ]]> #{startTime}
             AND cubr.addDate <![CDATA[ <= ]]> #{endTime}