package com.nq.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.nq.common.lanage.MessageLocaleResolver; import com.nq.dao.SiteAdminMapper; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.nq.common.ServerResponse; import com.nq.dao.UserMapper; import com.nq.dao.UserRechargeMapper; import com.nq.dao.UserWithdrawMapper; import com.nq.pojo.SiteAdmin; import com.nq.pojo.UserRecharge; import com.nq.service.IAgentUserService; import com.nq.service.ISiteAdminService; import com.nq.service.IStockService; import com.nq.service.IUserPositionService; import com.nq.service.IUserRechargeService; import com.nq.service.IUserService; import com.nq.service.IUserWithdrawService; import com.nq.utils.PropertiesUtil; import com.nq.utils.SymmetricCryptoUtil; import com.nq.utils.redis.JsonUtil; import com.nq.utils.redis.RedisConst; import com.nq.utils.redis.RedisShardedPoolUtils; import com.nq.vo.admin.AdminCountVO; import java.math.BigDecimal; import java.util.Date; import java.util.List; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service("iSiteAdminServiceImpl") public class SiteAdminServiceImpl implements ISiteAdminService { private static final Logger log = LoggerFactory.getLogger(SiteAdminServiceImpl.class); @Autowired SiteAdminMapper siteAdminMapper; @Autowired IUserRechargeService iUserRechargeService; @Autowired IUserService iUserService; @Autowired IUserWithdrawService iUserWithdrawService; @Autowired IUserPositionService iUserPositionService; @Autowired IAgentUserService iAgentUserService; @Autowired IStockService iStockService; @Resource UserRechargeMapper userRechargeMapper; @Resource UserMapper userMapper; public ServerResponse login(String adminPhone, String adminPwd, String verifyCode, HttpServletRequest request) { if (StringUtils.isBlank(verifyCode)) { return ServerResponse.createByErrorMsg("verification code must be filled",request.getHeader(MessageLocaleResolver.LANG)); } // String original = (String) request.getSession().getAttribute("KAPTCHA_SESSION_KEY"); /*if (!verifyCode.equalsIgnoreCase(original)) { return ServerResponse.createByErrorMsg("验证码错误"); }*/ if (StringUtils.isBlank(adminPhone) || StringUtils.isBlank(adminPwd)) { return ServerResponse.createByErrorMsg("Parameter cannot be empty",request.getHeader(MessageLocaleResolver.LANG)); } SymmetricCryptoUtil.decryptPassword("8OTlTNZ9EwQ29Pf0R8a37Q=="); adminPwd = SymmetricCryptoUtil.encryptPassword(adminPwd); SiteAdmin siteAdmin = this.siteAdminMapper.login(adminPhone, adminPwd); // SiteAdmin siteAdmin = (SiteAdmin) siteAdminMapper.selectOne(new QueryWrapper().eq("admin_phone", adminPhone).eq("admin_pwd", adminPwd)); if (siteAdmin == null) { return ServerResponse.createByErrorMsg("Account password is wrong",request.getHeader(MessageLocaleResolver.LANG)); } if (siteAdmin.getIsLock().intValue() == 1) { return ServerResponse.createByErrorMsg("Account has been locked",request.getHeader(MessageLocaleResolver.LANG)); } siteAdmin.setAdminPwd(null); HttpSession httpSession = request.getSession(); String token = RedisConst.getAdminRedisKey(httpSession.getId()); String str = RedisShardedPoolUtils.setEx(token, JsonUtil.obj2String(siteAdmin), 999999); siteAdmin.setToken(token); return ServerResponse.createBySuccess(siteAdmin); } public ServerResponse listByAdmin(String adminName, String adminPhone, HttpServletRequest request, int pageNum, int pageSize) { PageHelper.startPage(pageNum, pageSize); String superAdmin = PropertiesUtil.getProperty("admin.super.name"); List siteAdmins = this.siteAdminMapper.listByAdmin(adminName, adminPhone, superAdmin); PageInfo pageInfo = new PageInfo<>(siteAdmins); return ServerResponse.createBySuccess(pageInfo); } public ServerResponse authCharge(String token, Integer state, String orderSn,HttpServletRequest request) { if (StringUtils.isBlank(token) || state == null || StringUtils.isBlank(orderSn)) { return ServerResponse.createByErrorMsg("Parameter cannot be empty",request.getHeader(MessageLocaleResolver.LANG)); } String redis_token = RedisShardedPoolUtils.get(token); if (StringUtils.isBlank(redis_token)) { return ServerResponse.createByErrorMsg("The token is wrong or has expired",request.getHeader(MessageLocaleResolver.LANG)); } ServerResponse serverResponse = this.iUserRechargeService.findUserRechargeByOrderSn(orderSn,request); if (!serverResponse.isSuccess()) { return serverResponse; } UserRecharge userRecharge = (UserRecharge) serverResponse.getData(); ServerResponse returnResponse = null; try { if (state.intValue() == 1) { returnResponse = this.iUserRechargeService.chargeSuccess(userRecharge,request); } else if (state.intValue() == 2) { returnResponse = this.iUserRechargeService.chargeFail(userRecharge,request); } else if (state.intValue() == 3) { returnResponse = this.iUserRechargeService.chargeCancel(userRecharge,request); } else { return ServerResponse.createByErrorMsg("The status is wrong and no processing will be done.",request.getHeader(MessageLocaleResolver.LANG)); } } catch (Exception e) { log.error("email 审核入金状态出错,错误信息 = {}", e); } return returnResponse; } public ServerResponse updateLock(Integer adminId,HttpServletRequest request) { SiteAdmin siteAdmin = this.siteAdminMapper.selectByPrimaryKey(adminId); if (siteAdmin == null) { return ServerResponse.createByErrorMsg("Administrator does not exist",request.getHeader(MessageLocaleResolver.LANG)); } if (siteAdmin.getIsLock().intValue() == 0) { siteAdmin.setIsLock(Integer.valueOf(1)); } else { siteAdmin.setIsLock(Integer.valueOf(0)); } int updateCount = this.siteAdminMapper.updateByPrimaryKeySelective(siteAdmin); if (updateCount > 0) { return ServerResponse.createBySuccessMsg("Successfully modified",request.getHeader(MessageLocaleResolver.LANG)); } return ServerResponse.createByErrorMsg("fail to edit",request.getHeader(MessageLocaleResolver.LANG)); } public ServerResponse add(SiteAdmin siteAdmin,HttpServletRequest request) { if (StringUtils.isBlank(siteAdmin.getAdminName()) || StringUtils.isBlank(siteAdmin.getAdminPhone()) || StringUtils.isBlank(siteAdmin.getAdminPwd()) || siteAdmin .getIsLock() == null) { return ServerResponse.createByErrorMsg("The order failed and the account has been locked.",request.getHeader(MessageLocaleResolver.LANG)); } SiteAdmin siteAdmin1 = this.siteAdminMapper.findAdminByName(siteAdmin.getAdminName()); if (siteAdmin1 != null) { return ServerResponse.createByErrorMsg("Administrative name exists",request.getHeader(MessageLocaleResolver.LANG)); } SiteAdmin siteAdmin2 = this.siteAdminMapper.findAdminByPhone(siteAdmin.getAdminPhone()); if (siteAdmin2 != null) { return ServerResponse.createByErrorMsg("Mobile phone number exists",request.getHeader(MessageLocaleResolver.LANG)); } SiteAdmin dbadmin = new SiteAdmin(); dbadmin.setAdminName(siteAdmin.getAdminName()); dbadmin.setAdminPhone(siteAdmin.getAdminPhone()); dbadmin.setAdminPwd(SymmetricCryptoUtil.encryptPassword(siteAdmin.getAdminPwd())); dbadmin.setIsLock(siteAdmin.getIsLock()); dbadmin.setAddTime(new Date()); int insertCount = this.siteAdminMapper.insert(dbadmin); if (insertCount > 0) { return ServerResponse.createBySuccessMsg("Added successfully",request.getHeader(MessageLocaleResolver.LANG)); } return ServerResponse.createByErrorMsg("add failed",request.getHeader(MessageLocaleResolver.LANG)); } public ServerResponse update(SiteAdmin siteAdmin,HttpServletRequest request) { if (siteAdmin.getId() == null) { return ServerResponse.createByErrorMsg("Modify id cannot be empty",request.getHeader(MessageLocaleResolver.LANG)); } siteAdmin.setAdminPwd(SymmetricCryptoUtil.encryptPassword(siteAdmin.getAdminPwd())); int updateCount = this.siteAdminMapper.updateByPrimaryKeySelective(siteAdmin); if (updateCount > 0) { return ServerResponse.createBySuccessMsg("Successfully modified",request.getHeader(MessageLocaleResolver.LANG)); } return ServerResponse.createByErrorMsg("fail to edit",request.getHeader(MessageLocaleResolver.LANG)); } public ServerResponse deleteAdmin(Integer adminId,HttpServletRequest request) { if (adminId == null) { return ServerResponse.createByErrorMsg("Delete id cannot be empty",request.getHeader(MessageLocaleResolver.LANG)); } int updateCount = this.siteAdminMapper.deleteByPrimaryKey(adminId); if (updateCount > 0) { return ServerResponse.createBySuccessMsg("successfully deleted",request.getHeader(MessageLocaleResolver.LANG)); } return ServerResponse.createByErrorMsg("failed to delete",request.getHeader(MessageLocaleResolver.LANG)); } public SiteAdmin findAdminByName(String name) { return this.siteAdminMapper.findAdminByName(name); } public SiteAdmin findAdminByPhone(String phone) { return this.siteAdminMapper.findAdminByPhone(phone); } @Override public ServerResponse count() { AdminCountVO adminCountVO = new AdminCountVO(); int user_sp_num = this.iUserService.CountUserSize(Integer.valueOf(0)); int user_moni_num = this.iUserService.CountUserSize(Integer.valueOf(1)); adminCountVO.setUser_sp_num(user_sp_num); adminCountVO.setUser_moni_num(user_moni_num); int agent_num = this.iAgentUserService.CountAgentNum(); adminCountVO.setAgent_num(agent_num); BigDecimal user_sp_sum_amt = this.iUserService.CountUserAmt(Integer.valueOf(0)); BigDecimal user_sp_sum_enable = this.iUserService.CountEnableAmt(Integer.valueOf(0)); adminCountVO.setUser_sp_sum_amt(user_sp_sum_amt); adminCountVO.setUser_sp_sum_enable(user_sp_sum_enable); //累计充值金额 BigDecimal charge_sum_amt = this.userRechargeMapper.CountChargeSumAmt(Integer.valueOf(1)); //今日充值金额 BigDecimal charge_today_sum_amt = this.userRechargeMapper.CountTotalRechargeAmountByTime(Integer.valueOf(1)); //累计提现金额 BigDecimal sp_withdraw_sum_amt_success = this.iUserWithdrawService.CountSpWithSumAmtByState(Integer.valueOf(1)); //今日提现金额 BigDecimal sp_withdraw_sum_today_amt_success = this.iUserWithdrawService.CountSpWithSumAmTodaytByState(Integer.valueOf(1)); /** * 当天注册人数 * */ int regDayCount = userMapper.querySumTodayRegCount(); adminCountVO.setToDayRegCount(regDayCount); List list = userRechargeMapper.queryDayFrist(); adminCountVO.setToDayFristRechargeCount(list.size()); adminCountVO.setToDayRechargeCount(list.size()); BigDecimal b = BigDecimal.ZERO; for (int i = 0; i < list.size(); i++) { b.add(list.get(i).getPayAmt()); } adminCountVO.setToDayFristRechargeMoney(b); BigDecimal sp_withdraw_sum_amt_apply = this.iUserWithdrawService.CountSpWithSumAmtByState(Integer.valueOf(0)); adminCountVO.setCharge_sum_amt(charge_sum_amt); adminCountVO.setCharge_today_sum_amt(charge_today_sum_amt); adminCountVO.setSp_withdraw_sum_amt_success(sp_withdraw_sum_amt_success); adminCountVO.setSp_withdraw_sum_today_amt_success(sp_withdraw_sum_today_amt_success); adminCountVO.setSp_withdraw_sum_amt_apply(sp_withdraw_sum_amt_apply); int sp_position_num = this.iUserPositionService.CountPositionNum(Integer.valueOf(1), Integer.valueOf(0)); int sp_pc_position_num = this.iUserPositionService.CountPositionNum(Integer.valueOf(2), Integer.valueOf(0)); adminCountVO.setSp_position_num(sp_position_num); adminCountVO.setSp_pc_position_num(sp_pc_position_num); BigDecimal sp_profit_and_lose = this.iUserPositionService.CountPositionProfitAndLose(); BigDecimal sp_all_profit_and_lose = this.iUserPositionService.CountPositionAllProfitAndLose(); adminCountVO.setSp_profit_and_lose(sp_profit_and_lose); adminCountVO.setSp_all_profit_and_lose(sp_all_profit_and_lose); int stock_num = this.iStockService.CountStockNum(); int stock_show_num = this.iStockService.CountShowNum(Integer.valueOf(0)); int stock_un_lock_num = this.iStockService.CountUnLockNum(Integer.valueOf(0)); adminCountVO.setStock_num(stock_num); adminCountVO.setStock_show_num(stock_show_num); adminCountVO.setStock_un_lock_num(stock_un_lock_num); return ServerResponse.createBySuccess(adminCountVO); } public static void main(String[] args) { System.out.println(RedisShardedPoolUtils.get("1")); System.out.println(RedisShardedPoolUtils.get("2")); } }