| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197 |
- 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.aop.exception.DescribeException;
- import com.ydtech.core.page.HttpResult;
- import com.ydtech.exception.SystemException;
- import com.ydtech.modules.admin.dao.SysAgencyFeeApprovalMapper;
- import com.ydtech.modules.admin.dao.SysAgencyFeeApprovalRecordMapper;
- import com.ydtech.modules.admin.dao.SysDeptMapper;
- import com.ydtech.modules.admin.model.SysAgencyFeeApproval;
- import com.ydtech.modules.admin.model.SysAgencyFeeApprovalRecord;
- import com.ydtech.modules.admin.model.SysDept;
- import com.ydtech.modules.admin.model.SysUser;
- 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.service.SysAgencyFeeApprovalService;
- import com.ydtech.modules.admin.service.SysAgencyLeaderService;
- import com.ydtech.modules.admin.service.SysDeptService;
- import com.ydtech.modules.admin.service.SysUserService;
- import com.ydtech.modules.base.controller.BaseController;
- import com.ydtech.modules.order.entity.BasePageResult;
- import com.ydtech.modules.order.entity.InsOrders;
- 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.util.Date;
- import java.util.List;
- /**
- * 机构保费抽成审批表(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;
- @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());
- BigDecimal cashFee = agencyExtractFee.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(agencyExtractFee.getSumpremium());
- //总保费抽成费用
- sysAgencyFeeApproval.setExtractFee(agencyExtractFee.getExtractFee());
- //已提现抽成费用
- sysAgencyFeeApproval.setHistoryFee(agencyExtractFee.getHistoryFee());
- //可提现抽成费用
- sysAgencyFeeApproval.setCashFee(actualFee);
- sysAgencyFeeApproval.setStartTime(agencyExtractFee.getStartTime());
- sysAgencyFeeApproval.setProportional(agencyExtractFee.getProportional());
- sysAgencyFeeApproval.setCreateBy(user.getName());
- sysAgencyFeeApproval.setCreateTime(new Date());
- //提交审核信息
- save(sysAgencyFeeApproval);
- //保存添加记录
- 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 sysAgencyFeeApproval = sysAgencyFeeApprovalMapper.selectById(sysAgencyFeeApprovalEditDto.getId());
- String status = sysAgencyFeeApproval.getStatus();
- if (status.equals("1") || status.equals("2")) {
- throw new DescribeException("已审批,不可重复操作");
- }
- sysAgencyFeeApproval.setAuditTime(new Date());
- sysAgencyFeeApproval.setRemark(sysAgencyFeeApprovalEditDto.getRemark());
- sysAgencyFeeApproval.setStatus(sysAgencyFeeApprovalEditDto.getStatus());
- 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));
- }
- @Override
- public boolean confirmAccounts(SysAgencyFeeApprovalEditDto sysAgencyFeeApprovalEditDto) {
- SysAgencyFeeApproval sysAgencyFeeApproval = sysAgencyFeeApprovalMapper.selectById(sysAgencyFeeApprovalEditDto.getId());
- if (sysAgencyFeeApproval.getStatus().equals("0") || sysAgencyFeeApproval.getStatus().equals("2")) {
- throw new DescribeException("未审批或审批未通,不可确认转账");
- }
- sysAgencyFeeApproval.setHistoryFee(sysAgencyFeeApproval.getCashFee());
- sysAgencyFeeApproval.setPicture(sysAgencyFeeApprovalEditDto.getPicture());
- 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());
- return sysAgencyFeeApprovalRecordMapper.insert(sysAgencyFeeApprovalRecord)>0;
- }
- @Override
- public List<SysAgencyFeeApproval> queryOperateInfo(SysAgencyFeeApprovalDto sysAgencyFeeApprovalDto) {
- List<SysAgencyFeeApproval> feeApprovalList = sysAgencyFeeApprovalMapper.selectList(new LambdaQueryWrapper<SysAgencyFeeApproval>()
- .eq(SysAgencyFeeApproval::getUserId, BaseController.getUserId()).eq(SysAgencyFeeApproval::getStatus, 1)
- .ge(StringUtils.isNotEmpty(sysAgencyFeeApprovalDto.getBeginTime()), SysAgencyFeeApproval::getAuditTime,sysAgencyFeeApprovalDto.getBeginTime())
- .le(StringUtils.isNotEmpty(sysAgencyFeeApprovalDto.getEndTime()),SysAgencyFeeApproval::getAuditTime,sysAgencyFeeApprovalDto.getEndTime()));
- return feeApprovalList;
- }
- }
|