package com.xzx.gc.pay.service; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.lang.Snowflake; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.xzx.gc.common.Result; import com.xzx.gc.common.constant.*; import com.xzx.gc.common.dto.SimplePage; import com.xzx.gc.common.exception.RestException; import com.xzx.gc.common.utils.*; import com.xzx.gc.common.utils.ali.SmsUtil; import com.xzx.gc.entity.*; import com.xzx.gc.model.JsonResult; import com.xzx.gc.model.admin.*; import com.xzx.gc.model.pay.RkLimitDto; import com.xzx.gc.pay.mapper.*; import com.xzx.gc.util.DoubleUtil; import com.xzx.gc.util.SessionUtil; import com.xzx.gc.util.pay.util.entity.TransfersDtoAdmin; import lombok.extern.slf4j.Slf4j; import org.apache.commons.codec.binary.Base64; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.math.RoundingMode; import java.text.ParseException; import java.util.*; @Service @Transactional @Slf4j public class PayRequestService { @Autowired private PayRequestMapper payRequestMapper; @Autowired private IdUtils idUtils; @Autowired private RemittanceUserService remittanceUserService; @Autowired private CityPartnerMapper cityPartnerMapper; @Autowired private PayInfoMapper payInfoMapper; @Autowired private AccountService accountService; @Autowired private AccountMapper accountMapper; @Autowired private ConfigService configService; @Autowired private CityPartnerService cityPartnerService; @Autowired private SessionUtil sessionUtil; @Autowired private UserService userService; @Autowired private OtherUserService otherUserService; @Autowired private AccountLogMapper accountLogMapper; @Autowired private UserRoleMapper userRoleMapper; @Autowired private OrderMapper orderMapper; @Autowired private RedisUtil redisUtil; @Autowired private UserMapper userMapper; @Autowired private PartnerAccountMapper partnerAccountMapper; @Autowired private RemittanceUserMapper remittanceUserMapper; @Autowired private PartnerAccountLogService partnerAccountLogService; @Autowired private PartnerAccountLogMapper partnerAccountLogMapper; @Autowired private PlatformAccountInfoMapper platformAccountInfoMapper; @Autowired private PlatformAccountLogMapper platformAccountLogMapper; @Autowired private OtherUserMapper otherUserMapper; @Autowired private BusinessUtil businessUtil; @Autowired private OrderStorageInfoMapper orderStorageInfoMapper; public void add(PayRequestInfo payRequestInfo){ String payOrderId = idUtils.generate("ZF",0); payRequestInfo.setPayOrderId(payOrderId); payRequestInfo.setStatus(PayEnum.待审核.getValue()); payRequestInfo.setCreateTime(DateUtil.now()); AccountInfo accountInfo1 = accountService.findByUserId(payRequestInfo.getCreateUserId()); if(accountInfo1!=null){ payRequestInfo.setAccountId(accountInfo1.getAccountId()); } payRequestMapper.insertSelective(payRequestInfo); } /** * 查询金钱列表 * @param moneyModel * @return */ public Map queryMoneyList(MoneyModel moneyModel, String page, String limit){ if(!StringUtils.isEmpty(moneyModel.getNickName())){ moneyModel.setNickName(new String(Base64.encodeBase64(moneyModel.getNickName().getBytes()))); } PageHelper.startPage(Convert.toInt(page),Convert.toInt(limit)); List list = payRequestMapper.queryMoneyList(moneyModel); PageInfo pageInfo=new PageInfo<>(list); if(!StringUtils.isEmpty(moneyModel.getMobilePhone())){ if(list.size()==0){ PageHelper.startPage(Convert.toInt(page),Convert.toInt(limit)); list = payRequestMapper.queryOtherMoneyList(moneyModel); pageInfo=new PageInfo<>(list); } } //APPROVAL_TYPE String approvalType = configService.findByCode("APPROVAL_TYPE").getConfigValue(); for (MoneyModel model:list) { model.setApprovalType(approvalType); } long count =0; if(null!=list&&list.size()>0){ count= pageInfo.getTotal(); } Map m = new HashMap<>(); m.put("data", list); m.put("count", count); m.put("code", 0); return m; } /** * 查询提现列表 * @param moneyModel * @return */ public JsonResult> queryFundManagementList(MoneyModel moneyModel){ List partnerIds = new ArrayList<>(); if(null!=moneyModel.getPartnerId()&&!"".equals(moneyModel.getPartnerId())){ partnerIds.add(moneyModel.getPartnerId()); }else{ partnerIds = cityPartnerService.queryPartnerByCurrent(); } moneyModel.setPartnerIds(partnerIds); Map map = new HashMap<>(); if(!StringUtils.isEmpty(moneyModel.getNickName())){ moneyModel.setName(moneyModel.getNickName()); moneyModel.setNickName(new String(Base64.encodeBase64(moneyModel.getNickName().getBytes()))); } if(null!=partnerIds&&partnerIds.size()>0){ List packageIds = cityPartnerService.queryPackageIdByPartnerId(partnerIds.get(0)); packageIds.add(partnerIds.get(0)); moneyModel.setPartnerIds(packageIds); } if(null!=moneyModel.getStartTime()&&!"".equals(moneyModel.getStartTime())){ moneyModel.setStartTime(moneyModel.getStartTime()+" 00:00:00"); } if(null!=moneyModel.getEndTime()&&!"".equals(moneyModel.getEndTime())){ moneyModel.setEndTime(moneyModel.getEndTime()+" 23:59:59"); } PageHelper.startPage(moneyModel.getPage(),moneyModel.getLimit()); List list = payRequestMapper.queryMoneyList2(moneyModel); PageInfo pageInfo=new PageInfo<>(list); List payOrderIds = payRequestMapper.queryPayOrderIds(moneyModel); CoreUser currentUser = sessionUtil.getCurrentUser(); CityPartner pa = cityPartnerService.queryById(currentUser.getId()+""); String todaySuccess ="0"; String today="0"; if(moneyModel.getPayType()!="9"){ //MoneyModel m1 = new MoneyModel(); moneyModel.setStartTime(DateUtil.today()+" 00:00:00"); moneyModel.setEndTime(DateUtil.today()+" 23:59:59"); moneyModel.setStatus("2"); if(payOrderIds.size()>0){ //m1.setPayOrderIds(payOrderIds); todaySuccess = payRequestMapper.queryMoneyTodayList(moneyModel); } if(null!=todaySuccess&&!"".equals(todaySuccess)){ map.put("todaySuccess", DoubleUtil.roundTwo(todaySuccess)); }else{ map.put("todaySuccess",0); } //MoneyModel m2 = new MoneyModel(); moneyModel.setStartTime(DateUtil.today()+" 00:00:00"); moneyModel.setEndTime(DateUtil.today()+" 23:59:59"); moneyModel.setStatus(null); if(payOrderIds.size()>0){ //m2.setPayOrderIds(payOrderIds); today = payRequestMapper.queryMoneyTodayList(moneyModel); } if(null!=today&&!"".equals(today)){ map.put("today",DoubleUtil.roundTwo(today)); }else{ map.put("today",0); } } String approvalType = configService.findByCode("APPROVAL_TYPE").getConfigValue(); for (MoneyModel model:list) { model.setApprovalType(approvalType); String userId = model.getCreateUserId(); //查询当前额度 model = getModelByPayOrderId(model); AccountInfo model1 = accountService.findByUserIdForbidden(userId); if(null!=model1){ if(model.getPayType().equals("9")){ if(null!=model.getOrderId()&&!"".equals(model.getOrderId())){ model.setOverdraftLimit(model.getOldLimit()); }else{ model.setOverdraftLimit(model.getOldLimit()); } model.setFixedLimit(model.getNewFixedLimit()); }else{ model.setFixedLimit(model.getNewFixedLimit()); model.setOverdraftLimit(model.getNewFixedLimit()); } }else{ model.setFixedLimit("0"); model.setOverdraftLimit("0"); } String nickName = ""; if(model.getUserType().equals("1")){ nickName= com.xzx.gc.common.utils.StringUtils.decode(model.getNickName()); }else{ nickName = model.getNickName(); } model.setNickName(nickName); model.setName(nickName); if(model.getPayType().equals("7")){ UserInfo userModel = userService.findById(userId); if (userModel == null) { OtherUserInfo otherUserInfo= otherUserService.findById(userId); userModel=new UserInfo(); BeanUtil.copyProperties(otherUserInfo,userModel); } if(userModel!=null){ model.setName(userModel.getName()); model.setMobilePhone(userModel.getMobilePhone()); }else{ model.setName("--"); model.setMobilePhone("--"); } }else if(model.getPayType().equals("9")){ //查询回收员名称和手机号 String userType = ""; UserInfo userModel = userService.findById(userId); if (userModel == null) { OtherUserInfo otherUserInfo= otherUserService.findById(userId); userModel=new UserInfo(); BeanUtil.copyProperties(otherUserInfo,userModel); } if(!"1".equals(userType)){ String roleName = userRoleMapper.queryPayInfoUserRole(userType); model.setRoleName(roleName); }else{ model.setRoleName("普通用户"); } if(null!=userModel){ model.setName(userModel.getName()); model.setMobilePhone(userModel.getMobilePhone()); }else{ model.setName("--"); model.setMobilePhone("--"); } } } map.put("data", list); map.put("count", pageInfo.getTotal()); map.put("code", 0); return JsonResult.success(map); } private MoneyModel getModelByPayOrderId(MoneyModel model){ MoneyModel newModel = accountLogMapper.getModelByPayOrderId(model); if(null!=newModel){ model.setOldLimit(newModel.getOldLimit()); model.setNewLimit(newModel.getNewLimit()); model.setOldFixedLimit(newModel.getOldFixedLimit()); model.setNewFixedLimit(newModel.getNewFixedLimit()); }else{ model.setOldLimit("-"); model.setNewLimit("-"); model.setOldFixedLimit("-"); model.setNewFixedLimit("-"); } return model; } public JsonResult> queryPayInfoDetailApi(MoneyModel moneyModel){ Map map = new HashMap<>(); if(moneyModel.getUserType().equals("1")){ map = payRequestMapper.queryPayInfoDetail(moneyModel.getPayOrderId()); }else{ map = payRequestMapper.queryPayInfoDetailHS(moneyModel.getPayOrderId()); } String userId = map.get("create_user_id").toString(); PayRequestInfoModel model = new PayRequestInfoModel(); //提现审核详情需要查询用户订单列表 if(moneyModel.getUserType().equals("1")){ model.setUserId(userId); }else{ model.setOtherUserId(userId); } PageHelper.startPage(moneyModel.getPage(),moneyModel.getLimit()); List orderList = orderMapper.queryUserOrderList(model); PageInfo pageInfo=new PageInfo<>(orderList); for (PayRequestInfoModel reqModel:orderList) { reqModel.setWeight(DoubleUtil.roundThree(reqModel.getWeight())); reqModel.setMoney(DoubleUtil.roundTwo(reqModel.getMoney())); } map.put("data",orderList); map.put("count",pageInfo.getTotal()); map.put("code",0); List> totalMap = orderMapper.queryUserOrderMoneyAndWeight(model); BigDecimal totalmoney = new BigDecimal("0"); BigDecimal totalweight = new BigDecimal("0"); for (Map mw:totalMap) { totalmoney = new BigDecimal(mw.get("money").toString()).add(totalmoney); totalweight = new BigDecimal(mw.get("weight").toString()).add(totalweight); } map.put("totalMoney", DoubleUtil.roundTwo(totalmoney.toString())); map.put("totalWeight",DoubleUtil.roundThree(totalweight.toString())); if(!"1".equals(map.get("userType"))){ String roleName = userRoleMapper.queryPayInfoUserRole(map.get("userType").toString()); map.put("roleName",roleName); }else{ map.put("roleName","普通用户"); } if(map.get("status").equals("2")){ map.put("statusName","已审核"); }else if(map.get("status").equals("3")){ map.put("statusName","审核未通过"); }else{ map.put("statusName","待审核"); } return JsonResult.success(map); } /** * 查询充值记录 * @param moneyModel */ public Map queryRechangeApiList(MoneyModel moneyModel){ List partnerIds = cityPartnerService.queryPartnerByCurrent(); moneyModel.setPartnerIds(partnerIds); if(!StringUtils.isEmpty(moneyModel.getNickName())){ moneyModel.setPartnerName(moneyModel.getNickName()); moneyModel.setMobilePhone(moneyModel.getNickName()); } moneyModel.setPayType("1"); Map m = new HashMap<>(); String startTime =DateUtil.today()+" 00:00:00"; String endTime =DateUtil.today()+" 23:59:59"; List statusList = new ArrayList<>(); List statusList1 = new ArrayList<>(); statusList.add("1"); statusList.add("2"); statusList.add("3"); statusList.add("4"); statusList.add("5"); String today = payInfoMapper.queryRechangeMoney(statusList,"1",startTime,endTime,partnerIds); statusList1.add("2"); statusList1.add("3"); String todaySuccess = payInfoMapper.queryRechangeMoney(statusList1,"1",startTime,endTime,partnerIds);; if( today==null || today.equals("")){ today="0"; } if( todaySuccess==null || todaySuccess.equals("")){ todaySuccess="0"; } m.put("today",DoubleUtil.roundTwo(today)); m.put("todaySuccess",DoubleUtil.roundTwo(todaySuccess)); PageHelper.startPage(moneyModel.getPage(),moneyModel.getLimit()); moneyModel.setStartTime(DateUtils.changeTimeBigin(moneyModel.getStartTime())); moneyModel.setEndTime(DateUtils.changeTimeEnd(moneyModel.getEndTime())); List list1 = payInfoMapper.queryRechangeApiList(moneyModel); PageInfo pageInfo=new PageInfo<>(list1); for (MoneyModel model:list1) { String nickName = ""; model.setMoney(DoubleUtil.roundTwo(model.getMoney())); if(null!=model.getPartnerName()&&!"".equals(model.getPartnerName())){ String payOrderId=model.getPayOrderId(); nickName = model.getPartnerName(); model.setMobilePhone(model.getPartnerPhone()); if(model.getPartnerType().equals("1")){ model.setRoleName("城市合伙人"); }else{ model.setRoleName("打包站"); } RemittanceUser remittanceUser = remittanceUserService.findByPayOrderId(payOrderId); RemittanceModel remittanceModel=new RemittanceModel(); BeanUtil.copyProperties(remittanceUser,remittanceModel); model.setRemittanceModel(remittanceModel); if(null==model.getFee()){ model.setFee("0"); } BigDecimal fee = new BigDecimal(model.getFee()); model.setFee(DoubleUtil.roundTwo(fee.toString())); }else{ if(com.xzx.gc.common.utils.StringUtils.isBase64(model.getNickName())) { nickName = com.xzx.gc.common.utils.StringUtils.decode(model.getNickName()); }else { nickName=model.getNickName(); } if(null==model.getFee()){ model.setFee("0"); } BigDecimal fee = new BigDecimal(model.getFee()); BigDecimal tMoney = new BigDecimal(model.getMoney()); model.setMoney(DoubleUtil.roundTwo(tMoney.toString())); model.setFee(DoubleUtil.roundTwo(fee.toString())); String userId = model.getCreateUserId(); UserInfo user = userService.findById(userId); //RemittanceModel remittanceModel = new RemittanceModel(); if(null!=user){ /* 充值姓名: 充值手机号: 角色:*/ model.setRoleName("普通用户"); model.setUserType(user.getUserType()); String userName = com.xzx.gc.common.utils.StringUtils.decode(user.getNickName()); model.setPayName(userName); model.setPayMobile(user.getMobilePhone()); model.setPartnerName(user.getName()); model.setPartnerPhone(user.getMobilePhone()); RemittanceModel remittanceModel = new RemittanceModel(); remittanceModel.setCreateUserId(userId); remittanceModel.setRechargePhone(user.getMobilePhone()); remittanceModel.setRechargeName(user.getName()); model.setRemittanceModel(remittanceModel); }else{ OtherUserInfo otherUserInfo = otherUserService.findById(userId); if(null!=otherUserInfo){ user=new UserInfo(); BeanUtil.copyProperties(otherUserInfo,user); RemittanceModel remittanceModel = new RemittanceModel(); remittanceModel.setCreateUserId(userId); remittanceModel.setRechargePhone(user.getMobilePhone()); remittanceModel.setRechargeName(user.getName()); model.setUserType(user.getUserType()); String roleName =userRoleMapper.queryPayInfoUserRole(user.getUserType()); model.setRoleName(roleName); model.setPayName(user.getName()); model.setPartnerName(user.getName()); model.setPartnerPhone(user.getMobilePhone()); model.setPayMobile(user.getMobilePhone()); model.setRemittanceModel(remittanceModel); } } } model.setNickName(nickName); } m.put("data", list1); m.put("count", pageInfo.getTotal()); m.put("code", 0); return m; } public Map queryRechangeApiDetail(PayInfoModel model){ PayInfoModel result = payInfoMapper.queryRechangeApiDetail(model); Map map = new HashMap<>(); if(null!=result){ map.put("data",result); map.put("code",0); map.put("msg","查询成功"); }else{ map.put("code",-1); map.put("msg","查询失败"); } return map; } public JsonResult audit(TransfersDtoAdmin dto){ MoneyModel moneyModel = new MoneyModel(); moneyModel.setPayOrderId(dto.getPayOrderId()); moneyModel = payRequestMapper.queryMoney(moneyModel); UserInfo userModel = userService.findById(moneyModel.getCreateUserId()); if (userModel == null) { // if (moneyModel.getPayType().equals("9")) { // userModel = cuserConsoleService.queryRecoveryById(moneyModel.getCreateUserId(), "4"); // } else { // userModel = cuserConsoleService.queryRecoveryById(moneyModel.getCreateUserId(), "2"); // } OtherUserInfo byId = otherUserService.findById(moneyModel.getCreateUserId()); userModel=new UserInfo(); BeanUtil.copyProperties(byId,userModel); } if (null != userModel) { AccountInfo userAccountModel = accountService.findByUserIdForbidden(moneyModel.getCreateUserId()); if (userAccountModel == null) { return JsonResult.success("此用户未查询到账户信息"); } else { String money = moneyModel.getMoney(); String type = ""; if (moneyModel.getPayType().equals("9")) { type = "9"; BigDecimal money1 = new BigDecimal(userAccountModel.getFixedLimit()).subtract(new BigDecimal(userAccountModel.getOverdraftLimit())); money = DoubleUtil.roundTwo(money1.toString()); accountMapper.updateLimitByUserId(userAccountModel.getAccountId(), moneyModel.getMoney()); } else { type = "8"; accountService.updateOverdrawPriceByUserId(userAccountModel.getAccountId(), moneyModel.getMoney()); } //此处需要扣除合伙人的钱 String partnerId = userModel.getPartnerId(); CityPartner partner = cityPartnerService.queryById(partnerId); if (partner.getPartnerType().equals("2")) { partner = cityPartnerService.queryById(partner.getPackingStation()); } PartnerAccountModel partnerAccountModel = partnerAccountMapper.getPartnerAccountByUserId(partner.getUserId()); Snowflake snowflake = IdUtil.getSnowflake(0, 3); String payOrderId = "ZF" + snowflake.nextIdStr(); partnerAccountLogService.insertPartnerAccountLog(partnerAccountModel, type, new BigDecimal(money), payOrderId, null); BigDecimal newPartnerMoney = new BigDecimal(partnerAccountModel.getHbb()).subtract(new BigDecimal(money)); if (newPartnerMoney.compareTo(BigDecimal.ZERO) == -1) { return JsonResult.failMessage("所属合伙人需要充值!余额不够分配!"); } //partnerAccount.setMoney(newPartnerMoney.doubleValue()); partnerAccountModel.setMoney(DoubleUtil.roundTwo(newPartnerMoney.toString())); partnerAccountModel.setHbb(DoubleUtil.roundTwo(newPartnerMoney.toString())); //cityPartnerService.updateAccountPartner(partnerAccount); partnerAccountMapper.updatePartnerAccount(partnerAccountModel); CoreUser user = sessionUtil.getCurrentUser(); //修改申请状态 moneyModel.setStatus("2"); moneyModel.setUpdateTime(DateUtil.now()); moneyModel.setCreateUserId(String.valueOf(user.getId())); moneyModel.setUnpassReason(""); payRequestMapper.updateMoney(moneyModel); //写入日志 AccountLogModel log = new AccountLogModel(); log.setAccountId(userAccountModel.getAccountId()); log.setChannelType(type); log.setCreateTime(DateUtil.now()); log.setCreateUserId(userAccountModel.getUserId()); BigDecimal oldFixedLimit = new BigDecimal(String.valueOf(userAccountModel.getFixedLimit())); BigDecimal oldLimit = new BigDecimal(String.valueOf(userAccountModel.getOverdraftLimit())); if(moneyModel.getPayType().equals(PayEnum.额度恢复.getValue())){ log.setNewFixedLimit(oldFixedLimit.toString()); }else{ log.setNewFixedLimit(oldFixedLimit.add(new BigDecimal(moneyModel.getMoney())).toString()); } log.setNewLimit(oldLimit.add(new BigDecimal(moneyModel.getMoney())).toString()); log.setNewMoney(String.valueOf(userAccountModel.getMoney())); log.setOldFixedLimit(oldFixedLimit.toString()); log.setOldLimit(oldLimit.toString()); log.setOldMoney(String.valueOf(userAccountModel.getMoney())); log.setOrderId(dto.getPayOrderId()); accountLogMapper.insertAccountLog(log); return JsonResult.success("完成审核"); } } else { return JsonResult.failMessage("查不到对应的申请人"); } } public JsonResult auditDeny(TransfersDtoAdmin dto){ MoneyModel moneyModel = new MoneyModel(); moneyModel.setPayOrderId(dto.getPayOrderId()); moneyModel = payRequestMapper.queryMoney(moneyModel); moneyModel.setStatus("3"); moneyModel.setUnpassReason(dto.getUnpassReason()); payRequestMapper.updateMoney(moneyModel); return JsonResult.success(); } public String addPayInfoImg(PayInfoModel model) { Snowflake snowflake1 = IdUtil.getSnowflake(0, 3); String payOrderId = "ZF" + snowflake1.nextIdStr(); RemittanceModel remittanceModel = new RemittanceModel(); remittanceModel.setBankName("长沙银行股份有限公司鑫泰支行"); remittanceModel.setCompany("湖南小棕熊环保科技有限公司"); remittanceModel.setCompanyAccount("800271283808014"); remittanceModel.setCreateTime(DateUtil.now()); remittanceModel.setRechargeName(model.getRechargeName()); remittanceModel.setRechargePhone(model.getRechargePhone()); remittanceModel.setPayOrderId(payOrderId); CoreUser user = sessionUtil.getCurrentUser(); CityPartner partner = cityPartnerMapper.selectByPrimaryKey(user.getId()); if (null == partner) { if (null != model.getPartnerId() && !"".equals(model.getPartnerId())) { partner = cityPartnerMapper.selectByPrimaryKey(Long.parseLong(model.getPartnerId())); } }else{ if(null!=model.getPartnerId()&&!"".equals(model.getPartnerId())){ partner = cityPartnerMapper.selectByPrimaryKey(Long.parseLong(model.getPartnerId())); } } remittanceModel.setCreateUserId(partner.getUserId() + ""); remittanceUserMapper.insertRemittance(remittanceModel); model.setPayOrderId(payOrderId); model.setCreateUserId(partner.getUserId() + ""); int num = payInfoMapper.addPayInfo(model); // PartnerAccountLogModel log = new PartnerAccountLogModel(); // log.setFlowNo(payOrderId); // log.setCreateTime(DateUtil.now()); // log.setApproverStatus("1"); // log.setMoney(model.getMoney()); // log.setHbb(model.getMoney()); // log.setDelFlag(0); // log.setAccountId(partner.getAccountNo()); // log.setUserName(partner.getPartnerName()); // log.setType("1"); // log.setUserPhone(partner.getMobilePhone()); // if (partner.getPartnerType().equals("1")) { // log.setRoleName("城市合伙人"); // } else { // log.setRoleName("打包站"); // } // // partnerAccountLogMapper.addPartnerAccountLog(log); //发送审核短信 if(SpringUtil.isProdOrCloud()) { String phone = configService.findByCode(SysConfigConstant.PAT_AUDIT_PHONE).getConfigValue(); Map map = new HashMap<>(); map.put("money", model.getMoney()); map.put("account", model.getRechargePhone()); String content = StrUtil.format("账号{account}提交一笔充值{money}元的申请,请尽快审核", map); String[] strings = StrUtil.splitToArray(phone, Convert.toChar(",")); for (String string : strings) { SmsUtil.sendPoint(string, content); } } return num + ""; } public void updatePayInfoPass(PayInfoModel model) { String payOrderId = model.getPayOrderId(); String key=RedisKeyConstant.PAY_AUDIT+payOrderId; if(redisUtil.setnx(key,"0")) { try { PayInfoModel payInfo = payInfoMapper.queryPayInfoById(payOrderId); payInfoMapper.updatePayInfoPass(model); PartnerAccountLogModel partnerAccountLogModel = new PartnerAccountLogModel(); //审核通过,需要修改用户可用余额 //1:查询合作人账号 PartnerAccountModel pAccount = partnerAccountMapper.getPartnerAccountByUserId(model.getCreateUserId()); String acc = platformAccountInfoMapper.queryAccountByAdminId(); String[] accArr = acc.split(","); String adminMoney = accArr[1]; String adminhbb = accArr[2]; if (null != pAccount) { if (null != pAccount.getHbb()) { } else { pAccount.setHbb("0"); } BigDecimal oldhbb = new BigDecimal(pAccount.getHbb()); BigDecimal newhbb = oldhbb.add(new BigDecimal(payInfo.getMoney())); //平台 BigDecimal oldAdminMoney = new BigDecimal(adminMoney); BigDecimal oldAdminhbb = new BigDecimal(adminhbb); CoreUser user = sessionUtil.getCurrentUser(); BigDecimal b3 = new BigDecimal(pAccount.getHbb()); //平台账户处理充值 BigDecimal newAdminMoney = oldAdminMoney.add(new BigDecimal(payInfo.getMoney())); BigDecimal newAdminhbb = oldAdminhbb.subtract(new BigDecimal(payInfo.getMoney())); partnerAccountLogModel.setApprover(user.getName()); partnerAccountLogModel.setUpdateTime(DateUtil.now()); partnerAccountLogModel.setApproverTime(DateUtil.now()); partnerAccountLogModel.setHbb(b3.add(new BigDecimal(payInfo.getMoney())).toString()); partnerAccountLogModel.setFlowNo(payOrderId); partnerAccountLogModel.setApproverStatus("2"); if (pAccount.getType().equals(OrderEnum.账户合伙人.getValue())) { //合伙人充值 if (model.getStatus().equals(PayEnum.已审核.getValue())) { BigDecimal b1 = new BigDecimal(pAccount.getHbb()); BigDecimal b2 = new BigDecimal(model.getMoney()); partnerAccountMapper.updateParterAccountMoney(DoubleUtil.roundTwo(b3.add(b2).toString()), pAccount.getAccount()); platformAccountInfoMapper.updatePlatformMoney(DoubleUtil.roundTwo(newAdminMoney.toString())); platformAccountInfoMapper.updatePlatformHbb(DoubleUtil.roundTwo(newAdminhbb.toString())); CityPartner partner = cityPartnerService.queryById(pAccount.getPartnerId()); PartnerAccountModel pAccount1 = partnerAccountMapper.getPartnerAccountByUserId(partner.getUserId()); String userM = "0"; if (null != pAccount1.getHbb() & !"".equals(pAccount1.getHbb())) { userM = DoubleUtil.roundTwo(pAccount1.getHbb()); } String packUserId = partner.getUserId(); log.debug("打包员金额为::" + userM + "打包员的UserId 为" + packUserId); PlatformAccountLogModel platformAccountLogModel = new PlatformAccountLogModel(); platformAccountLogModel.setCreateTime(DateUtil.now()); platformAccountLogModel.setCreateUserId(pAccount.getPartnerId()); platformAccountLogModel.setMoney(DoubleUtil.roundTwo(payInfo.getMoney())); platformAccountLogModel.setHbb("-" + DoubleUtil.roundTwo(payInfo.getMoney())); platformAccountLogModel.setOldHbb(DoubleUtil.roundTwo(oldAdminhbb.toString())); platformAccountLogModel.setOldMoney(DoubleUtil.roundTwo(oldAdminMoney.toString())); platformAccountLogModel.setNewHbb(DoubleUtil.roundTwo(newAdminhbb.toString())); platformAccountLogModel.setNewMoney(DoubleUtil.roundTwo(newAdminMoney.toString())); platformAccountLogModel.setCreateUserName(partner.getPartnerName()); platformAccountLogModel.setCreateUserType("2"); platformAccountLogModel.setCreateUserMobile(partner.getMobilePhone()); platformAccountLogModel.setFlowNo(payOrderId); platformAccountLogMapper.insertPlatFormLog(platformAccountLogModel); partnerAccountLogModel.setAccountMoney(b1.toString()); partnerAccountLogMapper.updateParterAccountLog(partnerAccountLogModel); } else { partnerAccountLogModel.setApproverStatus(PayEnum.审核不通过.getValue()); } } else { //打包站充值 查询打包站的账号 if (model.getStatus().equals(PayEnum.已审核.getValue())) { CityPartner packagePartner = cityPartnerService.queryById(pAccount.getPartnerId()); CityPartner partner = cityPartnerService.queryById(packagePartner.getPackingStation()); platformAccountInfoMapper.updatePlatformMoney(DoubleUtil.roundTwo(newAdminMoney.toString())); platformAccountInfoMapper.updatePlatformHbb(DoubleUtil.roundTwo(newAdminhbb.toString())); if (pAccount.getOverdraftLimit().equals(pAccount.getFixedLimit())||BusinessSimpleUtil.isEmptyOrZero(pAccount.getFixedLimit())) { PartnerAccountModel newPackage = new PartnerAccountModel(); newPackage.setUserId(packagePartner.getUserId()); newPackage.setHbb(DoubleUtil.roundTwo(newhbb.toString())); partnerAccountMapper.updatePartnerAccount(newPackage); insertPackageAccountLog(pAccount, payOrderId, payInfo.getMoney(), null, null); } else { BigDecimal overdraftLimit = new BigDecimal(pAccount.getOverdraftLimit()); BigDecimal fixLimit = new BigDecimal(pAccount.getFixedLimit()); BigDecimal money = new BigDecimal(payInfo.getMoney()); //固定额度-可用额度 BigDecimal sfo = fixLimit.subtract(overdraftLimit); //用了的额度 和充值的钱 关系 BigDecimal fla = sfo.subtract(money); BigDecimal fla1 = money.subtract(sfo); if (fla.compareTo(BigDecimal.ZERO) < 0) { //先把可用额度充满再充到环保币 pAccount.setOverdraftLimit(pAccount.getFixedLimit()); pAccount.setHbb(fla1.add(new BigDecimal(pAccount.getHbb())).toString()); partnerAccountMapper.updatePartnerAccount(pAccount); insertPackageAccountLog(pAccount, payOrderId, payInfo.getMoney(), fla1, sfo); } else { //充值到可用额度里 pAccount.setOverdraftLimit(DoubleUtil.roundTwo(overdraftLimit.add(money).toString())); partnerAccountMapper.updatePartnerAccount(pAccount); insertPackageAccountLog(pAccount, payOrderId, payInfo.getMoney(), null, null); } } PlatformAccountLogModel platformAccountLogModel = new PlatformAccountLogModel(); platformAccountLogModel.setCreateTime(DateUtil.now()); platformAccountLogModel.setCreateUserId(pAccount.getPartnerId()); platformAccountLogModel.setMoney(DoubleUtil.roundTwo(payInfo.getMoney())); platformAccountLogModel.setHbb("-" + DoubleUtil.roundTwo(payInfo.getMoney())); platformAccountLogModel.setOldHbb(DoubleUtil.roundTwo(oldAdminhbb.toString())); platformAccountLogModel.setOldMoney(DoubleUtil.roundTwo(oldAdminMoney.toString())); platformAccountLogModel.setNewHbb(DoubleUtil.roundTwo(newAdminhbb.toString())); platformAccountLogModel.setNewMoney(DoubleUtil.roundTwo(newAdminMoney.toString())); platformAccountLogModel.setCreateUserName(partner.getPartnerName()); platformAccountLogModel.setCreateUserType("2"); platformAccountLogModel.setCreateUserMobile(partner.getMobilePhone()); platformAccountLogModel.setFlowNo(payOrderId); platformAccountLogMapper.insertPlatFormLog(platformAccountLogModel); partnerAccountLogMapper.updateParterAccountLog(partnerAccountLogModel); } else { partnerAccountLogModel.setApproverStatus(PayEnum.审核不通过.getValue()); } } } else { if (model.getStatus().equals(PayEnum.已审核.getValue())) { updateOtherPayInfoPass(payInfo); //平台 BigDecimal oldAdminMoney = new BigDecimal(adminMoney); BigDecimal oldAdminhbb = new BigDecimal(adminhbb); //平台账户处理充值 BigDecimal newAdminMoney = oldAdminMoney.add(new BigDecimal(payInfo.getMoney())); BigDecimal newAdminhbb = oldAdminhbb.subtract(new BigDecimal(payInfo.getMoney())); UserModel user = otherUserMapper.queryUserOtherInfoById(payInfo.getCreateUserId()); String userName = ""; String mobilePhone = ""; if (null != user) { userName = user.getName(); mobilePhone = user.getMobilePhone(); } else { user = userMapper.queryUserById(payInfo.getCreateUserId()); userName = cn.hutool.core.codec.Base64.decodeStr(user.getNickName()); mobilePhone = user.getMobilePhone(); } PlatformAccountLogModel platformAccountLogModel = new PlatformAccountLogModel(); platformAccountLogModel.setCreateTime(DateUtil.now()); platformAccountLogModel.setCreateUserId(payInfo.getCreateUserId()); platformAccountLogModel.setMoney(DoubleUtil.roundTwo(payInfo.getMoney())); platformAccountLogModel.setHbb("-" + DoubleUtil.roundTwo(payInfo.getMoney())); platformAccountLogModel.setOldHbb(DoubleUtil.roundTwo(oldAdminhbb.toString())); platformAccountLogModel.setOldMoney(DoubleUtil.roundTwo(oldAdminMoney.toString())); platformAccountLogModel.setNewHbb(DoubleUtil.roundTwo(newAdminhbb.toString())); platformAccountLogModel.setNewMoney(DoubleUtil.roundTwo(newAdminMoney.toString())); platformAccountLogModel.setCreateUserName(userName); platformAccountLogModel.setCreateUserType("1"); platformAccountLogModel.setCreateUserMobile(mobilePhone); platformAccountLogModel.setFlowNo(payOrderId); platformAccountLogMapper.insertPlatFormLog(platformAccountLogModel); platformAccountInfoMapper.updatePlatformMoney(DoubleUtil.roundTwo(newAdminMoney.toString())); platformAccountInfoMapper.updatePlatformHbb(DoubleUtil.roundTwo(newAdminhbb.toString())); } else { partnerAccountLogModel.setApproverStatus(PayEnum.审核不通过.getValue()); } } } catch (Exception e) { ExceptionUtils.err("审核失败",e); }finally { redisUtil.del(key); } }else { throw new RestException("请勿重复操作"); } } private void updateOtherPayInfoPass(PayInfoModel payInfo){ UserAccountModel userAccountModel = accountMapper.getAccountByUserId(payInfo.getCreateUserId()); //判断可用额度是否是固定额度 String ovLimit =userAccountModel.getOverdraftLimit(); String limitMoney = userAccountModel.getFixedLimit(); BigDecimal money = new BigDecimal(userAccountModel.getMoney()); BigDecimal bigOvlimit = new BigDecimal("0"); if(null!=ovLimit&&!"".equals(ovLimit)){ bigOvlimit = new BigDecimal(ovLimit); BigDecimal bigLimitMoney = new BigDecimal(limitMoney); BigDecimal subMoney =bigLimitMoney.subtract(bigOvlimit); if(subMoney.compareTo(BigDecimal.ZERO)==0){ //全部加入用户余额 money = money.add(new BigDecimal(payInfo.getMoney())); }else{ BigDecimal adMoney = new BigDecimal(payInfo.getMoney()).subtract(subMoney); if(adMoney.compareTo(BigDecimal.ZERO)==1){ money = money.add(adMoney); bigOvlimit = new BigDecimal(limitMoney); }else if(adMoney.compareTo(BigDecimal.ZERO)==0){ bigOvlimit = new BigDecimal(limitMoney); }else{ bigOvlimit = bigOvlimit.add(new BigDecimal(payInfo.getMoney())); } } }else{ money=money.add(new BigDecimal(payInfo.getMoney())); } //添加日志 insertAccountLogByApp(userAccountModel,"1",money,DoubleUtil.roundTwo(bigOvlimit.toString()),payInfo.getPayOrderId()); userAccountModel.setOverdraftLimit(DoubleUtil.roundTwo(bigOvlimit.toString())); userAccountModel.setMoney(Double.valueOf(DoubleUtil.roundTwo(money.toString()))); accountMapper.updateUserAccount(userAccountModel); } private void insertAccountLogByApp(UserAccountModel accountModel, String type, BigDecimal money,String newOv, String payOrderId) { //写入日志 AccountLogModel log = new AccountLogModel(); log.setAccountId(accountModel.getAccountId()); log.setChannelType(type); log.setCreateTime(DateUtil.now()); log.setCreateUserId(accountModel.getUserId()); log.setNewFixedLimit(accountModel.getFixedLimit()); log.setNewLimit(newOv); log.setNewMoney(DoubleUtil.roundTwo(money.toString())); log.setOldFixedLimit(accountModel.getFixedLimit()); log.setOldLimit(accountModel.getOverdraftLimit()); log.setOldMoney(DoubleUtil.roundTwo(accountModel.getMoney() + "")); log.setOrderId(payOrderId); accountLogMapper.insertAccountLog(log); } private void insertPackageAccountLog(PartnerAccountModel partnerAccountModel, String payOrderId, String money,BigDecimal hbbFp,BigDecimal edFp) { CityPartner partner = cityPartnerMapper.queryEntityByUserIds(partnerAccountModel.getUserId()); PartnerAccountLogModel partnerLog = new PartnerAccountLogModel(); partnerLog.setFlowNo(payOrderId); partnerLog.setCreateTime(DateUtil.now()); partnerLog.setApproverStatus("1"); if(null!=partnerAccountModel.getType()&&!"".equals(partnerAccountModel.getType())){ if(partnerAccountModel.getType().equals("7")){ AccountMoneyModel model = new AccountMoneyModel(); model.setAccountId(partnerAccountModel.getAccount()); AccountMoneyModel oldModel = partnerAccountMapper.queryPartnerByAccountId(model); BigDecimal oldLimit = new BigDecimal(oldModel.getFixedLimit()); BigDecimal oldOverLimit = new BigDecimal(oldModel.getOverdraftLimit()); partnerLog.setManageLimit(DoubleUtil.roundTwo(money)); partnerLog.setManageLimitFix(DoubleUtil.roundTwo(money)); partnerLog.setOldLimitFix(DoubleUtil.roundTwo(oldLimit.toString())); partnerLog.setNewLimitFix(DoubleUtil.roundTwo(partnerAccountModel.getFixedLimit())); partnerLog.setOldLimit(DoubleUtil.roundTwo(oldOverLimit.toString())); partnerLog.setNewLimit(DoubleUtil.roundTwo(partnerAccountModel.getOverdraftLimit())); partnerLog.setMoney(DoubleUtil.roundTwo("0")); partnerLog.setHbb(DoubleUtil.roundTwo(partnerAccountModel.getHbb())); partnerLog.setAccountMoney(DoubleUtil.roundTwo(partnerAccountModel.getHbb())); }else{ //充值处理 if(null!=hbbFp){ //环保币分配 partnerLog.setMoney(DoubleUtil.roundTwo(hbbFp.toString())); partnerLog.setHbb(DoubleUtil.roundTwo(hbbFp.add(new BigDecimal(partnerAccountModel.getHbb())).toString())); partnerLog.setAccountMoney(DoubleUtil.roundTwo(partnerAccountModel.getHbb() + ""));//额度分配 //额度分配 partnerLog.setOldLimit(partnerAccountModel.getOverdraftLimit()); partnerLog.setManageLimit(DoubleUtil.roundTwo(edFp.toString())); partnerLog.setNewLimit(DoubleUtil.roundTwo(edFp.add(new BigDecimal(partnerAccountModel.getOverdraftLimit())).toString())); partnerLog.setOldLimitFix(partnerAccountModel.getFixedLimit()); partnerLog.setManageLimitFix("0"); partnerLog.setNewLimitFix(partnerAccountModel.getFixedLimit()); }else{ partnerLog.setMoney(DoubleUtil.roundTwo(money)); partnerLog.setHbb(DoubleUtil.roundTwo(new BigDecimal(money).add(new BigDecimal(partnerAccountModel.getHbb())).toString())); partnerLog.setAccountMoney(DoubleUtil.roundTwo(partnerAccountModel.getHbb() + "")); } } }else{ partnerLog.setMoney(DoubleUtil.roundTwo(money)); partnerLog.setHbb(DoubleUtil.roundTwo(new BigDecimal(money).add(new BigDecimal(partnerAccountModel.getHbb())).toString())); partnerLog.setAccountMoney(DoubleUtil.roundTwo(partnerAccountModel.getHbb() + "")); } partnerLog.setDelFlag(0); partnerLog.setAccountId(partnerAccountModel.getAccount()); partnerLog.setUserName(partner.getPartnerName()); if(null!=partnerAccountModel.getType()&&!"".equals(partnerAccountModel.getType())){ partnerLog.setType(partnerAccountModel.getType()); }else{ partnerLog.setType("1"); } partnerLog.setUserPhone(partner.getMobilePhone()); partnerLog.setRoleName("打包站"); partnerAccountLogMapper.addPartnerAccountLog(partnerLog); } public int insertPayRequestInfo(PayRequestInfo info){ CoreUser user = sessionUtil.getCurrentUser(); CityPartner partner = cityPartnerService.queryById(user.getId().toString()); PartnerAccountLogModel log = new PartnerAccountLogModel(); log.setFlowNo(info.getPayOrderId()); log.setCreateTime(DateUtil.now()); log.setApproverStatus("1"); log.setHbb(info.getMoney()); log.setDelFlag(0); log.setAccountId(info.getAccountId()); log.setUserName(info.getCreateUserId()); log.setType("2"); log.setUserPhone(partner.getMobilePhone()); log.setRoleName("城市合伙人"); partnerAccountLogMapper.addPartnerAccountLog(log); return payRequestMapper.insertPayRequestInfo(info); } public Map queryDetailsPresentation(PartnerPayMsgModel model) { List partnerIds = cityPartnerService.queryPartnerByCurrent(); model.setPartnerIds(partnerIds); Map map = new HashMap<>(); model.setUserId(model.getUserId()); PageHelper.startPage(model.getPage(),model.getLimit()); List list = payRequestMapper.queryDetailsPresentation(model); for (PartnerPayMsgModel model1 : list ) { model1.setMoney(DoubleUtil.roundTwo(model1.getMoney())); } PageInfo pageInfo=new PageInfo<>(list); map.put("code", 0); map.put("data", list); map.put("count", pageInfo.getTotal()); return map; } public PageInfo rkMessage(String userId, SimplePage simplePage) { PageHelper.startPage(simplePage.getPageNo(),simplePage.getPageSize()); List list=payRequestMapper.rkMessage(userId); if(CollUtil.isNotEmpty(list)){ for (RkLimitDto rkLimitDto : list) { Short msgType = rkLimitDto.getMsgType(); if(PayEnum.额度恢复.getValue().equals(msgType.toString())){ rkLimitDto.setMoney("+"+businessUtil.changeMoney(rkLimitDto.getMoney())); if(PayEnum.待审核.getValue().equals(rkLimitDto.getStatus())){ rkLimitDto.setStatusName("审核中"); }else if(PayEnum.已审核完成.getValue().equals(rkLimitDto.getStatus())){ rkLimitDto.setStatusName("已审核"); }else if(PayEnum.审核不通过.getValue().equals(rkLimitDto.getStatus())){ rkLimitDto.setStatusName("审核不通过"); } }else{ rkLimitDto.setMoney("-"+businessUtil.changeMoney(rkLimitDto.getMoney())); rkLimitDto.setStatusName("已完成"); } //修复时间 // rkLimitDto.setCreateTime(DateUtil.format(DateUtil.parse(rkLimitDto.getCreateTime()),DateUtils.DATE_FORMAT_MD)); } } PageInfo pageInfo = new PageInfo<>(list); return pageInfo; } public Result quotaRestore(String userId){ PayRequestInfo info=new PayRequestInfo(); info.setCreateUserId(userId); info.setPayType(PayEnum.额度恢复.getValue()); info.setStatus(PayEnum.待审核.getValue()); List select = payRequestMapper.select(info); if(CollUtil.isNotEmpty(select)){ return Result.error(-1,"正在审核中,不能重复恢复"); } Result result=new Result(); PayRequestInfo payRequestInfo=new PayRequestInfo(); payRequestInfo.setCreateUserId(userId); AccountInfo accountInfo1 = accountService.findByUserId(userId); if(accountInfo1!=null){ if(Convert.toBigDecimal(accountInfo1.getFixedLimit(),Constants.MONEY_INIT).compareTo(BigDecimal.ZERO)==0){ return Result.error(-1,"未设置固定额度"); }else if(Convert.toBigDecimal(accountInfo1.getOverdraftLimit(),Constants.MONEY_INIT).compareTo(Convert.toBigDecimal(accountInfo1.getFixedLimit(),Constants.MONEY_INIT))>=0){ return Result.error(-1,"额度已充足"); } payRequestInfo.setMoney(Convert.toStr(NumberUtil.sub(Convert.toBigDecimal(accountInfo1.getFixedLimit()),Convert.toBigDecimal(accountInfo1.getOverdraftLimit())))); }else{ return Result.error(-1,"账户不存在"); } payRequestInfo.setPayType(PayEnum.额度恢复.getValue()); add(payRequestInfo); return result; } /** * 审核 * @param updateUserId 审核人id * @param payOrderId 流水号 * @param reason 不通过原因 */ public void audit(String updateUserId,String payOrderId,String reason,String payType,String auditUserId,String money,String auditUserType){ String now = DateUtil.now(); PayRequestInfo payRequestInfo=new PayRequestInfo(); payRequestInfo.setPayOrderId(payOrderId); payRequestInfo.setExamineTime(now); payRequestInfo.setUpdateTime(now); payRequestInfo.setUpdateUserId(updateUserId); //驳回 if(StrUtil.isNotBlank(reason)){ payRequestInfo.setStatus(PayEnum.审核不通过.getValue()); payRequestInfo.setUnpassReason(reason); }else { //同意 payRequestInfo.setStatus(PayEnum.已审核完成.getValue()); //资金操作 if(PayEnum.额度申请.getValue().equals(payType)){ accountService.increaseOverdraftLimit(auditUserId,Convert.toBigDecimal(money,BigDecimal.ZERO),payOrderId); }else if(PayEnum.额度恢复.getValue().equals(payType)){ accountService.restoreFix(auditUserId,payOrderId,auditUserType); } } payRequestMapper.updateByPrimaryKeySelective(payRequestInfo); } public Map queryStorageMoneyApi(PayStorageModel model){ List partnerIds = cityPartnerService.queryPartnerByCurrent(); model.setPartnerIds(partnerIds); PageHelper.startPage(model.getPage(),model.getLimit()); List modelList = orderStorageInfoMapper.queryStorageMoneyApi(model); PageInfo pageInfo=new PageInfo<>(modelList); Map remap = new HashMap<>(); //今日支出 日均支出 总支出 PayStorageModel todayModel = new PayStorageModel(); todayModel.setStartTime(DateUtil.today()+" 00:00:00"); todayModel.setEndTime(DateUtil.today()+" 23:59:59"); todayModel.setPartnerIds(partnerIds); String today = orderStorageInfoMapper.queryStorageMoneyToday(todayModel); PayStorageModel todayModel1 = new PayStorageModel(); todayModel1.setPartnerIds(partnerIds); String totalPay = orderStorageInfoMapper.queryStorageMoneyToday(todayModel1); //计算日均支出 String endTimeStr = orderStorageInfoMapper.endStorageTime(); int num = 0; BigDecimal avel = new BigDecimal("0"); try { if(null!=endTimeStr&&!"".equals(endTimeStr)){ num = com.xzx.gc.util.DateUtil.daysBetween(endTimeStr,DateUtil.today()); }else{ num = 0 ; } if(null!=totalPay){ if(num!=0){ avel = new BigDecimal(totalPay).divide(new BigDecimal(num), 2, RoundingMode.HALF_UP); }else{ avel = new BigDecimal(totalPay).divide(new BigDecimal("1"), 2, RoundingMode.HALF_UP); } }else{ totalPay = "0"; } } catch (ParseException e) { e.printStackTrace(); } if(today==null){ today="0"; } remap.put("todayPay",today); remap.put("totalPay",totalPay); remap.put("averagePay",avel); if(null!=modelList&&modelList.size()>0){ for (PayStorageModel resModel:modelList) { if(!org.apache.commons.lang3.StringUtils.isEmpty(resModel.getStorageUserName())){ if(com.xzx.gc.util.DateUtil.isBase64(resModel.getStorageUserName())){ resModel.setStorageUserName(com.xzx.gc.common.utils.StringUtils.decode(resModel.getStorageUserName())); }else{ resModel.setStorageUserName(resModel.getStorageUserName()); } } } remap.put("code",0); remap.put("data",modelList); remap.put("count",pageInfo.getTotal()); remap.put("msg","返回成功"); }else{ remap.put("code",-1); remap.put("msg","没有记录"); } return remap; } public Map queryStorageMoneyDetailApi(PayStorageModel model) { //查询订单列表 String orderIds = orderStorageInfoMapper.queryUserOrderByStorageId(model.getStorageId()); String[] orderIdList = orderIds.split(","); List orderList = new ArrayList<>(); for (String orderId:orderIdList) { orderList.add(orderId); } PageHelper.startPage(model.getPage(),model.getLimit()); List list = orderMapper.queryStorageMoneyDetailApi(orderList); Map remap = new HashMap<>(); for (PayRequestInfoModel model1:list) { model1.setMoney(DoubleUtil.roundTwo(model1.getMoney())); model1.setWeight(DoubleUtil.roundThree(model1.getWeight())); } List> totalMap = orderMapper.queryMoneyAndWeightByOrderIds(orderList); BigDecimal totalmoney = new BigDecimal("0"); for (Map mw:totalMap) { totalmoney = new BigDecimal(mw.get("money").toString()).add(totalmoney); } remap.put("totalmoney",totalmoney); remap.put("code",0); remap.put("data",list); remap.put("count",orderList.size()); return remap; } public Map quotaDetail(StorageUserModel model) { PageHelper.startPage(model.getPage(),model.getLimit()); List list = orderMapper.quotaDetail(model); PageInfo pageInfo=new PageInfo<>(list); for (StorageUserModel stModel:list) { stModel.setMoney(DoubleUtil.roundTwo(stModel.getMoney())); stModel.setWeight(DoubleUtil.roundThree(stModel.getWeight())); } Map map = new HashMap<>(); map.put("data",list); map.put("code",0); map.put("count",pageInfo.getTotal()); return map; } }