package com.mzl.flower.web.partner;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.mzl.flower.base.BaseController;
|
import com.mzl.flower.base.R;
|
import com.mzl.flower.base.ReturnDataDTO;
|
import com.mzl.flower.base.cache.StringCacheClient;
|
import com.mzl.flower.config.exception.ValidationException;
|
import com.mzl.flower.constant.Constants;
|
import com.mzl.flower.dto.request.partner.*;
|
import com.mzl.flower.dto.response.partner.PartnerDTO;
|
import com.mzl.flower.entity.system.User;
|
import com.mzl.flower.service.partner.PartnerService;
|
import com.mzl.flower.service.system.UserService;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.extern.slf4j.Slf4j;
|
import org.apache.commons.lang3.StringUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.http.ResponseEntity;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.validation.constraints.NotNull;
|
|
@RestController
|
@RequestMapping("/api/partner")
|
@Api(value = "合伙人管理", tags = "合伙人管理")
|
@Validated
|
@Slf4j
|
public class PartnerController extends BaseController {
|
|
private final PartnerService partnerService;
|
|
@Autowired
|
private StringCacheClient stringCacheClient;
|
public static final String SMS_CODE_KEY = "SMS-CODE-KEY";
|
public static final String TOKEN_KEY = "TOKEN-KEY";
|
|
public static final String SEPARATOR = ":";
|
|
public PartnerController(PartnerService partnerService) {
|
this.partnerService = partnerService;
|
}
|
|
|
@PostMapping("/base/update")
|
@ApiOperation(value = "合伙人基本信息修改", notes = "合伙人基本信息修改")
|
public ResponseEntity<ReturnDataDTO> baseUpdate(@Validated @RequestBody UpdatePartnerBaseDTO dto) {
|
partnerService.baseUpdate(dto);
|
return returnData(R.SUCCESS.getCode(),null);
|
}
|
|
|
@PostMapping("/addOrUpdate")
|
@ApiOperation(value = "合伙人信息登记、修改", notes = "合伙人信息登记、修改")
|
public ResponseEntity<ReturnDataDTO> addOrUpdatePartner(@Validated @RequestBody UpdatePartnerDTO dto) {
|
partnerService.addOrUpdatePartner(dto);
|
return returnData(R.SUCCESS.getCode(),null);
|
}
|
|
@GetMapping("/page")
|
@ApiOperation(value = "运营端-合伙人分页查询", notes = "运营端-合伙人分页查询")
|
public ResponseEntity<ReturnDataDTO<Page<PartnerDTO>>> queryPartner(QueryPartnerDTO dto, Page page) {
|
return returnData(R.SUCCESS.getCode(),partnerService.queryPartner(dto,page));
|
}
|
|
@GetMapping("/page/view")
|
@ApiOperation(value = "合伙人详情", notes = "合伙人详情")
|
public ResponseEntity<ReturnDataDTO<PartnerDTO>> findPartnerDetail(@NotNull(message = "id不能为空") Long id) {
|
return returnData(R.SUCCESS.getCode(),partnerService.findPartnerDetail(id));
|
}
|
|
@PostMapping("/page/audit")
|
@ApiOperation(value = "运营端-合伙人审核", notes = "运营端-合伙人审核")
|
public ResponseEntity<ReturnDataDTO> auditPartner(@Validated @RequestBody AuditPartnerDTO dto) {
|
partnerService.auditPartner(dto);
|
return returnData(R.SUCCESS.getCode(),null);
|
}
|
|
|
@PostMapping("/page/change/area")
|
@ApiOperation(value = "运营端-修改服务区域", notes = "运营端-修改服务区域")
|
public ResponseEntity<ReturnDataDTO> changePartnerArea(@Validated @RequestBody ChangePartnerAreaDTO dto) {
|
partnerService.changePartnerArea(dto);
|
return returnData(R.SUCCESS.getCode(),null);
|
}
|
|
@PostMapping("/page/upload/code")
|
@ApiOperation(value = "运营端-下载小程序二维码", notes = "运营端-下载小程序二维码")
|
public ResponseEntity<ReturnDataDTO> generateCodeDTO(@Validated @RequestBody GenerateCodeDTO dto) {
|
return returnData(R.SUCCESS.getCode(),partnerService.generateCodeDTO(dto));
|
}
|
|
@PostMapping("/page/extend/code")
|
@ApiOperation(value = "运营端-上传合伙人推广码", notes = "运营端-上传合伙人推广码")
|
public ResponseEntity<ReturnDataDTO> uploadCodeDTO(@Validated @RequestBody UploadCodeDTO dto) {
|
partnerService.uploadCodeDTO(dto);
|
return returnData(R.SUCCESS.getCode(),null);
|
}
|
|
@GetMapping("/page/isEnable")
|
@ApiOperation(value = "启用/禁用", notes = "启用/禁用商品")
|
public ResponseEntity<ReturnDataDTO<String>> isEnable(@NotNull(message = "id不能为空") Long id) {
|
partnerService.isEnable(id);
|
return returnData(R.SUCCESS.getCode(),null);
|
}
|
|
|
@PostMapping("/phone/update")
|
@ApiOperation(value = "合伙人注册手机号修改", notes = "合伙人注册手机号修改")
|
public ResponseEntity<ReturnDataDTO> phoneUpdate(@Validated @RequestBody UpdatePhoneDTO dto) {
|
// TODO
|
String tel = dto.getUsername();
|
String smsCode = dto.getSmsCode();
|
if (StringUtils.isBlank(tel)) {
|
throw new ValidationException("手机号码不能为空");
|
}
|
if (StringUtils.isBlank(smsCode)) {
|
throw new ValidationException("手机验证码不能为空");
|
}
|
//从缓存中获取验证码
|
String smsCacheCode = stringCacheClient.get(SMS_CODE_KEY + SEPARATOR + Constants.USER_TYPE.admin.name() + SEPARATOR + tel);
|
if (!StringUtils.equals(smsCode, smsCacheCode)) {
|
throw new ValidationException("手机验证码不正确");
|
}
|
|
partnerService.phoneUpdate(dto);
|
return returnData(R.SUCCESS.getCode(),null);
|
}
|
|
}
|