Переглянути джерело

feat : 推广账号接口提交

bilingfeng 2 роки тому
батько
коміт
89b7a4aeb2
18 змінених файлів з 639 додано та 67 видалено
  1. 57 0
      game-module/game-common/src/main/java/com/zanxiang/common/enums/PromoAccountTypeEnum.java
  2. 9 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/controller/ChoiceController.java
  3. 54 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/controller/PromoAccountController.java
  4. 0 8
      game-module/game-manage/src/main/java/com/zanxiang/manage/controller/PromoMediaController.java
  5. 0 8
      game-module/game-manage/src/main/java/com/zanxiang/manage/controller/PromoSiteController.java
  6. 64 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/domain/dto/PromoMediaDTO.java
  7. 80 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/domain/params/PromoAccountAddUpdateParam.java
  8. 57 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/domain/params/PromoAccountListParam.java
  9. 91 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/domain/vo/PromoAccountListVO.java
  10. 25 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/domain/vo/PromoAccountTypeChoiceVO.java
  11. 140 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/service/Impl/PromoAccountServiceImpl.java
  12. 22 16
      game-module/game-manage/src/main/java/com/zanxiang/manage/service/Impl/PromoMediaServiceImpl.java
  13. 0 11
      game-module/game-manage/src/main/java/com/zanxiang/manage/service/Impl/PromoSiteServiceImpl.java
  14. 29 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/service/PromoAccountService.java
  15. 9 8
      game-module/game-manage/src/main/java/com/zanxiang/manage/service/PromoMediaService.java
  16. 0 8
      game-module/game-manage/src/main/java/com/zanxiang/manage/service/PromoSiteService.java
  17. 1 6
      game-module/game-mybatis/src/main/java/com/zanxiang/mybatis/entity/PromoAccount.java
  18. 1 2
      game-module/game-mybatis/src/main/java/com/zanxiang/mybatis/entity/PromoMedia.java

+ 57 - 0
game-module/game-common/src/main/java/com/zanxiang/common/enums/PromoAccountTypeEnum.java

@@ -0,0 +1,57 @@
+package com.zanxiang.common.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+import java.util.Objects;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-11-21
+ * @description : 推广账号类型
+ */
+@Getter
+@AllArgsConstructor
+public enum PromoAccountTypeEnum {
+
+    /**
+     * 微信公众号
+     */
+    ACCOUNT_WX_MP(1, "微信公众号"),
+
+    /**
+     * 今日头条账号
+     */
+    ACCOUNT_BYTE(2, "今日头条账号"),
+
+    /**
+     * ADQ(QQ)账号
+     */
+    ACCOUNT_ADQ_QQ(3, "ADQ(QQ)账号");
+
+    /**
+     * 账号类型
+     */
+    private Integer type;
+
+    /**
+     * 账号类型名称
+     */
+    private String name;
+
+    /**
+     * 被类型名称
+     *
+     * @param type 类型
+     * @return {@link String}
+     */
+    public static String getNameByType(Integer type) {
+        PromoAccountTypeEnum[] values = PromoAccountTypeEnum.values();
+        for (PromoAccountTypeEnum promoAccountTypeEnum : values) {
+            if (Objects.equals(promoAccountTypeEnum.getType(), type)) {
+                return promoAccountTypeEnum.getName();
+            }
+        }
+        return null;
+    }
+}

+ 9 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/controller/ChoiceController.java

@@ -2,6 +2,7 @@ package com.zanxiang.manage.controller;
 
 import com.zanxiang.common.domain.ResultVO;
 import com.zanxiang.common.enums.OsEnum;
+import com.zanxiang.common.enums.PromoAccountTypeEnum;
 import com.zanxiang.common.enums.PromoMediaTypeEnum;
 import com.zanxiang.common.enums.VipLevelEnum;
 import com.zanxiang.common.utils.bean.BeanUtils;
@@ -163,4 +164,12 @@ public class ChoiceController {
         return ResultVO.ok(promoMediaService.promoMediaChoiceList());
     }
 
+    @ApiOperation(value = "推广账号类型选择列表")
+    @GetMapping(value = "/promo/account/type/list")
+    @PreAuthorize(permissionKey = "sdk:promoAccountTypeChoice:list")
+    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = PromoMediaChoiceVO.class, responseContainer = "list")})
+    public ResultVO<List<PromoAccountTypeChoiceVO>> promoAccountTypeChoiceList() {
+        return ResultVO.ok(BeanUtils.copyList(Arrays.asList(PromoAccountTypeEnum.values()), PromoAccountTypeChoiceVO.class));
+    }
+
 }

+ 54 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/controller/PromoAccountController.java

@@ -0,0 +1,54 @@
+package com.zanxiang.manage.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zanxiang.common.domain.ResultVO;
+import com.zanxiang.erp.security.annotation.PreAuthorize;
+import com.zanxiang.manage.domain.params.PromoAccountAddUpdateParam;
+import com.zanxiang.manage.domain.params.PromoAccountListParam;
+import com.zanxiang.manage.domain.vo.PromoAccountListVO;
+import com.zanxiang.manage.service.PromoAccountService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-11-21
+ * @description : 推广账号
+ */
+@Api(tags = "推广账号接口")
+@RestController
+@RequestMapping("/promo/account")
+public class PromoAccountController {
+
+    @Autowired
+    private PromoAccountService promoAccountService;
+
+    @ApiOperation(value = "查询推广账号列表")
+    @PostMapping(value = "/list")
+    @PreAuthorize(permissionKey = "manage:promoAccount:list")
+    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = PromoAccountListVO.class)})
+    public ResultVO<IPage<PromoAccountListVO>> list(@Validated @RequestBody PromoAccountListParam param) {
+        return ResultVO.ok(promoAccountService.list(param));
+    }
+
+    @ApiOperation(value = "推广账号添加或修改")
+    @PostMapping(value = "/add/or/update")
+    @PreAuthorize(permissionKey = "manage:promoAccount:addOrUpdate")
+    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
+    public ResultVO<Boolean> addOrUpdate(@Validated @RequestBody PromoAccountAddUpdateParam param) {
+        return ResultVO.ok(promoAccountService.addOrUpdate(param));
+    }
+
+    @ApiOperation(value = "推广账号状态变更")
+    @PatchMapping(value = "/status/update")
+    @PreAuthorize(permissionKey = "manage:promoAccount:statusUpdate")
+    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
+    public ResultVO<Boolean> statusUpdate(@RequestParam Long id, @RequestParam Integer status) {
+        return new ResultVO<>(promoAccountService.statusUpdate(id, status));
+    }
+}

+ 0 - 8
game-module/game-manage/src/main/java/com/zanxiang/manage/controller/PromoMediaController.java

@@ -44,14 +44,6 @@ public class PromoMediaController {
         return ResultVO.ok(promoMediaService.addOrUpdate(param));
     }
 
-    @ApiOperation(value = "推广媒体删除")
-    @DeleteMapping(value = "/delete/by/id")
-    @PreAuthorize(permissionKey = "manage:promoMedia:deleteById")
-    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
-    public ResultVO<Boolean> deleteById(@RequestParam Long id) {
-        return ResultVO.ok(promoMediaService.deleteById(id));
-    }
-
     @ApiOperation(value = "推广媒体状态变更")
     @PatchMapping(value = "/status/update")
     @PreAuthorize(permissionKey = "manage:promoMedia:statusUpdate")

+ 0 - 8
game-module/game-manage/src/main/java/com/zanxiang/manage/controller/PromoSiteController.java

@@ -44,14 +44,6 @@ public class PromoSiteController {
         return ResultVO.ok(promoSiteService.addOrUpdate(param));
     }
 
-    @ApiOperation(value = "推广媒体版位删除")
-    @DeleteMapping(value = "/delete/by/id")
-    @PreAuthorize(permissionKey = "manage:promoSite:deleteById")
-    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
-    public ResultVO<Boolean> deleteById(@RequestParam Long id) {
-        return ResultVO.ok(promoSiteService.deleteById(id));
-    }
-
     @ApiOperation(value = "推广媒体版位状态变更")
     @PatchMapping(value = "/status/update")
     @PreAuthorize(permissionKey = "manage:promoSite:statusUpdate")

+ 64 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/domain/dto/PromoMediaDTO.java

@@ -0,0 +1,64 @@
+package com.zanxiang.manage.domain.dto;
+
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-11-21
+ * @description : 推广媒体
+ */
+@Data
+public class PromoMediaDTO {
+
+    /**
+     * 主键
+     */
+    private Long id;
+
+    /**
+     * 推广媒体
+     */
+    private String name;
+
+    /**
+     * 推广媒体类型
+     */
+    private String types;
+
+    /**
+     * 地址
+     */
+    private String address;
+
+    /**
+     * 公司
+     */
+    private String company;
+
+    /**
+     * 状态, 0 : 可用, 1: 禁用
+     */
+    private Integer status;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 1:删除,0: 正常
+     */
+    private Integer isDelete;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+}

+ 80 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/domain/params/PromoAccountAddUpdateParam.java

@@ -0,0 +1,80 @@
+package com.zanxiang.manage.domain.params;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-11-21
+ * @description : 账号新增或者更新
+ */
+@Data
+public class PromoAccountAddUpdateParam {
+
+    /**
+     * 主键
+     */
+    @ApiModelProperty(notes = "主键, 不传是新建, 传是更新")
+    private Long id;
+
+    /**
+     * 推广媒体id
+     */
+    @ApiModelProperty(notes = "推广媒体id")
+    @NotBlank(message = "推广媒体id不可为空")
+    private Long mediaId;
+
+    /**
+     * 推广账号类型
+     */
+    @ApiModelProperty(notes = "推广账号类型")
+    @NotNull(message = "推广账号类型不可为空")
+    private Integer accountType;
+
+    /**
+     * 推广账号id
+     */
+    @ApiModelProperty(notes = "推广账号id")
+    @NotBlank(message = "推广账号id不可为空")
+    private String account;
+
+    /**
+     * 推广账号名称
+     */
+    @ApiModelProperty(notes = "推广账号名称")
+    @NotBlank(message = "推广账号名称不可为空")
+    private String name;
+
+    /**
+     * 投手项目组
+     */
+    @ApiModelProperty(notes = "投手项目组")
+    private String pitcherGroupId;
+
+    /**
+     * 投手项目组名称
+     */
+    @ApiModelProperty(notes = "投手项目组名称")
+    private String pitcherGroupName;
+
+    /**
+     * 投手id
+     */
+    @ApiModelProperty(notes = "投手id")
+    private String pitcherId;
+
+    /**
+     * 投手名称
+     */
+    @ApiModelProperty(notes = "投手名称")
+    private String pitcherName;
+
+    /**
+     * 备注
+     */
+    @ApiModelProperty(notes = "备注")
+    private String remark;
+}

+ 57 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/domain/params/PromoAccountListParam.java

@@ -0,0 +1,57 @@
+package com.zanxiang.manage.domain.params;
+
+import com.zanxiang.common.base.BasePage;
+import com.zanxiang.mybatis.entity.PromoAccount;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-11-21
+ * @description : 推广账号查询参数
+ */
+@Data
+public class PromoAccountListParam extends BasePage<PromoAccount> {
+
+    /**
+     * 推广媒体id
+     */
+    @ApiModelProperty(notes = "推广媒体id")
+    private Long mediaId;
+
+    /**
+     * 推广账号类型
+     */
+    @ApiModelProperty(notes = "推广账号类型")
+    private Integer accountType;
+
+    /**
+     * 推广账号id
+     */
+    @ApiModelProperty(notes = "推广账号id")
+    private String account;
+
+    /**
+     * 推广账号名称
+     */
+    @ApiModelProperty(notes = "推广账号名称")
+    private String name;
+
+    /**
+     * 投手项目组
+     */
+    @ApiModelProperty(notes = "投手项目组")
+    private String pitcherGroupId;
+
+    /**
+     * 投手id
+     */
+    @ApiModelProperty(notes = "投手id")
+    private String pitcherId;
+
+    /**
+     * 状态, 0 : 投放中, 1: 待投放
+     */
+    @ApiModelProperty(notes = "状态, 0 : 投放中, 1: 待投放")
+    private Integer status;
+}

+ 91 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/domain/vo/PromoAccountListVO.java

@@ -0,0 +1,91 @@
+package com.zanxiang.manage.domain.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-11-21
+ * @description : 推广账号列表展示
+ */
+@Data
+public class PromoAccountListVO {
+
+    /**
+     * 主键
+     */
+    @ApiModelProperty(notes = "主键")
+    private Long id;
+
+    /**
+     * 推广账号id
+     */
+    @ApiModelProperty(notes = "推广账号id")
+    private String account;
+
+    /**
+     * 推广账号名称
+     */
+    @ApiModelProperty(notes = "推广账号名称")
+    private String name;
+
+    /**
+     * 投手项目组
+     */
+    @ApiModelProperty(notes = "投手项目组")
+    private String pitcherGroupId;
+
+    /**
+     * 投手项目组名称
+     */
+    @ApiModelProperty(notes = "投手项目组名称")
+    private String pitcherGroupName;
+
+    /**
+     * 投手id
+     */
+    @ApiModelProperty(notes = "投手id")
+    private String pitcherId;
+
+    /**
+     * 投手名称
+     */
+    @ApiModelProperty(notes = "投手名称")
+    private String pitcherName;
+
+    /**
+     * 推广媒体id
+     */
+    @ApiModelProperty(notes = "推广媒体id")
+    private Long mediaId;
+
+    /**
+     * 推广媒体名称
+     */
+    @ApiModelProperty(notes = "推广媒体名称")
+    private String mediaName;
+
+    /**
+     * 推广账号类型
+     */
+    @ApiModelProperty(notes = "推广账号类型")
+    private Integer accountType;
+
+    /**
+     * 推广账号类型名称
+     */
+    @ApiModelProperty(notes = "推广账号类型名称")
+    private String accountTypeName;
+
+    /**
+     * 备注
+     */
+    @ApiModelProperty(notes = "备注")
+    private String remark;
+
+    /**
+     * 状态, 0 : 投放中, 1: 待投放
+     */
+    @ApiModelProperty(notes = "状态, 0 : 投放中, 1: 待投放")
+    private Integer status;
+}

+ 25 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/domain/vo/PromoAccountTypeChoiceVO.java

@@ -0,0 +1,25 @@
+package com.zanxiang.manage.domain.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-11-21
+ * @description : 推广账号类型
+ */
+@Data
+public class PromoAccountTypeChoiceVO {
+
+    /**
+     * 账号类型
+     */
+    @ApiModelProperty(notes = "账号类型id")
+    private Integer type;
+
+    /**
+     * 账号类型名称
+     */
+    @ApiModelProperty(notes = "账号类型名称")
+    private String name;
+}

+ 140 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/service/Impl/PromoAccountServiceImpl.java

@@ -1,22 +1,37 @@
 package com.zanxiang.manage.service.Impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zanxiang.common.enums.DeleteEnum;
+import com.zanxiang.common.enums.PromoAccountTypeEnum;
+import com.zanxiang.common.enums.StatusEnum;
+import com.zanxiang.common.exception.BaseException;
 import com.zanxiang.common.utils.bean.BeanUtils;
 import com.zanxiang.manage.domain.dto.PromoAccountDTO;
+import com.zanxiang.manage.domain.dto.PromoMediaDTO;
+import com.zanxiang.manage.domain.params.PromoAccountAddUpdateParam;
+import com.zanxiang.manage.domain.params.PromoAccountListParam;
 import com.zanxiang.manage.domain.vo.PromoAccountChoiceVO;
+import com.zanxiang.manage.domain.vo.PromoAccountListVO;
 import com.zanxiang.manage.domain.vo.PromoPitcherChoiceVO;
 import com.zanxiang.manage.service.PromoAccountService;
+import com.zanxiang.manage.service.PromoMediaService;
 import com.zanxiang.mybatis.entity.PromoAccount;
 import com.zanxiang.mybatis.mapper.PromoAccountMapper;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.logging.log4j.util.Strings;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.time.LocalDateTime;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.function.Function;
 import java.util.stream.Collectors;
 
@@ -29,6 +44,124 @@ import java.util.stream.Collectors;
 @Service
 public class PromoAccountServiceImpl extends ServiceImpl<PromoAccountMapper, PromoAccount> implements PromoAccountService {
 
+    @Autowired
+    private PromoMediaService promoMediaService;
+
+    /**
+     * 查询推广媒体列表
+     *
+     * @param param : 推广媒体列表查询参数
+     * @return : 返回分页信息
+     */
+    @Override
+    public IPage<PromoAccountListVO> list(PromoAccountListParam param) {
+        Map<Long, PromoMediaDTO> promoMediaMap = promoMediaService.promoMediaMap();
+        return page(param.toPage(), new QueryWrapper<PromoAccount>().lambda()
+                .eq(param.getMediaId() != null, PromoAccount::getMediaId, param.getMediaId())
+                .eq(param.getAccountType() != null, PromoAccount::getAccountType, param.getAccountType())
+                .like(Strings.isNotBlank(param.getName()), PromoAccount::getName, param.getName())
+                .like(Strings.isNotBlank(param.getAccount()), PromoAccount::getAccount, param.getAccount())
+                .eq(param.getPitcherGroupId() != null, PromoAccount::getPitcherGroupId, param.getPitcherGroupId())
+                .eq(param.getPitcherId() != null, PromoAccount::getPitcherId, param.getPitcherId())
+                .eq(param.getStatus() != null, PromoAccount::getStatus, param.getStatus())
+                .orderByDesc(PromoAccount::getCreateTime))
+                .convert(promoAccount -> this.toVo(promoMediaMap, promoAccount));
+    }
+
+    /**
+     * 对象转换
+     *
+     * @param promoAccount 宣传媒体
+     * @return {@link PromoAccountListVO}
+     */
+    private PromoAccountListVO toVo(Map<Long, PromoMediaDTO> promoMediaMap, PromoAccount promoAccount) {
+        PromoAccountListVO promoAccountListVO = BeanUtils.copy(promoAccount, PromoAccountListVO.class);
+        if (Objects.isNull(promoAccountListVO)) {
+            return null;
+        }
+        PromoMediaDTO promoMediaDTO = promoMediaMap.get(promoAccount.getMediaId());
+        if (promoMediaDTO != null) {
+            promoAccountListVO.setMediaName(promoMediaDTO.getName());
+        }
+        promoAccountListVO.setAccountTypeName(PromoAccountTypeEnum.getNameByType(promoAccountListVO.getAccountType()));
+        return promoAccountListVO;
+    }
+
+    /**
+     * 推广账号新增或者更新
+     *
+     * @param param : 更新参数
+     * @return : 返回结果
+     */
+    @Override
+    public Boolean addOrUpdate(PromoAccountAddUpdateParam param) {
+        Long id = param.getId();
+        //更新
+        if (id != null) {
+            PromoAccount promoAccount = super.getById(id);
+            if (promoAccount == null) {
+                throw new BaseException("参数错误, 推广账号信息不存在");
+            }
+            //更新标签名字, 不可重复
+            if (!Objects.equals(promoAccount.getAccount(), param.getAccount())) {
+                //判断名称是否已经存在
+                int count = super.count(new LambdaQueryWrapper<PromoAccount>()
+                        .eq(PromoAccount::getAccount, param.getAccount()));
+                if (count > 0) {
+                    throw new BaseException("推广账号id已经存在");
+                }
+            }
+            promoAccount.setAccount(param.getAccount());
+            promoAccount.setName(param.getName());
+            promoAccount.setPitcherGroupId(param.getPitcherGroupId());
+            promoAccount.setPitcherGroupName(param.getPitcherGroupName());
+            promoAccount.setPitcherId(param.getPitcherId());
+            promoAccount.setPitcherName(param.getPitcherName());
+            promoAccount.setMediaId(param.getMediaId());
+            promoAccount.setAccountType(param.getAccountType());
+            promoAccount.setRemark(param.getRemark());
+            promoAccount.setUpdateTime(LocalDateTime.now());
+            return super.updateById(promoAccount);
+        }
+        //判断名称是否已经存在
+        int count = super.count(new LambdaQueryWrapper<PromoAccount>()
+                .eq(PromoAccount::getAccount, param.getAccount()));
+        if (count > 0) {
+            throw new BaseException("推广账号id已经存在");
+        }
+        //创建
+        return super.save(PromoAccount.builder()
+                .account(param.getAccount())
+                .name(param.getName())
+                .pitcherGroupId(param.getPitcherGroupId())
+                .pitcherGroupName(param.getPitcherGroupName())
+                .pitcherId(param.getPitcherId())
+                .pitcherName(param.getPitcherName())
+                .mediaId(param.getMediaId())
+                .accountType(param.getAccountType())
+                .status(StatusEnum.YES.getCode())
+                .remark(param.getRemark())
+                .isDelete(DeleteEnum.NO.getCode())
+                .createTime(LocalDateTime.now())
+                .updateTime(LocalDateTime.now())
+                .build());
+    }
+
+    /**
+     * 根据主键更新状态
+     *
+     * @param id     : 主键id
+     * @param status : 状态
+     * @return : 返回更新结果
+     */
+    @Override
+    public Boolean statusUpdate(Long id, Integer status) {
+        return super.update(new LambdaUpdateWrapper<PromoAccount>()
+                .set(PromoAccount::getStatus, status)
+                .set(PromoAccount::getUpdateTime, LocalDateTime.now())
+                .eq(PromoAccount::getId, id));
+    }
+
     /**
      * 推广账号选择列表查询
      *
@@ -65,6 +198,13 @@ public class PromoAccountServiceImpl extends ServiceImpl<PromoAccountMapper, Pro
             return Collections.emptyMap();
         }
         List<PromoAccountDTO> promoAccountDTOList = BeanUtils.copyList(promoChannelList, PromoAccountDTO.class);
+        Map<Long, PromoMediaDTO> promoMediaMap = promoMediaService.promoMediaMap();
+        promoAccountDTOList.forEach(promoAccountDTO -> {
+            Long mediaId = promoAccountDTO.getMediaId();
+            if (promoMediaMap.get(mediaId) != null) {
+                promoAccountDTO.setMediaName(promoMediaMap.get(mediaId).getName());
+            }
+        });
         return promoAccountDTOList.stream().collect(Collectors.toMap(PromoAccountDTO::getId, Function.identity()));
     }
 

+ 22 - 16
game-module/game-manage/src/main/java/com/zanxiang/manage/service/Impl/PromoMediaServiceImpl.java

@@ -4,12 +4,14 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.zanxiang.common.enums.DeleteEnum;
 import com.zanxiang.common.enums.PromoMediaTypeEnum;
 import com.zanxiang.common.enums.StatusEnum;
 import com.zanxiang.common.exception.BaseException;
 import com.zanxiang.common.utils.bean.BeanUtils;
+import com.zanxiang.manage.domain.dto.PromoMediaDTO;
 import com.zanxiang.manage.domain.params.PromoMediaAddUpdateParam;
 import com.zanxiang.manage.domain.params.PromoMediaListParam;
 import com.zanxiang.manage.domain.vo.PromoMediaChoiceVO;
@@ -23,9 +25,9 @@ import org.apache.logging.log4j.util.Strings;
 import org.springframework.stereotype.Service;
 
 import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
+import java.util.function.Function;
+import java.util.stream.Collectors;
 
 /**
  * @author : lingfeng
@@ -36,6 +38,21 @@ import java.util.Objects;
 @Service
 public class PromoMediaServiceImpl extends ServiceImpl<PromoMediaMapper, PromoMedia> implements PromoMediaService {
 
+    /**
+     * 推广媒体信息
+     *
+     * @return : 返回所有推广媒体信息
+     */
+    @Override
+    public Map<Long, PromoMediaDTO> promoMediaMap() {
+        List<PromoMedia> promoMediaList = super.list();
+        if (CollectionUtils.isEmpty(promoMediaList)) {
+            return Collections.emptyMap();
+        }
+        List<PromoMediaDTO> promoMediaDTOList = BeanUtils.copyList(promoMediaList, PromoMediaDTO.class);
+        return promoMediaDTOList.stream().collect(Collectors.toMap(PromoMediaDTO::getId, Function.identity()));
+    }
+
     /**
      * 推广媒体选择列表
      *
@@ -49,9 +66,9 @@ public class PromoMediaServiceImpl extends ServiceImpl<PromoMediaMapper, PromoMe
     }
 
     /**
-     * 查询游戏标签列表
+     * 查询推广媒体列表
      *
-     * @param param : 游戏标签列表查询呢参数
+     * @param param : 推广媒体列表查询参数
      * @return : 返回分页信息
      */
     @Override
@@ -136,17 +153,6 @@ public class PromoMediaServiceImpl extends ServiceImpl<PromoMediaMapper, PromoMe
                 .build());
     }
 
-    /**
-     * 删除推广媒体信息
-     *
-     * @param id : 删除推广媒体信息id
-     * @return : 返回删除结果
-     */
-    @Override
-    public boolean deleteById(Long id) {
-        return super.removeById(id);
-    }
-
     /**
      * 根据主键更新状态
      *

+ 0 - 11
game-module/game-manage/src/main/java/com/zanxiang/manage/service/Impl/PromoSiteServiceImpl.java

@@ -126,17 +126,6 @@ public class PromoSiteServiceImpl extends ServiceImpl<PromoSiteMapper, PromoSite
                 .build());
     }
 
-    /**
-     * 删除推广媒体版位信息
-     *
-     * @param id : 删除推广媒体版位信息id
-     * @return : 返回删除结果
-     */
-    @Override
-    public boolean deleteById(Long id) {
-        return super.removeById(id);
-    }
-
     /**
      * 根据主键更新状态
      *

+ 29 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/service/PromoAccountService.java

@@ -1,8 +1,12 @@
 package com.zanxiang.manage.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.zanxiang.manage.domain.dto.PromoAccountDTO;
+import com.zanxiang.manage.domain.params.PromoAccountAddUpdateParam;
+import com.zanxiang.manage.domain.params.PromoAccountListParam;
 import com.zanxiang.manage.domain.vo.PromoAccountChoiceVO;
+import com.zanxiang.manage.domain.vo.PromoAccountListVO;
 import com.zanxiang.manage.domain.vo.PromoPitcherChoiceVO;
 import com.zanxiang.mybatis.entity.PromoAccount;
 
@@ -16,6 +20,31 @@ import java.util.Map;
  */
 public interface PromoAccountService extends IService<PromoAccount> {
 
+    /**
+     * 查询推广媒体列表
+     *
+     * @param param : 推广媒体列表查询参数
+     * @return : 返回分页信息
+     */
+    IPage<PromoAccountListVO> list(PromoAccountListParam param);
+
+    /**
+     * 推广账号新增或者更新
+     *
+     * @param param : 更新参数
+     * @return : 返回结果
+     */
+    Boolean addOrUpdate(PromoAccountAddUpdateParam param);
+
+    /**
+     * 根据主键更新状态
+     *
+     * @param id     : 主键id
+     * @param status : 状态
+     * @return : 返回更新结果
+     */
+    Boolean statusUpdate(Long id, Integer status);
+
     /**
      * 推广账号选择列表查询
      *

+ 9 - 8
game-module/game-manage/src/main/java/com/zanxiang/manage/service/PromoMediaService.java

@@ -2,6 +2,7 @@ package com.zanxiang.manage.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.zanxiang.manage.domain.dto.PromoMediaDTO;
 import com.zanxiang.manage.domain.params.PromoMediaAddUpdateParam;
 import com.zanxiang.manage.domain.params.PromoMediaListParam;
 import com.zanxiang.manage.domain.vo.PromoMediaChoiceVO;
@@ -9,6 +10,7 @@ import com.zanxiang.manage.domain.vo.PromoMediaListVO;
 import com.zanxiang.mybatis.entity.PromoMedia;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * @author : lingfeng
@@ -17,6 +19,13 @@ import java.util.List;
  */
 public interface PromoMediaService extends IService<PromoMedia> {
 
+    /**
+     * 推广媒体信息
+     *
+     * @return : 返回所有推广媒体信息
+     */
+    Map<Long, PromoMediaDTO> promoMediaMap();
+
     /**
      * 推广媒体选择列表
      *
@@ -40,14 +49,6 @@ public interface PromoMediaService extends IService<PromoMedia> {
      */
     Boolean addOrUpdate(PromoMediaAddUpdateParam param);
 
-    /**
-     * 删除推广媒体信息
-     *
-     * @param id : 删除推广媒体信息id
-     * @return : 返回删除结果
-     */
-    boolean deleteById(Long id);
-
     /**
      * 根据主键更新状态
      *

+ 0 - 8
game-module/game-manage/src/main/java/com/zanxiang/manage/service/PromoSiteService.java

@@ -22,14 +22,6 @@ public interface PromoSiteService extends IService<PromoSite> {
      */
     IPage<PromoSiteListVO> list(PromoSiteListParam param);
 
-    /**
-     * 删除推广媒体版位信息
-     *
-     * @param id : 删除推广媒体版位信息id
-     * @return : 返回删除结果
-     */
-    boolean deleteById(Long id);
-
     /**
      * 根据主键更新状态
      *

+ 1 - 6
game-module/game-mybatis/src/main/java/com/zanxiang/mybatis/entity/PromoAccount.java

@@ -62,15 +62,10 @@ public class PromoAccount {
      */
     private Long mediaId;
 
-    /**
-     * 推广媒体名称
-     */
-    private String mediaName;
-
     /**
      * 推广账号类型
      */
-    private String accountType;
+    private Integer accountType;
 
     /**
      * 备注

+ 1 - 2
game-module/game-mybatis/src/main/java/com/zanxiang/mybatis/entity/PromoMedia.java

@@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.annotation.*;
 import lombok.*;
 
 import java.time.LocalDateTime;
-import java.util.Date;
 
 /**
  * @author : lingfeng
@@ -23,7 +22,7 @@ public class PromoMedia {
      * 主键
      */
     @TableId(value = "id", type = IdType.AUTO)
-    private Integer id;
+    private Long id;
 
     /**
      * 推广媒体