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