MHyxxController.java 4.42 KB
package com.hotent.lpg.manage.controller;


import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.hotent.base.controller.BaseController;
import com.hotent.base.model.CommonResult;
import com.hotent.lpg.common.enums.RzztEnum;
import com.hotent.lpg.common.model.WHydz;
import com.hotent.lpg.common.model.WHyxx;
import com.hotent.lpg.common.model.WHyyqjl;
import com.hotent.lpg.manage.manager.MHydzManager;
import com.hotent.lpg.manage.manager.MHyxxManager;
import com.hotent.lpg.manage.manager.MHyyqjlManager;
import com.hotent.lpg.manage.vo.HyUserVo;
import com.hotent.uc.manager.UserManager;
import com.hotent.uc.model.User;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;


/**
 * 会员信息 前端控制器
 *
 * @author 超级管理员
 * @company 广州宏天软件股份有限公司
 * @since 2024-03-12
 */
@RestController
@RequestMapping("/manage/mHyxx/v1/")
public class MHyxxController extends BaseController<MHyxxManager, WHyxx> {

    @Autowired
    private MHyxxManager mHyxxManager;
    @Autowired
    private MHyyqjlManager mHyyqjlManager;
    @Autowired
    private UserManager userManager;
    @Autowired
    private MHydzManager mHydzManager;


    /**
     * 移动端:查询会员信息(输入信息,模糊查询会员信息返回,在移动端‘代客下单’时使用到)
     *
     * @return
     */
    @GetMapping(value = "/getDetailSearch", produces = {"application/json; charset=utf-8"})
    @ApiOperation(value = "查询会员信息", httpMethod = "GET", notes = "订单详情")
    public CommonResult getYhinfo(String search) {
        HyUserVo hyxxVo = new HyUserVo();
        LambdaQueryWrapper<WHyxx> wrapper = Wrappers.<WHyxx>lambdaQuery().eq(WHyxx::getFSjh, search).or().eq(WHyxx::getFXm, search).or().eq(WHyxx::getFSfzh, search).or().last("LIMIT 1");
        WHyxx hyxx = mHyxxManager.getOne(wrapper);
        if (BeanUtil.isEmpty(hyxx)) {
            return CommonResult.<HyUserVo>ok().value(hyxxVo);
        }
        hyxx.setFMm(null);
        User user = userManager.get(hyxxVo.getUserId());
        BeanUtil.copyProperties(user, hyxxVo);
        WHyyqjl wHyyqjl = mHyyqjlManager.getOne(Wrappers.<WHyyqjl>lambdaQuery().eq(WHyyqjl::getFHyyhid, hyxx.getFUserid()).orderByDesc(WHyyqjl::getFCjsj).last("LIMIT 1"));
        List<WHydz> hydzs = mHydzManager.list(Wrappers.<WHydz>lambdaQuery().eq(WHydz::getFHyyhid, hyxx.getFUserid()));
        hyxxVo.setUserInfo(hyxx);
        hyxxVo.getStats().setMcazsj(BeanUtil.isEmpty(wHyyqjl) ? null : wHyyqjl.getFCjsj());
        hyxxVo.setHydzs(BeanUtil.isEmpty(hydzs) ? null : hydzs);
        return CommonResult.<HyUserVo>ok().value(hyxxVo);
    }

    /**
     * web端:审核会员实名认证信息
     *
     * @param wHyxx
     * @return
     * @throws Exception
     * @throws
     */
    @PostMapping(value = "/audit")
    @ApiOperation(value = "审核会员实名认证", httpMethod = "POST", notes = "审核会员实名认证")
    public CommonResult<String> audit(@RequestBody WHyxx wHyxx) throws Exception {
        if (ObjectUtils.isEmpty(wHyxx.getId()) || ObjectUtils.isEmpty(wHyxx.getFRzzt())) {
            return CommonResult.error("请传入:会员标识和审核状态");
        }
        if (!RzztEnum.yrz.getCode().equals(wHyxx.getFRzzt()) && !RzztEnum.rzwtg.getCode().equals(wHyxx.getFRzzt()) ) {
            return CommonResult.error("认证状态不规范");
        }
        try {
            mHyxxManager.audit(wHyxx);
        } catch (Exception e) {
            return CommonResult.error(e.getMessage());
        }
        return CommonResult.<String>ok().message("审核成功");
    }

    @GetMapping(value = "/detail/{id}")
    @ApiOperation(value = "会员认证详情", httpMethod = "POST", notes = "会员认证详情")
    public CommonResult<Object> detail(@PathVariable("id") String id) throws Exception {
        if (ObjectUtils.isEmpty(id) ) {
            return CommonResult.error("请传入会员id");
        }
        Object detail = new Object();
        try {
            detail = mHyxxManager.detail(id);
        } catch (Exception e) {
            return CommonResult.error(e.getMessage());
        }
        return CommonResult.<Object>ok().value(detail);
    }
}