|
|
@@ -1,49 +1,34 @@
|
|
|
package net.mingsoft.tf.action;
|
|
|
|
|
|
-import java.util.List;
|
|
|
-import java.io.File;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Map;
|
|
|
-import java.util.regex.Matcher;
|
|
|
-import java.util.regex.Pattern;
|
|
|
-import cn.hutool.core.util.ObjectUtil;
|
|
|
-import java.util.*;
|
|
|
-
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
|
+import cn.hutool.core.util.NumberUtil;
|
|
|
+import cn.hutool.core.util.StrUtil;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import io.swagger.v3.oas.annotations.Hidden;
|
|
|
+import io.swagger.v3.oas.annotations.Operation;
|
|
|
+import io.swagger.v3.oas.annotations.Parameter;
|
|
|
+import io.swagger.v3.oas.annotations.Parameters;
|
|
|
+import io.swagger.v3.oas.annotations.enums.ParameterIn;
|
|
|
+import io.swagger.v3.oas.annotations.tags.Tag;
|
|
|
import net.mingsoft.base.entity.ResultData;
|
|
|
+import net.mingsoft.basic.annotation.LogAnn;
|
|
|
+import net.mingsoft.basic.bean.EUListBean;
|
|
|
+import net.mingsoft.basic.constant.e.BusinessTypeEnum;
|
|
|
+import net.mingsoft.basic.util.BasicUtil;
|
|
|
+import net.mingsoft.basic.util.StringUtil;
|
|
|
+import net.mingsoft.tf.biz.IExhibitorBiz;
|
|
|
+import net.mingsoft.tf.entity.ExhibitorEntity;
|
|
|
+import net.mingsoft.tf.entity.ExhibitorEntityExtension;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Controller;
|
|
|
-import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
-import org.springframework.web.bind.annotation.ResponseBody;
|
|
|
-import org.springframework.web.bind.annotation.ModelAttribute;
|
|
|
-import org.springframework.web.bind.annotation.GetMapping;
|
|
|
-import org.springframework.web.bind.annotation.PostMapping;
|
|
|
-import org.springframework.web.bind.annotation.RequestBody;
|
|
|
-
|
|
|
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
-import java.util.stream.Collectors;
|
|
|
-
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
-import net.mingsoft.tf.biz.IExhibitorBiz;
|
|
|
-import net.mingsoft.tf.entity.ExhibitorEntity;
|
|
|
-import net.mingsoft.base.entity.BaseEntity;
|
|
|
-import net.mingsoft.basic.util.BasicUtil;
|
|
|
-import net.mingsoft.basic.util.StringUtil;
|
|
|
-import net.mingsoft.basic.bean.EUListBean;
|
|
|
-import net.mingsoft.basic.annotation.LogAnn;
|
|
|
-import net.mingsoft.basic.constant.e.BusinessTypeEnum;
|
|
|
-import org.apache.commons.lang3.StringUtils;
|
|
|
-
|
|
|
-
|
|
|
|
|
|
-import io.swagger.v3.oas.annotations.tags.Tag;
|
|
|
-import io.swagger.v3.oas.annotations.Parameter;
|
|
|
-import io.swagger.v3.oas.annotations.Parameters;
|
|
|
-import io.swagger.v3.oas.annotations.Operation;
|
|
|
-import io.swagger.v3.oas.annotations.Hidden;
|
|
|
-import io.swagger.v3.oas.annotations.enums.ParameterIn;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* 展商管理控制层
|
|
|
@@ -103,14 +88,32 @@ public class ExhibitorAction extends net.mingsoft.tf.action.BaseAction{
|
|
|
@RequiresPermissions("tf:exhibitor:view")
|
|
|
public ResultData list(@ModelAttribute @Parameter(hidden = true) ExhibitorEntity exhibitor) {
|
|
|
BasicUtil.startPage();
|
|
|
- List exhibitorList = null;
|
|
|
+ List<ExhibitorEntity> exhibitorList;
|
|
|
if ( exhibitor.getSqlWhere() != null){
|
|
|
exhibitorList = exhibitorBiz.query(exhibitor);
|
|
|
} else {
|
|
|
LambdaQueryWrapper<ExhibitorEntity> wrapper = new LambdaQueryWrapper<>(exhibitor).orderByDesc(ExhibitorEntity::getCreateDate);
|
|
|
exhibitorList = exhibitorBiz.list(wrapper);
|
|
|
}
|
|
|
- return ResultData.build().success(new EUListBean(exhibitorList,(int)BasicUtil.endPage(exhibitorList).getTotal()));
|
|
|
+ String ids = exhibitorList.stream().map(ExhibitorEntity::getExhibitorUser).map(item -> "'" + item + "'").collect(Collectors.joining(","));
|
|
|
+ String sql = "select exhibitor,count(1) num from people_exhibitor where exhibitor in (" + ids + ") group by exhibitor";
|
|
|
+ Map<String, Object> nums = StrUtil.isNotBlank(ids) ? exhibitorBiz.queryForList(sql)
|
|
|
+ .stream()
|
|
|
+ .collect(Collectors.toMap(
|
|
|
+ map -> map.getOrDefault("exhibitor", "").toString(),
|
|
|
+ map -> NumberUtil.parseInt(map.get("num").toString()))
|
|
|
+ ) : new HashMap<>();
|
|
|
+
|
|
|
+ List<ExhibitorEntityExtension> responses = exhibitorList.stream().map(p -> {
|
|
|
+ ExhibitorEntityExtension res = new ExhibitorEntityExtension();
|
|
|
+ BeanUtil.copyProperties(p, res);
|
|
|
+ Object o = nums.get(res.getExhibitorUser());
|
|
|
+ if (o != null) {
|
|
|
+ res.setInvNum((Integer) o);
|
|
|
+ }
|
|
|
+ return res;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ return ResultData.build().success(new EUListBean(responses,(int)BasicUtil.endPage(exhibitorList).getTotal()));
|
|
|
}
|
|
|
|
|
|
|