diff --git a/src/main/java/cn/chjyj/szwh/controller/admin/AdminAccountCloseController.java b/src/main/java/cn/chjyj/szwh/controller/admin/AdminAccountCloseController.java index 7273158..96eba36 100644 --- a/src/main/java/cn/chjyj/szwh/controller/admin/AdminAccountCloseController.java +++ b/src/main/java/cn/chjyj/szwh/controller/admin/AdminAccountCloseController.java @@ -7,6 +7,7 @@ import cn.chjyj.szwh.service.AccountCloseService; import cn.chjyj.szwh.service.AdminService; import cn.chjyj.szwh.service.UserService; import cn.chjyj.szwh.service.impl.AdminServiceImpl; +import cn.chjyj.szwh.utils.pay.StringUtil; import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONObject; import org.apache.commons.lang3.StringUtils; @@ -139,28 +140,38 @@ public class AdminAccountCloseController extends BaseController { public JSONObject getBillDetail(@RequestBody String rejson){ //{"batchcode":"1657003731168089","close_status":"1","user_isli":"899998-000000001038-3","limit":10,"page":1} JSONObject request = JSONObject.parseObject(rejson); - String uesrIsli= request.getString("user_isli"); + String msg="成功"; int code=200; - if(StringUtils.isBlank(uesrIsli)){ - msg="参数不能为空"; - code=400; - } + String limit = request.getString("limit"); int ilimit = StringUtils.isNotBlank(limit)?Integer.valueOf(limit):20; String page = request.getString("page"); int ipage = StringUtils.isNotBlank(page)?Integer.valueOf(page):1; + + //查询条件 + Map somap = new HashMap(); + // 用户编号 + String userIsli= request.getString("user_isli"); + if(StringUtils.isNotEmpty(userIsli)){ + somap.put("ub.user_isli",userIsli); + } + // 订单编号 String batchcode=request.getString("batchcode"); - if(StringUtils.isEmpty(batchcode)){ - batchcode=null; - }else{ + if(StringUtils.isNotEmpty(batchcode)){ batchcode = batchcode.replaceAll("\\s*|\r|\n|\t",""); + somap.put("ub.batchcode",batchcode); } // 结算状态 [来自 order ] String sstatus = request.getString("close_status"); - // - Map rmap = accountCloseService.getBillDetail(uesrIsli,batchcode,ipage,ilimit); + if(StringUtils.isNotEmpty(sstatus)){ + Integer cstatus = Integer.valueOf(sstatus); + somap.put("o.close_status",cstatus); + } + // 传入查询条件 + Map rmap = accountCloseService.getBillDetailMap(somap,ipage,ilimit); + //Map rmap = accountCloseService.getBillDetail(uesrIsli,batchcode,ipage,ilimit); jsonObject.put("data",rmap); jsonObject.put("msg",msg); jsonObject.put("code",code); diff --git a/src/main/java/cn/chjyj/szwh/service/AccountCloseService.java b/src/main/java/cn/chjyj/szwh/service/AccountCloseService.java index b6b52b4..f8eb8a6 100644 --- a/src/main/java/cn/chjyj/szwh/service/AccountCloseService.java +++ b/src/main/java/cn/chjyj/szwh/service/AccountCloseService.java @@ -67,6 +67,15 @@ public interface AccountCloseService { */ Map getBillDetail(String userIsli,String batchcode,int ipage,int ilimit); + /** + * 多条件查询 + * @param somap + * @param ipage + * @param ilimit + * @return + */ + Map getBillDetailMap(Map somap,int ipage,int ilimit); + /** * 设置分配比例 * @param ruleName diff --git a/src/main/java/cn/chjyj/szwh/service/impl/AccountCloseServiceImpl.java b/src/main/java/cn/chjyj/szwh/service/impl/AccountCloseServiceImpl.java index 1c57af8..106d0c8 100644 --- a/src/main/java/cn/chjyj/szwh/service/impl/AccountCloseServiceImpl.java +++ b/src/main/java/cn/chjyj/szwh/service/impl/AccountCloseServiceImpl.java @@ -291,6 +291,93 @@ public class AccountCloseServiceImpl implements AccountCloseService { return retmap; } + /** + * 资金结算map + * @param somap + * @param ipage + * @param ilimit + * @return + */ + @Override + public Map getBillDetailMap(Map somap, int ipage, int ilimit) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Map retmap =new HashMap(); + int startrs =ipage>1?(ipage-1)*ilimit:0; + // 统计符合条件的数量 + int total = userAccountBillMapper.countUserAccBillMap(somap); + Integer end = ipage*ilimit; + Integer start =startrs+1; + if(total < end){ + end = total; + } + if(total < startrs+1){ + start = end = total; + } + retmap.put("curpage",ipage); + retmap.put("start",start); + + retmap.put("end",end); + retmap.put("pre_page",ilimit); + retmap.put("total",total); + + // 查询map + List uacblist = userAccountBillMapper.getUserAccBillMap(somap,startrs,ilimit); + BigDecimal income = new BigDecimal(0.00); // 收入 + BigDecimal disburse = new BigDecimal(0.00); //支出 + + List retlist =new ArrayList(); + for(UserAccountBill uac:uacblist){ + // 用户信息 + Map odumap =new HashMap(); + OrderUser orderUser = orderUserMapper.getUserOrder(uac.getBatchcode(),uac.getUserIsli()); + odumap.put("order_user",orderUser); + + //结算情况 + Order order = orderMapper.getOrderByBatchcode(uac.getBatchcode()); + odumap.put("order_createtime", sdf.format(order.getCreatetime())); + String odcompletetime= order.getCompletetime()==null?"-":sdf.format(order.getCompletetime()); + odumap.put("order_completetime", odcompletetime); + odumap.put("close_status",order.getCloseStatus()); + + //uac 数据进行格式化 + odumap.put("id",uac.getId()); + odumap.put("user_isli", uac.getUserIsli()); + odumap.put("batchcode", uac.getBatchcode()); + odumap.put("order_user_id", uac.getOrderUserId()); + odumap.put("center_number", StringUtils.isBlank(uac.getCenterNumber())?"-":uac.getCenterNumber()); + odumap.put("center_name", StringUtils.isBlank(uac.getCenterName())?"-":uac.getCenterName()); + odumap.put("service_number", uac.getServiceNumber()); + odumap.put("service_name", uac.getServiceName()); + odumap.put("service_charge", uac.getServiceCharge()); + odumap.put("thatday_buy_money", uac.getThatdayBuyMoney()); + odumap.put("preliminary_capital", uac.getPreliminaryCapital()); + odumap.put("available_capital", uac.getAvailableCapital()); + odumap.put("disburse_capital", uac.getDisburseCapital()); + odumap.put("entrust_cost", uac.getEntrustCost()); + odumap.put("thatday_sale_money", uac.getThatdaySaleMoney()); + odumap.put("service_charge_allot", uac.getServiceChargeAllot()); + odumap.put("capital_remaining",uac.getCapitalRemaining()); + odumap.put("freeze_earnest_money", uac.getFreezeEarnestMoney()); + odumap.put("createtime", sdf.format(uac.getCreatetime())); + odumap.put("close_time", null); + odumap.put("callback_msg", "-"); + + //计算收支 + Map osmap = new HashMap(); + osmap.put("wherestr","buy_islicode='"+uac.getUserIsli()+"' and pay_status=2"); + osmap.put("field","total_money"); + BigDecimal odtmpsum = orderMapper.sumOrderByMap(osmap); + income = income.add(odtmpsum); + // + retlist.add(odumap); + } + + retmap.put("income",income); + retmap.put("disburse",disburse); + retmap.put("data",retlist); + return retmap; + } + @Override public Map doSettRatio(String ruleName, Listjslist, int adminId) { String msg="成功"; diff --git a/src/main/resources/mapper/szwh/UserAccountBillMapper.xml b/src/main/resources/mapper/szwh/UserAccountBillMapper.xml index 3ef3be2..b06fa59 100644 --- a/src/main/resources/mapper/szwh/UserAccountBillMapper.xml +++ b/src/main/resources/mapper/szwh/UserAccountBillMapper.xml @@ -27,7 +27,6 @@ SELECT FROM `order` o LEFT JOIN ub ON o.batchcode = ub.batchcode - WHERE o.close_status=1 and ub.batchcode='1683254243765693'