From 339b59abc36c0aa07b99cb6de1b0553de2f48d7e Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Tue, 22 Dec 2020 18:53:44 +0800
Subject: [PATCH] modify
---
zq-erp/src/main/resources/mybatis/mapper/hive/SysVipInfoDao.xml | 33 ++++
zq-erp/src/main/java/com/matrix/system/app/vo/VipInfoDetailVo.java | 24 +++
zq-erp/src/main/java/com/matrix/system/app/dto/ModifyVipDto.java | 146 ++++++++++++++++++++
zq-erp/src/main/resources/mybatis/mapper/hive/SysVipLabelDao.xml | 5
zq-erp/src/main/java/com/matrix/system/hive/service/SysVipInfoService.java | 4
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java | 101 ++++++++++++-
zq-erp/src/main/java/com/matrix/system/hive/bean/SysVipInfo.java | 52 +++++++
zq-erp/src/main/java/com/matrix/system/app/action/ApiVipInfoAction.java | 20 ++
zq-erp/src/main/java/com/matrix/system/hive/dao/SysVipLabelDao.java | 2
9 files changed, 369 insertions(+), 18 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 457a54a..f091ec5 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,7 +5,9 @@
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.ModifyVipDto;
import com.matrix.system.app.dto.VipInfoListDto;
+import com.matrix.system.app.vo.VipInfoDetailVo;
import com.matrix.system.app.vo.VipInfoListVo;
import com.matrix.system.app.vo.VipInfoVo;
import com.matrix.system.common.bean.CustomerDataDictionary;
@@ -73,9 +75,15 @@
}
@ApiOperation(value = "根据id查询用户详细信息")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "ok", response = VipInfoDetailVo.class)
+ })
@GetMapping(value = "/findVipInfoDetailById/{id}")
public AjaxResult findVipInfoDetailById(@PathVariable("id") Long id) {
- return null;
+ VipInfoDetailVo vipInfoDetailVo = sysVipInfoService.findVipInfoDetail(id);
+ AjaxResult ajaxResult = AjaxResult.buildSuccessInstance("获取成功");
+ ajaxResult.putInMap("vipInfo", vipInfoDetailVo);
+ return ajaxResult;
}
@ApiOperation(value = "查询会员类型", notes = "查询会员类型")
@@ -111,12 +119,16 @@
if (i > 0) {
return AjaxResult.buildSuccessInstance("新增成功");
}
- return AjaxResult.buildSuccessInstance("新增失败");
+ return AjaxResult.buildFailInstance("新增失败");
}
@ApiOperation(value = "编辑会员", notes = "编辑会员")
@PostMapping(value = "/modifyVip")
- public AjaxResult modifyVip(@RequestBody AddVipDto addVipDto) {
- return null;
+ public AjaxResult modifyVip(@RequestBody ModifyVipDto modifyVipDto) {
+ int i = sysVipInfoService.apiModifyVip(modifyVipDto);
+ if (i > 0) {
+ return AjaxResult.buildSuccessInstance("修改成功");
+ }
+ return AjaxResult.buildFailInstance("修改失败");
}
}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/dto/ModifyVipDto.java b/zq-erp/src/main/java/com/matrix/system/app/dto/ModifyVipDto.java
new file mode 100644
index 0000000..7ea47d9
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/dto/ModifyVipDto.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 = "ModifyVipDto", description = "修改会员接收参数类")
+public class ModifyVipDto {
+
+ @NotNull(message = "参数错误")
+ @ApiModelProperty(value = "会员ID")
+ private Long vipId;
+
+ @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 Long getVipId() {
+ return vipId;
+ }
+
+ public void setVipId(Long vipId) {
+ this.vipId = vipId;
+ }
+
+ 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
index e304ec6..5f4d89b 100644
--- 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
@@ -2,10 +2,12 @@
import com.fasterxml.jackson.annotation.JsonFormat;
import com.matrix.core.tools.DateUtil;
+import com.matrix.system.hive.bean.SysVipLabel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
+import java.util.List;
/**
* @author wzy
@@ -13,6 +15,9 @@
**/
@ApiModel(value = "VipInfoDetailVo", description = "客户详细信息接口返回类")
public class VipInfoDetailVo {
+
+ @ApiModelProperty(value = "会员ID")
+ private Long id;
@ApiModelProperty(value = "会员姓名")
private String vipName;
@@ -48,6 +53,25 @@
@ApiModelProperty(value = "备注")
private String remark;
+ @ApiModelProperty(value = "标签")
+ private List<SysVipLabel> labels;
+
+ public List<SysVipLabel> getLabels() {
+ return labels;
+ }
+
+ public void setLabels(List<SysVipLabel> labels) {
+ this.labels = labels;
+ }
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
public String getVipName() {
return vipName;
}
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/bean/SysVipInfo.java b/zq-erp/src/main/java/com/matrix/system/hive/bean/SysVipInfo.java
index 350d487..308720b 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/bean/SysVipInfo.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/bean/SysVipInfo.java
@@ -190,6 +190,26 @@
private Long companyId;
+ /**
+ * 省
+ */
+ private String province;
+
+ /**
+ * 市
+ */
+ private String city;
+
+ /**
+ * 区
+ */
+ private String area;
+
+ /**
+ * 推荐人
+ */
+ private Long recommendId;
+
//血型
private String blood;
@@ -210,6 +230,38 @@
private SysOrder sysOrder;
+ 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 Long getRecommendId() {
+ return recommendId;
+ }
+
+ public void setRecommendId(Long recommendId) {
+ this.recommendId = recommendId;
+ }
+
public SysOrder getSysOrder() {
return sysOrder;
}
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysVipLabelDao.java b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysVipLabelDao.java
index cc99bcc..7333440 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysVipLabelDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysVipLabelDao.java
@@ -14,4 +14,6 @@
List<SysVipLabel> selectByVipId(@Param("vipId") Long vipId);
List<SysVipLabel> selectByModel(@Param("record") SysVipLabel sysVipLabel);
+
+ int deleteByVipId(@Param("vipId") Long vipId);
}
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 51f141b..e21b943 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
@@ -2,7 +2,9 @@
import com.matrix.core.pojo.PaginationVO;
import com.matrix.system.app.dto.AddVipDto;
+import com.matrix.system.app.dto.ModifyVipDto;
import com.matrix.system.app.dto.VipInfoListDto;
+import com.matrix.system.app.vo.VipInfoDetailVo;
import com.matrix.system.app.vo.VipInfoListVo;
import com.matrix.system.hive.bean.SysVipInfo;
import com.matrix.system.hive.plugin.util.BaseServices;
@@ -190,5 +192,7 @@
int apiAddVip(AddVipDto addVipDto);
+ int apiModifyVip(ModifyVipDto modifyVipDto);
+ VipInfoDetailVo findVipInfoDetail(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 b3845ce..63e7d10 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
@@ -7,7 +7,9 @@
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.ModifyVipDto;
import com.matrix.system.app.dto.VipInfoListDto;
+import com.matrix.system.app.vo.VipInfoDetailVo;
import com.matrix.system.app.vo.VipInfoListVo;
import com.matrix.system.common.bean.SysUsers;
import com.matrix.system.common.tools.DataAuthUtil;
@@ -452,10 +454,18 @@
vipInfo.setPhone(addVipDto.getPhone());
vipInfo.setAddr(addVipDto.getAddress());
vipInfo.setRemark(addVipDto.getRemark());
+ vipInfo.setBirthday1(addVipDto.getBirthday());
+ vipInfo.setRecommendId(addVipDto.getRecommendId());
+
+ if (StringUtils.isNotBlank(addVipDto.getAreas())) {
+ String[] areas = addVipDto.getAreas().split(",");
+ vipInfo.setProvince(areas[0]);
+ vipInfo.setCity(areas[1]);
+ vipInfo.setArea(areas[2]);
+ }
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());
@@ -469,20 +479,89 @@
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);
- }
+ batchInsertLabel(addVipDto.getLabels(), user.getSuName(), vipInfo.getId());
}
//创建用户默认储值卡
addVipDefaultCard(vipInfo.getId());
return i;
}
+
+ @Override
+ public int apiModifyVip(ModifyVipDto modifyVipDto) {
+ SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+
+ if (serviceUtil.addCheckRepeatTowColumn(TableMapping.SYS_VIP_INFO, "PHONE", modifyVipDto.getPhone(),
+ "company_id",user.getCompanyId() )) {
+ throw new GlobleException("手机已被注册!");
+ }
+
+ SysVipInfo vipInfo = sysVipInfoDao.selectById(modifyVipDto.getVipId());
+ if (vipInfo == null) {
+ throw new GlobleException("用户不存在");
+ }
+
+ if (StringUtils.isNotBlank(modifyVipDto.getAreas())) {
+ String[] areas = modifyVipDto.getAreas().split(",");
+ vipInfo.setProvince(areas[0]);
+ vipInfo.setCity(areas[1]);
+ vipInfo.setArea(areas[2]);
+ }
+
+ vipInfo.setVipName(modifyVipDto.getVipName());
+ vipInfo.setSex(modifyVipDto.getSex());
+ vipInfo.setArrivalWay(modifyVipDto.getArrivalWay());
+ vipInfo.setPhone(modifyVipDto.getPhone());
+ vipInfo.setAddr(modifyVipDto.getAddress());
+ vipInfo.setRemark(modifyVipDto.getRemark());
+ vipInfo.setBirthday1(modifyVipDto.getBirthday());
+ vipInfo.setRecommendId(modifyVipDto.getRecommendId());
+ int i = sysVipInfoDao.update(vipInfo);
+
+ if (CollectionUtils.isNotEmpty(modifyVipDto.getLabels())) {
+ sysVipLabelDao.deleteByVipId(modifyVipDto.getVipId());
+
+ batchInsertLabel(modifyVipDto.getLabels(), user.getSuName(), vipInfo.getId());
+ }
+ return i;
+ }
+
+ private void batchInsertLabel(List<String> labelList, String suName, Long id) {
+ Set<String> labels = new HashSet<>(labelList);
+ Iterator<String> iterator = labels.iterator();
+ if (iterator.hasNext()) {
+ SysVipLabel sysVipLabel = new SysVipLabel();
+ sysVipLabel.setCreateTime(new Date());
+ sysVipLabel.setCreateBy(suName);
+ sysVipLabel.setLabel(iterator.next());
+ sysVipLabel.setVipId(id);
+ sysVipLabelDao.insert(sysVipLabel);
+ }
+ }
+
+ @Override
+ public VipInfoDetailVo findVipInfoDetail(Long id) {
+ SysVipInfo sysVipInfo = sysVipInfoDao.selectById(id);
+ if (sysVipInfo == null) {
+ throw new GlobleException("用户不存在");
+ }
+
+ VipInfoDetailVo vipInfoDetailVo = new VipInfoDetailVo();
+ vipInfoDetailVo.setVipName(sysVipInfo.getVipName());
+ vipInfoDetailVo.setAddress(sysVipInfo.getAddr());
+ vipInfoDetailVo.setPhone(sysVipInfo.getPhone());
+ vipInfoDetailVo.setSex(sysVipInfo.getSex());
+ vipInfoDetailVo.setArrivalWay(sysVipInfo.getArrivalWay());
+ vipInfoDetailVo.setRecommendId(sysVipInfo.getRecommendId());
+ vipInfoDetailVo.setId(sysVipInfo.getId());
+ vipInfoDetailVo.setProvince(sysVipInfo.getProvince());
+ vipInfoDetailVo.setCity(sysVipInfo.getCity());
+ vipInfoDetailVo.setArea(sysVipInfo.getArea());
+ vipInfoDetailVo.setRemark(sysVipInfo.getRemark());
+ vipInfoDetailVo.setBirthday(sysVipInfo.getBirthday1());
+
+ List<SysVipLabel> labels = sysVipLabelDao.selectByVipId(sysVipInfo.getId());
+ vipInfoDetailVo.setLabels(labels);
+ return vipInfoDetailVo;
+ }
}
\ 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 538d594..ac7c6cf 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysVipInfoDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysVipInfoDao.xml
@@ -35,6 +35,9 @@
<result property="disease" column="disease"/>
<result property="zjm" column="zjm"/>
<result property="companyId" column="company_id"/>
+ <result property="province" column="province"/>
+ <result property="city" column="city"/>
+ <result property="area" column="area"/>
<result property="statu" column="statu"/>
<result property="birthdayType" column="birthdayType"/>
@@ -274,7 +277,11 @@
disease,
is_deal,
zjm,
- company_id
+ company_id,
+ province,
+ city,
+ area,
+ recommend_id
)
@@ -318,7 +325,11 @@
#{disease},
#{isDeal},
#{zjm},
- #{companyId}
+ #{companyId},
+ #{province},
+ #{city},
+ #{area},
+ #{recommendId}
)
</insert>
@@ -444,6 +455,18 @@
</if>
<if test="isDeal != null ">
is_deal = #{isDeal},
+ </if>
+ <if test="recommendId != null ">
+ recommend_id = #{recommendId},
+ </if>
+ <if test="province != null and province !='' ">
+ province = #{province},
+ </if>
+ <if test="city != null and city !='' ">
+ city = #{city},
+ </if>
+ <if test="area != null and area !='' ">
+ area = #{area},
</if>
@@ -937,7 +960,11 @@
a.create_distribution_time,
a.birthdayType,
a.disease,
- a.is_deal
+ a.is_deal,
+ a.province,
+ a.city,
+ a.area,
+ a.recommend_id
</sql>
<sql id="from">
from sys_vip_info a
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/SysVipLabelDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/SysVipLabelDao.xml
index aa566df..26606d4 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysVipLabelDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysVipLabelDao.xml
@@ -44,4 +44,9 @@
</if>
</if>
</select>
+
+ <delete id="deleteByVipId">
+ delete from sys_vip_label
+ where vip_id=#{vipId}
+ </delete>
</mapper>
\ No newline at end of file
--
Gitblit v1.9.1