feat: 活动 新增
This commit is contained in:
parent
ef1164f04c
commit
2dbafa77ea
@ -1,4 +1,39 @@
|
||||
package com.guaiguailang.harmony.controller;
|
||||
|
||||
import com.guaiguailang.harmony.domain.entity.ActiveBaseInfo;
|
||||
import com.guaiguailang.harmony.service.ActivateService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@RestController
|
||||
@Tag(name="活动相关接口")
|
||||
@RequestMapping("/activate")
|
||||
public class ActivateController {
|
||||
@Autowired
|
||||
ActivateService activateService;
|
||||
@Operation(
|
||||
summary = "活动 列表",
|
||||
description = "加载活动列表",
|
||||
tags = {"活动相关接口"}
|
||||
)
|
||||
@GetMapping
|
||||
public ResponseEntity laodActivate(){
|
||||
// todo 以后可考虑按机构来加载
|
||||
return ResponseEntity.ok(activateService.loadActivate());
|
||||
}
|
||||
|
||||
|
||||
@Operation(
|
||||
summary = "活动 新增",
|
||||
description = "新增一个活动",
|
||||
tags = {"活动相关接口"}
|
||||
)
|
||||
@PostMapping("/add")
|
||||
public ResponseEntity addActivate(@RequestBody ActiveBaseInfo activeBaseInfo){
|
||||
return ResponseEntity.ok(activateService.addActivate(activeBaseInfo));
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -50,15 +50,15 @@ public class UploadController {
|
||||
* @param file
|
||||
* @return
|
||||
*/
|
||||
@Operation(summary = "活动 头图")
|
||||
@PostMapping("/activate/profile")
|
||||
@Operation(summary = "文件上传")
|
||||
@PostMapping("/fileOne")
|
||||
public ResponseResult uploadActivateProfile(@RequestParam("file") MultipartFile file){
|
||||
if(file.isEmpty()){
|
||||
return ResponseResult.error("图片为空,请重新选择");
|
||||
return ResponseResult.error("文件为空,请重新上传");
|
||||
}
|
||||
String imgUrl = activateService.uploadActivateProfile(file);
|
||||
if(imgUrl==null){
|
||||
return ResponseResult.error("图片上传失败");
|
||||
return ResponseResult.error("文件上传失败");
|
||||
}
|
||||
return ResponseResult.success(imgUrl);
|
||||
}
|
||||
|
@ -0,0 +1,26 @@
|
||||
package com.guaiguailang.harmony.domain.entity;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class ActiveBaseInfo {
|
||||
|
||||
private long id;
|
||||
private String title;
|
||||
private String creatorName;
|
||||
private long creatorId;
|
||||
private String titleNext;
|
||||
private String agentId;
|
||||
private java.sql.Timestamp createTime;
|
||||
private java.sql.Timestamp updateTime;
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm")
|
||||
private java.sql.Timestamp startTime;
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm")
|
||||
private java.sql.Timestamp endTime;
|
||||
private long status;
|
||||
private String description;
|
||||
private String imgUrl;
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
package com.guaiguailang.harmony.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.guaiguailang.harmony.domain.entity.ActiveBaseInfo;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
public interface ActivateMapper extends BaseMapper<ActiveBaseInfo> {
|
||||
}
|
@ -1,7 +1,15 @@
|
||||
package com.guaiguailang.harmony.service;
|
||||
|
||||
import com.guaiguailang.harmony.domain.entity.ActiveBaseInfo;
|
||||
import com.guaiguailang.harmony.domain.vo.ResponseResult;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.sql.ResultSet;
|
||||
|
||||
public interface ActivateService {
|
||||
String uploadActivateProfile(MultipartFile file);
|
||||
|
||||
ResponseResult addActivate(ActiveBaseInfo activeBaseInfo);
|
||||
|
||||
ResponseResult loadActivate();
|
||||
}
|
||||
|
@ -1,18 +1,73 @@
|
||||
package com.guaiguailang.harmony.service.impl;
|
||||
import cn.dev33.satoken.stp.StpUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.github.yitter.idgen.YitIdHelper;
|
||||
import com.guaiguailang.harmony.domain.entity.ActiveBaseInfo;
|
||||
import com.guaiguailang.harmony.domain.entity.UserInfo;
|
||||
import com.guaiguailang.harmony.domain.vo.ResponseResult;
|
||||
import com.guaiguailang.harmony.mapper.ActivateMapper;
|
||||
import com.guaiguailang.harmony.mapper.UserMapper;
|
||||
import com.guaiguailang.harmony.service.ActivateService;
|
||||
import com.guaiguailang.harmony.utils.FileUpload;
|
||||
import com.guaiguailang.harmony.utils.UtilMD5;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class ActivateServiceImpl implements ActivateService {
|
||||
@Autowired
|
||||
private FileUpload fileUpload;
|
||||
@Autowired
|
||||
private UserMapper userMapper;
|
||||
@Autowired
|
||||
private ActivateMapper activateMapper;
|
||||
|
||||
@Override
|
||||
public String uploadActivateProfile(MultipartFile file) {
|
||||
return fileUpload.uploadFile(file,file.getName(),"activate","活动头图");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResponseResult addActivate(ActiveBaseInfo activeBaseInfo) {
|
||||
// 检查关键信息
|
||||
if(StringUtils.isAnyBlank(activeBaseInfo.getTitle())){
|
||||
return ResponseResult.error("请输入活动名称");
|
||||
}
|
||||
// 补充数据
|
||||
////获取创建人的机构信息
|
||||
Long uid = Long.parseLong(StpUtil.getLoginId().toString());
|
||||
//// 获取用户信息
|
||||
UserInfo userInfo = userMapper.getUserById(uid);
|
||||
// 设置机构
|
||||
activeBaseInfo.setAgentId(userInfo.getMerchantCode());
|
||||
// 设置创建人、创建人的id、创建时间
|
||||
activeBaseInfo.setCreatorName(userInfo.getName());
|
||||
activeBaseInfo.setCreatorId(uid);
|
||||
activeBaseInfo.setCreateTime(new Timestamp(System.currentTimeMillis()));
|
||||
// 设置数据id
|
||||
activeBaseInfo.setId(YitIdHelper.nextId());
|
||||
// 保存数据
|
||||
int result = activateMapper.insert(activeBaseInfo);
|
||||
if(result > 0) {
|
||||
return ResponseResult.success(activeBaseInfo);
|
||||
}else{
|
||||
return ResponseResult.error("新增失败");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResponseResult loadActivate() {
|
||||
// 使用 MyBatis Plus 的 Wrapper 来构建查询条件
|
||||
QueryWrapper<ActiveBaseInfo> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.orderByDesc("start_time");
|
||||
List<ActiveBaseInfo> activeList = activateMapper.selectList(queryWrapper);
|
||||
return ResponseResult.success(activeList);
|
||||
}
|
||||
}
|
||||
|
7
src/main/resources/mapper/ActivateMapper.xml
Normal file
7
src/main/resources/mapper/ActivateMapper.xml
Normal file
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
|
||||
<mapper namespace="com.guaiguailang.harmony.mapper.ActivateMapper">
|
||||
|
||||
</mapper>
|
Loading…
Reference in New Issue
Block a user