14 changed files with 387 additions and 0 deletions
Split View
Diff Options
-
43dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/rpa/constant/RafflePrizeActivityConditionEnum.java
-
41dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/rpa/entity/RafflePrizeActivity.java
-
47dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/rpa/user/RafflePrizeActivityUserCommandController.java
-
37dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/rpa/user/request/UserCreateRafflePrizeActivityDto.java
-
12dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/rpa/user/request/UserDeleteRafflePrizeActivityDto.java
-
43dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/rpa/user/request/UserEditRafflePrizeActivityDto.java
-
15dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/rpa/user/request/UserEnableRafflePrizeActivityDto.java
-
39dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/rpa/RafflePrizeActivityApplicationService.java
-
31dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/rpa/RafflePrizeActivityAggregate.java
-
12dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/rpa/repository/RafflePrizeActivityRepository.java
-
12dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/rpa/RafflePrizeActivityDao.java
-
41dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/repository/impl/RafflePrizeActivityRepositoryImpl.java
-
5dating-agency-mall-server/src/main/java/com/qniao/dam/query/rpa/RafflePrizeActivityQueryService.java
-
9dating-agency-mall-server/src/main/java/com/qniao/dam/query/rpa/impl/RafflePrizeActivityQueryServiceImpl.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; |
|||
} |
|||
} |
|||
@ -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; |
|||
|
|||
|
|||
} |
|||
@ -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()); |
|||
} |
|||
} |
|||
@ -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); |
|||
} |
|||
} |
|||
@ -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; |
|||
|
|||
} |
|||
@ -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); |
|||
} |
|||
} |
|||
@ -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; |
|||
|
|||
} |
|||
@ -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); |
|||
} |
|||
} |
|||
} |
|||
@ -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); |
|||
} |
|||
} |
|||
@ -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> { |
|||
} |
|||
@ -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> { |
|||
} |
|||
@ -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); |
|||
} |
|||
} |
|||
@ -0,0 +1,5 @@ |
|||
package com.qniao.dam.query.rpa; |
|||
|
|||
public interface RafflePrizeActivityQueryService { |
|||
|
|||
} |
|||
@ -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 { |
|||
|
|||
} |
|||
Write
Preview
Loading…
Cancel
Save