线下活动

This commit is contained in:
wuchunlei
2024-11-26 15:13:57 +08:00
parent a0c42ecea0
commit 941659b28f
10 changed files with 263 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
package com.peanut.modules.common.controller;
import com.peanut.common.utils.R;
import com.peanut.modules.common.service.OfflineActivityService;
import com.peanut.modules.common.service.OfflineActivityToUserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
/**
* 线下活动
*/
@Slf4j
@RestController("commonOfflineActivity")
@RequestMapping("common/offlineActivity")
public class OfflineActivityController {
@Autowired
private OfflineActivityService offlineActivityService;
@Autowired
private OfflineActivityToUserService toUserService;
@RequestMapping("/getOfflineActivityInfo")
public R getOfflineActivityInfo(@RequestBody Map<String,Object> params) {
return R.ok().put("result", offlineActivityService.getById(params.get("id").toString()));
}
}

View File

@@ -0,0 +1,9 @@
package com.peanut.modules.common.dao;
import com.github.yulichang.base.MPJBaseMapper;
import com.peanut.modules.common.entity.OfflineActivity;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface OfflineActivityDao extends MPJBaseMapper<OfflineActivity> {
}

View File

@@ -0,0 +1,9 @@
package com.peanut.modules.common.dao;
import com.github.yulichang.base.MPJBaseMapper;
import com.peanut.modules.common.entity.OfflineActivityToUser;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface OfflineActivityToUserDao extends MPJBaseMapper<OfflineActivityToUser> {
}

View File

@@ -0,0 +1,42 @@
package com.peanut.modules.common.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
@Data
@TableName("offline_activity")
public class OfflineActivity {
private static final long serialVersionUID = 1L;
@TableId
private Integer id;
private String title;
private String image;
private String description;
private String price;
//vip价格
private String vipPrice;
//简易vip价格
private String simpleVipPrice;
//积分抵扣0否 1是
private String jfDeduction;
//状态0正常1关闭
private String status;
private Date createTime;
@TableLogic
private Integer delFlag;
}

View File

@@ -0,0 +1,28 @@
package com.peanut.modules.common.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
@Data
@TableName("offline_activity_to_user")
public class OfflineActivityToUser {
private static final long serialVersionUID = 1L;
@TableId
private Integer id;
private Integer activityId;
private Integer userId;
private Integer orderId;
private Date createTime;
@TableLogic
private Integer delFlag;
}

View File

@@ -0,0 +1,7 @@
package com.peanut.modules.common.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.peanut.modules.common.entity.OfflineActivity;
public interface OfflineActivityService extends IService<OfflineActivity> {
}

View File

@@ -0,0 +1,7 @@
package com.peanut.modules.common.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.peanut.modules.common.entity.OfflineActivityToUser;
public interface OfflineActivityToUserService extends IService<OfflineActivityToUser> {
}

View File

@@ -0,0 +1,13 @@
package com.peanut.modules.common.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.peanut.modules.common.dao.OfflineActivityDao;
import com.peanut.modules.common.entity.OfflineActivity;
import com.peanut.modules.common.service.OfflineActivityService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@Slf4j
@Service("commonOfflineActivityService")
public class OfflineActivityServiceImpl extends ServiceImpl<OfflineActivityDao, OfflineActivity> implements OfflineActivityService {
}

View File

@@ -0,0 +1,13 @@
package com.peanut.modules.common.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.peanut.modules.common.dao.OfflineActivityToUserDao;
import com.peanut.modules.common.entity.OfflineActivityToUser;
import com.peanut.modules.common.service.OfflineActivityToUserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@Slf4j
@Service("commonOfflineActivityToUserService")
public class OfflineActivityToUserServiceImpl extends ServiceImpl<OfflineActivityToUserDao, OfflineActivityToUser> implements OfflineActivityToUserService {
}

View File

@@ -0,0 +1,101 @@
package com.peanut.modules.master.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.peanut.common.utils.R;
import com.peanut.modules.common.entity.MyUserEntity;
import com.peanut.modules.common.entity.OfflineActivity;
import com.peanut.modules.common.entity.OfflineActivityToUser;
import com.peanut.modules.common.service.OfflineActivityService;
import com.peanut.modules.common.service.OfflineActivityToUserService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
/**
* 线下活动
*/
@Slf4j
@RestController("masterOfflineActivity")
@RequestMapping("master/offlineActivity")
public class OfflineActivityController {
@Autowired
private OfflineActivityService offlineActivityService;
@Autowired
private OfflineActivityToUserService toUserService;
@RequestMapping("/getOfflineActivityListByPage")
public R getOfflineActivityListByPage(@RequestBody Map<String,Object> params) {
LambdaQueryWrapper<OfflineActivity> wrapper = new LambdaQueryWrapper();
if (StringUtils.isNotEmpty(params.get("title").toString())) {
wrapper.like(OfflineActivity::getTitle,params.get("title"));
}
wrapper.orderByDesc(OfflineActivity::getCreateTime);
Page<OfflineActivity> page = offlineActivityService.page(new Page<>(
Long.parseLong(params.get("current").toString()), Long.parseLong(params.get("limit").toString())), wrapper);
return R.ok().put("result", page);
}
@RequestMapping("/getOfflineActivityUser")
public R getOfflineActivityUser(@RequestBody Map<String,Object> params) {
MPJLambdaWrapper<OfflineActivityToUser> wrapper = new MPJLambdaWrapper();
wrapper.leftJoin(OfflineActivity.class,OfflineActivity::getId,OfflineActivityToUser::getActivityId);
wrapper.leftJoin(MyUserEntity.class,MyUserEntity::getId,OfflineActivityToUser::getUserId);
wrapper.select(OfflineActivity::getTitle);
wrapper.select(MyUserEntity::getName,MyUserEntity::getNickname,MyUserEntity::getTel,MyUserEntity::getEmail);
if (StringUtils.isNotEmpty(params.get("ActivityTitle").toString())) {
wrapper.like(OfflineActivity::getTitle,params.get("ActivityTitle"));
}
if (StringUtils.isNotBlank(params.get("userInfo").toString())){
wrapper.and(t->t.like(MyUserEntity::getName,params.get("userInfo")).or().like(MyUserEntity::getNickname,params.get("userInfo"))
.or().like(MyUserEntity::getTel,params.get("userInfo")).or().like(MyUserEntity::getEmail,params.get("userInfo")));
}
wrapper.orderByDesc(OfflineActivity::getCreateTime);
Page<Map<String,Object>> page = toUserService.pageMaps(new Page<>(
Long.parseLong(params.get("current").toString()), Long.parseLong(params.get("limit").toString())), wrapper);
return R.ok().put("result", page);
}
@RequestMapping("/saveOfflineActivity")
public R saveOfflineActivity(@RequestBody OfflineActivity offlineActivity) {
offlineActivityService.save(offlineActivity);
return R.ok();
}
@RequestMapping("/getOfflineActivityInfo")
public R getOfflineActivityInfo(@RequestBody Map<String,Object> params) {
return R.ok().put("result", offlineActivityService.getById(params.get("id").toString()));
}
@RequestMapping("/updateOfflineActivity")
public R updateOfflineActivity(@RequestBody OfflineActivity offlineActivity) {
int count = toUserService.count(new LambdaQueryWrapper<OfflineActivityToUser>()
.eq(OfflineActivityToUser::getActivityId,offlineActivity.getId()));
if (count > 0) {
return R.error("已有人报名禁止修改");
}
offlineActivityService.updateById(offlineActivity);
return R.ok();
}
@RequestMapping("/delOfflineActivity")
public R delOfflineActivity(@RequestBody Map<String,Object> params) {
int count = toUserService.count(new LambdaQueryWrapper<OfflineActivityToUser>()
.eq(OfflineActivityToUser::getActivityId,params.get("id").toString()));
if (count > 0) {
return R.error("已有人报名禁止删除");
}
offlineActivityService.removeById(params.get("id").toString());
return R.ok();
}
}