| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- package jnpf.flowable.service.impl;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.github.yulichang.toolkit.JoinWrappers;
- import com.github.yulichang.wrapper.MPJLambdaWrapper;
- import jnpf.base.Pagination;
- import jnpf.base.UserInfo;
- import jnpf.base.service.SuperServiceImpl;
- import jnpf.flowable.entity.TemplateEntity;
- import jnpf.flowable.entity.TemplateUseNumEntity;
- import jnpf.flowable.mapper.TemplateUseNumMapper;
- import jnpf.flowable.model.template.TemplateUseNumVo;
- import jnpf.flowable.model.util.FlowNature;
- import jnpf.flowable.service.TemplateUseNumService;
- import jnpf.flowable.util.ServiceUtil;
- import jnpf.util.StringUtil;
- import jnpf.util.UserProvider;
- import jnpf.util.context.RequestContext;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.util.Date;
- import java.util.List;
- @Service
- public class TemplateUseNumServiceImpl extends SuperServiceImpl<TemplateUseNumMapper, TemplateUseNumEntity> implements TemplateUseNumService {
- @Autowired
- private ServiceUtil serviceUtil;
- @Override
- public Boolean insertOrUpdateUseNum(String templateId) {
- UserInfo user = UserProvider.getUser();
- LambdaQueryWrapper<TemplateUseNumEntity> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(TemplateUseNumEntity::getTemplateId, templateId);
- queryWrapper.eq(TemplateUseNumEntity::getUserId, user.getUserId());
- TemplateUseNumEntity userNumEntity = this.getOne(queryWrapper);
- if (userNumEntity == null) {
- userNumEntity = new TemplateUseNumEntity();
- userNumEntity.setUserId(user.getUserId());
- userNumEntity.setTemplateId(templateId);
- userNumEntity.setUseNum(1);
- userNumEntity.setLastModifyTime(new Date());
- return this.save(userNumEntity);
- }
- userNumEntity.setUseNum(userNumEntity.getUseNum() + 1);
- userNumEntity.setLastModifyTime(null);
- return this.updateById(userNumEntity);
- }
- @Override
- public void deleteUseNum(String templateId, String userId) {
- if (StringUtil.isNotEmpty(templateId)) {
- LambdaQueryWrapper<TemplateUseNumEntity> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(TemplateUseNumEntity::getTemplateId, templateId);
- if (StringUtil.isNotEmpty(userId)) {
- queryWrapper.eq(TemplateUseNumEntity::getUserId, userId);
- }
- this.remove(queryWrapper);
- }
- }
- @Override
- public List<TemplateUseNumVo> getMenuUseNum(int i, List<String> authFlowList) {
- Pagination pagination = new Pagination();
- pagination.setPageSize(12);
- UserInfo user = UserProvider.getUser();
- String systemId = serviceUtil.getSystemCodeById(RequestContext.getAppCode());
- MPJLambdaWrapper<TemplateUseNumEntity> wrapper = JoinWrappers.lambda(TemplateUseNumEntity.class)
- .select(TemplateEntity::getId, TemplateEntity::getFullName, TemplateEntity::getEnCode,
- TemplateEntity::getType, TemplateEntity::getIcon, TemplateEntity::getIconBackground
- )
- .leftJoin(TemplateEntity.class, TemplateEntity::getId, TemplateUseNumEntity::getTemplateId)
- .eq(TemplateUseNumEntity::getUserId, user.getUserId())
- .eq(TemplateEntity::getEnabledMark, 1);
- if (i == 0) {
- wrapper.orderByDesc(TemplateUseNumEntity::getUseNum);
- } else if (i == 1) {
- wrapper.orderByDesc(TemplateUseNumEntity::getLastModifyTime);
- }
- if (StringUtil.isNotEmpty(systemId)) {
- wrapper.eq(TemplateEntity::getSystemId, systemId);
- }
- //流程有权限(包含通用)
- wrapper.and(t -> t.eq(TemplateEntity::getVisibleType, FlowNature.All)
- .or().in(!authFlowList.isEmpty(), TemplateEntity::getId, authFlowList)
- );
- Page<TemplateUseNumVo> page = new Page<>(pagination.getCurrentPage(), pagination.getPageSize());
- Page<TemplateUseNumVo> iPage = this.selectJoinListPage(page, TemplateUseNumVo.class, wrapper);
- return pagination.setData(iPage.getRecords(), page.getTotal());
- }
- }
|