Prechádzať zdrojové kódy

feat : 推广媒体接口提交

bilingfeng 2 rokov pred
rodič
commit
ff1cf1a950
14 zmenil súbory, kde vykonal 476 pridanie a 35 odobranie
  1. 2 20
      game-module/game-common/src/main/java/com/zanxiang/common/enums/PayDeviceEnum.java
  2. 18 0
      game-module/game-common/src/main/java/com/zanxiang/common/enums/PromoMediaTypeEnum.java
  3. 9 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/controller/ChoiceController.java
  4. 62 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/controller/PromoMediaController.java
  5. 56 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/domain/params/PromoMediaAddUpdateParam.java
  6. 35 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/domain/params/PromoMediaListParam.java
  7. 63 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/domain/vo/PromoMediaListVO.java
  8. 28 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/domain/vo/PromoMediaTypeChoiceVO.java
  9. 4 3
      game-module/game-manage/src/main/java/com/zanxiang/manage/service/GameService.java
  10. 4 3
      game-module/game-manage/src/main/java/com/zanxiang/manage/service/Impl/GameServiceImpl.java
  11. 9 0
      game-module/game-manage/src/main/java/com/zanxiang/manage/service/Impl/GameTagServiceImpl.java
  12. 137 1
      game-module/game-manage/src/main/java/com/zanxiang/manage/service/Impl/PromoMediaServiceImpl.java
  13. 41 1
      game-module/game-manage/src/main/java/com/zanxiang/manage/service/PromoMediaService.java
  14. 8 7
      game-module/game-mybatis/src/main/java/com/zanxiang/mybatis/entity/PromoMedia.java

+ 2 - 20
game-module/game-common/src/main/java/com/zanxiang/common/enums/PayDeviceEnum.java

@@ -1,5 +1,6 @@
 package com.zanxiang.common.enums;
 
+import lombok.AllArgsConstructor;
 import lombok.Getter;
 
 import java.util.ArrayList;
@@ -13,6 +14,7 @@ import java.util.stream.Collectors;
  * @date 2022/6/16 18:07
  */
 @Getter
+@AllArgsConstructor
 public enum PayDeviceEnum {
 
     /**
@@ -46,21 +48,6 @@ public enum PayDeviceEnum {
 
     private String desc;
 
-    PayDeviceEnum(Integer code, String name, String desc) {
-        this.code = code;
-        this.name = name;
-        this.desc = desc;
-    }
-
-    public static String getCodeByNum(Integer code) {
-        PayDeviceEnum[] values = PayDeviceEnum.values();
-        for (int i = 0; i < values.length; i++) {
-            if (values[i].getCode().equals(code)) {
-                return values[i].getName();
-            }
-        }
-        return "";
-    }
 
     public static String getDescByNum(Integer code) {
         PayDeviceEnum[] values = PayDeviceEnum.values();
@@ -72,11 +59,6 @@ public enum PayDeviceEnum {
         return "";
     }
 
-
-    public static String getSqlCode(Integer code) {
-        return "," + code + ",";
-    }
-
     public static String getDesc(String obj) {
         List<String> Desc = new ArrayList<>(10);
         String str = obj.substring(1, obj.length() - 1);

+ 18 - 0
game-module/game-common/src/main/java/com/zanxiang/common/enums/PromoMediaTypeEnum.java

@@ -3,6 +3,8 @@ package com.zanxiang.common.enums;
 import lombok.AllArgsConstructor;
 import lombok.Getter;
 
+import java.util.Objects;
+
 /**
  * @author : lingfeng
  * @time : 2022-11-17
@@ -41,4 +43,20 @@ public enum PromoMediaTypeEnum {
      * 媒体名称
      */
     private String name;
+
+    /**
+     * 被类型名称
+     *
+     * @param type 类型
+     * @return {@link String}
+     */
+    public static String getNameByType(Integer type) {
+        PromoMediaTypeEnum[] values = PromoMediaTypeEnum.values();
+        for (PromoMediaTypeEnum promoMediaTypeEnum : values) {
+            if (Objects.equals(promoMediaTypeEnum.getType(), type)) {
+                return promoMediaTypeEnum.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.PromoMediaTypeEnum;
 import com.zanxiang.common.enums.VipLevelEnum;
 import com.zanxiang.common.utils.bean.BeanUtils;
 import com.zanxiang.erp.security.annotation.PreAuthorize;
@@ -143,4 +144,12 @@ public class ChoiceController {
         return ResultVO.ok(payMerchantService.payMerchantChoiceList());
     }
 
+    @ApiOperation(value = "推广媒体类型选择列表")
+    @GetMapping(value = "/promo/media/list")
+    @PreAuthorize(permissionKey = "sdk:promoMediaChoice:list")
+    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = PromoMediaTypeChoiceVO.class, responseContainer = "list")})
+    public ResultVO<List<PromoMediaTypeChoiceVO>> promoMediaChoiceList() {
+        return ResultVO.ok(BeanUtils.copyList(Arrays.asList(PromoMediaTypeEnum.values()), PromoMediaTypeChoiceVO.class));
+    }
+
 }

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

@@ -0,0 +1,62 @@
+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.PromoMediaAddUpdateParam;
+import com.zanxiang.manage.domain.params.PromoMediaListParam;
+import com.zanxiang.manage.domain.vo.PromoMediaListVO;
+import com.zanxiang.manage.service.PromoMediaService;
+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-18
+ * @description : 推广媒体
+ */
+@Api(tags = "推广媒体接口")
+@RestController
+@RequestMapping("/promo/media")
+public class PromoMediaController {
+
+    @Autowired
+    private PromoMediaService promoMediaService;
+
+    @ApiOperation(value = "查询推广媒体列表")
+    @PostMapping(value = "/list")
+    @PreAuthorize(permissionKey = "manage:promoMedia:list")
+    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = PromoMediaListVO.class)})
+    public ResultVO<IPage<PromoMediaListVO>> list(@Validated @RequestBody PromoMediaListParam param) {
+        return ResultVO.ok(promoMediaService.list(param));
+    }
+
+    @ApiOperation(value = "推广媒体添加或修改")
+    @PostMapping(value = "/add/or/update")
+    @PreAuthorize(permissionKey = "manage:promoMedia:addOrUpdate")
+    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
+    public ResultVO<Boolean> addOrUpdate(@Validated @RequestBody PromoMediaAddUpdateParam param) {
+        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")
+    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
+    public ResultVO<Boolean> statusUpdate(@RequestParam Long id, @RequestParam Integer status) {
+        return new ResultVO<>(promoMediaService.statusUpdate(id, status));
+    }
+}

+ 56 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/domain/params/PromoMediaAddUpdateParam.java

@@ -0,0 +1,56 @@
+package com.zanxiang.manage.domain.params;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotEmpty;
+import java.util.List;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-11-17
+ * @description : 推广媒体新增或者更新
+ */
+@Data
+public class PromoMediaAddUpdateParam {
+
+    /**
+     * 主键
+     */
+    @ApiModelProperty(notes = "主键, 不传是新建, 传是更新")
+    private Long id;
+
+    /**
+     * 推广媒体
+     */
+    @NotBlank(message = "推广媒体不可为空")
+    @ApiModelProperty(notes = "推广媒体")
+    private String name;
+
+    /**
+     * 公司
+     */
+    @ApiModelProperty(notes = "公司")
+    private String company;
+
+    /**
+     * 推广媒体类型
+     */
+    @NotEmpty(message = "推广媒体类型不可为空")
+    @ApiModelProperty(notes = "推广媒体类型, 不可为空, 至少传一个类型")
+    private List<Long> types;
+
+    /**
+     * 地址
+     */
+    @ApiModelProperty(notes = "地址")
+    private String address;
+
+    /**
+     * 备注
+     */
+    @ApiModelProperty(notes = "备注")
+    private String remark;
+
+}

+ 35 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/domain/params/PromoMediaListParam.java

@@ -0,0 +1,35 @@
+package com.zanxiang.manage.domain.params;
+
+import com.zanxiang.common.base.BasePage;
+import com.zanxiang.mybatis.entity.PromoMedia;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-11-17
+ * @description : 推广媒体列表查询参数
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class PromoMediaListParam extends BasePage<PromoMedia> {
+
+    /**
+     * 推广媒体
+     */
+    @ApiModelProperty(notes = "推广媒体")
+    private String name;
+
+    /**
+     * 媒体类型
+     */
+    @ApiModelProperty(notes = "媒体类型")
+    private Long type;
+
+    /**
+     * 状态
+     */
+    @ApiModelProperty(notes = "状态")
+    private Integer status;
+}

+ 63 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/domain/vo/PromoMediaListVO.java

@@ -0,0 +1,63 @@
+package com.zanxiang.manage.domain.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-11-17
+ * @description : 推广媒体展示
+ */
+@Data
+public class PromoMediaListVO {
+
+    /**
+     * 主键
+     */
+    @ApiModelProperty(notes = "主键")
+    private Integer id;
+
+    /**
+     * 推广媒体
+     */
+    @ApiModelProperty(notes = "推广媒体")
+    private String name;
+
+    /**
+     * 推广媒体类型, 多个则逗号分割
+     */
+    @ApiModelProperty(notes = "推广媒体类型, 多个则逗号分割")
+    private String types;
+
+    /**
+     * 推广媒体类型名称列表
+     */
+    @ApiModelProperty(notes = "推广媒体类型名称列表")
+    private List<String> typeNameList;
+
+    /**
+     * 地址
+     */
+    @ApiModelProperty(notes = "地址")
+    private String address;
+
+    /**
+     * 公司
+     */
+    @ApiModelProperty(notes = "公司")
+    private String company;
+
+    /**
+     * 状态, 0 : 可用, 1: 禁用
+     */
+    @ApiModelProperty(notes = "状态, 0 : 可用, 1: 禁用")
+    private Integer status;
+
+    /**
+     * 备注
+     */
+    @ApiModelProperty(notes = "备注")
+    private String remark;
+}

+ 28 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/domain/vo/PromoMediaTypeChoiceVO.java

@@ -0,0 +1,28 @@
+package com.zanxiang.manage.domain.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-11-18
+ * @description : 推广媒体类型选择
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class PromoMediaTypeChoiceVO {
+
+    /**
+     * 媒体类型
+     */
+    private Integer type;
+
+    /**
+     * 媒体名称
+     */
+    private String name;
+}

+ 4 - 3
game-module/game-manage/src/main/java/com/zanxiang/manage/service/GameService.java

@@ -124,10 +124,11 @@ public interface GameService extends IService<Game> {
     Boolean deleteById(Long id);
 
     /**
-     * 根据主键id删除
+     * 根据主键更新状态
      *
-     * @param id : 主键id
-     * @return : 返回删除结果
+     * @param id     : 主键id
+     * @param status : 状态
+     * @return : 返回更新结果
      */
     Boolean statusUpdate(Long id, Integer status);
 

+ 4 - 3
game-module/game-manage/src/main/java/com/zanxiang/manage/service/Impl/GameServiceImpl.java

@@ -601,10 +601,11 @@ public class GameServiceImpl extends ServiceImpl<GameMapper, Game> implements Ga
     }
 
     /**
-     * 根据主键id删除
+     * 根据主键更新状态
      *
-     * @param id : 主键id
-     * @return : 返回删除结果
+     * @param id     : 主键id
+     * @param status : 状态
+     * @return : 返回更新结果
      */
     @Override
     public Boolean statusUpdate(Long id, Integer status) {

+ 9 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/service/Impl/GameTagServiceImpl.java

@@ -147,6 +147,15 @@ public class GameTagServiceImpl extends ServiceImpl<GameTagMapper, GameTag> impl
             if (gameTag == null) {
                 throw new BaseException("参数错误, 游戏分类标签信息不存在");
             }
+            //更新标签名字, 不可重复
+            if (!Objects.equals(gameTag.getName(), param.getName())) {
+                //判断cp名称是否已经存在
+                int count = super.count(new LambdaQueryWrapper<GameTag>()
+                        .eq(GameTag::getName, param.getName()));
+                if (count > 0) {
+                    throw new BaseException("游戏分类标签名称已经存在");
+                }
+            }
             gameTag.setIsParent(param.getParentId() == null);
             gameTag.setParentId(param.getParentId());
             gameTag.setName(param.getName());

+ 137 - 1
game-module/game-manage/src/main/java/com/zanxiang/manage/service/Impl/PromoMediaServiceImpl.java

@@ -1,9 +1,31 @@
 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.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.params.PromoMediaAddUpdateParam;
+import com.zanxiang.manage.domain.params.PromoMediaListParam;
+import com.zanxiang.manage.domain.vo.PromoMediaListVO;
 import com.zanxiang.manage.service.PromoMediaService;
+import com.zanxiang.mybatis.entity.PromoMedia;
+import com.zanxiang.mybatis.mapper.PromoMediaMapper;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+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;
+
 /**
  * @author : lingfeng
  * @time : 2022-11-17
@@ -11,7 +33,121 @@ import org.springframework.stereotype.Service;
  */
 @Slf4j
 @Service
-public class PromoMediaServiceImpl implements PromoMediaService {
+public class PromoMediaServiceImpl extends ServiceImpl<PromoMediaMapper, PromoMedia> implements PromoMediaService {
+
+    /**
+     * 查询游戏标签列表
+     *
+     * @param param : 游戏标签列表查询呢参数
+     * @return : 返回分页信息
+     */
+    @Override
+    public IPage<PromoMediaListVO> list(PromoMediaListParam param) {
+        return page(param.toPage(), new QueryWrapper<PromoMedia>().lambda()
+                .like(Strings.isNotBlank(param.getName()), PromoMedia::getName, param.getName())
+                .apply(param.getType() != null, "FIND_IN_SET({0}, types)", String.valueOf(param.getType()))
+                .eq(param.getStatus() != null, PromoMedia::getStatus, param.getStatus())
+                .orderByDesc(PromoMedia::getCreateTime))
+                .convert(this::toVo);
+    }
+
+    /**
+     * 对象转换
+     *
+     * @param promoMedia 宣传媒体
+     * @return {@link PromoMediaListVO}
+     */
+    private PromoMediaListVO toVo(PromoMedia promoMedia) {
+        PromoMediaListVO promoMediaListVO = BeanUtils.copy(promoMedia, PromoMediaListVO.class);
+        if (Objects.isNull(promoMediaListVO)) {
+            return null;
+        }
+        String[] typeList = promoMediaListVO.getTypes().split(",");
+        List<String> typeNameList = new ArrayList<>();
+        for (String type : typeList) {
+            typeNameList.add(PromoMediaTypeEnum.getNameByType(Integer.valueOf(type)));
+        }
+        promoMediaListVO.setTypeNameList(typeNameList);
+        return promoMediaListVO;
+    }
+
+    /**
+     * 推广媒体新增或者更新
+     *
+     * @param param : 更新参数
+     * @return : 返回结果
+     */
+    @Override
+    public Boolean addOrUpdate(PromoMediaAddUpdateParam param) {
+        Long id = param.getId();
+        //更新
+        if (id != null) {
+            PromoMedia promoMedia = super.getById(id);
+            if (promoMedia == null) {
+                throw new BaseException("参数错误, 推广媒体信息不存在");
+            }
+            //更新标签名字, 不可重复
+            if (!Objects.equals(promoMedia.getName(), param.getName())) {
+                //判断名称是否已经存在
+                int count = super.count(new LambdaQueryWrapper<PromoMedia>()
+                        .eq(PromoMedia::getName, param.getName()));
+                if (count > 0) {
+                    throw new BaseException("推广媒体名称名称已经存在");
+                }
+            }
+            promoMedia.setName(param.getName());
+            promoMedia.setTypes(StringUtils.join(param.getTypes(), ","));
+            promoMedia.setAddress(param.getAddress());
+            promoMedia.setCompany(param.getCompany());
+            promoMedia.setRemark(param.getRemark());
+            promoMedia.setUpdateTime(LocalDateTime.now());
+            return super.updateById(promoMedia);
+        }
+        //判断名称是否已经存在
+        int count = super.count(new LambdaQueryWrapper<PromoMedia>()
+                .eq(PromoMedia::getName, param.getName()));
+        if (count > 0) {
+            throw new BaseException("推广媒体名称名称已经存在");
+        }
+        //创建
+        return super.save(PromoMedia.builder()
+                .name(param.getName())
+                .types(StringUtils.join(param.getTypes(), ","))
+                .address(param.getAddress())
+                .company(param.getCompany())
+                .status(StatusEnum.YES.getCode())
+                .remark(param.getRemark())
+                .isDelete(DeleteEnum.NO.getCode())
+                .createTime(LocalDateTime.now())
+                .updateTime(LocalDateTime.now())
+                .build());
+    }
+
+    /**
+     * 删除推广媒体信息
+     *
+     * @param id : 删除推广媒体信息id
+     * @return : 返回删除结果
+     */
+    @Override
+    public boolean deleteById(Long id) {
+        return super.removeById(id);
+    }
+
+    /**
+     * 根据主键更新状态
+     *
+     * @param id     : 主键id
+     * @param status : 状态
+     * @return : 返回更新结果
+     */
+    @Override
+    public Boolean statusUpdate(Long id, Integer status) {
+        return super.update(new LambdaUpdateWrapper<PromoMedia>()
+                .set(PromoMedia::getStatus, status)
+                .set(PromoMedia::getUpdateTime, LocalDateTime.now())
+                .eq(PromoMedia::getId, id));
+    }
 
 
 }

+ 41 - 1
game-module/game-manage/src/main/java/com/zanxiang/manage/service/PromoMediaService.java

@@ -1,9 +1,49 @@
 package com.zanxiang.manage.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zanxiang.manage.domain.params.PromoMediaAddUpdateParam;
+import com.zanxiang.manage.domain.params.PromoMediaListParam;
+import com.zanxiang.manage.domain.vo.PromoMediaListVO;
+import com.zanxiang.mybatis.entity.PromoMedia;
+
 /**
  * @author : lingfeng
  * @time : 2022-11-17
  * @description : 推广媒体
  */
-public interface PromoMediaService {
+public interface PromoMediaService extends IService<PromoMedia> {
+
+    /**
+     * 查询游戏标签列表
+     *
+     * @param param : 游戏标签列表查询呢参数
+     * @return : 返回分页信息
+     */
+    IPage<PromoMediaListVO> list(PromoMediaListParam param);
+
+    /**
+     * 推广媒体新增或者更新
+     *
+     * @param param : 更新参数
+     * @return : 返回结果
+     */
+    Boolean addOrUpdate(PromoMediaAddUpdateParam param);
+
+    /**
+     * 删除推广媒体信息
+     *
+     * @param id : 删除推广媒体信息id
+     * @return : 返回删除结果
+     */
+    boolean deleteById(Long id);
+
+    /**
+     * 根据主键更新状态
+     *
+     * @param id     : 主键id
+     * @param status : 状态
+     * @return : 返回更新结果
+     */
+    Boolean statusUpdate(Long id, Integer status);
 }

+ 8 - 7
game-module/game-mybatis/src/main/java/com/zanxiang/mybatis/entity/PromoMedia.java

@@ -1,11 +1,9 @@
 package com.zanxiang.mybatis.entity;
 
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableLogic;
-import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.*;
 import lombok.*;
 
+import java.time.LocalDateTime;
 import java.util.Date;
 
 /**
@@ -35,16 +33,18 @@ public class PromoMedia {
     /**
      * 推广媒体类型
      */
-    private String type;
+    private String types;
 
     /**
      * 地址
      */
+    @TableField(updateStrategy = FieldStrategy.IGNORED)
     private String address;
 
     /**
      * 公司
      */
+    @TableField(updateStrategy = FieldStrategy.IGNORED)
     private String company;
 
     /**
@@ -55,6 +55,7 @@ public class PromoMedia {
     /**
      * 备注
      */
+    @TableField(updateStrategy = FieldStrategy.IGNORED)
     private String remark;
 
     /**
@@ -66,10 +67,10 @@ public class PromoMedia {
     /**
      * 创建时间
      */
-    private Date createTime;
+    private LocalDateTime createTime;
 
     /**
      * 更新时间
      */
-    private Date updateTime;
+    private LocalDateTime updateTime;
 }