package com.xzx.gc.user.controller; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageInfo; import com.xzx.gc.common.Result; import com.xzx.gc.common.constant.CommonEnum; import com.xzx.gc.common.constant.Constants; import com.xzx.gc.common.dto.log.OperationAppLog; import com.xzx.gc.common.request.BaseController; import com.xzx.gc.entity.AccountInfo; import com.xzx.gc.model.JsonResult; import com.xzx.gc.model.admin.*; import com.xzx.gc.user.mapper.AccountMapper; import com.xzx.gc.user.service.AccountService; import com.xzx.gc.user.service.CityPartnerService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @Api(tags = "账户信息") @RestController @Validated public class AccountController extends BaseController { @Autowired private AccountMapper accountMapper; @Autowired private AccountService accountService; @Autowired private CityPartnerService cityPartnerService; @ApiOperation( value = "查询当前用户的账户信息") @PostMapping("/account/find") public Result find(HttpServletRequest request) { AccountInfo accountInfo1 = accountService.findByUserId(getUserId(request)); if(accountInfo1==null){ return Result.error(-1,"账户不存在"); } accountInfo1.setPayPassword(null); return Result.success(accountInfo1); } @PostMapping( "/admin/front/account/queryPartnerAccountLog.json") @ApiOperation(value="后台账户资金流转接口", notes="test: 仅0有正确返回") @ApiImplicitParams({ @ApiImplicitParam(paramType="query", name ="approverStatus", value = "审核状态(1为待审核,2为已审核,3为审核不通过)", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "page", value = "页码", required = true, dataType = "int"), @ApiImplicitParam(paramType="query", name = "limit", value = "数量", required = true, dataType = "int"), @ApiImplicitParam(paramType="query", name = "type", value = "类型", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "startTime", value = "开始时间", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "endTime", value = "结束时间", required = true, dataType = "String") }) public JsonResult> queryPartnerAccountLog(@RequestBody PartnerAccountLogModel model){ Map map = cityPartnerService.queryPartnerAccountLog(model); return JsonResult.success(map); } @PostMapping("/admin/front/account/queryUserAccountLog.json") @ApiOperation(value="账户管理优化", notes="test: 仅0有正确返回") @ApiImplicitParams({ @ApiImplicitParam(paramType="query", name ="szType", value = "收支类型(空为全部,1:收2:支出)", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "page", value = "页码", required = true, dataType = "int"), @ApiImplicitParam(paramType="query", name = "limit", value = "数量", required = true, dataType = "int"), @ApiImplicitParam(paramType="query", name = "channelType", value = "操作渠道1:充值 2:提现 3:回收 4入库 5红包 6分享返利 7重量达标返利8额度申请 9 额度恢复 10 推广返利 11垫付合伙人", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "startTime", value = "开始时间", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "endTime", value = "结束时间", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "userName", value = "姓名手机号", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "roleType", value = "角色类型", required = true, dataType = "int") }) public JsonResult> queryUserAccountLog(@RequestBody AccountLogModel model){ Map map = cityPartnerService.queryUserAccountLog(model); return JsonResult.success(map); } /** * * @param model * @return */ @PostMapping("/admin/front/account/queryAccountMoney.json") @ApiOperation(value="账户余额", notes="test: 仅0有正确返回") @ApiImplicitParams({ @ApiImplicitParam(paramType="query", name = "page", value = "页码", required = true, dataType = "int"), @ApiImplicitParam(paramType="query", name = "limit", value = "数量", required = true, dataType = "int"), @ApiImplicitParam(paramType="query", name = "isProhibit", value = "冻结状态", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "roleType", value = "角色Type", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "partnerId", value = "合伙人ID", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "userName", value = "姓名手机号", required = true, dataType = "String") }) public JsonResult> queryAccountMoney(@RequestBody AccountMoneyModel model){ if(StrUtil.isBlank(model.getPartnerId())){ List partnerIds = cityPartnerService.queryPartnerByCurrent(); if(CollUtil.isNotEmpty(partnerIds)){ model.setPartnerId(partnerIds.get(0)); } } List userIds = new ArrayList<>(); List allUserIds = new ArrayList<>(); boolean isNull = false; if(StrUtil.isNotBlank(model.getPartnerId())){ //查询合伙人所有打包站的Id if(null!=model.getRoleType()&&!"".equals(model.getRoleType())){ if(model.getRoleType().equals(CommonEnum.普通用户.getValue())){ // List townIds = service.queryTownIdsByPartnerId(partnerIds.get(0)); // model.setTownIds(townIds); userIds = cityPartnerService.queryUserNormal(model); }else{ List packageStationList = cityPartnerService.queryPackageIdList(model.getPartnerId()); userIds = cityPartnerService.queryOtherUserByPid(model.getPartnerId(),model,packageStationList); if(null!=userIds&&userIds.size()>0){ }else{ isNull=true; } } }else{ List packageStationList = cityPartnerService.queryPackageIdList(model.getPartnerId()); userIds = cityPartnerService.queryOtherUserByPid(model.getPartnerId(),model,packageStationList); //查询合伙人区域列表 // List townIds = service.queryTownIdsByPartnerId(partnerIds.get(0)); // model.setTownIds(townIds); List nomalUserIds = cityPartnerService.queryUserNormal(model); userIds.addAll(nomalUserIds); } }else{ if(null!=model.getRoleType()&&!"".equals(model.getRoleType())){ if(model.getRoleType().equals("1")){ userIds = cityPartnerService.queryUserNormal(model); model.setUserFlag(1); }else{ userIds = cityPartnerService.queryOtherUserByPid(null,model,null); if(null!=userIds&&userIds.size()>0){ }else{ isNull=true; } } }else{ if(null!=model.getUserName()&&!"".equals(model.getUserName())){ userIds = cityPartnerService.queryUserNormal(model); List userIdsOth = cityPartnerService.queryOtherUserByPid(null,model,null); if(null!=userIdsOth&&userIdsOth.size()>0){ for (UserModel ou:userIdsOth) { userIds.add(ou); } } } } } List uid = new ArrayList<>(); if(null!=userIds&&userIds.size()>0){ for (UserModel mm:userIds) { uid.add(mm.getUserId()); } }else{ if(!isNull){ if(model.getRoleType().equals("8")){ uid.add("0"); }else{ uid = null; } }else{ uid.add("0"); } } model.setUserIds(uid); PageInfo pageInfo = cityPartnerService.queryAccountByUserIds(model); Map map = new HashMap<>(); map.put("data",pageInfo.getList()); map.put("count",pageInfo.getTotal()); map.put("code",0); return JsonResult.success(map); } @PostMapping( "/admin/front/account/updateAccountLimit.json") @ApiOperation(value="调整额度", notes="test: 仅0有正确返回") @ApiImplicitParams({ @ApiImplicitParam(paramType="query", name ="accountId", value = "账户Id", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "fixedLimit", value = "固定额度", required = true, dataType = "int") }) public JsonResult updateAccountLimit(@RequestBody AccountMoneyModel model,HttpServletRequest request){ int num = cityPartnerService.updateAccountLimit(model); if(num>0){ OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request)) .methodName(Constants.ORDER_MODUL_NAME).operateAction("调整额度-"+model.getAccountId()).build(); mqUtil.sendApp(build); return JsonResult.success("修改成功!"); } else if (num == -1) { return JsonResult.failMessage("可用额度不足,调额失败!"); }else if(num == -2){ return JsonResult.failMessage("固定额度没有改变,调额失败!"); }else { return JsonResult.failMessage("额度必须由合伙人修改,所以修改失败!"); } } @PostMapping("/admin/front/account/updateAccountType.json") @ApiOperation(value="修改账户冻结状态", notes="test: 仅0有正确返回") @ApiImplicitParams({ @ApiImplicitParam(paramType="query", name ="accountId", value = "账户Id", required = true, dataType = "String"), @ApiImplicitParam(paramType="query", name = "isProhibit", value = "冻结状态 0:未冻结,1:冻结", required = true, dataType = "int") }) public JsonResult updateAccountType(@RequestBody AccountMoneyModel model,HttpServletRequest request){ int num = cityPartnerService.updateAccountType(model); if(num>0){ OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request)) .methodName(Constants.ORDER_MODUL_NAME).operateAction("修改账户冻结状态-"+model.getAccountId()).build(); mqUtil.sendApp(build); return JsonResult.success("修改成功"); }else{ return JsonResult.success("修改失败"); } } @PostMapping( "/admin/front/account/queryAllType.json") @ApiOperation(value="类型返回", notes="test: 仅0有正确返回") public JsonResult> queryAllType(@RequestBody RoleTypeModel model){ List> list = cityPartnerService.queryAllType(model); Map map = new HashMap<>(); map.put("data",list); map.put("code",0); return JsonResult.success(map); } }