From c1cb25ff1c05f90858aaef8cb12ccade4c36dba7 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Tue, 22 Dec 2020 17:45:53 +0800
Subject: [PATCH] modify
---
zq-erp/src/main/java/com/matrix/system/app/action/ApiVipLabelAction.java | 38 ++++
zq-erp/src/main/java/com/matrix/system/app/vo/VipInfoDetailVo.java | 138 +++++++++++++++++
zq-erp/src/main/java/com/matrix/system/hive/service/SysVipInfoService.java | 5
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java | 74 +++++++-
zq-erp/src/main/java/com/matrix/system/app/dto/AddVipDto.java | 146 ++++++++++++++++++
zq-erp/src/main/java/com/matrix/system/app/action/ApiVipInfoAction.java | 53 ++++++
6 files changed, 441 insertions(+), 13 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 0847e89..457a54a 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
@@ -2,12 +2,17 @@
import com.matrix.core.constance.MatrixConstance;
import com.matrix.core.pojo.AjaxResult;
+import com.matrix.core.tools.StringUtils;
import com.matrix.core.tools.WebUtil;
+import com.matrix.system.app.dto.AddVipDto;
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.CustomerDataDictionary;
import com.matrix.system.common.bean.SysUsers;
+import com.matrix.system.common.dao.CustomerDataDictionaryDao;
import com.matrix.system.common.tools.DataAuthUtil;
+import com.matrix.system.hive.action.BaseController;
import com.matrix.system.hive.bean.SysVipLevel;
import com.matrix.system.hive.service.SysVipInfoService;
import com.matrix.system.hive.service.SysVipLevelService;
@@ -16,6 +21,7 @@
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@@ -27,7 +33,7 @@
@Api(value = "ApiVipInfoAction", tags = "会员接口类")
@RestController
@RequestMapping(value = "/api/vip")
-public class ApiVipInfoAction {
+public class ApiVipInfoAction extends BaseController {
@Autowired
private SysVipInfoService sysVipInfoService;
@@ -35,16 +41,26 @@
@Autowired
private SysVipLevelService sysVipLevelService;
+ @Autowired
+ private CustomerDataDictionaryDao customerDataDictionaryDao;
+
@ApiOperation(value = "获取会员通讯录列表", notes = "获取会员通讯录列表")
@ApiResponses({
@ApiResponse(code = 200, message = "ok", response = VipInfoListVo.class)
})
@PostMapping(value = "/findVipInfoList")
public AjaxResult findVipInfoList(@RequestBody VipInfoListDto vipInfoListDto) {
+ if (StringUtils.isBlank(vipInfoListDto.getSort())) {
+ vipInfoListDto.setSort("zjm");
+ }
+
+ if (StringUtils.isBlank(vipInfoListDto.getOrder())) {
+ vipInfoListDto.setOrder("asc");
+ }
return AjaxResult.buildSuccessInstance(sysVipInfoService.findVipAddressBook(vipInfoListDto));
}
- @ApiOperation(value = "根据id查询用户信息", notes = "根据id查询用户信息")
+ @ApiOperation(value = "根据id查询用户信息(通讯录及个人中心)", notes = "根据id查询用户信息")
@ApiResponses({
@ApiResponse(code = 200, message = "ok", response = VipInfoVo.class)
})
@@ -54,6 +70,12 @@
VipInfoVo vipInfoVo = sysVipInfoService.findApiVipInfoById(id);
ajaxResult.putInMap("vipInfo", vipInfoVo);
return ajaxResult;
+ }
+
+ @ApiOperation(value = "根据id查询用户详细信息")
+ @GetMapping(value = "/findVipInfoDetailById/{id}")
+ public AjaxResult findVipInfoDetailById(@PathVariable("id") Long id) {
+ return null;
}
@ApiOperation(value = "查询会员类型", notes = "查询会员类型")
@@ -70,4 +92,31 @@
return AjaxResult.buildSuccessInstance(sysVipLevelService.findByModel(sysVipLevel));
}
+
+
+ @ApiOperation(value = "获取到店途径列表", notes = "获取到店途径列表")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "ok", response = CustomerDataDictionary.class)
+ })
+ @GetMapping(value = "/findArrivalWayList")
+ public AjaxResult findArrivalWayList() {
+ List<CustomerDataDictionary> ddtj = customerDataDictionaryDao.selectByParentCode("DDTJ", getMe().getCompanyId());
+ return AjaxResult.buildSuccessInstance(ddtj);
+ }
+
+ @ApiOperation(value = "添加会员", notes = "添加会员")
+ @PostMapping(value = "/addVip")
+ public AjaxResult addVip(@RequestBody @Validated AddVipDto addVipDto) {
+ int i = sysVipInfoService.apiAddVip(addVipDto);
+ if (i > 0) {
+ return AjaxResult.buildSuccessInstance("新增成功");
+ }
+ return AjaxResult.buildSuccessInstance("新增失败");
+ }
+
+ @ApiOperation(value = "编辑会员", notes = "编辑会员")
+ @PostMapping(value = "/modifyVip")
+ public AjaxResult modifyVip(@RequestBody AddVipDto addVipDto) {
+ return null;
+ }
}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiVipLabelAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiVipLabelAction.java
new file mode 100644
index 0000000..1d518c6
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiVipLabelAction.java
@@ -0,0 +1,38 @@
+package com.matrix.system.app.action;
+
+import com.matrix.core.pojo.AjaxResult;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @author wzy
+ * @date 2020-12-22
+ **/
+//@Api(value = "ApiVipLabelAction", tags = "客户标签接口类")
+@RestController
+@RequestMapping(value = "/api/label")
+public class ApiVipLabelAction {
+
+
+ @ApiOperation(value = "获取客户标签列表", notes = "获取客户标签列表")
+ @GetMapping(value = "/findLabelByVipId/{vipId}")
+ public AjaxResult findLabelByVipId(@PathVariable("vipId") Long vipId) {
+ return null;
+ }
+
+
+ @ApiOperation(value = "添加客户标签", notes = "添加客户标签")
+ @PostMapping(value = "/addLabel")
+ public AjaxResult addLabel() {
+ return null;
+ }
+
+ @ApiOperation(value = "删除标签", notes = "删除标签")
+ @GetMapping(value = "/delById/{id}")
+ public AjaxResult delById(@PathVariable("id") Long id) {
+ return null;
+ }
+
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/dto/AddVipDto.java b/zq-erp/src/main/java/com/matrix/system/app/dto/AddVipDto.java
new file mode 100644
index 0000000..901729b
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/dto/AddVipDto.java
@@ -0,0 +1,146 @@
+package com.matrix.system.app.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.matrix.core.tools.DateUtil;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author wzy
+ * @date 2020-12-22
+ **/
+@ApiModel(value = "AddVipDto", description = "添加会员接收参数类")
+public class AddVipDto {
+
+ @NotBlank(message = "会员编号不能为空")
+ @ApiModelProperty(value = "会员编号")
+ private String vipNo;
+
+ @NotBlank(message = "姓名不能为空")
+ @ApiModelProperty(value = "会员姓名")
+ private String vipName;
+
+ @NotBlank(message = "手机号不能为空")
+ @ApiModelProperty(value = "手机号")
+ private String phone;
+
+ @NotBlank(message = "性别不能为空")
+ @ApiModelProperty(value = "性别", example = "男/女")
+ private String sex;
+
+ @NotNull(message = "生日不能为空")
+ @ApiModelProperty(value = "生日")
+ @JsonFormat(pattern = DateUtil.DATE_FORMAT_DD, timezone = "GMT+8")
+ private Date birthday;
+
+ @ApiModelProperty(value = "省市区", example = "湖南省,长沙市,岳麓区")
+ private String areas;
+
+ @ApiModelProperty(value = "详细地址")
+ private String address;
+
+ @ApiModelProperty(value = "到店途径", example = "网络团购")
+ private String arrivalWay;
+
+ @ApiModelProperty(value = "推荐人ID")
+ private Long recommendId;
+
+ @ApiModelProperty(value = "备注")
+ private String remark;
+
+ @ApiModelProperty(value = "标签列表")
+ private List<String> labels;
+
+ public String getVipNo() {
+ return vipNo;
+ }
+
+ public void setVipNo(String vipNo) {
+ this.vipNo = vipNo;
+ }
+
+ 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 getSex() {
+ return sex;
+ }
+
+ public void setSex(String sex) {
+ this.sex = sex;
+ }
+
+ public Date getBirthday() {
+ return birthday;
+ }
+
+ public void setBirthday(Date birthday) {
+ this.birthday = birthday;
+ }
+
+ public String getAreas() {
+ return areas;
+ }
+
+ public void setAreas(String areas) {
+ this.areas = areas;
+ }
+
+ public String getAddress() {
+ return address;
+ }
+
+ public void setAddress(String address) {
+ this.address = address;
+ }
+
+ public String getArrivalWay() {
+ return arrivalWay;
+ }
+
+ public void setArrivalWay(String arrivalWay) {
+ this.arrivalWay = arrivalWay;
+ }
+
+ public Long getRecommendId() {
+ return recommendId;
+ }
+
+ public void setRecommendId(Long recommendId) {
+ this.recommendId = recommendId;
+ }
+
+ public String getRemark() {
+ return remark;
+ }
+
+ public void setRemark(String remark) {
+ this.remark = remark;
+ }
+
+ public List<String> getLabels() {
+ return labels;
+ }
+
+ public void setLabels(List<String> labels) {
+ this.labels = labels;
+ }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/VipInfoDetailVo.java b/zq-erp/src/main/java/com/matrix/system/app/vo/VipInfoDetailVo.java
new file mode 100644
index 0000000..e304ec6
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/vo/VipInfoDetailVo.java
@@ -0,0 +1,138 @@
+package com.matrix.system.app.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.matrix.core.tools.DateUtil;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.Date;
+
+/**
+ * @author wzy
+ * @date 2020-12-22
+ **/
+@ApiModel(value = "VipInfoDetailVo", description = "客户详细信息接口返回类")
+public class VipInfoDetailVo {
+
+ @ApiModelProperty(value = "会员姓名")
+ private String vipName;
+
+ @ApiModelProperty(value = "手机号")
+ private String phone;
+
+ @ApiModelProperty(value = "性别")
+ private String sex;
+
+ @ApiModelProperty(value = "生日")
+ @JsonFormat(pattern = DateUtil.DATE_FORMAT_DD, timezone = "GMT+8")
+ private Date birthday;
+
+ @ApiModelProperty(value = "省")
+ private String province;
+
+ @ApiModelProperty(value = "市")
+ private String city;
+
+ @ApiModelProperty(value = "区")
+ private String area;
+
+ @ApiModelProperty(value = "详细地址")
+ private String address;
+
+ @ApiModelProperty(value = "到店途径")
+ private String arrivalWay;
+
+ @ApiModelProperty(value = "推荐人ID")
+ private Long recommendId;
+
+ @ApiModelProperty(value = "备注")
+ private String remark;
+
+ 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 getSex() {
+ return sex;
+ }
+
+ public void setSex(String sex) {
+ this.sex = sex;
+ }
+
+ public Date getBirthday() {
+ return birthday;
+ }
+
+ public void setBirthday(Date birthday) {
+ this.birthday = birthday;
+ }
+
+ public String getProvince() {
+ return province;
+ }
+
+ public void setProvince(String province) {
+ this.province = province;
+ }
+
+ public String getCity() {
+ return city;
+ }
+
+ public void setCity(String city) {
+ this.city = city;
+ }
+
+ public String getArea() {
+ return area;
+ }
+
+ public void setArea(String area) {
+ this.area = area;
+ }
+
+ public String getAddress() {
+ return address;
+ }
+
+ public void setAddress(String address) {
+ this.address = address;
+ }
+
+ public String getArrivalWay() {
+ return arrivalWay;
+ }
+
+ public void setArrivalWay(String arrivalWay) {
+ this.arrivalWay = arrivalWay;
+ }
+
+ public Long getRecommendId() {
+ return recommendId;
+ }
+
+ public void setRecommendId(Long recommendId) {
+ this.recommendId = recommendId;
+ }
+
+ public String getRemark() {
+ return remark;
+ }
+
+ public void setRemark(String remark) {
+ this.remark = remark;
+ }
+}
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 48f1932..51f141b 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
@@ -1,6 +1,7 @@
package com.matrix.system.hive.service;
import com.matrix.core.pojo.PaginationVO;
+import com.matrix.system.app.dto.AddVipDto;
import com.matrix.system.app.dto.VipInfoListDto;
import com.matrix.system.app.vo.VipInfoListVo;
import com.matrix.system.hive.bean.SysVipInfo;
@@ -186,4 +187,8 @@
List<VipInfoListVo> findVipAddressBook(VipInfoListDto vipInfoListDto);
com.matrix.system.app.vo.VipInfoVo findApiVipInfoById(Long id);
+
+ int apiAddVip(AddVipDto addVipDto);
+
+
}
\ 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 dc9a7fa..b3845ce 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
@@ -6,6 +6,7 @@
import com.matrix.core.tools.*;
import com.matrix.core.tools.excl.ExcelSheetPO;
import com.matrix.core.tools.excl.ExcelUtil;
+import com.matrix.system.app.dto.AddVipDto;
import com.matrix.system.app.dto.VipInfoListDto;
import com.matrix.system.app.vo.VipInfoListVo;
import com.matrix.system.common.bean.SysUsers;
@@ -13,14 +14,8 @@
import com.matrix.system.common.tools.ServiceUtil;
import com.matrix.system.constance.Dictionary;
import com.matrix.system.constance.TableMapping;
-import com.matrix.system.hive.bean.MoneyCardUse;
-import com.matrix.system.hive.bean.MyBeatician;
-import com.matrix.system.hive.bean.SysVipInfo;
-import com.matrix.system.hive.bean.VipAnswer;
-import com.matrix.system.hive.dao.MoneyCardUseDao;
-import com.matrix.system.hive.dao.MyBeaticianDao;
-import com.matrix.system.hive.dao.SysVipInfoDao;
-import com.matrix.system.hive.dao.VipAnswerDao;
+import com.matrix.system.hive.bean.*;
+import com.matrix.system.hive.dao.*;
import com.matrix.system.hive.plugin.util.CollectionUtils;
import com.matrix.system.hive.pojo.VipInfoVo;
import com.matrix.system.hive.service.SysVipInfoService;
@@ -32,9 +27,7 @@
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.security.NoSuchAlgorithmException;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
/**
@@ -59,6 +52,9 @@
@Autowired
private MoneyCardUseDao moneyCardUseDao;
+
+ @Autowired
+ private SysVipLabelDao sysVipLabelDao;
/**
* 新增会员储值卡
@@ -433,4 +429,60 @@
public com.matrix.system.app.vo.VipInfoVo findApiVipInfoById(Long id) {
return sysVipInfoDao.selectVipInfoById(id);
}
+
+ @Override
+ public int apiAddVip(AddVipDto addVipDto) {
+ SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+
+ if (serviceUtil.addCheckRepeatTowColumn(TableMapping.SYS_VIP_INFO, "VIP_NO", addVipDto.getVipNo(),
+ "company_id",user.getCompanyId())) {
+ throw new GlobleException("编号已存在!");
+ }
+
+ if (serviceUtil.addCheckRepeatTowColumn(TableMapping.SYS_VIP_INFO, "PHONE", addVipDto.getPhone(),
+ "company_id",user.getCompanyId() )) {
+ throw new GlobleException("手机已被注册!");
+ }
+
+ SysVipInfo vipInfo = new SysVipInfo();
+ vipInfo.setVipName(addVipDto.getVipName());
+ vipInfo.setVipNo(addVipDto.getVipNo());
+ vipInfo.setSex(addVipDto.getSex());
+ vipInfo.setArrivalWay(addVipDto.getArrivalWay());
+ vipInfo.setPhone(addVipDto.getPhone());
+ vipInfo.setAddr(addVipDto.getAddress());
+ vipInfo.setRemark(addVipDto.getRemark());
+
+ vipInfo.setInDate(new Date());
+ vipInfo.setPointAll(0);
+ vipInfo.setBirthday1(addVipDto.getBirthday());
+ vipInfo.setVipState(Dictionary.VIP_STATE_HY);
+ vipInfo.setStaffId(user.getSuId());
+ vipInfo.setShopId(user.getShopId());
+ vipInfo.setVipType(Dictionary.VIP_TYPE_NOCARD);
+ vipInfo.setShopId(user.getShopId());
+ vipInfo.setCompanyId(user.getCompanyId());
+ vipInfo.setCreateTime(new Date());
+ vipInfo.setPointAll(0);
+ vipInfo.setIsDeal(SysVipInfo.UNDEAL_VIP);
+ vipInfo.setZjm(StringUtils.toHanyuPinyin(vipInfo.getVipName())+","+StringUtils.toHeadWordHanyuPinyin(vipInfo.getVipName()));
+ int i=sysVipInfoDao.insert(vipInfo);
+
+ if (CollectionUtils.isNotEmpty(addVipDto.getLabels())) {
+ Set<String> labels = new HashSet<>(addVipDto.getLabels());
+ Iterator<String> iterator = labels.iterator();
+ if (iterator.hasNext()) {
+ SysVipLabel sysVipLabel = new SysVipLabel();
+ sysVipLabel.setCreateTime(new Date());
+ sysVipLabel.setCreateBy(user.getSuName());
+ sysVipLabel.setLabel(iterator.next());
+ sysVipLabel.setVipId(vipInfo.getId());
+ sysVipLabelDao.insert(sysVipLabel);
+ }
+ }
+
+ //创建用户默认储值卡
+ addVipDefaultCard(vipInfo.getId());
+ return i;
+ }
}
\ No newline at end of file
--
Gitblit v1.9.1