935090232@qq.com
2021-01-06 7b9cb4464cf7a6db758214c5681b0ecdf01e3db4
zq-erp/src/main/java/com/matrix/system/app/action/ApiVipInfoAction.java
@@ -2,18 +2,28 @@
import com.matrix.core.constance.MatrixConstance;
import com.matrix.core.pojo.AjaxResult;
import com.matrix.core.tools.EncrypUtil;
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.QuestionAnswerDto;
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.app.mapper.MoneyCardUseMapper;
import com.matrix.system.app.mapper.QuestionMapper;
import com.matrix.system.app.vo.*;
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.common.tools.PasswordUtil;
import com.matrix.system.hive.action.BaseController;
import com.matrix.system.hive.bean.SysVipLevel;
import com.matrix.system.hive.bean.*;
import com.matrix.system.hive.dao.MoneyCardUseDao;
import com.matrix.system.hive.dao.VipAnswerDao;
import com.matrix.system.hive.plugin.util.CollectionUtils;
import com.matrix.system.hive.service.MoneyCardUseService;
import com.matrix.system.hive.service.QuestionSerivce;
import com.matrix.system.hive.service.SysVipInfoService;
import com.matrix.system.hive.service.SysVipLevelService;
import io.swagger.annotations.Api;
@@ -24,6 +34,8 @@
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.io.UnsupportedEncodingException;
import java.security.NoSuchAlgorithmException;
import java.util.List;
/**
@@ -43,6 +55,15 @@
    @Autowired
    private CustomerDataDictionaryDao customerDataDictionaryDao;
    @Autowired
    private MoneyCardUseService moneyCardUseService;
    @Autowired
    private QuestionSerivce questionSerivce;
    @Autowired
    private VipAnswerDao vipAnswerDao;
    @ApiOperation(value = "获取会员通讯录列表", notes = "获取会员通讯录列表")
    @ApiResponses({
@@ -73,9 +94,15 @@
    }
    @ApiOperation(value = "根据id查询用户详细信息")
    @ApiResponses({
            @ApiResponse(code = 200, message = "ok", response = VipInfoDetailVo.class)
    })
    @GetMapping(value = "/findVipInfoDetailById/{id}")
    public AjaxResult findVipInfoDetailById(@PathVariable("id") Long id) {
        return null;
        VipInfoDetailVo vipInfoDetailVo = sysVipInfoService.findVipInfoDetail(id);
        AjaxResult ajaxResult = AjaxResult.buildSuccessInstance("获取成功");
        ajaxResult.putInMap("vipInfo", vipInfoDetailVo);
        return ajaxResult;
    }
    @ApiOperation(value = "查询会员类型", notes = "查询会员类型")
@@ -111,12 +138,69 @@
        if (i > 0) {
            return AjaxResult.buildSuccessInstance("新增成功");
        }
        return AjaxResult.buildSuccessInstance("新增失败");
        return AjaxResult.buildFailInstance("新增失败");
    }
    @ApiOperation(value = "编辑会员", notes = "编辑会员")
    @PostMapping(value = "/modifyVip")
    public AjaxResult modifyVip(@RequestBody AddVipDto addVipDto) {
        return null;
    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));
    }
    @ApiOperation(value = "卡项 - 获取会员卡项列表", notes = "卡项 - 获取会员卡项列表")
    @ApiResponses({
            @ApiResponse(code = 200, message = "ok", response = VipCardListVo.class)
    })
    @GetMapping(value = "/findVipCardInfo/{vipId}")
    public AjaxResult findVipCardInfo(@PathVariable("vipId") Long vipId) {
        MoneyCardUse moneyCardUse = new MoneyCardUse();
        moneyCardUse.setVipId(vipId);
        List<MoneyCardUse> list = moneyCardUseService.findVipCardUseInPage(moneyCardUse, null);
        List<VipCardListVo> dataList = MoneyCardUseMapper.INSTANCE.entitiesToCardListVos(list);
        return AjaxResult.buildSuccessInstance(dataList);
    }
    @ApiOperation(value = "会员档案 - 获取客户档案问题", notes = "会员档案 - 获取客户档案问题")
    @ApiResponses({
            @ApiResponse(code = 200, message = "ok", response = QuestionVo.class)
    })
    @GetMapping(value = "/findVipQuestions/{vipId}")
    public AjaxResult findVipQuestions(@PathVariable("vipId") Long vipId) {
        // 获取会员所有的答案,分类型
        List<Question> questions = questionSerivce.findByVipId(vipId);
        AjaxResult result = AjaxResult.buildSuccessInstance("获取成功");
        List<QuestionVo> list = QuestionMapper.INSTANCE.entitiesToVos(questions);
        result.putInMap("questions", list);
        return result;
    }
    @ApiOperation(value = "会员档案 - 提交会员档案", notes = "会员档案 - 提交会员档案")
    @PostMapping(value = "/saveVipQuestionsAnswer")
    public AjaxResult saveVipQuestionsAnswer(@RequestBody QuestionAnswerDto questionAnswerDto) {
        VipAnswer delAnswer = new VipAnswer();
        delAnswer.setVipId(questionAnswerDto.getVipId());
        vipAnswerDao.deleteByModel(delAnswer);
        if (CollectionUtils.isNotEmpty(questionAnswerDto.getItems())) {
            List<VipAnswer> vipAnswers = QuestionMapper.INSTANCE.dtosToVipAnswers(questionAnswerDto.getItems());
            vipAnswerDao.batchInsert(vipAnswers);
        }
        return AjaxResult.buildSuccessInstance("档案更新成功");
    }
}