From 438bfdc0558862af32525aa2cdaaf9719a201db4 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Tue, 22 Dec 2020 15:39:57 +0800
Subject: [PATCH] finish findVipInfoById

---
 zq-erp/src/main/resources/mybatis/mapper/hive/SysVipInfoDao.xml                    |   21 +++++++
 zq-erp/src/main/java/com/matrix/system/hive/service/SysVipInfoService.java         |    2 
 zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java |    5 +
 zq-erp/src/main/java/com/matrix/system/hive/dao/SysVipInfoDao.java                 |    2 
 zq-erp/src/main/java/com/matrix/system/app/action/ApiVipInfoAction.java            |   15 +++-
 zq-erp/src/main/java/com/matrix/system/app/vo/VipInfoVo.java                       |  125 +++++++++++++++++++++++++++++++++++++++++
 6 files changed, 166 insertions(+), 4 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiVipInfoAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiVipInfoAction.java
index 149a2da..2d89890 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/action/ApiVipInfoAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiVipInfoAction.java
@@ -5,6 +5,7 @@
 import com.matrix.core.tools.WebUtil;
 import com.matrix.system.app.dto.VipInfoListDto;
 import com.matrix.system.app.vo.VipInfoListVo;
+import com.matrix.system.app.vo.VipInfoVo;
 import com.matrix.system.common.bean.SysUsers;
 import com.matrix.system.common.tools.DataAuthUtil;
 import com.matrix.system.hive.bean.SysVipLevel;
@@ -43,10 +44,16 @@
         return AjaxResult.buildSuccessInstance(sysVipInfoService.findVipAddressBook(vipInfoListDto));
     }
 
-    @ApiOperation(value = "根据手机号查询用户信息", notes = "根据手机号查询用户信息")
-    @GetMapping(value = "/findVipInfoByPhone/{phone}")
-    public AjaxResult findVipInfoByPhone(@PathVariable("phone") String phone) {
-        return null;
+    @ApiOperation(value = "根据id查询用户信息", notes = "根据id查询用户信息")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "ok", response = VipInfoVo.class)
+    })
+    @GetMapping(value = "/findVipInfoByPhone/{id}")
+    public AjaxResult findVipInfoByPhone(@PathVariable("id") Long id) {
+        AjaxResult ajaxResult = AjaxResult.buildSuccessInstance("获取成功");
+        VipInfoVo vipInfoVo = sysVipInfoService.findApiVipInfoById(id);
+        ajaxResult.putInMap("vipInfo", vipInfoVo);
+        return ajaxResult;
     }
 
     @ApiOperation(value = "查询会员类型", notes = "查询会员类型")
diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/VipInfoVo.java b/zq-erp/src/main/java/com/matrix/system/app/vo/VipInfoVo.java
new file mode 100644
index 0000000..325c469
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/vo/VipInfoVo.java
@@ -0,0 +1,125 @@
+package com.matrix.system.app.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+
+/**
+ * @author wzy
+ * @date 2020-12-22
+ **/
+@ApiModel(value = "VipInfoVo", description = "客户信息返回类")
+public class VipInfoVo {
+
+    @ApiModelProperty(value = "头像")
+    private String photo;
+
+    @ApiModelProperty(value = "会员名称")
+    private String vipName;
+
+    @ApiModelProperty(value = "手机号")
+    private String phone;
+
+    @ApiModelProperty(value = "会员级别")
+    private String vipLevel;
+
+    @ApiModelProperty(value = "会员编号")
+    private String vipNo;
+
+    @ApiModelProperty(value = "总余额")
+    private BigDecimal totalBalance;
+
+    @ApiModelProperty(value = "赠送余额")
+    private BigDecimal giftBalance;
+
+    @ApiModelProperty(value = "积分")
+    private Integer integral;
+
+    @ApiModelProperty(value = "门店名称")
+    private String shopName;
+
+    @ApiModelProperty(value = "累计消费")
+    private BigDecimal totalShopping;
+
+
+    public String getPhoto() {
+        return photo;
+    }
+
+    public void setPhoto(String photo) {
+        this.photo = photo;
+    }
+
+    public String getVipName() {
+        return vipName;
+    }
+
+    public void setVipName(String vipName) {
+        this.vipName = vipName;
+    }
+
+    public String getPhone() {
+        return phone;
+    }
+
+    public void setPhone(String phone) {
+        this.phone = phone;
+    }
+
+    public String getVipLevel() {
+        return vipLevel;
+    }
+
+    public void setVipLevel(String vipLevel) {
+        this.vipLevel = vipLevel;
+    }
+
+    public String getVipNo() {
+        return vipNo;
+    }
+
+    public void setVipNo(String vipNo) {
+        this.vipNo = vipNo;
+    }
+
+    public BigDecimal getTotalBalance() {
+        return totalBalance.setScale(2, BigDecimal.ROUND_DOWN);
+    }
+
+    public void setTotalBalance(BigDecimal totalBalance) {
+        this.totalBalance = totalBalance;
+    }
+
+    public BigDecimal getGiftBalance() {
+        return giftBalance.setScale(2, BigDecimal.ROUND_DOWN);
+    }
+
+    public void setGiftBalance(BigDecimal giftBalance) {
+        this.giftBalance = giftBalance;
+    }
+
+    public Integer getIntegral() {
+        return integral;
+    }
+
+    public void setIntegral(Integer integral) {
+        this.integral = integral;
+    }
+
+    public String getShopName() {
+        return shopName;
+    }
+
+    public void setShopName(String shopName) {
+        this.shopName = shopName;
+    }
+
+    public BigDecimal getTotalShopping() {
+        return totalShopping;
+    }
+
+    public void setTotalShopping(BigDecimal totalShopping) {
+        this.totalShopping = totalShopping;
+    }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysVipInfoDao.java b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysVipInfoDao.java
index 0f32f68..2e0ba9f 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysVipInfoDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysVipInfoDao.java
@@ -206,4 +206,6 @@
 	public List<SysVipInfo> selectVipInfoByVipNo(@Param("companyId") Long companyId, @Param("vipNo") String vipNo);
 
 	List<VipInfoListVo> selectVipAddressBookByList(@Param("record") VipInfoListDto vipInfoListDto);
+
+	com.matrix.system.app.vo.VipInfoVo selectVipInfoById(@Param("id") Long id);
 }
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/SysVipInfoService.java b/zq-erp/src/main/java/com/matrix/system/hive/service/SysVipInfoService.java
index 8cfce80..48f1932 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/SysVipInfoService.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/SysVipInfoService.java
@@ -184,4 +184,6 @@
 		public int importVipInfo(File file) throws IOException;
 
 		List<VipInfoListVo> findVipAddressBook(VipInfoListDto vipInfoListDto);
+
+		com.matrix.system.app.vo.VipInfoVo findApiVipInfoById(Long id);
 }
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java
index e1f4005..dc9a7fa 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java
@@ -428,4 +428,9 @@
 		}
 		return sysVipInfoDao.selectVipAddressBookByList(vipInfoListDto);
 	}
+
+	@Override
+	public com.matrix.system.app.vo.VipInfoVo findApiVipInfoById(Long id) {
+		return sysVipInfoDao.selectVipInfoById(id);
+	}
 }
\ No newline at end of file
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/SysVipInfoDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/SysVipInfoDao.xml
index afb66ba..538d594 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysVipInfoDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysVipInfoDao.xml
@@ -1304,5 +1304,26 @@
             order by ${record.sort} ${record.order}
         </if>
     </select>
+
+    <select id="selectVipInfoById" resultType="com.matrix.system.app.vo.VipInfoVo">
+        select
+               a.ID id,
+               a.photo photo,
+               a.PHONE phone,
+               a.VIP_NAME vipName,
+               a.VIP_NO vipNo,
+               c.LEVEL_NAME vipLevel,
+               a.POINT_ALL integral,
+               e.shop_short_name shopName,
+               sum(IFNULL(b.gift_money, 0) + IFNULL(b.real_money, 0)) totalBalance,
+               sum(IFNULL(b.gift_money, 0)) giftBalance,
+               sum(IFNULL(d.goods_cash, 0) + IFNULL(d.proj_cash, 0) + IFNULL(d.card_cash, 0)) totalShopping
+        from sys_vip_info a
+        left join money_card_use b on a.ID = b.vip_id and b.status='有效'
+        left join sys_vip_level c on  a.LEVEL_ID = c.ID
+        left join achieve_new d on a.ID = d.vip_id
+        left join sys_shop_info e on a.SHOP_ID=e.ID
+        where a.ID=#{id}
+    </select>
 </mapper>
 	

--
Gitblit v1.9.1