Browse Source

抽奖活动

release
188814092560 1 year ago
parent
commit
f2fb6c051b
14 changed files with 387 additions and 0 deletions
  1. 43
      dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/rpa/constant/RafflePrizeActivityConditionEnum.java
  2. 41
      dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/rpa/entity/RafflePrizeActivity.java
  3. 47
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/rpa/user/RafflePrizeActivityUserCommandController.java
  4. 37
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/rpa/user/request/UserCreateRafflePrizeActivityDto.java
  5. 12
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/rpa/user/request/UserDeleteRafflePrizeActivityDto.java
  6. 43
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/rpa/user/request/UserEditRafflePrizeActivityDto.java
  7. 15
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/rpa/user/request/UserEnableRafflePrizeActivityDto.java
  8. 39
      dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/rpa/RafflePrizeActivityApplicationService.java
  9. 31
      dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/rpa/RafflePrizeActivityAggregate.java
  10. 12
      dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/rpa/repository/RafflePrizeActivityRepository.java
  11. 12
      dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/rpa/RafflePrizeActivityDao.java
  12. 41
      dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/repository/impl/RafflePrizeActivityRepositoryImpl.java
  13. 5
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/rpa/RafflePrizeActivityQueryService.java
  14. 9
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/rpa/impl/RafflePrizeActivityQueryServiceImpl.java

43
dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/rpa/constant/RafflePrizeActivityConditionEnum.java

@ -0,0 +1,43 @@
package com.qniao.dam.domian.aggregate.rpa.constant;
import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonValue;
import lombok.Getter;
/**
* @author Zpj
* @date 2025/1/13
*/
@Getter
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum RafflePrizeActivityConditionEnum {
/**
* 红娘入驻邀请
*/
MATCHMAKER_JOIN_RECOMMEND(1, "红娘入驻邀请");
@EnumValue
@JsonValue
private final Integer value;
private final String desc;
RafflePrizeActivityConditionEnum(Integer value, String desc) {
this.value = value;
this.desc = desc;
}
@JsonCreator
public static RafflePrizeActivityConditionEnum get(Integer v) {
for (RafflePrizeActivityConditionEnum e : RafflePrizeActivityConditionEnum.values()) {
if (e.getValue().equals(v)) {
return e;
}
}
return null;
}
}

41
dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/rpa/entity/RafflePrizeActivity.java

@ -0,0 +1,41 @@
package com.qniao.dam.domain.aggregate.rpa.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.qniao.dam.domian.aggregate.rpa.constant.RafflePrizeActivityConditionEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import com.qniao.domain.Entity;
import java.time.LocalDateTime;
/**
* 抽奖奖品活动
*
* @date 2025/01/13
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("da_raffle_prize_activity")
public class RafflePrizeActivity extends Entity<RafflePrizeActivity> {
@ApiModelProperty("名称")
private String name;
@ApiModelProperty("开始时间")
private LocalDateTime startTime;
@ApiModelProperty("结束时间")
private LocalDateTime endTime;
@ApiModelProperty("活动说明")
private String description;
@ApiModelProperty("参加条件")
private RafflePrizeActivityConditionEnum condition;
@ApiModelProperty("启用状态")
private Boolean enable;
}

47
dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/rpa/user/RafflePrizeActivityUserCommandController.java

@ -0,0 +1,47 @@
package com.qniao.dam.api.command.rpa.user;
import com.qniao.dam.api.command.rpa.user.request.*;
import com.qniao.dam.application.service.rpa.RafflePrizeActivityApplicationService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.Valid;
@Api(tags = "抽奖奖品活动")
@RestController
@RequestMapping("user")
public class RafflePrizeActivityUserCommandController {
@Resource
private RafflePrizeActivityApplicationService rafflePrizeActivityApplicationService;
@ApiOperation("用户创建抽奖奖品活动")
@PostMapping("create/raffle-prize-activity")
public void userCreateRafflePrizeActivity(@RequestBody @Valid UserCreateRafflePrizeActivityDto dto,
@RequestParam("userId") Long userId) {
rafflePrizeActivityApplicationService.create(dto.trans2Domain());
}
@ApiOperation("用户编辑抽奖奖品活动")
@PostMapping("edit/raffle-prize-activity")
public void userEditRafflePrizeActivity(@RequestBody @Valid UserEditRafflePrizeActivityDto dto,
@RequestParam("userId") Long userId) {
rafflePrizeActivityApplicationService.edit(dto.trans2Domain());
}
@ApiOperation("用户删除抽奖奖品活动")
@PostMapping("delete/raffle-prize-activity")
public void userDeleteRafflePrizeActivity(@RequestBody @Valid UserDeleteRafflePrizeActivityDto dto,
@RequestParam("userId") Long userId) {
rafflePrizeActivityApplicationService.delete(dto.getId());
}
@ApiOperation("用户启停抽奖奖品活动")
@PostMapping("enable/raffle-prize-activity")
public void userEnableRafflePrizeActivity(@RequestBody @Valid UserEnableRafflePrizeActivityDto dto,
@RequestParam("userId") Long userId) {
rafflePrizeActivityApplicationService.enable(dto.getId());
}
}

37
dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/rpa/user/request/UserCreateRafflePrizeActivityDto.java

@ -0,0 +1,37 @@
package com.qniao.dam.api.command.rpa.user.request;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.qniao.dam.domain.aggregate.rpa.entity.RafflePrizeActivity;
import com.qniao.dam.domian.aggregate.rpa.constant.RafflePrizeActivityConditionEnum;
import com.qniao.domain.Trans2DomainAssembler;
import io.swagger.annotations.ApiModelProperty;
import com.qniao.framework.utils.TypeConvertUtils;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class UserCreateRafflePrizeActivityDto implements Trans2DomainAssembler<RafflePrizeActivity> {
@ApiModelProperty("名称")
private String name;
@ApiModelProperty("开始时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime startTime;
@ApiModelProperty("结束时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime endTime;
@ApiModelProperty("活动说明")
private String description;
@ApiModelProperty("参加条件")
private RafflePrizeActivityConditionEnum condition;
@Override
public RafflePrizeActivity trans2Domain() {
return TypeConvertUtils.convert(this, RafflePrizeActivity.class);
}
}

12
dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/rpa/user/request/UserDeleteRafflePrizeActivityDto.java

@ -0,0 +1,12 @@
package com.qniao.dam.api.command.rpa.user.request;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class UserDeleteRafflePrizeActivityDto {
@ApiModelProperty("唯一标识")
private Long id;
}

43
dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/rpa/user/request/UserEditRafflePrizeActivityDto.java

@ -0,0 +1,43 @@
package com.qniao.dam.api.command.rpa.user.request;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.qniao.dam.domain.aggregate.rpa.entity.RafflePrizeActivity;
import com.qniao.dam.domian.aggregate.rpa.constant.RafflePrizeActivityConditionEnum;
import com.qniao.domain.Trans2DomainAssembler;
import io.swagger.annotations.ApiModelProperty;
import com.qniao.framework.utils.TypeConvertUtils;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
@Data
public class UserEditRafflePrizeActivityDto implements Trans2DomainAssembler<RafflePrizeActivity> {
@ApiModelProperty("唯一标识")
@NotNull
private Long id;
@ApiModelProperty("名称")
private String name;
@ApiModelProperty("开始时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime startTime;
@ApiModelProperty("结束时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime endTime;
@ApiModelProperty("活动说明")
private String description;
@ApiModelProperty("参加条件")
private RafflePrizeActivityConditionEnum condition;
@Override
public RafflePrizeActivity trans2Domain() {
return TypeConvertUtils.convert(this, RafflePrizeActivity.class);
}
}

15
dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/rpa/user/request/UserEnableRafflePrizeActivityDto.java

@ -0,0 +1,15 @@
package com.qniao.dam.api.command.rpa.user.request;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Zpj
* @date 2025/1/13
*/
@Data
public class UserEnableRafflePrizeActivityDto {
@ApiModelProperty("唯一标识")
private Long id;
}

39
dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/rpa/RafflePrizeActivityApplicationService.java

@ -0,0 +1,39 @@
package com.qniao.dam.application.service.rpa;
import com.qniao.dam.domain.aggregate.rpa.RafflePrizeActivityAggregate;
import com.qniao.dam.domain.aggregate.rpa.entity.RafflePrizeActivity;
import com.qniao.dam.infrastructure.persistent.dao.rpa.RafflePrizeActivityDao;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Objects;
@Service
public class RafflePrizeActivityApplicationService {
@Resource
private RafflePrizeActivityAggregate rafflePrizeActivityAggregate;
@Resource
private RafflePrizeActivityDao rafflePrizeActivityDao;
public void create(RafflePrizeActivity rafflePrizeActivity) {
rafflePrizeActivity.setEnable(false);
rafflePrizeActivityAggregate.create(rafflePrizeActivity);
}
public void edit(RafflePrizeActivity rafflePrizeActivity) {
rafflePrizeActivityAggregate.edit(rafflePrizeActivity);
}
public void delete(Long id) {
rafflePrizeActivityAggregate.delete(id);
}
public void enable(Long id) {
RafflePrizeActivity rafflePrizeActivity = rafflePrizeActivityDao.selectById(id);
if (Objects.nonNull(rafflePrizeActivity)) {
rafflePrizeActivity.setEnable(!rafflePrizeActivity.getEnable());
rafflePrizeActivityAggregate.edit(rafflePrizeActivity);
}
}
}

31
dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/rpa/RafflePrizeActivityAggregate.java

@ -0,0 +1,31 @@
package com.qniao.dam.domain.aggregate.rpa;
import com.qniao.dam.domain.aggregate.rpa.entity.RafflePrizeActivity;
import com.qniao.dam.domain.aggregate.rpa.repository.RafflePrizeActivityRepository;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* 抽奖奖品活动
*
* @date 2025/01/13
*/
@Service
public class RafflePrizeActivityAggregate {
@Resource
private RafflePrizeActivityRepository repository;
public void create(RafflePrizeActivity entity) {
repository.save(entity);
}
public void edit(RafflePrizeActivity entity) {
repository.save(entity);
}
public void delete(Long id) {
repository.delete(id);
}
}

12
dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/rpa/repository/RafflePrizeActivityRepository.java

@ -0,0 +1,12 @@
package com.qniao.dam.domain.aggregate.rpa.repository;
import com.qniao.dam.domain.aggregate.rpa.entity.RafflePrizeActivity;
import com.qniao.domain.Repository;
/**
* 抽奖奖品活动
*
* @date 2025/01/13
*/
public interface RafflePrizeActivityRepository extends Repository<RafflePrizeActivity, Long> {
}

12
dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/rpa/RafflePrizeActivityDao.java

@ -0,0 +1,12 @@
package com.qniao.dam.infrastructure.persistent.dao.rpa;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qniao.dam.domain.aggregate.rpa.entity.RafflePrizeActivity;
/**
* 抽奖奖品活动
*
* @date 2025/01/13
*/
public interface RafflePrizeActivityDao extends BaseMapper<RafflePrizeActivity> {
}

41
dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/repository/impl/RafflePrizeActivityRepositoryImpl.java

@ -0,0 +1,41 @@
package com.qniao.dam.infrastructure.persistent.repository.impl;
import com.qniao.dam.domain.aggregate.rpa.entity.RafflePrizeActivity;
import com.qniao.dam.domain.aggregate.rpa.repository.RafflePrizeActivityRepository;
import com.qniao.dam.infrastructure.persistent.dao.rpa.RafflePrizeActivityDao;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Objects;
/**
* 抽奖奖品活动
*
* @date 2025/01/13
*/
@Service
public class RafflePrizeActivityRepositoryImpl implements RafflePrizeActivityRepository {
@Resource
private RafflePrizeActivityDao dao;
@Override
public RafflePrizeActivity load(Long id) {
return dao.selectById(id);
}
@Override
public Long save(RafflePrizeActivity entity) {
if (Objects.isNull(entity) || Objects.isNull(dao.selectById(entity.getId()))) {
dao.insert(entity);
} else {
dao.updateById(entity);
}
return entity.getId();
}
@Override
public void delete(Long id) {
dao.deleteById(id);
}
}

5
dating-agency-mall-server/src/main/java/com/qniao/dam/query/rpa/RafflePrizeActivityQueryService.java

@ -0,0 +1,5 @@
package com.qniao.dam.query.rpa;
public interface RafflePrizeActivityQueryService {
}

9
dating-agency-mall-server/src/main/java/com/qniao/dam/query/rpa/impl/RafflePrizeActivityQueryServiceImpl.java

@ -0,0 +1,9 @@
package com.qniao.dam.query.rpa.impl;
import com.qniao.dam.query.rpa.RafflePrizeActivityQueryService;
import org.springframework.stereotype.Service;
@Service
public class RafflePrizeActivityQueryServiceImpl implements RafflePrizeActivityQueryService {
}
Loading…
Cancel
Save