¶Ô±ÈÐÂÎļþ |
| | |
| | | package doumeemes.api.ext; |
| | | |
| | | import doumeemes.api.BaseController; |
| | | import doumeemes.core.model.ApiResponse; |
| | | import doumeemes.dao.ext.dto.ActivityLoginDTO; |
| | | import doumeemes.dao.ext.vo.ActivityLoginVO; |
| | | import doumeemes.dao.ext.vo.StagingLoginVO; |
| | | import doumeemes.dao.system.model.SystemUser; |
| | | import doumeemes.service.system.SystemLoginLogService; |
| | | import doumeemes.service.system.SystemLoginService; |
| | | import doumeemes.service.system.SystemUserService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.apache.shiro.authz.annotation.RequiresPermissions; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * Created by IntelliJ IDEA. |
| | | * |
| | | * @Author : Rk |
| | | * @create 2023/9/5 10:26 |
| | | */ |
| | | |
| | | @RestController |
| | | @RequestMapping("/ext/stagingExt") |
| | | @Api(tags = "å·¥ä½å°æ¥å£") |
| | | public class StagingExtController extends BaseController { |
| | | |
| | | @Autowired |
| | | private SystemLoginLogService systemLoginLogService; |
| | | |
| | | @Autowired |
| | | private SystemUserService systemUserService; |
| | | |
| | | @ApiOperation("å·¥ä½å°æ´»è·æ°æ®") |
| | | @GetMapping("/getStagingLoginVO") |
| | | public ApiResponse<StagingLoginVO> getStagingLoginVO() { |
| | | return ApiResponse.success(systemLoginLogService.getStagingLoginVO()); |
| | | } |
| | | |
| | | @ApiOperation("å·¥ä½å°æ´»è·æ°æ®è¶å¿å¾") |
| | | @PostMapping("/getActivityLoginVOList") |
| | | public ApiResponse<List<ActivityLoginVO>> getActivityLoginVOList(@RequestBody ActivityLoginDTO activityLoginDTO) { |
| | | return ApiResponse.success(systemUserService.activityLoginVOList(activityLoginDTO)); |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | import doumeemes.core.model.PageData; |
| | | import doumeemes.core.model.PageWrap; |
| | | import doumeemes.core.utils.DateUtil; |
| | | import doumeemes.dao.ext.dto.CompanyLoginDTO; |
| | | import doumeemes.dao.ext.vo.CompanyLoginStatisticsVO; |
| | | import doumeemes.dao.system.dto.QuerySystemLoginLogDTO; |
| | | import doumeemes.dao.system.model.SystemLoginLog; |
| | | import doumeemes.service.system.SystemLoginLogService; |
| | | import doumeemes.service.system.SystemUserService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.apache.shiro.authz.annotation.RequiresPermissions; |
| | |
| | | @Autowired |
| | | private SystemLoginLogService systemLoginLogService; |
| | | |
| | | @Autowired |
| | | private SystemUserService systemUserService; |
| | | |
| | | @PostMapping("/page") |
| | | @ApiOperation("å页æ¥è¯¢") |
| | | @RequiresPermissions("system:loginLog:query") |
| | |
| | | public void export (@RequestBody PageWrap<QuerySystemLoginLogDTO> pageWrap, HttpServletResponse response) { |
| | | ExcelExporter.build(SystemLoginLog.class).exportWithFirstAndEnd(systemLoginLogService.findPage(pageWrap).getRecords(), "ç»å½æ¥å¿_"+System.currentTimeMillis(),"ç»å½æ¥å¿-"+ DateUtil.getPlusTime2(DateUtil.getCurrentDate()),null, response); |
| | | } |
| | | |
| | | |
| | | @PostMapping("/companyLoginStatisticsPage") |
| | | @ApiOperation("ä¼ä¸ç»å½ç»è®¡") |
| | | // @RequiresPermissions("system:loginLog:query") |
| | | public ApiResponse<PageData<CompanyLoginStatisticsVO>> companyLoginStatisticsPage (@RequestBody PageWrap<CompanyLoginDTO> pageWrap) { |
| | | return ApiResponse.success(systemUserService.companyLoginStatisticsPage(pageWrap)); |
| | | } |
| | | |
| | | @PostMapping("/companyLoginStatisticsExport") |
| | | @ApiOperation("ä¼ä¸ç»å½ç»è®¡å¯¼åº") |
| | | // @RequiresPermissions("system:loginLog:query") |
| | | public void companyLoginStatisticsExport (@RequestBody PageWrap<CompanyLoginDTO> pageWrap, HttpServletResponse response) { |
| | | ExcelExporter.build(CompanyLoginStatisticsVO.class).exportWithFirstAndEnd(systemUserService.companyLoginStatisticsPage(pageWrap).getRecords(), "ä¼ä¸ç»å½ç»è®¡_"+System.currentTimeMillis(),"ä¼ä¸ç»å½ç»è®¡_"+ DateUtil.getPlusTime2(DateUtil.getCurrentDate()),null, response); |
| | | } |
| | | } |
| | |
| | | shiroFilterFactoryBean.setSecurityManager(securityManager); |
| | | Map<String, String> map = new LinkedHashMap<>(); |
| | | // è·¯å¾æ¦æªé
ç½® |
| | | map.put("/web/user/login", "anon"); |
| | | map.put("/public/uploadRichText", "anon"); |
| | | map.put("/system/login", "anon"); |
| | | map.put("/system/wxLogin", "anon"); |
| | | map.put("/system/wxProgramLogin", "anon"); |
| | | map.put("/system/wxAccountLogin", "anon"); |
| | | map.put("/system/initCompany", "anon"); |
| | | map.put("/system/logout", "anon"); |
| | | map.put("/common/captcha", "anon"); |
| | | //æ¾è¡ scratch æ¥å£ |
| | | map.put("/web/scratch/**", "anon"); |
| | | |
| | | map.put("/statistics/**", "anon"); |
| | | map.put("/dingding/push", "anon"); |
| | | // map.put("/ext/workorderExt/freshStatistics", "anon"); |
| | | map.put("/dingding/jsapiTicket", "anon"); |
| | | map.put("/dingding/ddLogin", "anon"); |
| | | map.put("/dingding/getDingdingCorpId", "anon"); |
| | | map.put("/lingyang/login", "anon"); |
| | | map.put("/lingyang/loginDemo", "anon"); |
| | | map.put("/edgp/**", "anon"); |
| | | // - æ¾è¡swagger |
| | | map.put("/doc.html", "anon"); |
| | | map.put("/webjars/**", "anon"); |
| | | map.put("/template/**", "anon"); |
| | | map.put("/swagger-resources/**", "anon"); |
| | | map.put("/v2/api-docs/**", "anon"); |
| | | // - å
¶ä»æ¥å£ç»ä¸æ¦æª |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package doumeemes.dao.ext.dto; |
| | | |
| | | import cn.afterturn.easypoi.excel.annotation.Excel; |
| | | import cn.afterturn.easypoi.excel.annotation.ExcelTarget; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * @author T14 |
| | | */ |
| | | @Data |
| | | @ApiModel("å·¥ä½å°æ´»è·è¶å¿å¾æ¥è¯¢ç±»") |
| | | public class ActivityLoginDTO { |
| | | |
| | | @ApiModelProperty(value = "æ¥æº 0pc 1éé 2ç¾ç¾å¹³å° 3EDGPå¹³å°") |
| | | private Integer orgin; |
| | | |
| | | @ApiModelProperty(value = "å¼å§æ¥æ") |
| | | private String startDate; |
| | | |
| | | @ApiModelProperty(value = "ç»ææ¥æ") |
| | | private String endDate; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package doumeemes.dao.ext.dto; |
| | | |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * @author T14 |
| | | */ |
| | | @Data |
| | | @ApiModel("ä¼ä¸ç»å½ç»è®¡æ¥è¯¢ç±»") |
| | | public class CompanyLoginDTO { |
| | | |
| | | @ApiModelProperty(value = "æ¥æº 0pc 1éé 2ç¾ç¾å¹³å° 3EDGPå¹³å°") |
| | | private Integer orgin; |
| | | |
| | | @ApiModelProperty(value = "æ¥è¯¢å¹´æ YYYY-MM") |
| | | private String queryMonth; |
| | | |
| | | @ApiModelProperty(value = "ä¼ä¸åç§°") |
| | | private String companyName; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package doumeemes.dao.ext.vo; |
| | | |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * Created by IntelliJ IDEA. |
| | | * |
| | | * @Author : Rk |
| | | * @create 2023/9/5 10:30 |
| | | */ |
| | | @Data |
| | | @ApiModel("å·¥ä½å°æ´»è·è¶å¿å¾æ°æ®") |
| | | public class ActivityLoginVO { |
| | | |
| | | @ApiModelProperty(value = "仿¥æ´»è·ç¨æ·") |
| | | private Integer dayActiveUserNum; |
| | | |
| | | @ApiModelProperty(value = "仿¥æ´»è·ä¼ä¸") |
| | | private String dataDate; |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package doumeemes.dao.ext.vo; |
| | | |
| | | import doumeemes.core.annotation.excel.ExcelColumn; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import org.apache.poi.ss.usermodel.HorizontalAlignment; |
| | | |
| | | /** |
| | | * Created by IntelliJ IDEA. |
| | | * |
| | | * @Author : Rk |
| | | * @create 2023/9/5 10:30 |
| | | */ |
| | | @Data |
| | | @ApiModel("ä¼ä¸ç»å½ç»è®¡æ¥è¯¢æ°æ®") |
| | | public class CompanyLoginStatisticsVO { |
| | | |
| | | @ApiModelProperty(value = "æ¶é´ yyyy-MM-dd") |
| | | @ExcelColumn(name="æ¶é´",width = 6,align = HorizontalAlignment.CENTER) |
| | | private String dataDate; |
| | | |
| | | @ApiModelProperty(value = "ç»å½ä¼ä¸åç§°") |
| | | @ExcelColumn(name="ç»å½ä¼ä¸åç§°",width = 6,align = HorizontalAlignment.CENTER) |
| | | private String companyName; |
| | | |
| | | @ApiModelProperty(value = "æ¸ é") |
| | | @ExcelColumn(name="æ¸ é", valueMapping = "0=PCå¹³å°;1=ééå¹³å°;2=ç¾ç¾å¹³å°;3=EDGPå¹³å°;4=微信å°ç¨åº",width = 6,align = HorizontalAlignment.CENTER) |
| | | private Integer orgin; |
| | | |
| | | @ApiModelProperty(value = "ç»å½æ¬¡æ°") |
| | | @ExcelColumn(name="ç»å½æ¬¡æ°",width = 6,align = HorizontalAlignment.CENTER) |
| | | private Integer loginNum; |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package doumeemes.dao.ext.vo; |
| | | |
| | | import doumeemes.core.annotation.excel.ExcelColumn; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * Created by IntelliJ IDEA. |
| | | * |
| | | * @Author : Rk |
| | | * @create 2023/9/5 10:30 |
| | | */ |
| | | @Data |
| | | @ApiModel("å·¥ä½å°æ´»è·æ°æ®") |
| | | public class StagingLoginVO { |
| | | |
| | | @ApiModelProperty(value = "仿¥æ´»è·ç¨æ·") |
| | | private Integer dayActiveUserNum; |
| | | |
| | | @ApiModelProperty(value = "仿¥æ´»è·ä¼ä¸") |
| | | private Integer dayActiveCompanyNum; |
| | | |
| | | @ApiModelProperty(value = "æ¬ææ´»è·ä¼ä¸") |
| | | private Integer monthActiveCompanyNum; |
| | | |
| | | @ApiModelProperty(value = "æ¬æç»å½2次å以ä¸ä¼ä¸æ°") |
| | | private Integer monthTwoCompanyNum; |
| | | |
| | | @ApiModelProperty(value = "æ¬æç»å½2次å以ä¸ä¼ä¸æ°(ç¾ç¾)") |
| | | private Integer monthTwoCompanyLYNum; |
| | | |
| | | } |
| | |
| | | package doumeemes.dao.system; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import doumeemes.dao.ext.dto.ActivityLoginDTO; |
| | | import doumeemes.dao.ext.dto.CompanyLoginDTO; |
| | | import doumeemes.dao.ext.vo.ActivityLoginVO; |
| | | import doumeemes.dao.ext.vo.CompanyLoginStatisticsVO; |
| | | import doumeemes.dao.system.dto.QuerySystemUserDTO; |
| | | import doumeemes.dao.system.model.SystemUser; |
| | | import doumeemes.dao.system.vo.SystemUserListVO; |
| | |
| | | */ |
| | | List<SystemUserListVO> selectManageList(@Param("dto") QuerySystemUserDTO dto, @Param("orderByClause") String orderByClause); |
| | | |
| | | |
| | | List<ActivityLoginVO> activityLoginVOList(@Param("dto")ActivityLoginDTO activityLoginDTO) ; |
| | | |
| | | |
| | | List<CompanyLoginStatisticsVO> companyLoginStatisticsList(@Param("dto") CompanyLoginDTO companyLoginDTO) ; |
| | | |
| | | } |
| | |
| | | |
| | | import doumeemes.core.model.PageData; |
| | | import doumeemes.core.model.PageWrap; |
| | | import doumeemes.dao.ext.vo.StagingLoginVO; |
| | | import doumeemes.dao.system.dto.QuerySystemLoginLogDTO; |
| | | import doumeemes.dao.system.model.SystemLoginLog; |
| | | import java.util.List; |
| | |
| | | * @date 2022/04/18 18:12 |
| | | */ |
| | | long count(SystemLoginLog systemLoginLog); |
| | | |
| | | StagingLoginVO getStagingLoginVO(); |
| | | } |
| | |
| | | |
| | | import doumeemes.core.model.PageData; |
| | | import doumeemes.core.model.PageWrap; |
| | | import doumeemes.dao.ext.dto.ActivityLoginDTO; |
| | | import doumeemes.dao.ext.dto.CompanyLoginDTO; |
| | | import doumeemes.dao.ext.vo.ActivityLoginVO; |
| | | import doumeemes.dao.ext.vo.CompanyLoginStatisticsVO; |
| | | import doumeemes.dao.system.dto.QuerySystemUserDTO; |
| | | import doumeemes.dao.system.model.SystemUser; |
| | | import doumeemes.dao.system.vo.SystemUserListVO; |
| | |
| | | * @date 2022/04/18 18:12 |
| | | */ |
| | | long count(SystemUser systemUser); |
| | | |
| | | List<ActivityLoginVO> activityLoginVOList(ActivityLoginDTO activityLoginDTO); |
| | | |
| | | PageData<CompanyLoginStatisticsVO> companyLoginStatisticsPage(PageWrap<CompanyLoginDTO> pageWrap); |
| | | |
| | | } |
| | |
| | | import doumeemes.core.utils.Utils; |
| | | import doumeemes.dao.business.model.Company; |
| | | import doumeemes.dao.business.model.CompanyUser; |
| | | import doumeemes.dao.ext.dto.ActivityLoginDTO; |
| | | import doumeemes.dao.ext.vo.ActivityLoginVO; |
| | | import doumeemes.dao.ext.vo.StagingLoginVO; |
| | | import doumeemes.dao.system.SystemLoginLogMapper; |
| | | import doumeemes.dao.system.dto.QuerySystemLoginLogDTO; |
| | | import doumeemes.dao.system.join.SystemLoginLogJoinMapper; |
| | |
| | | Wrapper<SystemLoginLog> wrapper = new QueryWrapper<>(systemLoginLog); |
| | | return systemLoginLogMapper.selectCount(wrapper); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public StagingLoginVO getStagingLoginVO(){ |
| | | StagingLoginVO stagingLoginVO = new StagingLoginVO(); |
| | | //仿¥æ´»è·ç¨æ·ï¼ç»è®¡å½å¤©ç»å½ç¨æ·æ°ï¼ä¸ä¸ªç³»ç»ç¨æ·å¨ä¸åçä¼ä¸ç»å½ï¼ç®ä¸¤ä¸ªç¨æ·ï¼ä¸ä¸ªç¨æ·å¨ä¸ä¸ªä¼ä¸å
夿¬¡ç»å½ï¼ç®ä¸ä¸ªç¨æ· |
| | | stagingLoginVO.setDayActiveUserNum( |
| | | systemLoginLogMapper.selectList(new QueryWrapper<SystemLoginLog>() |
| | | .select(" COMPANY_USER_ID ") |
| | | .isNotNull(" COMPANY_ID ") |
| | | .isNotNull(" COMPANY_USER_ID ") |
| | | .apply(" LOGIN_TIME like concat(CURDATE(),'%') ") |
| | | .groupBy(" COMPANY_ID , COMPANY_USER_ID ") |
| | | ).size() |
| | | ); |
| | | //仿¥æ´»è·ä¼ä¸ï¼ç»è®¡å½å¤©ç»å½çä¼ä¸æ°ï¼ä¸ä¸ªä¼ä¸çä¸åç¨æ·ç»å½ï¼ç®ä¸ä¸ªä¼ä¸æ°ï¼ |
| | | stagingLoginVO.setDayActiveCompanyNum( |
| | | systemLoginLogMapper.selectList(new QueryWrapper<SystemLoginLog>() |
| | | .select(" COMPANY_ID ") |
| | | .isNotNull(" COMPANY_ID ") |
| | | .isNotNull(" COMPANY_USER_ID ") |
| | | .apply(" LOGIN_TIME like concat(CURDATE(),'%') ") |
| | | .groupBy(" COMPANY_ID ") |
| | | ).size() |
| | | ); |
| | | //ç»è®¡æ¬æï¼èªç¶æï¼ç»å½çä¼ä¸æ°ï¼é»è¾åä¸ï¼ |
| | | stagingLoginVO.setMonthActiveCompanyNum( |
| | | systemLoginLogMapper.selectList(new QueryWrapper<SystemLoginLog>() |
| | | .select(" COMPANY_ID ") |
| | | .isNotNull(" COMPANY_ID ") |
| | | .isNotNull(" COMPANY_USER_ID ") |
| | | .apply(" LOGIN_TIME like concat(date_format(NOW(), '%Y-%m'),'%') ") |
| | | .groupBy(" COMPANY_ID ") |
| | | ).size() |
| | | ); |
| | | //æ¬æç»å½2次å以ä¸ä¼ä¸æ°ï¼ç»è®¡æ¬æï¼èªç¶æï¼ç»å½2次å以ä¸çä¼ä¸æ°ï¼é»è¾åä¸ï¼ |
| | | stagingLoginVO.setMonthTwoCompanyNum( |
| | | systemLoginLogMapper.selectList(new QueryWrapper<SystemLoginLog>() |
| | | .select(" COMPANY_ID ") |
| | | .isNotNull(" COMPANY_ID ") |
| | | .isNotNull(" COMPANY_USER_ID ") |
| | | .apply(" LOGIN_TIME like concat(date_format(NOW(), '%Y-%m'),'%') ") |
| | | .groupBy(" COMPANY_ID ") |
| | | .having(" count(1) > 1 ") |
| | | ).size() |
| | | ); |
| | | //æ¬æç»å½2次å以ä¸ä¼ä¸æ°(ç¾ç¾)ï¼ç»è®¡æ¬æï¼èªç¶æï¼ç»å½2次å以ä¸ï¼ç»å½æ¥æºäºç¾ç¾å¹³å°ï¼çä¼ä¸æ°ï¼é»è¾åä¸ï¼ |
| | | stagingLoginVO.setMonthTwoCompanyLYNum( |
| | | systemLoginLogMapper.selectList(new QueryWrapper<SystemLoginLog>() |
| | | .select(" COMPANY_ID ") |
| | | .isNotNull(" COMPANY_ID ") |
| | | .isNotNull(" COMPANY_USER_ID ") |
| | | .apply(" LOGIN_TIME like concat(date_format(NOW(), '%Y-%m'),'%') ") |
| | | .eq("ORGIN",2) |
| | | .groupBy(" COMPANY_ID ") |
| | | .having(" count(1) > 1 ") |
| | | ).size() |
| | | ); |
| | | return stagingLoginVO; |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | import com.github.pagehelper.PageInfo; |
| | | import doumeemes.core.model.PageData; |
| | | import doumeemes.core.model.PageWrap; |
| | | import doumeemes.dao.ext.dto.ActivityLoginDTO; |
| | | import doumeemes.dao.ext.dto.CompanyLoginDTO; |
| | | import doumeemes.dao.ext.vo.ActivityLoginVO; |
| | | import doumeemes.dao.ext.vo.CompanyLoginStatisticsVO; |
| | | import doumeemes.dao.system.SystemUserMapper; |
| | | import doumeemes.dao.system.dto.QuerySystemUserDTO; |
| | | import doumeemes.dao.system.model.SystemUser; |
| | |
| | | injectIds(pool, child); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | @Override |
| | | public List<ActivityLoginVO> activityLoginVOList(ActivityLoginDTO activityLoginDTO) { |
| | | return systemUserMapper.activityLoginVOList(activityLoginDTO); |
| | | } |
| | | |
| | | |
| | | |
| | | @Override |
| | | public PageData<CompanyLoginStatisticsVO> companyLoginStatisticsPage(PageWrap<CompanyLoginDTO> pageWrap) { |
| | | // æ§è¡æ¥è¯¢ |
| | | PageHelper.startPage(pageWrap.getPage(), pageWrap.getCapacity()); |
| | | List<CompanyLoginStatisticsVO> companyLoginStatisticsList = systemUserMapper.companyLoginStatisticsList(pageWrap.getModel()); |
| | | return PageData.from(new PageInfo<>(companyLoginStatisticsList)); |
| | | } |
| | | } |
| | |
| | | <result column="UPDATE_USER_NAME" property="username"/> |
| | | </association> |
| | | </resultMap> |
| | | |
| | | <select id="selectManageList" parameterType="doumeemes.dao.system.dto.QuerySystemUserDTO" resultMap="SystemUserListVO"> |
| | | SELECT |
| | | DISTINCT |
| | |
| | | ${orderByClause} |
| | | </select> |
| | | |
| | | |
| | | <resultMap id="ActivityLoginVO" type="doumeemes.dao.ext.vo.ActivityLoginVO" autoMapping="true"> |
| | | <id column="ID" property="id"/> |
| | | </resultMap> |
| | | |
| | | <select id="activityLoginVOList" parameterType="doumeemes.dao.ext.dto.ActivityLoginDTO" resultMap="ActivityLoginVO"> |
| | | select a.DATA_DATE , count(1) as dayActiveUserNum from ( SELECT DATE_FORMAT( DATE_ADD(CONCAT(#{dto.startDate}), INTERVAL(help_topic_id) DAY),'%Y-%m-%d') DATA_DATE |
| | | FROM mysql.help_topic |
| | | WHERE TIMESTAMPDIFF(DAY,CONCAT(#{dto.startDate}),CONCAT(#{dto.endDate})) > help_topic_id ) a |
| | | left join |
| | | ( SELECT s.* FROM `system_login_log` s where s.COMPANY_ID is not null and s.COMPANY_USER_ID is not null |
| | | <if test="dto.orgin != null"> |
| | | AND s.orgin = #{dto.orgin} |
| | | </if> |
| | | ) b |
| | | on a.DATA_DATE = date_format(b.LOGIN_TIME , '%Y-%m-%d') |
| | | where 1 = 1 |
| | | group by a.DATA_DATE |
| | | </select> |
| | | |
| | | |
| | | |
| | | <resultMap id="CompanyLoginStatisticsVO" type="doumeemes.dao.ext.vo.CompanyLoginStatisticsVO" autoMapping="true"> |
| | | <id column="ID" property="id"/> |
| | | </resultMap> |
| | | |
| | | <select id="companyLoginStatisticsList" parameterType="doumeemes.dao.ext.dto.CompanyLoginDTO" resultMap="CompanyLoginStatisticsVO"> |
| | | SELECT date_format(s.LOGIN_TIME, '%Y-%m-%d') as dataDate ,c.`NAME` as companyName ,s.orgin , count(1) as loginNum |
| | | FROM `system_login_log` s left join company c on s.COMPANY_ID = c.ID |
| | | <where> |
| | | s.COMPANY_ID is not null |
| | | <if test="dto.orgin != null"> |
| | | AND s.orgin = #{dto.orgin} |
| | | </if> |
| | | |
| | | <if test="dto.companyName != null and dto.companyName != ''"> |
| | | AND c.`NAME` LIKE CONCAT('%', #{dto.companyName}, '%') |
| | | </if> |
| | | |
| | | <if test="dto.queryMonth != null and dto.queryMonth != ''"> |
| | | AND s.LOGIN_TIME LIKE CONCAT('%', #{dto.queryMonth}, '%') |
| | | </if> |
| | | |
| | | </where> |
| | | |
| | | group by S.COMPANY_ID , date_format(s.LOGIN_TIME, '%Y-%m-%d') ,c.`NAME` ,s.orgin |
| | | |
| | | order by s.LOGIN_TIME desc , c.`NAME` desc |
| | | </select> |
| | | |
| | | |
| | | </mapper> |