package com.matrix.system.app.action; 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.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; 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.SysVipInfo; import com.matrix.system.hive.bean.SysVipLevel; import com.matrix.system.hive.service.SysVipInfoService; import com.matrix.system.hive.service.SysVipLevelService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; 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; /** * @author wzy * @date 2020-12-21 **/ @Api(value = "ApiVipInfoAction", tags = "会员接口类") @RestController @RequestMapping(value = "/api/vip") public class ApiVipInfoAction extends BaseController { @Autowired private SysVipInfoService sysVipInfoService; @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查询用户信息") @ApiResponses({ @ApiResponse(code = 200, message = "ok", response = VipInfoVo.class) }) @GetMapping(value = "/findVipInfoById/{id}") public AjaxResult findVipInfoById(@PathVariable("id") Long id) { AjaxResult ajaxResult = AjaxResult.buildSuccessInstance("获取成功"); VipInfoVo vipInfoVo = sysVipInfoService.findApiVipInfoById(id); ajaxResult.putInMap("vipInfo", vipInfoVo); return ajaxResult; } @ApiOperation(value = "根据id查询用户详细信息") @ApiResponses({ @ApiResponse(code = 200, message = "ok", response = VipInfoDetailVo.class) }) @GetMapping(value = "/findVipInfoDetailById/{id}") public AjaxResult findVipInfoDetailById(@PathVariable("id") Long id) { VipInfoDetailVo vipInfoDetailVo = sysVipInfoService.findVipInfoDetail(id); AjaxResult ajaxResult = AjaxResult.buildSuccessInstance("获取成功"); ajaxResult.putInMap("vipInfo", vipInfoDetailVo); return ajaxResult; } @ApiOperation(value = "查询会员类型", notes = "查询会员类型") @ApiResponses( @ApiResponse(code = 200, message = "ok", response = SysVipLevel.class) ) @GetMapping(value = "/findVipType") public AjaxResult findVipType() { SysUsers sysUsers = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); SysVipLevel sysVipLevel = new SysVipLevel(); if(!DataAuthUtil.hasAllShopAuth()) { sysVipLevel.setShopId(sysUsers.getShopId()); } 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 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.buildFailInstance("新增失败"); } @ApiOperation(value = "编辑会员", notes = "编辑会员") @PostMapping(value = "/modifyVip") public AjaxResult modifyVip(@RequestBody ModifyVipDto modifyVipDto) { int i = sysVipInfoService.apiModifyVip(modifyVipDto); if (i > 0) { return AjaxResult.buildSuccessInstance("修改成功"); } return AjaxResult.buildFailInstance("修改失败"); } @ApiOperation(value = "获取用户信息列表", notes = "获取用户信息列表") @GetMapping(value = "/findAllVipInfo") public AjaxResult findAllVipInfo() { SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); SysVipInfo sysVipInfo = new SysVipInfo(); if(!DataAuthUtil.hasAllShopAuth()) { sysVipInfo.setShopId(user.getShopId()); } return AjaxResult.buildSuccessInstance(sysVipInfoService.findAll(sysVipInfo)); } }