From b55cd9aad0835a96a790e61f9f89edc2fae1be9f Mon Sep 17 00:00:00 2001
From: 刘帅 <rr.iii@qq.com>
Date: 星期二, 29 九月 2026 01:26:37 +0800
Subject: [PATCH] 注释优化、格式优化
---
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java | 158 ++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 115 insertions(+), 43 deletions(-)
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java
index 3e96cfd..994d965 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java
@@ -24,22 +24,23 @@
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.WebDataBinder;
import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.InitBinder;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import sun.rmi.runtime.Log;
+import javax.jws.soap.SOAPBinding;
import javax.servlet.http.HttpServletResponse;
import java.io.OutputStream;
+import java.beans.PropertyEditorSupport;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
import java.util.stream.Collectors;
/**
@@ -64,7 +65,50 @@
private ICityService cityService;
/**
- * 导出赛事已报名用户列表
+ * 兼容活动表单提交的日期时间格式。
+ *
+ * @param binder Spring Web 数据绑定器
+ */
+ @InitBinder
+ public void initCompetitionDateBinder(WebDataBinder binder) {
+ binder.registerCustomEditor(Date.class, new PropertyEditorSupport() {
+ @Override
+ public void setAsText(String text) throws IllegalArgumentException {
+ if (ToolUtil.isEmpty(text)) {
+ setValue(null);
+ return;
+ }
+ Date parsedDate = parseCompetitionDate(text);
+ if (parsedDate == null) {
+ throw new IllegalArgumentException("日期格式应为yyyy-MM-dd HH:mm或yyyy-MM-dd");
+ }
+ setValue(parsedDate);
+ }
+ });
+ }
+
+ /**
+ * 将活动表单日期文本解析为日期对象。
+ *
+ * @param value 日期文本
+ * @return 解析后的日期;格式不匹配时返回 {@code null}
+ */
+ private Date parseCompetitionDate(String value) {
+ String[] patterns = {"yyyy-MM-dd HH:mm", "yyyy-MM-dd"};
+ for (String pattern : patterns) {
+ try {
+ SimpleDateFormat dateFormat = new SimpleDateFormat(pattern);
+ dateFormat.setLenient(false);
+ return dateFormat.parse(value);
+ } catch (ParseException ignored) {
+ // 尝试下一个约定格式。
+ }
+ }
+ return null;
+ }
+
+ /**
+ * 导出活动已报名用户列表
*/
@RequestMapping(value = "/export")
@@ -77,11 +121,15 @@
DateFormat format = new SimpleDateFormat("yyyyMMdd");
String time1 = format.format(date);
String fileName =name+"报名信息.xls";
- String[] title = new String[] {"姓名","性别","联系电话","身份证号","状态"};
+ String[] title = new String[] {"姓名","性别","注册电话","联系电话","身份证号","状态"};
GetPeopleQuery query = new GetPeopleQuery();
query.setId(id);
query.setState(state);
- List<CompetitionUser> list = competitionClient.getPeoples(query);
+ // todo 临时处理 因为只能更新后台
+ Page<CompetitionUser> page = competitionClient.getPeopleFromId1(new GetPeopleQuery(999, 0, id, state));
+ List<CompetitionUser> list = page.getRecords();
+// List<CompetitionUser> list = competitionClient.getPeoples(query);
+ System.err.println("导出查询人员列表"+ list);
String[][] values = new String[list.size()][];
for (int i = 0; i < list.size(); i++) {
CompetitionUser d = list.get(i);
@@ -97,15 +145,17 @@
}else {
values[i][1] = "未知";
}
- values[i][2] = d.getPhone();
- values[i][3] = d.getIdCard();
+ values[i][2] = d.getRegisterPhone();
+
+ values[i][3] = d.getPhone();
+ values[i][4] = d.getIdCard();
Integer state1 = d.getState();
if(1 == state1){
- values[i][4] = "正常";
+ values[i][5] = "正常";
}else if(2 == state1){
- values[i][4] = "冻结";
+ values[i][5] = "正常";
}else {
- values[i][4] = "删除";
+ values[i][5] = "已取消";
}
}
HSSFWorkbook wb = ExcelUtil.getHSSFWorkbook("Variance"+time1, title, values, null);
@@ -141,7 +191,6 @@
@RequestMapping("/tCompetition_add")
public String tCompetitionAdd(Model model) {
List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0));
- model.addAttribute("list",list);
List<TOperator> list1 = tOperatorService.list();
model.addAttribute("yysList",list1);
@@ -154,13 +203,12 @@
// 查询这个运营商管理的省
TOperator id = tOperatorService.getOne(new QueryWrapper<TOperator>().eq("id", UserExt.getUser().getObjectId()));
if (id.getType()==1){
- // 全国
- List<TCity> list3 = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0));
- model.addAttribute("province",list3);
+
}else{
// 找到他管理的省
List<TOperatorCity> list4 = operatorCityService.list(new QueryWrapper<TOperatorCity>().eq("operatorId", UserExt.getUser().getObjectId()).eq("pid", 0));
- model.addAttribute("province",list4);
+ List<Integer> collect = list4.stream().map(TOperatorCity::getCode).collect(Collectors.toList());
+ list = cityService.list(new LambdaQueryWrapper<TCity>().in(TCity::getCode, collect));
}
model.addAttribute("operator",objectId);
// 查询当前运营商管理了哪些门店
@@ -174,6 +222,8 @@
if (UserExt.getUser().getObjectType()==3) model.addAttribute("operator",byId.getOperatorId());
List<TOperator> list2 = tOperatorService.list();
model.addAttribute("yysList",list2);
+ model.addAttribute("list",list);
+
return PREFIX + "TCompetition_add.html";
}
@@ -208,10 +258,39 @@
model.addAttribute("storeIds",integers);
List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0));
+
TCity one = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, competition.getProvinceCode()));
List<TCity> list1 = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId,one.getId()));
List<TStore> list2 = storeService.list(new LambdaQueryWrapper<TStore>().eq(TStore::getCityCode,competition.getCityCode()));
+ if (UserExt.getUser().getObjectType()==2){
+ // 查询这个运营商管理的省
+ TOperator id1 = tOperatorService.getOne(new QueryWrapper<TOperator>().eq("id", UserExt.getUser().getObjectId()));
+ if (id1.getType()==1){
+
+ }else{
+ // 找到他管理的省
+ List<TOperatorCity> list4 = operatorCityService.list(new QueryWrapper<TOperatorCity>().eq("operatorId", UserExt.getUser().getObjectId()).eq("pid", 0));
+ List<Integer> collect = list4.stream().map(TOperatorCity::getCode).collect(Collectors.toList());
+ list = cityService.list(new LambdaQueryWrapper<TCity>().in(TCity::getCode, collect));
+ // 找到他管理的市
+ TOperatorCity one1 = operatorCityService.lambdaQuery().eq(TOperatorCity::getCode, competition.getProvinceCode())
+ .eq(TOperatorCity::getOperatorId, UserExt.getUser().getObjectId()).one();
+
+ List<TOperatorCity> list3 = operatorCityService.lambdaQuery().eq(TOperatorCity::getPid, one1.getId())
+ .eq(TOperatorCity::getOperatorId, UserExt.getUser().getObjectId()).list();
+ if (list3.isEmpty()){
+ // 管理整个市区
+ }else{
+ List<Integer> collect1 = list3.stream().map(TOperatorCity::getCode).collect(Collectors.toList());
+ list1 = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId,one.getId())
+ .in(TCity::getCode, collect1));
+ }
+
+ }
+ list2 = storeService.list(new LambdaQueryWrapper<TStore>().eq(TStore::getCityCode,competition.getCityCode())
+ .eq(TStore::getOperatorId,UserExt.getUser().getObjectId()));
+ }
model.addAttribute("list",list);
model.addAttribute("list1",list1);
model.addAttribute("list2",list2);
@@ -286,23 +365,6 @@
Page<Competition> competitions = competitionClient.list(listQuery);
List<Competition> records = new ArrayList<>();
for (Competition competition : competitions.getRecords()) {
- if (competition.getStatus()==4){
- continue;
- }
-
- // 当前时间小于开始时间
- if (competition.getStartTime().after(new Date())){
- competition.setStatus(1);
- }
- if (competition.getStartTime().before(new Date())){
-
-
- if (competition.getEndTime().after(new Date())){
- competition.setStatus(2);
- }else{
- competition.setStatus(3);
- }
- }
if (competition.getStatus()!=state && state != null){
}else{
records.add(competition);
@@ -328,12 +390,10 @@
@RequestMapping(value = "/listUser/{id}")
@ResponseBody
- public Object listUser(@PathVariable Integer id,Integer state) {
+ public Object listUser(@PathVariable Integer id,Integer state, Integer offset,Integer limit) {
try {
- Page<Object> page = new PageFactory<>().defaultPage();
- Page<CompetitionUser> data = competitionClient.getPeopleFromId
- (new GetPeopleQuery(page.getSize(),page.getCurrent(),id,state));
- return super.packForBT(data);
+ Page<CompetitionUser> page = competitionClient.getPeopleFromId1(new GetPeopleQuery(limit, offset, id, state));
+ return super.packForBT(page);
}catch (Exception e){
e.printStackTrace();
return ERROR;
@@ -404,7 +464,7 @@
}
}
-
+ @ResponseBody
@RequestMapping(value = "/cancel")
public Object cancel(Integer TCompetitionId) {
try {
@@ -415,7 +475,7 @@
return ERROR;
}
}
-
+ @ResponseBody
@RequestMapping(value = "/getPeopleFromId")
public Object getPeopleFromId(Integer id,Integer state) {
try {
@@ -434,11 +494,11 @@
@ResponseBody
public Object onChange(Integer oneId) {
System.out.println("======"+oneId);
- List<TOperatorCity> list = operatorCityService.list(new LambdaQueryWrapper<TOperatorCity>().eq(TOperatorCity::getOperatorId, oneId).eq(TOperatorCity::getType, 2));
+ List<TOperatorCity> list = operatorCityService.list(new LambdaQueryWrapper<TOperatorCity>()
+ .eq(TOperatorCity::getOperatorId, oneId).eq(TOperatorCity::getType, 2));
if (list.size()!=0){
return list;
}
-
try {
TCity one = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, oneId));
return cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId,one.getId()));
@@ -447,10 +507,22 @@
return ERROR;
}
}
+
+ @RequestMapping(value = "/onChange3")
+ @ResponseBody
+ public Object onChange3(String oneId) {
+ TCity one = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, oneId));
+ return cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId,one.getId()));
+ }
@RequestMapping(value = "/oneChangeNext")
@ResponseBody
public Object oneChangeNext(Integer oneId) {
try {
+ if (UserExt.getUser().getObjectType() == 2){
+ return storeService.list(new LambdaQueryWrapper<TStore>().eq(TStore::getCityCode, oneId)
+ .eq(TStore::getOperatorId, UserExt.getUser().getObjectId()));
+
+ }
return storeService.list(new LambdaQueryWrapper<TStore>().eq(TStore::getCityCode, oneId));
}catch (Exception e){
e.printStackTrace();
--
Gitblit v1.7.1