| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- package com.ydtech.modules.inv.service.impl;
- import com.baomidou.mybatisplus.core.metadata.IPage;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import com.ydtech.constants.enums.inv.InvPayMethodEnum;
- import com.ydtech.core.page.HttpResult;
- import com.ydtech.core.page.PageRequest;
- import com.ydtech.modules.inv.model.*;
- import com.ydtech.modules.inv.service.*;
- import com.ydtech.modules.inv.dao.InvAccountOperateMapper;
- import com.ydtech.modules.inv.utils.EasyExcelUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.beans.factory.annotation.Value;
- import org.springframework.stereotype.Service;
- import java.time.LocalDateTime;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.List;
- import java.util.Map;
- import static com.ydtech.modules.inv.utils.TransferUtils.outsideTransfer;
- /**
- * @author Administrator
- * @description 针对表【ins_account_operate(账户操作记录表)】的数据库操作Service实现
- * @createDate 2024-01-04 18:29:20
- */
- @Service
- public class InvAccountOperateServiceImpl extends ServiceImpl<InvAccountOperateMapper, InvAccountOperate>
- implements InvAccountOperateService {
- @Autowired
- private InvAccountOperateMapper insAccountOperateMapper;
- @Autowired
- private InvAccountOpService invAccountOpService;
- @Autowired
- private InvAccountCardService invAccountCardService;
- @Autowired
- private InvAccountService invAccountService;
- @Autowired
- private InvAccountProfitService invAccountProfitService;
- @Value("${upload.file.path}")
- String uploadFilePath;
- /**
- * 查询操作列表
- *
- * @param accountOperate
- * @return
- */
- @Override
- public IPage<InvAccountOperate> selectList(InvAccountOperate accountOperate) {
- PageRequest pageRequest = new PageRequest();
- pageRequest.setPageNum(accountOperate.getPageNo());
- pageRequest.setPageSize(accountOperate.getPageSize());
- Page page = PageRequest.buildPageRequest(pageRequest);
- IPage<InvAccountOperate> invAccountOperateIPage = insAccountOperateMapper.selectInsAccountOperate(page, accountOperate);
- List<InvAccountOperate> records = invAccountOperateIPage.getRecords();
- for (InvAccountOperate record:records){
- StringBuilder a = new StringBuilder();
- if (record.getPayMethod() != null){
- String[] split = record.getPayMethod().split(",");
- for (String i : split) {
- a.append(InvPayMethodEnum.getNameByCode(i)).append(",");
- }
- record.setPayMethod(a.toString());
- }
- }
- invAccountOperateIPage.setRecords(records);
- return invAccountOperateIPage;
- }
- /**
- * 外部转内部
- * @param invAccountOperate
- * @return
- */
- @Override
- public HttpResult insert(InvAccountOperate invAccountOperate) {
- InvAccountCard enterAccount = invAccountCardService.getById(invAccountOperate.getEnterCardId());
- InvAccountCard invAccount = outsideTransfer(enterAccount, invAccountOperate);
- InvAccount account = invAccountService.getById(invAccount.getAccountId());
- if (!invAccountCardService.updateById(invAccount)){
- return HttpResult.error("新增收入失败");
- }
- invAccountOperate.setCreateTime(LocalDateTime.now());
- insAccountOperateMapper.insert(invAccountOperate);
- List<InvAccountOp> list = new ArrayList<>();
- for (Map.Entry<String, Object> entry:invAccountOperate.getOutProfit().entrySet()){
- InvAccountOp invAccountOp = new InvAccountOp();
- invAccountOp.setAccountId(enterAccount.getAccountId());
- invAccountOp.setAccountName(account.getAccountName());
- invAccountOp.setCardNum(invAccount.getBankCardNum());
- invAccountOp.setCardName(invAccount.getBankName());
- invAccountOp.setProfit(entry.getKey());
- invAccountOp.setMoney(entry.getValue().toString());
- list.add(invAccountOp);
- }
- invAccountOpService.saveBatch(list);
- return HttpResult.ok("新增收入成功");
- }
- @Override
- public HttpResult excelAccount(InvAccountOperate accountOperate) {
- List<InvAccountOperate> invAccountOperates = insAccountOperateMapper.selectInsAccountOperateList(accountOperate);
- List<InvAccountProfit> list = invAccountProfitService.list();
- for (InvAccountOperate record:invAccountOperates){
- StringBuilder a = new StringBuilder();
- if (record.getPayMethod() != null){
- String[] split = record.getPayMethod().split(",");
- for (String i : split) {
- a.append(InvPayMethodEnum.getNameByCode(i)).append(",");
- }
- record.setPayMethod(a.toString());
- }
- if (record.getOutProfit()!=null) {
- StringBuffer buffer = new StringBuffer();
- for (Map.Entry<String, Object> entry : record.getOutProfit().entrySet()){
- list.forEach(invAccountProfit -> {
- if (invAccountProfit.getProfitEng().equals(entry.getKey())) {
- buffer.append(invAccountProfit.getProfitName()).append(" ");
- }
- });
- }
- record.setPlate(buffer.toString());
- }
- }
- return HttpResult.ok("", EasyExcelUtils.downExcel(uploadFilePath, InvAccountOperate.class, invAccountOperates));
- }
- }
|