From 5a4e4f0ac1e40f45ce4e78b1ae57637c84a64fc7 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期四, 26 十月 2023 13:34:46 +0800 Subject: [PATCH] 添加统计日志 --- server/src/main/java/doumeemes/dao/system/model/SystemLoginLog.java | 3 + server/src/main/java/doumeemes/task/ScheduleTool.java | 4 +- server/src/main/resources/application.yml | 2 server/src/main/java/doumeemes/service/business/impl/BizLingyangServiceImpl.java | 53 ++++++++++++++++++++++++++ 4 files changed, 59 insertions(+), 3 deletions(-) diff --git a/server/src/main/java/doumeemes/dao/system/model/SystemLoginLog.java b/server/src/main/java/doumeemes/dao/system/model/SystemLoginLog.java index bbed668..423e65b 100644 --- a/server/src/main/java/doumeemes/dao/system/model/SystemLoginLog.java +++ b/server/src/main/java/doumeemes/dao/system/model/SystemLoginLog.java @@ -58,6 +58,9 @@ @TableField(exist = false) private String companyUserName; + @TableField(exist = false) + private Integer rootDepartId; + @ApiModelProperty(value = "鐧诲綍鐢ㄦ埛鍚�") @ExcelColumn(name="鐧诲綍鐢ㄦ埛鍚�") private String loginUsername; 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 d4ae173..2d05c6d 100644 --- a/server/src/main/java/doumeemes/service/business/impl/BizLingyangServiceImpl.java +++ b/server/src/main/java/doumeemes/service/business/impl/BizLingyangServiceImpl.java @@ -8,6 +8,7 @@ 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; @@ -18,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; @@ -38,6 +41,9 @@ @Autowired private BizLingyangMapper bizLingyangMapper; + @Autowired + @Lazy + private CompanyUserMapper companyUserMapper; @Autowired @Lazy private SystemDictDataBiz systemDictDataBiz; @@ -93,6 +99,53 @@ 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 ) 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); diff --git a/server/src/main/java/doumeemes/task/ScheduleTool.java b/server/src/main/java/doumeemes/task/ScheduleTool.java index 138422a..dda8a70 100644 --- a/server/src/main/java/doumeemes/task/ScheduleTool.java +++ b/server/src/main/java/doumeemes/task/ScheduleTool.java @@ -104,8 +104,8 @@ * 姣忓ぉ瀹氭椂缁熻缇氱緤鏁版嵁淇℃伅 * @throws Exception */ -// @Scheduled(cron="0 59 23 * * ?") - @Scheduled(fixedDelay = 1000 * 60 * 60 * 1) + @Scheduled(cron="0 59 23 * * ?") +// @Scheduled(fixedDelay = 1000 * 60 * 60 * 1) public void syncLingData() throws Exception { System.out.println("姣忓ぉ瀹氭椂缁熻缇氱緤鏁版嵁淇℃伅--------Begin------"); //TODO--------------姣忓ぉ瀹氭椂缁熻缇氱緤鏁版嵁淇℃伅------------ diff --git a/server/src/main/resources/application.yml b/server/src/main/resources/application.yml index f8bd246..ae670ec 100644 --- a/server/src/main/resources/application.yml +++ b/server/src/main/resources/application.yml @@ -9,7 +9,7 @@ # application: # name: doumeemes profiles: - active: standardPro + active: standardLingyang # JSON杩斿洖閰嶇疆 jackson: # 榛樿鏃跺尯 -- Gitblit v1.9.3