Browse Source

调整多条件查询

master
xyiege 3 years ago
parent
commit
2e7f69ce2a
  1. 31
      src/main/java/cn/chjyj/szwh/controller/admin/AdminAccountCloseController.java
  2. 9
      src/main/java/cn/chjyj/szwh/service/AccountCloseService.java
  3. 87
      src/main/java/cn/chjyj/szwh/service/impl/AccountCloseServiceImpl.java
  4. 1
      src/main/resources/mapper/szwh/UserAccountBillMapper.xml

31
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);

9
src/main/java/cn/chjyj/szwh/service/AccountCloseService.java

@ -67,6 +67,15 @@ public interface AccountCloseService {
*/
Map<String,Object> getBillDetail(String userIsli,String batchcode,int ipage,int ilimit);
/**
* 多条件查询
* @param somap
* @param ipage
* @param ilimit
* @return
*/
Map<String,Object> getBillDetailMap(Map somap,int ipage,int ilimit);
/**
* 设置分配比例
* @param ruleName

87
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<String, Object> 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<UserAccountBill> 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<String, Object> doSettRatio(String ruleName, List<String>jslist, int adminId) {
String msg="成功";

1
src/main/resources/mapper/szwh/UserAccountBillMapper.xml

@ -27,7 +27,6 @@
SELECT <include refid="column"/>
FROM `order` o
LEFT JOIN <include refid="tbName"/> ub ON o.batchcode = ub.batchcode
WHERE o.close_status=1 and ub.batchcode='1683254243765693'
<where>
<if test="map!=null">
<foreach collection="map" item="v" index="k" separator="and">

Loading…
Cancel
Save