linwe
2024-05-29 c10d6358b9f014375a13821465bc978d0c0da22e
src/main/java/org/springblade/modules/discuss/service/impl/UserTopicsServiceImpl.java
@@ -27,9 +27,11 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang.time.DateFormatUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.jetbrains.annotations.Nullable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springblade.common.constant.CommonConstant;
import org.springblade.common.utils.SpringUtils;
import org.springblade.core.redis.cache.BladeRedis;
@@ -51,8 +53,8 @@
import org.springblade.modules.district.entity.DistrictEntity;
import org.springblade.modules.district.service.IDistrictService;
import org.springblade.modules.house.entity.HouseholdEntity;
import org.springblade.modules.house.excel.HouseHoldExcel;
import org.springblade.modules.house.service.IHouseholdService;
import org.springblade.modules.house.service.impl.HouseServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -75,6 +77,9 @@
   @Resource
   private ITopicsService topicsService;
   public static final String SMS_VALIDATE_PHONE = "sms:validate:code:";
   private static final Logger logger = LoggerFactory.getLogger(UserTopicsServiceImpl.class);
   @Autowired
   private BladeRedis redisTemplate;
@@ -117,7 +122,7 @@
      PublicDiscussEntity discussEntity = bean.getOne(Wrappers.<PublicDiscussEntity>lambdaQuery().eq(PublicDiscussEntity::getArticleId, topicsList.get(0).getArticleId()));
      // 判断是否在开始和结束时间内
      if (discussEntity.getStartTime().getTime() > System.currentTimeMillis() || discussEntity.getEndTime().getTime() < System.currentTimeMillis()) {
         return "目前不在投票时间内,投票时间:"+ DateUtil.formatDateTime(discussEntity.getStartTime()) +"-"+DateUtil.formatDateTime(discussEntity.getEndTime());
         return "目前不在投票时间内,投票时间:" + DateUtil.formatDateTime(discussEntity.getStartTime()) + " 至 " + DateUtil.formatDateTime(discussEntity.getEndTime());
      }
      if (StringUtils.isNotBlank(topics.getPhone())) {
         if (StringUtils.isBlank(topics.getCode())) {
@@ -140,7 +145,10 @@
         .eq(HouseholdEntity::getAssociatedUserId, AuthUtil.getUserId())
         .eq(HouseholdEntity::getIsDeleted, 0)
         .last("limit 1"));
      if (ObjectUtils.isEmpty(householdEntity)) {
         logger.error("未查询到住户信息!", JSON.toJSONString(topics));
         return "未查询到住户信息!";
      }
      // 一户一票
      if (discussEntity.getVoteRestrictions().equals(CommonConstant.NUMBER_ONE)) {
         long count = count(Wrappers.<UserTopicsEntity>lambdaQuery()
@@ -312,8 +320,6 @@
      excelWriter.write(publicopinion, classExcelSheet.build());
      // 完成Excel写入并释放资源
      excelWriter.finish();
   }
   /**
@@ -352,13 +358,13 @@
    * @return 返回一个JSONArray对象,包含解析后的区域ID。
    * @throws IllegalArgumentException 如果区域ID字符串为空或空白字符串,抛出此异常。
    */
   private List<String>  validateAndParseDistrictId(String districtIdStr) throws IllegalArgumentException {
   private List<String> validateAndParseDistrictId(String districtIdStr) throws IllegalArgumentException {
      // 验证区域ID字符串是否为空
      if (StringUtils.isBlank(districtIdStr)) {
         throw new IllegalArgumentException("区域ID不能为空");
      }
      // 解析区域ID字符串为JSONArray对象
      return  Arrays.asList(districtIdStr.split(","));
      return Arrays.asList(districtIdStr.split(","));
   }
   private List<String> processDistrictIds(IDistrictService districtService, List<String> districtIds) {
@@ -388,7 +394,7 @@
   private void setManagementRegulationsOrRulesOfProcedure(holdExcel item, TopicsEntity topics) {
      if (StringUtils.isNotBlank(topics.getDiscussContent())) {
         if (topics.getDiscussContent().equals("管理公约")) {
         if (topics.getDiscussContent().equals("管理规约")) {
            item.setManagementRegulations(topics.getOptionContent());
         } else if (topics.getDiscussContent().equals("议事规则")) {
            item.setRulesOfProcedure(topics.getOptionContent());