活动-用户相关功能
This commit is contained in:
parent
dca80cbc5b
commit
7b5059efad
6
pom.xml
6
pom.xml
@ -125,6 +125,12 @@
|
||||
<artifactId>jackson-datatype-jsr310</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.alibaba</groupId>
|
||||
<artifactId>easyexcel</artifactId>
|
||||
<version>3.3.2</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
||||
@ -1,7 +1,10 @@
|
||||
package com.cdzy.activity.controller;
|
||||
|
||||
import com.cdzy.activity.mapper.ActivityUserMapper;
|
||||
import com.cdzy.activity.model.*;
|
||||
import com.cdzy.activity.model.Activity;
|
||||
import com.cdzy.activity.model.JsonResult;
|
||||
import com.cdzy.activity.model.PageParam;
|
||||
import com.cdzy.activity.model.User;
|
||||
import com.cdzy.activity.model.dto.ActivityDto;
|
||||
import com.cdzy.activity.model.vo.ActivityVo;
|
||||
import com.cdzy.activity.service.ActivityService;
|
||||
@ -10,7 +13,7 @@ import com.mybatisflex.core.paginate.Page;
|
||||
import com.mybatisflex.core.query.QueryWrapper;
|
||||
import com.mybatisflex.core.util.StringUtil;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@ -36,7 +39,8 @@ public class ActivityController {
|
||||
|
||||
@Resource
|
||||
private UserService userService;
|
||||
@Autowired
|
||||
|
||||
@Resource
|
||||
private ActivityUserMapper activityUserMapper;
|
||||
|
||||
/**
|
||||
@ -53,6 +57,15 @@ public class ActivityController {
|
||||
return JsonResult.success(paged);
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户数据导出。
|
||||
*
|
||||
*/
|
||||
@PostMapping("user/export")
|
||||
public void export(HttpServletResponse response) throws Exception {
|
||||
userService.exportUserData(response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加。
|
||||
*
|
||||
@ -113,7 +126,7 @@ public class ActivityController {
|
||||
.select(USER.ALL_COLUMNS)
|
||||
.where(ACTIVITY_USER.ACTIVITY_ID.eq(activity.getActivityId()))
|
||||
.leftJoin(USER).on(USER.USER_ID.eq(ACTIVITY_USER.USER_ID));
|
||||
List<User> list = activityUserMapper.selectListByQueryAs(queryWrapper,User.class);
|
||||
List<User> list = activityUserMapper.selectListByQueryAs(queryWrapper, User.class);
|
||||
ActivityDto activityDto = new ActivityDto(activity, list);
|
||||
return JsonResult.success(activityDto);
|
||||
}
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.cdzy.activity.model;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.mybatisflex.annotation.Column;
|
||||
import com.mybatisflex.annotation.Id;
|
||||
import com.mybatisflex.annotation.KeyType;
|
||||
@ -30,49 +31,59 @@ public class User implements Serializable {
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ExcelProperty(value = "用户ID", index = 0)
|
||||
@Id(keyType = KeyType.Generator, value = KeyGenerators.snowFlakeId)
|
||||
private Long userId;
|
||||
|
||||
@ExcelProperty(value = "用户微信唯一标识", index = 1)
|
||||
private String wxOpenId;
|
||||
|
||||
/**
|
||||
* 姓名
|
||||
*/
|
||||
@ExcelProperty(value = "姓名", index = 2)
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
@ExcelProperty(value = "手机号", index = 3)
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* 性别
|
||||
*/
|
||||
@ExcelProperty(value = "性别", index = 4)
|
||||
private String gender;
|
||||
|
||||
/**
|
||||
* 地址
|
||||
*/
|
||||
@ExcelProperty(value = "地址", index = 5)
|
||||
private String address;
|
||||
|
||||
/**
|
||||
* 年龄
|
||||
*/
|
||||
@ExcelProperty(value = "年龄", index = 6)
|
||||
private Integer age;
|
||||
|
||||
/**
|
||||
* 慢性病史:1-有 2-无
|
||||
*/
|
||||
@ExcelProperty(value = "慢性病史:1-有 2-无", index = 7)
|
||||
private Integer chronicDiseasesHistory;
|
||||
|
||||
/**
|
||||
* 所患慢性病
|
||||
*/
|
||||
@ExcelProperty(value = "所患慢性病", index = 8)
|
||||
private String chronicDisease;
|
||||
|
||||
/**
|
||||
* 健康:1-健康 2-不健康
|
||||
*/
|
||||
@ExcelProperty(value = "健康状态", index = 9)
|
||||
private Integer heath;
|
||||
|
||||
/**
|
||||
|
||||
@ -5,6 +5,7 @@ import com.cdzy.activity.model.vo.RegistrationVo;
|
||||
import com.cdzy.activity.model.vo.UserVo;
|
||||
import com.mybatisflex.core.service.IService;
|
||||
import com.cdzy.activity.model.User;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
|
||||
/**
|
||||
* 服务层。
|
||||
@ -21,4 +22,6 @@ public interface UserService extends IService<User> {
|
||||
ActivityInfo activityInfo(Long activityId);
|
||||
|
||||
void cancel(RegistrationVo registrationVo);
|
||||
|
||||
void exportUserData(HttpServletResponse response) throws Exception;
|
||||
}
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.cdzy.activity.service.impl;
|
||||
|
||||
import com.alibaba.excel.EasyExcel;
|
||||
import com.cdzy.activity.mapper.ActivityMapper;
|
||||
import com.cdzy.activity.mapper.ActivityUserMapper;
|
||||
import com.cdzy.activity.mapper.UserRegistrationActivityMapper;
|
||||
@ -15,9 +16,12 @@ import com.cdzy.activity.model.User;
|
||||
import com.cdzy.activity.mapper.UserMapper;
|
||||
import com.cdzy.activity.service.UserService;
|
||||
import jakarta.annotation.Resource;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.net.URLEncoder;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
import static com.cdzy.activity.model.table.ActivityTableDef.ACTIVITY;
|
||||
import static com.cdzy.activity.model.table.ActivityUserTableDef.ACTIVITY_USER;
|
||||
@ -162,4 +166,27 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
|
||||
}
|
||||
userRegistrationActivityMapper.delete(userRegistrationActivity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void exportUserData(HttpServletResponse response) throws Exception {
|
||||
QueryWrapper queryWrapper = QueryWrapper.create();
|
||||
List<User> list = userMapper.selectListByQuery(queryWrapper);
|
||||
|
||||
// 2. 设置响应头
|
||||
setupResponse(response, "用户数据");
|
||||
|
||||
// 3. 写入Excel
|
||||
EasyExcel.write(response.getOutputStream(), User.class)
|
||||
.sheet("用户数据")
|
||||
.doWrite(list);
|
||||
|
||||
}
|
||||
|
||||
private void setupResponse(HttpServletResponse response, String fileName) throws Exception {
|
||||
String encodedFileName = URLEncoder.encode(fileName, "UTF-8").replaceAll("\\+", "%20");
|
||||
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
|
||||
response.setCharacterEncoding("UTF-8");
|
||||
response.setHeader("Content-Disposition", "attachment;filename=" + encodedFileName + ".xlsx");
|
||||
response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");
|
||||
}
|
||||
}
|
||||
|
||||
BIN
target/ActivityRegistration-0.0.1-SNAPSHOT.jar
Normal file
BIN
target/ActivityRegistration-0.0.1-SNAPSHOT.jar
Normal file
Binary file not shown.
BIN
target/ActivityRegistration-0.0.1-SNAPSHOT.jar.original
Normal file
BIN
target/ActivityRegistration-0.0.1-SNAPSHOT.jar.original
Normal file
Binary file not shown.
@ -1,37 +0,0 @@
|
||||
package com.cdzy.activity.model.vo.table;
|
||||
|
||||
import com.mybatisflex.core.query.QueryColumn;
|
||||
import com.mybatisflex.core.table.TableDef;
|
||||
|
||||
public class UserVoTableDef extends TableDef{
|
||||
|
||||
public static final UserVoTableDef USER_VO=new UserVoTableDef();
|
||||
|
||||
public final QueryColumn IS_FILLED =new QueryColumn(this,"");
|
||||
public final QueryColumn CHRONIC_DISEASES_HISTORY =new QueryColumn(this,"chronicDiseasesHistory");
|
||||
public final QueryColumn ADDRESS =new QueryColumn(this,"address");
|
||||
public final QueryColumn PHONE =new QueryColumn(this,"phone");
|
||||
public final QueryColumn CHRONIC_DISEASE =new QueryColumn(this,"chronicDisease");
|
||||
public final QueryColumn GENDER =new QueryColumn(this,"gender");
|
||||
public final QueryColumn HEATH =new QueryColumn(this,"heath");
|
||||
public final QueryColumn WX_OPEN_ID =new QueryColumn(this,"wxOpenId");
|
||||
public final QueryColumn AGE =new QueryColumn(this,"age");
|
||||
public final QueryColumn NAME =new QueryColumn(this,"name");
|
||||
/**
|
||||
* 所有字段。
|
||||
*/
|
||||
public final QueryColumn ALL_COLUMNS=new QueryColumn(this,"*");
|
||||
|
||||
/**
|
||||
* 默认字段,不包含逻辑删除或者 large 等字段。
|
||||
*/
|
||||
public final QueryColumn[]DEFAULT_COLUMNS=new QueryColumn[]{ IS_FILLED , CHRONIC_DISEASES_HISTORY , ADDRESS , PHONE , CHRONIC_DISEASE , GENDER , HEATH , WX_OPEN_ID , AGE , NAME };
|
||||
public UserVoTableDef(){super("","user");}
|
||||
private UserVoTableDef(String schema, String name, String alisa) {
|
||||
super(schema, name, alisa);
|
||||
}
|
||||
public UserVoTableDef as(String alias) {
|
||||
String key = getNameWithSchema() + "." + alias;
|
||||
return getCache(key, k -> new UserVoTableDef("", "user", alias));
|
||||
}
|
||||
}
|
||||
3
target/maven-archiver/pom.properties
Normal file
3
target/maven-archiver/pom.properties
Normal file
@ -0,0 +1,3 @@
|
||||
artifactId=ActivityRegistration
|
||||
groupId=com.cdzy
|
||||
version=0.0.1-SNAPSHOT
|
||||
@ -0,0 +1,64 @@
|
||||
com\cdzy\activity\component\ActivityStatusScheduler.class
|
||||
com\cdzy\activity\service\StaffService.class
|
||||
com\cdzy\activity\model\User.class
|
||||
com\cdzy\activity\model\Bulletin$BulletinBuilder.class
|
||||
com\cdzy\activity\model\PageParam.class
|
||||
com\cdzy\activity\controller\ImagePreviewController.class
|
||||
com\cdzy\activity\model\JsonResult.class
|
||||
com\cdzy\activity\model\UserRegistrationActivity.class
|
||||
com\cdzy\activity\model\vo\BulletinVo$BulletinVoBuilder.class
|
||||
com\cdzy\activity\mapper\BulletinMapper.class
|
||||
com\cdzy\activity\component\WebMvcConfig$StringToLocalDateTimeConverter.class
|
||||
com\cdzy\activity\controller\ActivityController.class
|
||||
com\cdzy\activity\uitls\FileUtils.class
|
||||
com\cdzy\activity\mapper\UserMapper.class
|
||||
com\cdzy\activity\model\UserRegistrationActivity$UserRegistrationActivityBuilder.class
|
||||
com\cdzy\activity\service\impl\UserServiceImpl.class
|
||||
com\cdzy\activity\mapper\ActivityMapper.class
|
||||
com\cdzy\activity\model\vo\RegistrationVo.class
|
||||
com\cdzy\activity\enums\ActivityStatus.class
|
||||
com\cdzy\activity\model\dto\ActivityInfo.class
|
||||
com\cdzy\activity\controller\BulletinController.class
|
||||
com\cdzy\activity\model\ActivityUser.class
|
||||
com\cdzy\activity\mapper\StaffMapper.class
|
||||
com\cdzy\activity\component\WebMvcConfig$LocalDateTimeToStringConverter.class
|
||||
com\cdzy\activity\mapper\ActivityUserMapper.class
|
||||
com\cdzy\activity\component\WebMvcConfig.class
|
||||
com\cdzy\activity\model\vo\StaffVo.class
|
||||
com\cdzy\activity\service\impl\ActivityServiceImpl.class
|
||||
com\cdzy\activity\controller\StaffController.class
|
||||
com\cdzy\activity\model\vo\UserVo.class
|
||||
com\cdzy\activity\model\dto\ActivityDto.class
|
||||
com\cdzy\activity\component\WechatConfig.class
|
||||
com\cdzy\activity\model\vo\ActivityVo.class
|
||||
com\cdzy\activity\model\UserCollectActivity.class
|
||||
com\cdzy\activity\model\vo\UserVo$UserVoBuilder.class
|
||||
com\cdzy\activity\uitls\VerifyUtil.class
|
||||
com\cdzy\activity\component\SaTokenConfigure.class
|
||||
com\cdzy\activity\model\Bulletin.class
|
||||
com\cdzy\activity\service\impl\BulletinServiceImpl.class
|
||||
com\cdzy\activity\controller\UserController.class
|
||||
com\cdzy\activity\component\JacksonConfig.class
|
||||
com\cdzy\activity\enums\Message.class
|
||||
com\cdzy\activity\model\vo\BulletinVo.class
|
||||
com\cdzy\activity\mapper\UserRegistrationActivityMapper.class
|
||||
com\cdzy\activity\service\ActivityService.class
|
||||
com\cdzy\activity\service\BulletinService.class
|
||||
com\cdzy\activity\model\Activity.class
|
||||
com\cdzy\activity\service\impl\StaffServiceImpl.class
|
||||
com\cdzy\activity\model\ActivityUser$ActivityUserBuilder.class
|
||||
com\cdzy\activity\ActivityRegistrationApplication.class
|
||||
com\cdzy\activity\enums\Code.class
|
||||
com\cdzy\activity\model\dto\ActivityInfo$ActivityInfoBuilder.class
|
||||
com\cdzy\activity\component\GlobalExceptionHandler.class
|
||||
com\cdzy\activity\model\vo\StaffVo$StaffVoBuilder.class
|
||||
com\cdzy\activity\model\UserCollectActivity$UserCollectActivityBuilder.class
|
||||
com\cdzy\activity\model\Staff.class
|
||||
com\cdzy\activity\component\ImageConfig.class
|
||||
com\cdzy\activity\model\Staff$StaffBuilder.class
|
||||
com\cdzy\activity\uitls\ImageToBase64Converter.class
|
||||
com\cdzy\activity\mapper\UserCollectActivityMapper.class
|
||||
com\cdzy\activity\model\User$UserBuilder.class
|
||||
com\cdzy\activity\model\Activity$ActivityBuilder.class
|
||||
com\cdzy\activity\model\vo\ActivityVo$ActivityVoBuilder.class
|
||||
com\cdzy\activity\service\UserService.class
|
||||
@ -0,0 +1,50 @@
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\ActivityRegistrationApplication.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\component\ActivityStatusScheduler.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\component\GlobalExceptionHandler.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\component\ImageConfig.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\component\JacksonConfig.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\component\SaTokenConfigure.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\component\WebMvcConfig.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\component\WechatConfig.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\controller\ActivityController.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\controller\BulletinController.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\controller\ImagePreviewController.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\controller\StaffController.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\controller\UserController.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\enums\ActivityStatus.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\enums\Code.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\enums\Message.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\mapper\ActivityMapper.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\mapper\ActivityUserMapper.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\mapper\BulletinMapper.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\mapper\StaffMapper.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\mapper\UserCollectActivityMapper.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\mapper\UserMapper.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\mapper\UserRegistrationActivityMapper.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\model\Activity.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\model\ActivityUser.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\model\Bulletin.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\model\dto\ActivityDto.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\model\dto\ActivityInfo.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\model\JsonResult.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\model\PageParam.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\model\Staff.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\model\User.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\model\UserCollectActivity.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\model\UserRegistrationActivity.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\model\vo\ActivityVo.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\model\vo\BulletinVo.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\model\vo\RegistrationVo.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\model\vo\StaffVo.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\model\vo\UserVo.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\service\ActivityService.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\service\BulletinService.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\service\impl\ActivityServiceImpl.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\service\impl\BulletinServiceImpl.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\service\impl\StaffServiceImpl.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\service\impl\UserServiceImpl.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\service\StaffService.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\service\UserService.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\uitls\FileUtils.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\uitls\ImageToBase64Converter.java
|
||||
D:\Projects\ActivityRegistration\src\main\java\com\cdzy\activity\uitls\VerifyUtil.java
|
||||
@ -0,0 +1 @@
|
||||
D:\Projects\ActivityRegistration\src\test\java\com\cdzy\activity\ActivityRegistrationApplicationTests.java
|
||||
Loading…
x
Reference in New Issue
Block a user