From 46af9e53a6e76b6c0b8cc3291ac1d78e59370831 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期二, 15 八月 2023 18:07:28 +0800 Subject: [PATCH] 更新管理页面 --- management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAgentController.java | 200 ++++++++++++++++++++++++++++++++++--------------- 1 files changed, 138 insertions(+), 62 deletions(-) diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAgentController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAgentController.java index 0a7ac7e..406ea88 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAgentController.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAgentController.java @@ -2,39 +2,29 @@ import cn.hutool.core.codec.Base64; import cn.hutool.core.util.ZipUtil; -import cn.hutool.crypto.SecureUtil; -import cn.hutool.http.server.HttpServerResponse; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.stylefeng.guns.core.base.controller.BaseController; import com.stylefeng.guns.core.base.tips.SuccessTip; +import com.stylefeng.guns.core.common.constant.factory.PageFactory; import com.stylefeng.guns.core.common.constant.state.ManagerStatus; -import com.stylefeng.guns.core.exception.GunsException; -import com.stylefeng.guns.core.exception.ServiceExceptionEnum; import com.stylefeng.guns.core.shiro.ShiroKit; import com.stylefeng.guns.core.shiro.ShiroUser; -import com.stylefeng.guns.core.util.DateUtil; import com.stylefeng.guns.core.util.ToolUtil; import com.stylefeng.guns.modular.system.controller.resp.TAgentResp; import com.stylefeng.guns.modular.system.controller.util.ExcelUtil; import com.stylefeng.guns.modular.system.controller.util.UUIDUtil; -import com.stylefeng.guns.modular.system.enums.OrderStateEnum; -import com.stylefeng.guns.modular.system.enums.PayStatusEnum; -import com.stylefeng.guns.modular.system.enums.UserTypeEnum; import com.stylefeng.guns.modular.system.model.*; import com.stylefeng.guns.modular.system.service.*; import com.stylefeng.guns.modular.system.util.MallBook.model.*; import com.stylefeng.guns.modular.system.util.MallBook.util.TrhRequest; import com.stylefeng.guns.modular.system.util.RedisUtil; import com.stylefeng.guns.modular.system.util.ResultUtil; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; -import org.apache.poi.hdf.extractor.TC; import org.apache.poi.hssf.usermodel.HSSFWorkbook; -import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; import org.springframework.transaction.annotation.Propagation; @@ -54,7 +44,6 @@ import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.*; -import java.util.stream.Collectors; /** * 控制器 @@ -92,6 +81,9 @@ @Autowired private ITSystemConfigService systemConfigService; + @Autowired + private ICompanyFundFlowService companyFundFlowService; + @Value("${callbackPath}") private String callbackPath; @@ -121,6 +113,8 @@ TAgent tAgent = tAgentService.selectById(tAgentId); model.addAttribute("item",tAgent); LogObjectHolder.me().set(tAgent); + User user = userService.selectOne(new EntityWrapper<User>().eq("role_type", 3).eq("object_id", tAgentId)); + model.addAttribute("user", user); return PREFIX + "tAgent_edit.html"; } @@ -138,55 +132,6 @@ */ @RequestMapping("/tAgent/areaDetail") public String areaDetail(String area,String areaId,Model model) { -// String[] split1 = areaId.split("/"); -// List<TRegion> tRegions = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", 0)); -// model.addAttribute("provinceList",tRegions); -//// List<Integer> provinceIds = tRegions.stream().map(TRegion::getId).collect(Collectors.toList()); -//// // 查询市 -//// List<TRegion> tRegions1 = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", split1[0])); -//// model.addAttribute("cityList",tRegions1); -//// -//// // 查询区 -//// List<Integer> cityIds = tRegions1.stream().map(TRegion::getId).collect(Collectors.toList()); -//// List<TRegion> tRegions2 = tRegionService.selectList(new EntityWrapper<TRegion>().in("parent_id", cityIds)); -//// model.addAttribute("districtList",tRegions2); -// -// if(StringUtils.hasLength(area) && StringUtils.hasLength(areaId)){ -// String[] split = area.split("/"); -// model.addAttribute("provinceName",split[0]); -// model.addAttribute("cityName",split[1]); -// if(split.length>2){ -// model.addAttribute("districtName",split[2]); -// }else { -// model.addAttribute("districtName",""); -// } -// -// model.addAttribute("provinceId",split1[0]); -// model.addAttribute("cityId",split1[1]); -// if(split1.length>2) { -// model.addAttribute("districtId", split1[2]); -// }else { -// model.addAttribute("districtId", ""); -// } -// -// List<TRegion> tRegions1 = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", split1[0])); -// model.addAttribute("cityList",tRegions1); -// -// // 查询区 -// List<TRegion> tRegions2 = tRegionService.selectList(new EntityWrapper<TRegion>().in("parent_id", split1[1])); -// model.addAttribute("districtList",tRegions2); -// }else { -// model.addAttribute("cityList",new ArrayList<>()); -// model.addAttribute("districtList",new ArrayList<>()); -// -// model.addAttribute("provinceName",""); -// model.addAttribute("cityName",""); -// model.addAttribute("districtName",""); -// -// model.addAttribute("provinceId",""); -// model.addAttribute("cityId",""); -// model.addAttribute("districtId", ""); -// } String[] split1 = areaId.split("/"); List<TRegion> tRegions = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", 0)); model.addAttribute("provinceList",tRegions); @@ -592,8 +537,38 @@ @RequestMapping(value = "/tAgent/update") @ResponseBody public Object update(TAgent tAgent) { + TAgent tAgent1 = tAgentService.selectOne(new EntityWrapper<TAgent>() + .eq("merchantName", tAgent.getMerchantName())); + if(null != tAgent1 && tAgent1.getId().compareTo(tAgent.getId()) != 0){ + return new SuccessTip(500,"该代理商已存在!"); + } + User user = userService.selectOne(new EntityWrapper<User>().eq("account", tAgent.getAccount())); + User user1 = userService.selectOne(new EntityWrapper<User>().eq("role_type", 3).eq("object_id", tAgent.getId())); + if (null != user && user.getId().compareTo(user1.getId()) != 0){ + return new SuccessTip(500,"该账号已存在!"); + } tAgent.setPrincipal(tAgent.getPrincipal().replace(" ","")); + String[] split = tAgent.getAreaId().split("/"); + // 查询省市 + // 黑龙江省/大兴安岭地区 + // 702/852 + TRegion province = tRegionService.selectById(split[0]); + tAgent.setProvinceName(province.getName()); + tAgent.setProvinceCode(province.getCode()); + TRegion city = tRegionService.selectById(split[1]); + if(Objects.isNull(city)){ + city = tRegionService.selectOne(new EntityWrapper<TRegion>() + .eq("name",split[1]) + .last("LIMIT 1")); + } + tAgent.setCityName(city.getName()); + tAgent.setCityCode(city.getCode()); tAgentService.updateById(tAgent); + user1.setAccount(tAgent.getAccount()); + if(ToolUtil.isNotEmpty(tAgent.getPassword())){ + user1.setPassword(ShiroKit.md5(tAgent.getPassword(), user.getSalt())); + } + userService.updateById(user1); return SUCCESS_TIP; } @@ -824,6 +799,14 @@ if(0 == settledAmount){ return ResultUtil.error("余额不足"); } + + Double balance = 0D; + if(roleType == 1){ + balance = rechargeRecordService.queryCompanyBalance(); + }else{ + balance = rechargeRecordService.queryAgentBalance(tAgent.getId()); + } + SettlementRecord settlementRecord = new SettlementRecord(); settlementRecord.setType(roleType == 1 ? 1 : 2); if(roleType == 3){ @@ -854,6 +837,17 @@ settlementRecord.setOrderNumber(merOrderId1); settlementRecord.setArrivalTime(new Date()); settlementRecordService.updateById(settlementRecord); + + CompanyFundFlow companyFundFlow = new CompanyFundFlow(); + companyFundFlow.setType(2); + companyFundFlow.setObjectType(roleType == 1 ? 1 : 2); + if(roleType == 3){ + companyFundFlow.setObjectId(tAgent.getId()); + } + companyFundFlow.setBalance(new BigDecimal(balance)); + companyFundFlow.setMoney(new BigDecimal(settlementRecord.getAmount())); + companyFundFlow.setCreateTime(new Date()); + companyFundFlowService.insert(companyFundFlow); return ResultUtil.success(); } if(2 == status){ @@ -888,6 +882,25 @@ settlementRecord.setOrderNumber(merOrderId1); settlementRecord.setArrivalTime(new Date()); settlementRecordService.updateById(settlementRecord); + Integer type = settlementRecord.getType(); + Double balance = 0D; + if(type == 1){ + balance = rechargeRecordService.queryCompanyBalance(); + }else{ + balance = rechargeRecordService.queryAgentBalance(settlementRecord.getObjectId()); + } + BigDecimal bigDecimal = new BigDecimal(balance).add(new BigDecimal(settlementRecord.getAmount())); + CompanyFundFlow companyFundFlow = new CompanyFundFlow(); + companyFundFlow.setType(2); + companyFundFlow.setObjectType(type); + if(type == 2){ + companyFundFlow.setObjectId(settlementRecord.getObjectId()); + } + companyFundFlow.setBalance(bigDecimal); + companyFundFlow.setMoney(new BigDecimal(settlementRecord.getAmount())); + companyFundFlow.setCreateTime(new Date()); + companyFundFlowService.insert(companyFundFlow); + response.setStatus(200); PrintWriter out = response.getWriter(); out.print("OK"); @@ -917,6 +930,7 @@ try { SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); String out_trade_no = sdf.format(new Date()) + UUIDUtil.getNumberRandom(3); + RechargeRecord rechargeRecord = new RechargeRecord(); rechargeRecord.setCode(out_trade_no); rechargeRecord.setType(4); @@ -974,12 +988,22 @@ num++; } if("1".equals(status1)){//成功 + Double balance = rechargeRecordService.queryCompanyBalance();//平台余额 + String merOrderId = jsonObject1.getString("merOrderId"); rechargeRecord1.setPayTime(new Date()); rechargeRecord1.setPayStatus(2); rechargeRecord1.setOrderNumber(merOrderId); rechargeRecord1.setSurplusDividedAmount(rechargeRecord1.getAmount()); rechargeRecordService.updateById(rechargeRecord1); + + CompanyFundFlow companyFundFlow = new CompanyFundFlow(); + companyFundFlow.setType(1); + companyFundFlow.setObjectType(1); + companyFundFlow.setBalance(new BigDecimal(balance)); + companyFundFlow.setMoney(new BigDecimal(rechargeRecord1.getAmount())); + companyFundFlow.setCreateTime(new Date()); + companyFundFlowService.insert(companyFundFlow); break; } if("2".equals(status1) || 10 == num){//失败 @@ -1024,6 +1048,7 @@ return; } if(1 == status){ + Double balance = rechargeRecordService.queryCompanyBalance();//平台余额 String parameter1 = jsonObject.getString("parameter1"); RechargeRecord rechargeRecord = rechargeRecordService.selectById(parameter1); rechargeRecord.setPayStatus(2); @@ -1031,6 +1056,14 @@ rechargeRecord.setOrderNumber(jsonObject.getString("merOrderId")); rechargeRecord.setSurplusDividedAmount(rechargeRecord.getAmount()); rechargeRecordService.updateById(rechargeRecord); + CompanyFundFlow companyFundFlow = new CompanyFundFlow(); + companyFundFlow.setType(1); + companyFundFlow.setObjectType(1); + companyFundFlow.setBalance(new BigDecimal(balance)); + companyFundFlow.setMoney(new BigDecimal(rechargeRecord.getAmount())); + companyFundFlow.setCreateTime(new Date()); + companyFundFlowService.insert(companyFundFlow); + response.setStatus(200); PrintWriter out = response.getWriter(); out.print("OK"); @@ -1045,4 +1078,47 @@ } } + + /** + * 获取企业流水 + * @param type + * @param time + * @return + */ + @ResponseBody + @PostMapping("/tAgent/queryCompanyFundFlow") + public Object queryCompanyFundFlow(Integer type, String time){ + Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage(); + List<Map<String, Object>> list = companyFundFlowService.queryCompanyFundFlow(page, type, time); + page.setRecords(list); + return super.packForBT(page); + } + + + /** + * 获取代理商汇总数据 + * @param id + * @param time + * @return + */ + @ResponseBody + @PostMapping("/tAgent/queryAgentSummaryData") + public Map<String, Object> queryAgentSummaryData(Integer id, String time){ + return tAgentService.queryAgentSummaryData(id, time); + } + + + /** + * 获取代理商明细列表 + * @param id + * @return + */ + @ResponseBody + @PostMapping("/tAgent/queryAgentCompanyFundFlow") + public Object queryAgentCompanyFundFlow(Integer id){ + Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage(); + List<Map<String, Object>> list = companyFundFlowService.queryAgentCompanyFundFlow(page, id); + page.setRecords(list); + return super.packForBT(page); + } } -- Gitblit v1.7.1