| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311 |
- package com.ydtech.modules.admin.service.impl;
- import cn.hutool.core.bean.BeanUtil;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import com.ydtech.core.page.HttpResult;
- import com.ydtech.exception.SystemException;
- import com.ydtech.modules.admin.dao.*;
- import com.ydtech.modules.admin.model.*;
- import com.ydtech.modules.admin.model.dto.SysAgencyFeeApprovalAddDto;
- import com.ydtech.modules.admin.model.dto.SysAgencyFeeApprovalDto;
- import com.ydtech.modules.admin.model.dto.SysAgencyFeeApprovalEditDto;
- import com.ydtech.modules.admin.model.dto.SysAgencyFeeApprovalPageDto;
- import com.ydtech.modules.admin.model.vo.AgencyExtractFee;
- import com.ydtech.modules.admin.model.vo.SysAgencyFeeApprovalRecordVo;
- import com.ydtech.modules.admin.service.SysAgencyFeeApprovalService;
- import com.ydtech.modules.admin.service.SysAgencyLeaderService;
- import com.ydtech.modules.base.controller.BaseController;
- import com.ydtech.modules.order.entity.BasePageResult;
- import com.ydtech.modules.partner.dao.PartnerPartnerAccountMapper;
- import com.ydtech.modules.partner.model.PartnerPartnerAccount;
- import com.ydtech.utils.StringUtils;
- import com.ydtech.utils.idgen.IdGenerate;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import javax.annotation.Resource;
- import java.math.BigDecimal;
- import java.text.SimpleDateFormat;
- import java.util.*;
- /**
- * 机构保费抽成审批表(SysAgencyFeeApproval)表服务实现类
- *
- * @author makejava
- * @since 2024-07-25 11:33:55
- */
- @Service("sysAgencyFeeApprovalService")
- public class SysAgencyFeeApprovalServiceImpl extends ServiceImpl<SysAgencyFeeApprovalMapper, SysAgencyFeeApproval> implements SysAgencyFeeApprovalService {
- @Resource
- private SysAgencyFeeApprovalMapper sysAgencyFeeApprovalMapper;
- @Resource
- private SysAgencyFeeApprovalRecordMapper sysAgencyFeeApprovalRecordMapper;
- @Resource
- private SysAgencyLeaderService sysAgencyLeaderService;
- @Resource
- private SysDeptMapper sysDeptMapper;
- @Resource
- private SysPartnerAccountMapper sysPartnerAccountMapper;
- @Resource
- private SysUserMapper sysUserMapper;
- @Resource
- private PartnerPartnerAccountMapper partnerAccountMapper;
- @Override
- @Transactional(rollbackFor = Exception.class)
- public HttpResult insert(SysAgencyFeeApprovalAddDto sysAgencyFeeApprovalAddDto) {
- BigDecimal actualFee = sysAgencyFeeApprovalAddDto.getActualFee();
- if (actualFee == null || actualFee.equals(new BigDecimal("0.00"))) {
- throw new SystemException("请输入提现金额");
- }
- //当前登录用户
- SysUser user = BaseController.getUser();
- //查询当前用户可提现金额
- //AgencyExtractFee agencyExtractFee = sysAgencyLeaderService.queryExtractFee(user.getId());
- SysPartnerAccount sysPartnerAccount = sysPartnerAccountMapper.selectOne(new LambdaQueryWrapper<SysPartnerAccount>()
- .eq(SysPartnerAccount::getUserId,user.getId()));
- BigDecimal cashFee = sysPartnerAccount.getCashFee();
- int compare = cashFee.compareTo(actualFee);
- if (compare < 0) {
- throw new SystemException("提现金额不能超过可提现金额");
- }
- SysAgencyFeeApproval sysAgencyFeeApproval = BeanUtil.copyProperties(sysAgencyFeeApprovalAddDto, SysAgencyFeeApproval.class);
- sysAgencyFeeApproval.setUserId(user.getId());
- sysAgencyFeeApproval.setUserName(user.getName());
- sysAgencyFeeApproval.setDeptId(user.getDeptId());
- SysDept sysDept = sysDeptMapper.selectOne(new LambdaQueryWrapper<SysDept>().eq(SysDept::getId, user.getDeptId()).eq(SysDept::getDelFlag, 0));
- if (sysDept != null) {
- sysAgencyFeeApproval.setDeptName(sysDept.getName());
- }
- sysAgencyFeeApproval.setNumber(IdGenerate.nextId());
- //总保费
- sysAgencyFeeApproval.setSumpremium(sysPartnerAccount.getSumPremium());
- //总保费抽成费用
- sysAgencyFeeApproval.setExtractFee(sysPartnerAccount.getExtractFee());
- //已提现抽成费用
- // sysAgencyFeeApproval.setHistoryFee(null);
- //可提现抽成费用
- sysAgencyFeeApproval.setCashFee(actualFee);
- // sysAgencyFeeApproval.setStartTime(agencyExtractFee.getStartTime());
- // sysAgencyFeeApproval.setProportional(agencyExtractFee.getProportional());
- sysAgencyFeeApproval.setCreateBy(user.getName());
- sysAgencyFeeApproval.setCreateTime(new Date());
- sysAgencyFeeApproval.setStatus("0");
- //提交审核信息
- this.save(sysAgencyFeeApproval);
- sysPartnerAccount.setCashFee(sysPartnerAccount.getCashFee().subtract(actualFee));
- BigDecimal historyFee = sysPartnerAccount.getHistoryFee();
- if (historyFee == null) {
- sysPartnerAccount.setHistoryFee(actualFee);
- }else {
- sysPartnerAccount.setHistoryFee(sysPartnerAccount.getHistoryFee().add(actualFee));
- }
- sysPartnerAccountMapper.updateById(sysPartnerAccount);
- //保存添加记录
- SysAgencyFeeApprovalRecord sysAgencyFeeApprovalRecord = BeanUtil.copyProperties(sysAgencyFeeApproval, SysAgencyFeeApprovalRecord.class);
- sysAgencyFeeApprovalRecord.setApprovalId(sysAgencyFeeApproval.getId());
- sysAgencyFeeApprovalRecord.setId(null);
- boolean i = sysAgencyFeeApprovalRecordMapper.insert(sysAgencyFeeApprovalRecord)>0;
- if (i) {
- return HttpResult.ok("提现申请提交成功");
- }
- return HttpResult.error("提现申请提交失败");
- }
- @Override
- @Transactional(rollbackFor = Exception.class)
- public HttpResult edit(SysAgencyFeeApprovalEditDto sysAgencyFeeApprovalEditDto) {
- SysAgencyFeeApproval sysAgencyFeeApproval1 = sysAgencyFeeApprovalMapper.queryById(sysAgencyFeeApprovalEditDto.getId());
- if (sysAgencyFeeApproval1.getStatus().equals("1") && sysAgencyFeeApproval1.getStatus().equals("2")) {
- throw new SystemException("已审批,不允许重复操作");
- }
- SysAgencyFeeApproval sysAgencyFeeApproval =BeanUtil.copyProperties(sysAgencyFeeApproval1,SysAgencyFeeApproval.class);
- String status = sysAgencyFeeApprovalEditDto.getStatus();
- if (StringUtils.isNotEmpty(status) && status.equals("1")) {
- //审批通过
- sysAgencyFeeApproval.setHistoryFee(sysAgencyFeeApproval.getCashFee());
- sysAgencyFeeApproval.setPicture(sysAgencyFeeApprovalEditDto.getPicture());
- }else {
- SysPartnerAccount sysPartnerAccount = sysPartnerAccountMapper.selectOne(new LambdaQueryWrapper<SysPartnerAccount>()
- .eq(SysPartnerAccount::getUserId,sysAgencyFeeApproval1.getUserId()));
- sysPartnerAccount.setCashFee(sysPartnerAccount.getCashFee().add(sysAgencyFeeApproval1.getCashFee()));
- sysPartnerAccount.setHistoryFee(sysPartnerAccount.getHistoryFee().subtract(sysAgencyFeeApproval1.getCashFee()));
- sysPartnerAccountMapper.updateById(sysPartnerAccount);
- }
- sysAgencyFeeApproval.setId(sysAgencyFeeApprovalEditDto.getId());
- sysAgencyFeeApproval.setAuditTime(new Date());
- sysAgencyFeeApproval.setRemark(sysAgencyFeeApprovalEditDto.getRemark());
- sysAgencyFeeApproval.setStatus(status);
- sysAgencyFeeApproval.setAuditUser(BaseController.getUser().getName());
- //保存审批信息
- sysAgencyFeeApprovalMapper.updateById(sysAgencyFeeApproval);
- //保存审批记录
- SysAgencyFeeApprovalRecord sysAgencyFeeApprovalRecord = BeanUtil.copyProperties(sysAgencyFeeApproval, SysAgencyFeeApprovalRecord.class);
- sysAgencyFeeApprovalRecord.setApprovalId(sysAgencyFeeApproval.getId());
- sysAgencyFeeApprovalRecord.setId(null);
- sysAgencyFeeApprovalRecord.setCreateTime(new Date());
- sysAgencyFeeApprovalRecord.setCreateBy(BaseController.getUser().getName());
- boolean i = sysAgencyFeeApprovalRecordMapper.insert(sysAgencyFeeApprovalRecord)>0;
- if (i) {
- return HttpResult.ok("审核成功");
- }
- return HttpResult.error("审核失败");
- }
- @Override
- public BasePageResult<SysAgencyFeeApproval> queryPage(SysAgencyFeeApprovalPageDto sysAgencyFeeApprovalPageDto) {
- Page<SysAgencyFeeApproval> page = new Page<>(sysAgencyFeeApprovalPageDto.getPageNum(), sysAgencyFeeApprovalPageDto.getPageSize());
- LambdaQueryWrapper<SysAgencyFeeApproval> wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(!StringUtils.isNullOrEmpty(sysAgencyFeeApprovalPageDto.getStatus()),SysAgencyFeeApproval::getStatus,sysAgencyFeeApprovalPageDto.getStatus());
- wrapper.eq(!StringUtils.isNullOrEmpty(sysAgencyFeeApprovalPageDto.getUserId()),SysAgencyFeeApproval::getUserId,sysAgencyFeeApprovalPageDto.getUserId());
- wrapper.orderByDesc(SysAgencyFeeApproval::getId);
- Page<SysAgencyFeeApproval> insOrdersPage = page(page, wrapper);
- return new BasePageResult<>(sysAgencyFeeApprovalPageDto.getPageNum(), page.getSize(), insOrdersPage.getTotal(), page.getPages(),
- insOrdersPage.getRecords());
- }
- @Override
- public List<SysAgencyFeeApprovalRecord> queryOperate(Integer id) {
- return sysAgencyFeeApprovalRecordMapper.selectList(new LambdaQueryWrapper<SysAgencyFeeApprovalRecord>()
- .eq(SysAgencyFeeApprovalRecord::getApprovalId, id).orderByDesc(SysAgencyFeeApprovalRecord::getId));
- }
- @Override
- public List<SysAgencyFeeApproval> queryOperateInfo(SysAgencyFeeApprovalDto sysAgencyFeeApprovalDto) {
- List<SysAgencyFeeApproval> feeApprovalList = sysAgencyFeeApprovalMapper.selectList(new LambdaQueryWrapper<SysAgencyFeeApproval>()
- .eq(SysAgencyFeeApproval::getUserId, BaseController.getUserId())
- .ge(StringUtils.isNotEmpty(sysAgencyFeeApprovalDto.getBeginTime()), SysAgencyFeeApproval::getAuditTime,sysAgencyFeeApprovalDto.getBeginTime())
- .le(StringUtils.isNotEmpty(sysAgencyFeeApprovalDto.getEndTime()),SysAgencyFeeApproval::getAuditTime,sysAgencyFeeApprovalDto.getEndTime())
- .orderByDesc(SysAgencyFeeApproval::getId));
- return feeApprovalList;
- }
- @Override
- public SysAgencyFeeApprovalRecordVo operateInfo(Integer id) {
- SysAgencyFeeApproval sysAgencyFeeApproval = sysAgencyFeeApprovalMapper.selectOne(new LambdaQueryWrapper<SysAgencyFeeApproval>().eq(SysAgencyFeeApproval::getId, id));
- SysAgencyFeeApprovalRecordVo sysAgencyFeeApprovalRecordVo = new SysAgencyFeeApprovalRecordVo();
- sysAgencyFeeApprovalRecordVo.setId(sysAgencyFeeApproval.getId());
- sysAgencyFeeApprovalRecordVo.setCashFee(sysAgencyFeeApproval.getCashFee());
- sysAgencyFeeApprovalRecordVo.setCreateTime(sysAgencyFeeApproval.getCreateTime());
- sysAgencyFeeApprovalRecordVo.setNumber(sysAgencyFeeApproval.getNumber());
- sysAgencyFeeApprovalRecordVo.setRemark(sysAgencyFeeApproval.getRemark());
- sysAgencyFeeApprovalRecordVo.setBankAccount(sysAgencyFeeApproval.getBankAccount());
- sysAgencyFeeApprovalRecordVo.setBankNumber(sysAgencyFeeApproval.getBankNumber());
- List<SysAgencyFeeApprovalRecord> sysAgencyFeeApprovalRecords = sysAgencyFeeApprovalRecordMapper.selectList(new LambdaQueryWrapper<SysAgencyFeeApprovalRecord>()
- .eq(SysAgencyFeeApprovalRecord::getApprovalId, id).orderByAsc(SysAgencyFeeApprovalRecord::getId));
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- List<StatusInfo> list = new ArrayList<>();
- if (sysAgencyFeeApprovalRecords.size()>0) {
- for (SysAgencyFeeApprovalRecord sysAgencyFeeApprovalRecord : sysAgencyFeeApprovalRecords) {
- StatusInfo statusInfo = new StatusInfo();
- String format;
- Date auditTime = sysAgencyFeeApprovalRecord.getAuditTime();
- if (auditTime != null) {
- format = sdf.format(auditTime);
- }else {
- Date createTime = sysAgencyFeeApprovalRecord.getCreateTime();
- format = sdf.format(createTime);
- }
- statusInfo.setProcessingStatusName(sysAgencyFeeApprovalRecord.getStatus());
- statusInfo.setProcessingDate(format);
- list.add(statusInfo);
- if (sysAgencyFeeApprovalRecord.getStatus().equals("1")) {
- sysAgencyFeeApprovalRecordVo.setAuditTime(sysAgencyFeeApprovalRecord.getAuditTime());
- }
- }
- }
- sysAgencyFeeApprovalRecordVo.setStatusList(list);
- return sysAgencyFeeApprovalRecordVo;
- }
- @Override
- public HttpResult partnerAccount(SysAgencyFeeApprovalAddDto sysAgencyFeeApprovalAddDto) {
- BigDecimal actualFee = sysAgencyFeeApprovalAddDto.getActualFee();
- if (actualFee == null || actualFee.equals(new BigDecimal("0.00"))) {
- throw new SystemException("请输入提现金额");
- }
- //当前登录用户
- SysUser user = BaseController.getUser();
- PartnerPartnerAccount account = partnerAccountMapper.selectOne(new LambdaQueryWrapper<>(PartnerPartnerAccount.class).eq(PartnerPartnerAccount::getUserId,user.getId()));
- BigDecimal cashFee = account.getCashFee();
- int compare = cashFee.compareTo(actualFee);
- if (compare < 0) {
- throw new SystemException("提现金额不能超过可提现金额");
- }
- SysAgencyFeeApproval sysAgencyFeeApproval = BeanUtil.copyProperties(sysAgencyFeeApprovalAddDto, SysAgencyFeeApproval.class);
- sysAgencyFeeApproval.setUserId(user.getId());
- sysAgencyFeeApproval.setUserName(user.getName());
- sysAgencyFeeApproval.setDeptId(user.getDeptId());
- SysDept sysDept = sysDeptMapper.selectOne(new LambdaQueryWrapper<SysDept>().eq(SysDept::getId, user.getDeptId()).eq(SysDept::getDelFlag, 0));
- if (sysDept != null) {
- sysAgencyFeeApproval.setDeptName(sysDept.getName());
- }
- sysAgencyFeeApproval.setNumber(IdGenerate.nextId());
- //总保费
- sysAgencyFeeApproval.setSumpremium(account.getSumPremium());
- //总保费抽成费用
- sysAgencyFeeApproval.setExtractFee(account.getExtractFee());
- //已提现抽成费用
- // sysAgencyFeeApproval.setHistoryFee(null);
- //可提现抽成费用
- sysAgencyFeeApproval.setCashFee(actualFee);
- // sysAgencyFeeApproval.setStartTime(agencyExtractFee.getStartTime());
- // sysAgencyFeeApproval.setProportional(agencyExtractFee.getProportional());
- sysAgencyFeeApproval.setCreateBy(user.getName());
- sysAgencyFeeApproval.setCreateTime(new Date());
- sysAgencyFeeApproval.setStatus("0");
- sysAgencyFeeApprovalMapper.insert(sysAgencyFeeApproval);
- account.setCashFee(account.getCashFee().subtract(actualFee));
- BigDecimal historyFee = account.getHistoryFee();
- if (historyFee == null) {
- account.setHistoryFee(actualFee);
- }else {
- account.setHistoryFee(account.getHistoryFee().add(actualFee));
- }
- partnerAccountMapper.updateById(account);
- //保存添加记录
- SysAgencyFeeApprovalRecord sysAgencyFeeApprovalRecord = BeanUtil.copyProperties(sysAgencyFeeApproval, SysAgencyFeeApprovalRecord.class);
- sysAgencyFeeApprovalRecord.setApprovalId(sysAgencyFeeApproval.getId());
- sysAgencyFeeApprovalRecord.setId(null);
- boolean i = sysAgencyFeeApprovalRecordMapper.insert(sysAgencyFeeApprovalRecord)>0;
- if (i) {
- return HttpResult.ok("提现申请提交成功");
- }
- return HttpResult.error("提现申请提交失败");
- }
- }
|