PLF 5 سال پیش
والد
کامیت
986c036d03

+ 9 - 9
src/main/java/com/caimei/modules/club/controller/CmUserOrganizeController.java

@@ -78,9 +78,9 @@ public class CmUserOrganizeController {
      * @param cmUserOrganize
      * @return
      */
+    @ResponseBody
     @RequestMapping(value = "saveAddClubUser")
-    @Transactional
-    public JsonModel saveAddClubUser(CmUserOrganize cmUserOrganize, Page page, NewCmClub newCmClub, CmUser cmUser) throws Exception {
+    public JsonModel saveAddClubUser(CmUserOrganize cmUserOrganize, NewCmClub newCmClub, CmUser cmUser) throws Exception {
         JsonModel jsonModel = JsonModel.newInstance();
         String contractMobile = newCmClub.getContractMobile();
         Integer userID = newCmClub.getUserID();
@@ -170,7 +170,7 @@ public class CmUserOrganizeController {
     /**
      * 初始化用户数据
      */
-    public CmUser initUser(CmUser cmUser, NewCmClub newCmClub) throws Exception {
+    public CmUser initUser(CmUser cmUser, NewCmClub newCmClub) {
         String curTime = DateUtils.getDateTime();
         cmUser.setRegisterUserTypeID("3");//设置为会所
         cmUser.setUserIdentity(2);
@@ -229,9 +229,9 @@ public class CmUserOrganizeController {
      */
     @ResponseBody
     @RequestMapping("/province")
-    public List<Province> getProvince() {
+    public JsonModel getProvince() {
         List<Province> provinceList = cmUserOrganizeService.getProvince();
-        return provinceList;
+        return JsonModel.newInstance().success(provinceList);
     }
 
     /**
@@ -239,9 +239,9 @@ public class CmUserOrganizeController {
      */
     @ResponseBody
     @RequestMapping("/city")
-    public List<City> getCity(Long provinceid) {
+    public JsonModel getCity(Long provinceid) {
         List<City> cityList = cmUserOrganizeService.getCity(provinceid);
-        return cityList;
+        return JsonModel.newInstance().success(cityList);
     }
 
     /**
@@ -249,9 +249,9 @@ public class CmUserOrganizeController {
      */
     @ResponseBody
     @RequestMapping("/town")
-    public List<Town> getTown(Integer cityid) {
+    public JsonModel getTown(Integer cityid) {
         List<Town> townList = cmUserOrganizeService.getTown(cityid);
-        return townList;
+        return JsonModel.newInstance().success(townList);
     }
 
 }

+ 5 - 5
src/main/java/com/caimei/modules/club/entity/City.java

@@ -4,7 +4,7 @@ public class City implements java.io.Serializable {
 
 	private static final long serialVersionUID = 1L;
 
-	private Integer id;
+	private Integer cityID;
 	private Integer provinceId;
 	private String name;
 	private String validFlag;
@@ -13,12 +13,12 @@ public class City implements java.io.Serializable {
 		return serialVersionUID;
 	}
 
-	public Integer getId() {
-		return id;
+	public Integer getCityID() {
+		return cityID;
 	}
 
-	public void setId(Integer id) {
-		this.id = id;
+	public void setCityID(Integer cityID) {
+		this.cityID = cityID;
 	}
 
 	public Integer getProvinceId() {

+ 5 - 4
src/main/java/com/caimei/modules/club/entity/NewCmClub.java

@@ -5,6 +5,7 @@ import org.hibernate.validator.constraints.Length;
 
 import javax.validation.constraints.NotNull;
 import java.beans.Transient;
+import java.io.Serializable;
 import java.util.Date;
 
 /**
@@ -13,7 +14,7 @@ import java.util.Date;
  * @author zcp
  * @version 2018-05-21
  */
-public class NewCmClub {
+public class NewCmClub implements Serializable {
 
     private static final long serialVersionUID = 1L;
     private Integer id;
@@ -89,7 +90,7 @@ public class NewCmClub {
     private String scanFlag;        // 扫描状态 0待扫描 1 已扫描 2已上线
     private String headpic;        // 门头照
     private Date lastModify;        // 最后更新时间
-    private String firstClubType; // 一级分类为医美=1和生美=2
+    private Integer firstClubType; // 一级分类为医美=1和生美=2
     private String secondClubType; // 医美的二级分类为诊所=1、门诊=2、医院=3。  生美没有二级分类
     private String department; // 若为医美分类下的门诊和医院则需要填写科室。
     private String medicalPracticeLicenseImg; // 医美分类必须上传医疗执业许可证
@@ -843,11 +844,11 @@ public class NewCmClub {
         this.endTime = endTime;
     }
 
-    public String getFirstClubType() {
+    public Integer getFirstClubType() {
         return firstClubType;
     }
 
-    public void setFirstClubType(String firstClubType) {
+    public void setFirstClubType(Integer firstClubType) {
         this.firstClubType = firstClubType;
     }
 

+ 5 - 5
src/main/java/com/caimei/modules/club/entity/Province.java

@@ -4,7 +4,7 @@ public class Province implements java.io.Serializable {
 
 	private static final long serialVersionUID = 1L;
 
-	private Integer id;
+	private Integer provinceID;
 	private String name;
 	private String validFlag;
 
@@ -12,12 +12,12 @@ public class Province implements java.io.Serializable {
 		return serialVersionUID;
 	}
 
-	public Integer getId() {
-		return id;
+	public Integer getProvinceID() {
+		return provinceID;
 	}
 
-	public void setId(Integer id) {
-		this.id = id;
+	public void setProvinceID(Integer provinceID) {
+		this.provinceID = provinceID;
 	}
 
 	public String getName() {

+ 5 - 5
src/main/java/com/caimei/modules/club/entity/Town.java

@@ -4,7 +4,7 @@ public class Town implements java.io.Serializable {
 
     private static final long serialVersionUID = 1L;
 
-    private Integer id;
+    private Integer townID;
     private Integer cityId;
     private String name;
     private String zip;
@@ -15,12 +15,12 @@ public class Town implements java.io.Serializable {
         return serialVersionUID;
     }
 
-    public Integer getId() {
-        return id;
+    public Integer getTownID() {
+        return townID;
     }
 
-    public void setId(Integer id) {
-        this.id = id;
+    public void setTownID(Integer townID) {
+        this.townID = townID;
     }
 
     public Integer getCityId() {

+ 1 - 0
src/main/java/com/caimei/modules/order/controller/CmOrderRemarkController.java

@@ -43,6 +43,7 @@ public class CmOrderRemarkController {
     }
 
     //订单备注
+    @ResponseBody
     @RequestMapping(value = "remarksView")
     public JsonModel remarksView(Integer orderID, Integer shopOrderID) {
         //通过商品ID获取对应备注信息

+ 34 - 0
src/main/java/com/caimei/modules/shiro/controller/HomePageController.java

@@ -0,0 +1,34 @@
+package com.caimei.modules.shiro.controller;
+
+import com.caimei.modules.shiro.service.HomePageService;
+import com.caimei.utils.JsonModel;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+@RestController
+@RequestMapping("homepage")
+public class HomePageController {
+    @Autowired
+    private HomePageService homePageService;
+
+    /**
+     * 收款金额统计
+     */
+    @RequestMapping("receivable")
+    public JsonModel receivableAmount(String endTime, String startTime) {
+        Map<String, Object> map = homePageService.receivableAmount(endTime, startTime);
+        return JsonModel.newInstance().success(map);
+    }
+
+    /**
+     * 订单总量统计
+     */
+    @RequestMapping("order")
+    public JsonModel orderQuantity(String endTime, String startTime) {
+        Map<String, Object> map = homePageService.orderQuantity(endTime, startTime);
+        return JsonModel.newInstance().success(map);
+    }
+}

+ 16 - 0
src/main/java/com/caimei/modules/shiro/dao/HomePageDao.java

@@ -0,0 +1,16 @@
+package com.caimei.modules.shiro.dao;
+
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+@Mapper
+public interface HomePageDao {
+
+    Long findTotalFee(@Param("endTime") String endTime, @Param("startTime") String startTime);
+
+    Long findBalance(@Param("endTime") String endTime, @Param("startTime") String startTime);
+
+    Long findAssociate(@Param("endTime") String endTime, @Param("startTime") String startTime);
+
+    Integer orderQuantity(@Param("endTime") String endTime, @Param("startTime") String startTime, @Param("receiptStatus") String receiptStatus);
+}

+ 9 - 0
src/main/java/com/caimei/modules/shiro/service/HomePageService.java

@@ -0,0 +1,9 @@
+package com.caimei.modules.shiro.service;
+
+import java.util.Map;
+
+public interface HomePageService {
+    Map<String, Object> receivableAmount(String endTime, String startTime);
+
+    Map<String, Object> orderQuantity(String endTime, String startTime);
+}

+ 55 - 0
src/main/java/com/caimei/modules/shiro/service/impl/HomePageServiceImpl.java

@@ -0,0 +1,55 @@
+package com.caimei.modules.shiro.service.impl;
+
+import com.caimei.modules.shiro.dao.HomePageDao;
+import com.caimei.modules.shiro.service.HomePageService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.text.DecimalFormat;
+import java.util.HashMap;
+import java.util.Map;
+
+@Service
+public class HomePageServiceImpl implements HomePageService {
+    @Autowired
+    private HomePageDao homePageDao;
+
+    @Override
+    public Map<String, Object> receivableAmount(String endTime, String startTime) {
+        Map<String, Object> map = new HashMap();
+        //订单总额
+        Long payTotalFee = homePageDao.findTotalFee(endTime, startTime);
+        //余额支付总金额
+        Long balancePayFee = homePageDao.findBalance(endTime, startTime);
+        //已收总金额
+        Long associateAmount = homePageDao.findAssociate(endTime, startTime);
+        Long amountReceived = balancePayFee + associateAmount;
+        DecimalFormat df = new DecimalFormat("0%");
+        String percentage = "0%";
+        if (amountReceived != 0 && payTotalFee != 0) {
+            percentage = df.format(amountReceived * 1.0 / payTotalFee);
+        }
+        map.put("payTotalFee", payTotalFee);
+        map.put("amountReceived", amountReceived);
+        map.put("percentage", percentage);
+        return map;
+    }
+
+    @Override
+    public Map<String, Object> orderQuantity(String endTime, String startTime) {
+        Map<String, Object> map = new HashMap();
+        DecimalFormat df = new DecimalFormat("0%");
+        //订单总数量
+        Integer count = homePageDao.orderQuantity(endTime, startTime, "");
+        //已收款数量
+        Integer received = homePageDao.orderQuantity(endTime, startTime, "3");
+        String receivedPercentage = df.format(received * 1.0 / count);
+        //部分收款数量
+        Integer portion = homePageDao.orderQuantity(endTime, startTime, "2");
+        String portionPercentage = df.format(portion * 1.0 / count);
+        map.put("count", count);
+        map.put("receivedPercentage", receivedPercentage);
+        map.put("portionPercentage", portionPercentage);
+        return map;
+    }
+}

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

@@ -0,0 +1,78 @@
+<?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.modules.shiro.dao.HomePageDao">
+    <select id="findTotalFee" resultType="Long">
+        SELECT
+          IFNULL(SUM(payTotalFee),0)
+        FROM
+          cm_order
+        WHERE
+          status NOT IN (0, 6, 7)
+          AND organizeID = 1
+          AND delFlag='0'
+        <if test="startTime != null and startTime != ''">
+            AND orderTime <![CDATA[ >= ]]> #{startTime}
+        </if>
+        <if test="endTime != null and endTime != ''">
+            AND orderTime <![CDATA[ <= ]]> #{endTime}
+        </if>
+    </select>
+
+    <select id="findBalance" resultType="Long">
+        SELECT
+          IFNULL(SUM(balancePayFee),0)
+        FROM
+          cm_order
+        WHERE
+          status NOT IN (0, 6, 7)
+          AND organizeID = 1
+          AND delFlag='0'
+        <if test="startTime != null and startTime != ''">
+            AND orderTime <![CDATA[ >= ]]> #{startTime}
+        </if>
+        <if test="endTime != null and endTime != ''">
+            AND orderTime <![CDATA[ <= ]]> #{endTime}
+        </if>
+    </select>
+
+    <select id="findAssociate" resultType="Long">
+        SELECT
+          IFNULL(SUM(associateAmount),0)
+        FROM
+          cm_receipt_order_relation cror
+          LEFT JOIN cm_order co ON cror.orderID = co.orderID
+        WHERE
+          co.status NOT IN (0, 6, 7)
+          AND co.organizeID = 1
+          AND cror.relationType = '2'
+          AND cror.delFlag = '0'
+        <if test="startTime != null and startTime != ''">
+            AND co.orderTime <![CDATA[ >= ]]> #{startTime}
+        </if>
+        <if test="endTime != null and endTime != ''">
+            AND co.orderTime <![CDATA[ <= ]]> #{endTime}
+        </if>
+    </select>
+
+    <select id="orderQuantity" resultType="int">
+        SELECT
+          COUNT(*)
+        FROM
+          cm_order
+        WHERE
+          STATUS NOT IN (0, 6, 7)
+          AND organizeID = 1
+          AND delFlag = '0'
+        <if test="startTime != null and startTime != ''">
+            AND co.orderTime <![CDATA[ >= ]]> #{startTime}
+        </if>
+        <if test="endTime != null and endTime != ''">
+            AND co.orderTime <![CDATA[ <= ]]> #{endTime}
+        </if>
+        <if test="receiptStatus != null and receiptStatus != ''">
+            AND receiptStatus = #{receiptStatus}
+        </if>
+    </select>
+</mapper>