From f7d89c8dba02884a0796b24f8095142c95a272c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=AD=E5=87=AF=E5=87=AF?= Date: Tue, 10 Dec 2024 16:20:30 +0800 Subject: [PATCH] =?UTF-8?q?=E7=99=BB=E5=BD=95=E8=BF=94=E5=9B=9E=E5=BA=97?= =?UTF-8?q?=E9=93=BA=E6=8E=88=E6=9D=83=E8=BF=87=E6=9C=9F=E6=97=A5=E6=9C=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cashierservice/service/LoginService.java | 58 ++++++++++++------- 1 file changed, 38 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/LoginService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/LoginService.java index 3ddce3c..e5d2459 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/LoginService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/LoginService.java @@ -1,5 +1,7 @@ package com.chaozhanggui.system.cashierservice.service; +import cn.hutool.core.date.DateUnit; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.json.JSONUtil; import com.alibaba.fastjson.JSONObject; @@ -11,7 +13,10 @@ import com.chaozhanggui.system.cashierservice.mybatis.TbVersionMapper; import com.chaozhanggui.system.cashierservice.rabbit.RabbitProducer; import com.chaozhanggui.system.cashierservice.sign.CodeEnum; import com.chaozhanggui.system.cashierservice.sign.Result; -import com.chaozhanggui.system.cashierservice.util.*; +import com.chaozhanggui.system.cashierservice.util.MD5Util; +import com.chaozhanggui.system.cashierservice.util.RedisCst; +import com.chaozhanggui.system.cashierservice.util.RedisUtil; +import com.chaozhanggui.system.cashierservice.util.TokenUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -62,7 +67,6 @@ public class LoginService { } - if (ObjectUtil.isEmpty(loginReq.getSerialNumber())) { return Result.fail(CodeEnum.SERIALNUMBER); } @@ -92,7 +96,7 @@ public class LoginService { return Result.fail(CodeEnum.MERCHANTEIXST); } - TbPlussShopStaff tbPlussShopStaff = tbPlussShopStaffMapper.selectByAccountAndShopId(loginReq.getLoginName(),account.getShopId()); + TbPlussShopStaff tbPlussShopStaff = tbPlussShopStaffMapper.selectByAccountAndShopId(loginReq.getLoginName(), account.getShopId()); if (ObjectUtil.isEmpty(tbPlussShopStaff)) { return Result.fail(CodeEnum.ACCOUNTEIXST); } else if (!tbPlussShopStaff.getStatus()) { @@ -120,7 +124,14 @@ public class LoginService { tbTokenMapper.insert(tbToken); TbShopInfo shopInfo = tbShopInfoMapper.selectByPrimaryKey(Integer.valueOf(account.getShopId())); - + if (shopInfo.getExpireAt() != null) { + Long expireAt = shopInfo.getExpireAt(); + Date time = DateUtil.calendar(expireAt).getTime(); + long expireDays = DateUtil.between(DateUtil.beginOfDay(new Date()), DateUtil.beginOfDay(time), DateUnit.DAY, false); + if (expireDays < 0) { + return Result.fail("店铺已到期,请联系区域经理续费"); + } + } redisUtil.saveMessage(key, token, 365 * 24 * 60 * 60); String uuid = UUID.randomUUID().toString().replaceAll("-", ""); @@ -129,15 +140,21 @@ public class LoginService { accountMap.put("accountId", account.getId()); accountMap.put("merchantName", account.getAccount()); accountMap.put("loginName", tbPlussShopStaff.getAccount()); - accountMap.put("loginAccount",tbPlussShopStaff.getName()); + accountMap.put("loginAccount", tbPlussShopStaff.getName()); accountMap.put("clientType", loginReq.getClientType()); accountMap.put("shopId", account.getShopId()); accountMap.put("staffId", tbPlussShopStaff.getId()); accountMap.put("userCode", tbPlussShopStaff.getCode()); accountMap.put("token", token); accountMap.put("loginTime", System.currentTimeMillis()); + accountMap.put("expireDate", null); if (Objects.nonNull(shopInfo)) { accountMap.put("shopName", shopInfo.getShopName()); + if(shopInfo.getExpireAt() != null) { + Long expireAt = shopInfo.getExpireAt(); + Date time = DateUtil.calendar(expireAt).getTime(); + accountMap.put("expireDate", DateUtil.formatDate(time)); + } } accountMap.put("uuid", uuid); accountMap.put("isStaff", "staff".equals(tbPlussShopStaff.getType())); @@ -153,8 +170,8 @@ public class LoginService { public TbVersion getCurrentPcVersion() { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(TbVersion::getSource,"PC"); - queryWrapper.eq(TbVersion::getSel,1); + queryWrapper.eq(TbVersion::getSource, "PC"); + queryWrapper.eq(TbVersion::getSel, 1); return versionMapper.selectOne(queryWrapper); } @@ -162,7 +179,7 @@ public class LoginService { String key = RedisCst.ONLINE_USER.concat(":").concat(clientType).concat(":").concat(loginName); - String cacheToken = redisUtil.getMessage(key)+""; + String cacheToken = redisUtil.getMessage(key) + ""; TbToken tbToken = tbTokenMapper.selectByToken(token); @@ -199,32 +216,33 @@ public class LoginService { } - public Result getShopInfo(String token){ - JSONObject jsonObject= TokenUtil.parseParamFromToken(token); - if(Objects.isNull(jsonObject)){ + public Result getShopInfo(String token) { + JSONObject jsonObject = TokenUtil.parseParamFromToken(token); + if (Objects.isNull(jsonObject)) { return Result.fail(CodeEnum.TOKENTERROR); } - TbShopInfo shopInfo= tbShopInfoMapper.selectByPrimaryKey(Integer.valueOf(jsonObject.getString("shopId"))); + TbShopInfo shopInfo = tbShopInfoMapper.selectByPrimaryKey(Integer.valueOf(jsonObject.getString("shopId"))); - return Result.success(SUCCESS,shopInfo); + return Result.success(SUCCESS, shopInfo); } - public Result getStaffDiscount(String token){ + public Result getStaffDiscount(String token) { - JSONObject jsonObject= TokenUtil.parseParamFromToken(token); - if(Objects.isNull(jsonObject)){ + JSONObject jsonObject = TokenUtil.parseParamFromToken(token); + if (Objects.isNull(jsonObject)) { return Result.fail(CodeEnum.TOKENTERROR); } - Integer staffId=Integer.valueOf(jsonObject.getString("staffId")); + Integer staffId = Integer.valueOf(jsonObject.getString("staffId")); - TbPlussShopStaff staff= tbPlussShopStaffMapper.selectByPrimaryKey(staffId); - if(Objects.nonNull(staff)&&Objects.nonNull(staff.getMaxDiscountAmount())){ - return Result.success(SUCCESS,staff.getMaxDiscountAmount()); + TbPlussShopStaff staff = tbPlussShopStaffMapper.selectByPrimaryKey(staffId); + if (Objects.nonNull(staff) && Objects.nonNull(staff.getMaxDiscountAmount())) { + return Result.success(SUCCESS, staff.getMaxDiscountAmount()); } return Result.success(SUCCESS, BigDecimal.ZERO); } + }