| | |
| | | |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.common.core.domain.AjaxResult; |
| | |
| | | import org.elasticsearch.action.update.UpdateRequest; |
| | | import org.elasticsearch.client.RequestOptions; |
| | | import org.elasticsearch.client.RestHighLevelClient; |
| | | import org.springframework.cache.annotation.CacheEvict; |
| | | import org.springframework.cache.annotation.Cacheable; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | |
| | | import java.io.IOException; |
| | | import java.time.LocalDateTime; |
| | | import java.util.*; |
| | | import java.util.regex.Pattern; |
| | | import java.util.stream.Collectors; |
| | | |
| | | import static com.ruoyi.constant.MenuAuthority.*; |
| | |
| | | */ |
| | | @Service |
| | | @Slf4j |
| | | public class ZfEconomyServiceImpl extends ServiceImpl<ZfEconomyMapper, ZfEconomy> implements ZfEconomyService { |
| | | public class ZfEconomyServiceImpl extends ServiceImpl<ZfEconomyMapper, ZfEconomy> implements ZfEconomyService,ModuleSearchable{ |
| | | @Resource |
| | | ZfEconomyService zfEconomyService; |
| | | |
| | |
| | | lqw.like(StringUtils.isNotEmpty(zfEconomy.getUsePeople()),ZfEconomy::getUsePeople,zfEconomy.getUsePeople()); |
| | | lqw.like(StringUtils.isNotEmpty(zfEconomy.getBalance()),ZfEconomy::getBalance,zfEconomy.getBalance()); |
| | | lqw.like(StringUtils.isNotEmpty(zfEconomy.getRemark()),ZfEconomy::getRemark,zfEconomy.getRemark()); |
| | | // lqw.in(StringUtils.isNotEmpty(zfEconomy.getCompanionList()),ZfEconomy::getCompanion,zfEconomy.getCompanionList()); |
| | | // if (zfEconomy.getYear() != 0) { |
| | | // System.out.println("pppppppppppppppppppppppppppppppppppppppppppppppppppp"+zfEconomy.getYear()); |
| | | // lqw.apply("YEAR(happen_time) = {0}", zfEconomy.getYear()); |
| | | // } |
| | | |
| | | if (CollectionUtils.isNotEmpty(zfEconomy.getCompanionList())) { |
| | | List<String> companionList = zfEconomy.getCompanionList(); |
| | | |
| | | // 清理和去重 |
| | | companionList = companionList.stream() |
| | | .map(String::trim) |
| | | .filter(s -> !s.isEmpty()) |
| | | .distinct() |
| | | .collect(Collectors.toList()); |
| | | |
| | | if (!companionList.isEmpty()) { |
| | | // 确保所有参与人都在companion字段中 |
| | | for (String companion : companionList) { |
| | | lqw.apply("FIND_IN_SET({0}, REPLACE(REPLACE(companion, ' ', ''), ',', ',')) > 0", |
| | | companion); |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | lqw.eq(zfEconomy.getHappenTime() != null, ZfEconomy::getHappenTime, zfEconomy.getHappenTime()); |
| | | lqw.between(zfEconomy.getHappenStartTime() != null && zfEconomy.getHappenEndTime() != null, ZfEconomy::getHappenTime, zfEconomy.getHappenStartTime(), zfEconomy.getHappenEndTime()); |
| | | System.out.println("查询条件: " + lqw.getCustomSqlSegment()); |
| | | |
| | | return lqw; |
| | | } |
| | | |
| | | |
| | | private LambdaQueryWrapper<ZfEconomy> uniqueCondition(ZfEconomy zfEconomy) { |
| | | LambdaQueryWrapper<ZfEconomy> lqw = new LambdaQueryWrapper<>(); |
| | |
| | | |
| | | @Override |
| | | public AjaxResult addData(ZfEconomy zfEconomy) { |
| | | //清除redis中zfEconomy的缓存 |
| | | clearAllCache(); |
| | | |
| | | ZInfoUser myself = zInfoUserService.getMyself(); |
| | | Long familyId = myself.getFamilyId(); |
| | | |
| | |
| | | |
| | | @Override |
| | | public AjaxResult updateData(ZfEconomy zfEconomy) { |
| | | //清除redis中zfEconomy的缓存 |
| | | clearAllCache(); |
| | | |
| | | ZInfoUser myself = zInfoUserService.getMyself(); |
| | | Long familyId = myself.getFamilyId(); |
| | | |
| | |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public String getModuleCode() { |
| | | return "2045"; |
| | | } |
| | | |
| | | @Override |
| | | @Cacheable(value = "economy_search", key = "T(String).format('2045_%s_%s_%s',#companion != null ? #companion : 'null',#happenStartTime != null ? #happenStartTime.getTime() : 0,#happenEndTime != null ? #happenEndTime.getTime() : 0)") |
| | | public List<?> search(String companion, Date happenStartTime,Date happenEndTime) { |
| | | ZfEconomy zfEconomy = new ZfEconomy(); |
| | | zfEconomy.setCompanion(companion); |
| | | zfEconomy.setHappenStartTime(happenStartTime); |
| | | zfEconomy.setHappenEndTime(happenEndTime); |
| | | |
| | | String[] split = companion.split(","); |
| | | List<String> list = Arrays.asList(split); |
| | | |
| | | zfEconomy.setCompanionList(list); |
| | | return selectByCondition(zfEconomy); |
| | | } |
| | | |
| | | @CacheEvict(value = "economy_search", allEntries = true) |
| | | public void clearAllCache() { |
| | | System.out.println("清除所有经济搜索缓存"); |
| | | } |
| | | } |