|
@@ -0,0 +1,126 @@
|
|
|
+package org.jeecg.ctop.finance.settlement.service.serviceImpl;
|
|
|
+
|
|
|
+import cn.afterturn.easypoi.excel.ExcelImportUtil;
|
|
|
+import cn.afterturn.easypoi.excel.entity.ImportParams;
|
|
|
+import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.github.pagehelper.PageHelper;
|
|
|
+import com.github.pagehelper.PageInfo;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.antlr.v4.runtime.misc.Array2DHashSet;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.apache.shiro.SecurityUtils;
|
|
|
+import org.jeecg.common.api.vo.Result;
|
|
|
+import org.jeecg.common.system.vo.LoginUser;
|
|
|
+import org.jeecg.ctop.finance.policy.utils.Check;
|
|
|
+import org.jeecg.ctop.finance.settlement.entity.pojo.ctopCwjsSettlementFileInfo;
|
|
|
+import org.jeecg.ctop.finance.settlement.entity.pojo.ctopCwjsSettlementInfo;
|
|
|
+import org.jeecg.ctop.finance.settlement.entity.vo.AccountImportVo;
|
|
|
+import org.jeecg.ctop.finance.settlement.entity.vo.SettlementFileParamsVo;
|
|
|
+import org.jeecg.ctop.finance.settlement.mapper.SettlementFileInfoMapper;
|
|
|
+import org.jeecg.ctop.finance.settlement.mapper.SettlementInfoMapper;
|
|
|
+import org.jeecg.ctop.finance.settlement.service.ISettlementFileInfoService;
|
|
|
+import org.jeecg.ctop.finance.settlement.service.ISettlementInfoService;
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.web.multipart.MultipartFile;
|
|
|
+
|
|
|
+import javax.annotation.Resource;
|
|
|
+import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
+
|
|
|
+@Slf4j
|
|
|
+@Service
|
|
|
+public class SettlementFileInfoServiceImpl extends ServiceImpl<SettlementFileInfoMapper, ctopCwjsSettlementFileInfo> implements ISettlementFileInfoService {
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private SettlementFileInfoMapper settlementFileInfoMapper;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private SettlementInfoMapper settlementInfoMapper;
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * @description: 查询 财务结算-结算单列表
|
|
|
+ *
|
|
|
+ * @param paramsVo
|
|
|
+ * @param pageNo
|
|
|
+ * @param pageSize
|
|
|
+ * @return: org.jeecg.common.api.vo.Result
|
|
|
+ * @author: zianY
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public Result<PageInfo<Map<String,String>>> getSettlementSheetList(SettlementFileParamsVo paramsVo, Integer pageNo, Integer pageSize) {
|
|
|
+ Set accountSet = new HashSet();
|
|
|
+ Set imageSet = new HashSet();
|
|
|
+ PageHelper.startPage(pageNo, pageSize);
|
|
|
+ List<Map<String,String>> list = settlementFileInfoMapper.getSettlementSheetList(paramsVo);
|
|
|
+ list.forEach(map -> {
|
|
|
+ //账户数量
|
|
|
+ QueryWrapper<ctopCwjsSettlementInfo> settlementAccountQw = new QueryWrapper<>();
|
|
|
+ //广告主id
|
|
|
+ settlementAccountQw.eq("advertiser_id",map.get("advertiserId"));
|
|
|
+ //产品id
|
|
|
+ settlementAccountQw.eq("product_id",map.get("productId"));
|
|
|
+ //媒体类型 1-头条 2-快手 3-头条内广 4-快手内广
|
|
|
+ settlementAccountQw.eq("media_id",map.get("mediaId"));
|
|
|
+ //账户状态 0-开 1-关
|
|
|
+ settlementAccountQw.eq("status",0);
|
|
|
+ //(0,正常,1已删除)
|
|
|
+ settlementAccountQw.eq("del_flag",0);
|
|
|
+ List<ctopCwjsSettlementInfo> settlementAccountList = settlementInfoMapper.selectList(settlementAccountQw);
|
|
|
+ List<String> advertiserList = settlementAccountList.stream().map(ctopCwjsSettlementInfo::getAccountId).collect(Collectors.toList());
|
|
|
+ if (!Check.isNull(advertiserList)){
|
|
|
+ accountSet.addAll(advertiserList);
|
|
|
+ }
|
|
|
+ //图片数量
|
|
|
+ QueryWrapper<ctopCwjsSettlementFileInfo> settlementFileInfoQw = new QueryWrapper<>();
|
|
|
+ //广告主id
|
|
|
+ settlementFileInfoQw.eq("advertiser_id",map.get("advertiserId"));
|
|
|
+ //产品id
|
|
|
+ settlementFileInfoQw.eq("product_id",map.get("productId"));
|
|
|
+ //媒体类型 1-头条 2-快手 3-头条内广 4-快手内广
|
|
|
+ settlementFileInfoQw.eq("media_id",map.get("mediaId"));
|
|
|
+ //上传人 (运营)
|
|
|
+ settlementFileInfoQw.eq("create_user_id",map.get("operateUserId"));
|
|
|
+ //(0,正常,1已删除)
|
|
|
+ settlementFileInfoQw.eq("del_flag",0);
|
|
|
+ List<ctopCwjsSettlementFileInfo> settlementFileList = settlementFileInfoMapper.selectList(settlementFileInfoQw);
|
|
|
+ List<String> imageList = settlementFileList.stream().map(ctopCwjsSettlementFileInfo::getAccountId).collect(Collectors.toList());
|
|
|
+ if (!Check.isNull(imageList)){
|
|
|
+ imageSet.addAll(imageList);
|
|
|
+ }
|
|
|
+ map.put("accountCount", Check.isNull(settlementAccountList) ? "0" : String.valueOf(settlementAccountList.size()));
|
|
|
+ map.put("imageCount",Check.isNull(settlementFileList) ? "0" : String.valueOf(settlementFileList.size()));
|
|
|
+ });
|
|
|
+
|
|
|
+ //当前页 账户、图片(去重)总计
|
|
|
+ if (!Check.isNull(list)){
|
|
|
+ list.get(0).put("accountTotal",Check.isNull(accountSet.size()) ? "0" : String.valueOf(accountSet.size()));
|
|
|
+ list.get(0).put("imageTotal",Check.isNull(imageSet.size()) ? "0" : String.valueOf(imageSet.size()));
|
|
|
+ }
|
|
|
+
|
|
|
+ PageInfo<Map<String,String>> pageInfo = new PageInfo<>(list);
|
|
|
+ return Result.successMsg("财务结算-结算单列表查询成功。", pageInfo);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * @description: 删除
|
|
|
+ *
|
|
|
+ * @param paramsVo
|
|
|
+ * @return: org.jeecg.common.api.vo.Result
|
|
|
+ * @author: zianY
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public Result deleteSettlementFile(SettlementFileParamsVo paramsVo) {
|
|
|
+ settlementFileInfoMapper.deleteSettlementFile(paramsVo);
|
|
|
+ return Result.successMsg("删除成功。",null);
|
|
|
+ }
|
|
|
+
|
|
|
+}
|