zq-erp/src/main/java/com/matrix/system/app/action/ApiVipInfoAction.java | ●●●●● patch | view | raw | blame | history | |
zq-erp/src/main/java/com/matrix/system/app/action/ApiVipLabelAction.java | ●●●●● patch | view | raw | blame | history | |
zq-erp/src/main/java/com/matrix/system/app/dto/AddVipDto.java | ●●●●● patch | view | raw | blame | history | |
zq-erp/src/main/java/com/matrix/system/app/vo/VipInfoDetailVo.java | ●●●●● patch | view | raw | blame | history | |
zq-erp/src/main/java/com/matrix/system/hive/service/SysVipInfoService.java | ●●●●● patch | view | raw | blame | history | |
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java | ●●●●● patch | view | raw | blame | history |
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; } } zq-erp/src/main/java/com/matrix/system/app/action/ApiVipLabelAction.java
New file @@ -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; } } zq-erp/src/main/java/com/matrix/system/app/dto/AddVipDto.java
New file @@ -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; } } zq-erp/src/main/java/com/matrix/system/app/vo/VipInfoDetailVo.java
New file @@ -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; } } 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); } 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; } }