Administrator
8 days ago 0aaadc99bfced7f391ca1450951f46508389c620
src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java
@@ -8,15 +8,21 @@
import cc.mrbird.febs.mall.entity.*;
import cc.mrbird.febs.mall.service.IAdminMallMemberService;
import cc.mrbird.febs.mall.service.IApiMallMemberService;
import cc.mrbird.febs.mall.vo.AdminAgentLevelOptionTreeVo;
import cc.mrbird.febs.mall.vo.*;
import cc.mrbird.febs.vip.entity.MallVipBenefitsRecord;
import cc.mrbird.febs.vip.mapper.MallVipBenefitsRecordMapper;
import cc.mrbird.febs.vip.service.IMallVipBenefitsService;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.annotations.Param;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -29,6 +35,8 @@
    private final IAdminMallMemberService mallMemberService;
    private final IApiMallMemberService apiMallMemberService;
    private final IMallVipBenefitsService mallVipBenefitsService;
    private final MallVipBenefitsRecordMapper mallVipBenefitsRecordMapper;
    /**
     * 平台账单
@@ -66,6 +74,18 @@
    @ControllerEndpoint(operation = "会员列表---禁止", exceptionMessage = "禁止失败")
    public FebsResponse closeAccount(@NotNull(message = "{required}") @PathVariable Long id) {
        return mallMemberService.closeAccount(id);
    }
    /**
     * 会员列表---注销
     *
     * @param id
     * @return
     */
    @GetMapping("memberOut/{id}")
    @ControllerEndpoint(operation = "会员列表---注销", exceptionMessage = "操作失败")
    public FebsResponse memberOut(@NotNull(message = "{required}") @PathVariable Long id) {
        return mallMemberService.memberOut(id);
    }
    /**
@@ -132,6 +152,16 @@
     */
    @GetMapping("getMoneyFlowList")
    public FebsResponse getMoneyFlowList(MoneyFlowListDto moneyFlowListDto, QueryRequest request) {
        String startTime = moneyFlowListDto.getStartTime();
        String endTime = moneyFlowListDto.getEndTime();
        if(StrUtil.isNotBlank(startTime) && StrUtil.isNotBlank(endTime)){
            DateTime dateStartTime= DateUtil.parseDate(startTime);
            DateTime dateEndTime = DateUtil.parseDate(endTime);
            int compare = DateUtil.compare(dateStartTime, dateEndTime);
            if(compare >= 0){
                return new FebsResponse().fail().message("请输入正确的开始时间和结束时间");
            }
        }
        Map<String, Object> data = getDataTable(mallMemberService.getMoneyFlowListInPage(moneyFlowListDto, request));
        return new FebsResponse().success().data(data);
    }
@@ -215,6 +245,16 @@
    @ControllerEndpoint(exceptionMessage = "获取等级失败")
    public List<AdminAgentLevelOptionTreeVo> getAgentLevelOption() {
        return mallMemberService.getAgentLevelOption();
    }
    /**
     * 代理-等级选择Option
     */
    @GetMapping("agentLevelOption/tree")
    @ControllerEndpoint(exceptionMessage = "获取等级失败")
    public List<AdminAgentLevelOptionTreeVo> agentLevelOption() {
//        return mallMemberService.getAgentLevelOption();
        return mallMemberService.agentLevelOption();
    }
@@ -413,12 +453,21 @@
    }
    /**
     * 推销员列表-删除
     * 推销员列表-禁用
     */
    @GetMapping("salesmanDel/{id}")
    @ControllerEndpoint(operation = "推销员列表-删除", exceptionMessage = "操作失败")
    @ControllerEndpoint(operation = "推销员列表-禁用", exceptionMessage = "操作失败")
    public FebsResponse salesmanDel(@NotNull(message = "{required}") @PathVariable Long id) {
        return mallMemberService.salesmanDel(id);
    }
    /**
     * 推销员列表-启用
     */
    @GetMapping("salesmanUse/{id}")
    @ControllerEndpoint(operation = "推销员列表-启用", exceptionMessage = "操作失败")
    public FebsResponse salesmanUse(@NotNull(message = "{required}") @PathVariable Long id) {
        return mallMemberService.salesmanUse(id);
    }
    /**
@@ -430,4 +479,182 @@
        return mallMemberService.salesmanUpdate(mallSalesman);
    }
    /**
     * 推销员列表-选择
     */
    @GetMapping("salesmans/tree")
    @ControllerEndpoint(exceptionMessage = "推销员列表失败")
    public List<AdminMallSalesmansTreeVo> getSalesmansTree(){
        return mallMemberService.getSalesmansTree();
    }
    /**
     * 会员列表-推销员列表-更新
     */
    @PostMapping("memberUpdateSalesman")
    @ControllerEndpoint(operation = "会员列表-推销员列表-更新", exceptionMessage = "操作失败")
    public FebsResponse memberUpdateSalesman(@Valid MallMember mallmember) {
        return mallMemberService.memberUpdateSalesman(mallmember);
    }
    /**
     * 地址金额统计列表
     */
    @GetMapping("addressAmountList")
    public FebsResponse addressAmountList(MallAddressInfo mallAddressInfo, QueryRequest request) {
        Map<String, Object> data = getDataTable(mallMemberService.getAddressAmountList(mallAddressInfo, request));
        return new FebsResponse().success().data(data);
    }
    /**
     * 地址金额统计列表-省
     */
    @GetMapping("address/tree")
    @ControllerEndpoint(exceptionMessage = "地址金额统计列表")
    public List<AdminMallAddressInfoVo> getAddressTree(){
        return mallMemberService.getAddressTree();
    }
    /**
     * 销售员业绩列表
     */
    @GetMapping("salesmanAchieveList")
    public FebsResponse salesmanAchieveList(MallSalesman mallSalesman, QueryRequest request) {
        Map<String, Object> data = getDataTable(mallMemberService.getSalesmanAchieveList(mallSalesman, request));
        return new FebsResponse().success().data(data);
    }
    /**
     * 销售员业绩列表-省
     */
    @GetMapping("salesmanAchieve/tree")
    @ControllerEndpoint(exceptionMessage = "销售员业绩列表")
    public List<AdminSalesmanAchieveVo> getSalesmanAchieveTree(){
        return mallMemberService.getSalesmanAchieveTree();
    }
    /**
     * 合伙人业绩
     */
    @GetMapping("agentAchieveList")
    public FebsResponse agentAchieveList(MallAgentRecord mallAgentRecord, QueryRequest request) {
        String startTime = mallAgentRecord.getStartTime();
        String endTime = mallAgentRecord.getEndTime();
        if(StrUtil.isNotBlank(startTime) && StrUtil.isNotBlank(endTime)){
            DateTime dateStartTime= DateUtil.parseDate(startTime);
            DateTime dateEndTime = DateUtil.parseDate(endTime);
            int compare = DateUtil.compare(dateStartTime, dateEndTime);
            if(compare >= 0){
                return new FebsResponse().fail().message("请输入正确的开始时间和结束时间");
            }
        }
        Map<String, Object> data = getDataTable(mallMemberService.getAgentAchieveList(mallAgentRecord, request));
        return new FebsResponse().success().data(data);
    }
    /**
     * 合伙人业绩-省
     */
    @GetMapping("agentAddress/tree")
    @ControllerEndpoint(exceptionMessage = "合伙人业绩-省")
    public List<AdminMallAgentRecordVo> agentAddress(){
        return mallMemberService.agentAddress();
    }
    /**
     * 合伙人申请列表-更新
     */
    @PostMapping("agentVerifyUpdate")
    @ControllerEndpoint(operation = "合伙人申请列表-更新", exceptionMessage = "操作失败")
    public FebsResponse agentVerifyUpdate(@Valid AdminAgentVerifyVo adminAgentVerifyVo) {
        return mallMemberService.agentVerifyUpdate(adminAgentVerifyVo);
    }
    /**
     * 会员列表-医生设置
     */
    @GetMapping("doctorStateChange/{id}")
    @ControllerEndpoint(operation = " 会员列表-医生设置", exceptionMessage = "操作失败")
    public FebsResponse doctorStateChange(@NotNull(message = "{required}") @PathVariable Long id) {
        return mallMemberService.doctorStateChange(id);
    }
    /**
     * 会员列表-推销员设置
     */
    @GetMapping("upSale/{id}")
    @ControllerEndpoint(operation = " 会员列表-推销员设置", exceptionMessage = "操作失败")
    public FebsResponse upSale(@NotNull(message = "{required}") @PathVariable Long id) {
        return mallMemberService.upCoupon(id);
    }
    /**
     * 会员列表-核销员设置
     */
    @GetMapping("checkOrder/{id}")
    @ControllerEndpoint(operation = " 会员列表-核销员设置", exceptionMessage = "操作失败")
    public FebsResponse checkOrder(@NotNull(message = "{required}") @PathVariable Long id) {
        return mallMemberService.checkOrder(id);
    }
    /**
     * 会员列表-推销员设置
     */
    @GetMapping("downSale/{id}")
    @ControllerEndpoint(operation = " 会员列表-推销员设置", exceptionMessage = "操作失败")
    public FebsResponse downSale(@NotNull(message = "{required}") @PathVariable Long id) {
        return mallMemberService.downCoupon(id);
    }
    /**
     * 推销员列表
     *
     * @param mallMember
     * @param request
     * @return
     */
    @GetMapping("getsalemanRuleList")
    public FebsResponse getsalemanRuleList(MallMember mallMember, QueryRequest request) {
        mallMember.setIsSale(1);
        Map<String, Object> data = getDataTable(mallMemberService.getsalemanRuleList(mallMember, request));
        return new FebsResponse().success().data(data);
    }
    /**
     * 推销员列表-优惠卷绑定
     */
    @PostMapping("salemanCoupon")
    @ControllerEndpoint(operation = "推销员列表-优惠卷绑定", exceptionMessage = "操作失败")
    public FebsResponse salemanCoupon(@Valid MallMember mallmember) {
        return mallMemberService.salemanCoupon(mallmember);
    }
    @PostMapping("vipLevelSetUpdate")
    public FebsResponse vipLevelSetUpdate(MallMember member) {
        member.setVipLevelTime(new Date());
        mallMemberService.updateById(member);
        return new FebsResponse().success().message("操作成功");
    }
    @PostMapping("addMemberCoupon")
    @ControllerEndpoint(operation = "会员添加优惠券呢", exceptionMessage = "操作失败")
    public FebsResponse addMemberCoupon(@Valid MallMember mallmember) {
        return mallMemberService.addMemberCoupon(mallmember);
    }
    @GetMapping(value = "/findMemberBenefitsInPage")
    public FebsResponse findMemberBenefitsInPage(MallVipBenefitsRecord record, QueryRequest request) {
        Map<String, Object> data = getDataTable(mallVipBenefitsService.findVipBenefitsInPage(record, request));
        return new FebsResponse().success().data(data);
    }
    @PostMapping(value = "/sendGift/{id}")
    public FebsResponse sendGift(@PathVariable("id") Long id) {
        MallVipBenefitsRecord record = new MallVipBenefitsRecord();
        record.setId(id);
        record.setStatus(1);
        mallVipBenefitsRecordMapper.updateById(record);
        return new FebsResponse().success();
    }
}