From 1f4e7d0f73a73e7350cf5a1df279d5f30904c5d5 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期三, 06 十二月 2023 08:41:32 +0800 Subject: [PATCH] bug --- server/src/main/java/doumeemes/service/business/impl/BizLingyangServiceImpl.java | 71 ++++++++++++++++++++++++++++++++--- 1 files changed, 65 insertions(+), 6 deletions(-) diff --git a/server/src/main/java/doumeemes/service/business/impl/BizLingyangServiceImpl.java b/server/src/main/java/doumeemes/service/business/impl/BizLingyangServiceImpl.java index 230f60a..2d05c6d 100644 --- a/server/src/main/java/doumeemes/service/business/impl/BizLingyangServiceImpl.java +++ b/server/src/main/java/doumeemes/service/business/impl/BizLingyangServiceImpl.java @@ -5,8 +5,10 @@ import doumeemes.core.model.PageData; import doumeemes.core.model.PageWrap; import doumeemes.core.utils.Constants; +import doumeemes.core.utils.DateUtil; import doumeemes.core.utils.Utils; import doumeemes.dao.business.BizLingyangMapper; +import doumeemes.dao.business.CompanyUserMapper; import doumeemes.dao.business.model.BizLingyang; import doumeemes.dao.business.model.Company; import doumeemes.dao.business.model.CompanyUser; @@ -17,6 +19,8 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import doumeemes.service.business.CompanyUserService; +import doumeemes.service.ext.CompanyUserExtService; import doumeemes.service.system.SystemLoginLogService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; @@ -37,6 +41,9 @@ @Autowired private BizLingyangMapper bizLingyangMapper; + @Autowired + @Lazy + private CompanyUserMapper companyUserMapper; @Autowired @Lazy private SystemDictDataBiz systemDictDataBiz; @@ -85,27 +92,79 @@ } @Override @Transactional - public void syncLingData() { - Date date = new Date(); + public void syncLingData(Date date) { +// Date date = new Date(); QueryWrapper<SystemLoginLog> param = new QueryWrapper<>(); MPJLambdaWrapper<SystemLoginLog> mpjLambdaWrapper = new MPJLambdaWrapper<>(); mpjLambdaWrapper.selectAll(SystemLoginLog.class); mpjLambdaWrapper.leftJoin(Company.class,Company::getId,SystemLoginLog::getCompanyId); mpjLambdaWrapper.leftJoin(CompanyUser.class,CompanyUser::getId,SystemLoginLog::getCompanyUserId); - mpjLambdaWrapper.select("(select count(b.id) from system_trace_log b where b.company_id=t1.id and b.company_user_id=t2.id) as logNum"); + mpjLambdaWrapper.select("(select count(b.id) from system_trace_log b where to_days(b.OPERA_TIME) =to_days('"+ DateUtil.getPlusTime2(date) +"') and b.company_id=t1.id ) as logNum"); + mpjLambdaWrapper.selectAs( CompanyUser::getLingyangUserid,SystemLoginLog::getLingyangUserid); + mpjLambdaWrapper.selectAs( CompanyUser::getRootDepartId,SystemLoginLog::getRootDepartId); + mpjLambdaWrapper.selectAs(Company::getCreditCode, SystemLoginLog::getCompanyCode); + mpjLambdaWrapper.eq(SystemLoginLog::getSuccess, Constants.ONE); + mpjLambdaWrapper.eq(SystemLoginLog::getOrgin, Constants.USER_LOGIN_ORIGIN.lingyang); + mpjLambdaWrapper.apply("to_days(login_time) =to_days('"+ DateUtil.getPlusTime2(date) +"')" ); + mpjLambdaWrapper.select("count(t.id) as num"); + mpjLambdaWrapper.groupBy(SystemLoginLog::getCompanyId); + List<SystemLoginLog> list = systemLoginLogJoinMapper.selectJoinList(SystemLoginLog.class,mpjLambdaWrapper); + + if(list!=null && list.size()>0){ + //鍒犻櫎鑰佺殑 + bizLingyangMapper.delete(new QueryWrapper<BizLingyang>() + .lambda().apply("to_days(create_time) =to_days('"+ DateUtil.getPlusTime2(date) +"')" ) + ); + for(SystemLoginLog log : list){ + CompanyUser user = new CompanyUser(); + user.setDeleted(Constants.ZERO); + user.setRootDepartId(log.getRootDepartId()); + user = companyUserMapper.selectOne(new QueryWrapper<>(user).lambda().orderByDesc(CompanyUser::getIsMaster).last("limit 1" )); + BizLingyang model = new BizLingyang(); + model.setCompanyId(log.getCompanyId()); + model.setCreateTime(date); + model.setUserPhone(user !=null? user.getPhone():log.getLoginUsername()); + model.setCreditCode(log.getCompanyCode()); + try { + model.setUserId(user !=null?Long.parseLong(user.getLingyangUserid()):Long.parseLong(log.getLingyangUserid())); + }catch (Exception e){ + } + model.setAppKey(systemDictDataBiz.queryByCode(Constants.LINGYANG_PARAM,Constants.LINGYANG_APPKEY ).getCode()); + model.setActionTimes(log.getNum() + log.getLogNum()); + model.setLoginTimes(log.getNum()); + bizLingyangMapper.insert(model); + } + } + + } +// @Override + @Transactional + public void syncLingDataGroupByUser(Date date) { +// Date date = new Date(); + QueryWrapper<SystemLoginLog> param = new QueryWrapper<>(); + MPJLambdaWrapper<SystemLoginLog> mpjLambdaWrapper = new MPJLambdaWrapper<>(); + mpjLambdaWrapper.selectAll(SystemLoginLog.class); + mpjLambdaWrapper.leftJoin(Company.class,Company::getId,SystemLoginLog::getCompanyId); + mpjLambdaWrapper.leftJoin(CompanyUser.class,CompanyUser::getId,SystemLoginLog::getCompanyUserId); + mpjLambdaWrapper.select("(select count(b.id) from system_trace_log b where to_days(b.OPERA_TIME) =to_days('"+ DateUtil.getPlusTime2(date) +"') and b.company_id=t1.id and b.company_user_id=t2.id) as logNum"); mpjLambdaWrapper.selectAs( CompanyUser::getLingyangUserid,SystemLoginLog::getLingyangUserid); mpjLambdaWrapper.selectAs(Company::getCreditCode, SystemLoginLog::getCompanyCode); mpjLambdaWrapper.eq(SystemLoginLog::getSuccess, Constants.ONE); mpjLambdaWrapper.eq(SystemLoginLog::getOrgin, Constants.USER_LOGIN_ORIGIN.lingyang); - mpjLambdaWrapper.apply("to_days(login_time) =to_days(now())" ); + mpjLambdaWrapper.apply("to_days(login_time) =to_days('"+ DateUtil.getPlusTime2(date) +"')" ); mpjLambdaWrapper.select("count(t.id) as num"); mpjLambdaWrapper.groupBy(SystemLoginLog::getUserId); List<SystemLoginLog> list = systemLoginLogJoinMapper.selectJoinList(SystemLoginLog.class,mpjLambdaWrapper); + if(list!=null && list.size()>0){ + //鍒犻櫎鑰佺殑 + bizLingyangMapper.delete(new QueryWrapper<BizLingyang>() + .lambda().apply("to_days(create_time) =to_days('"+ DateUtil.getPlusTime2(date) +"')" ) + ); for(SystemLoginLog log : list){ BizLingyang model = new BizLingyang(); model.setCompanyId(log.getCompanyId()); - model.setCreateTime(new Date()); + model.setCreateTime(date); model.setUserPhone(log.getLoginUsername()); model.setCreditCode(log.getCompanyCode()); try { @@ -114,7 +173,7 @@ } model.setAppKey(systemDictDataBiz.queryByCode(Constants.LINGYANG_PARAM,Constants.LINGYANG_APPKEY ).getCode()); - model.setActionTimes(log.getLogNum()); + model.setActionTimes(log.getNum() + log.getLogNum()); model.setLoginTimes(log.getNum()); bizLingyangMapper.insert(model); } -- Gitblit v1.9.3