Sfoglia il codice sorgente

推广设置开发

dev
cailu 2 anni fa
parent
commit
c7b4d0ad35
7 ha cambiato i file con 215 aggiunte e 40 eliminazioni
  1. +3
    -10
      1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/entities/AdvertEntity.java
  2. +58
    -0
      1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/entities/PromotionEntity.java
  3. +38
    -29
      2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/controller/AdvertController.java
  4. +42
    -0
      2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/controller/PromotionController.java
  5. +29
    -0
      2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/IPromotionServer.java
  6. +42
    -0
      2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/impl/PromotionServer.java
  7. +3
    -1
      2068-yexiu-read-application/src/main/resources/com/yuexiu/secp/read/config/spring.mybatis.cfg.xml

+ 3
- 10
1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/entities/AdvertEntity.java Vedi File

@@ -18,7 +18,7 @@ import java.util.Date;
@TableName("yxh_advert")
@GeneratedKeyValue
@ApiModel(value = "广告维护表")
public class AdvertEntity implements Serializable {
public class AdvertEntity extends BaseEntity<AdvertEntity> implements Serializable {
@TableId(value = "advert_id", type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键id")
private Long advertId;
@@ -44,14 +44,7 @@ public class AdvertEntity implements Serializable {
private String advertExplain;
@ApiModelProperty(value = "租户id")
private Long tenantId;
private Long createdBy;
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private Date creationDate;
private Long lastUpdatedBy;
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private Date lastUpdateDate;
private Long lastUpdateLogin;
private Integer deleteFlag;
private Integer versionNum;
@ApiModelProperty(value = "版本号")
private Long versionNum;
}


+ 58
- 0
1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/entities/PromotionEntity.java Vedi File

@@ -0,0 +1,58 @@
package com.yuexiu.secp.read.model.entities;

import com.alibaba.fastjson.annotation.JSONField;
import com.sie.iot.common.model.entity.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

@Data
public class PromotionEntity extends BaseEntity<PromotionEntity> implements Serializable {

@ApiModelProperty(value = "积分上限")
private int integralCeiling;
@ApiModelProperty(value = "推送开始")
private String pushBeginTime;
@ApiModelProperty(value = "推送结束")
private String pushEndTime;
@ApiModelProperty(value = "订阅弹窗间隔天数")
private int popupDayNumber;
@ApiModelProperty(value = "订阅弹窗间隔次数")
private int popupNumber;
@ApiModelProperty(value = "文章类别")
private int articleType;
@ApiModelProperty(value = "阅读者规则")
private int readType;
@ApiModelProperty(value = "阅读是否获得积分")
private int readIntegralSign;
@ApiModelProperty(value = "分享规则")
private int shareType;
@ApiModelProperty(value = "分享是否获得积分")
private int shareIntegralSign;
@ApiModelProperty(value = "文本说明")
private String textExplains;
@ApiModelProperty(value = "图标url")
private String printUrl;
@ApiModelProperty(value = "计时时长")
private int timeDuration;
@ApiModelProperty(value = "计时规则")
private int timeRule;
@ApiModelProperty(value = "创建人")
private Long createdBy;
@ApiModelProperty(value = "创建时间")
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private Date creationDate;
@ApiModelProperty(value = "更新人")
private Long lastUpdatedBy;
@ApiModelProperty(value = "更新时间")
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private Date lastUpdateDate;
@ApiModelProperty(value = "最后登录ID")
private Long lastUpdateLogin;
@ApiModelProperty(value = "删除标识 0表示未删除 1表示删除")
private Integer deleteFlag;
@ApiModelProperty(value = "版本号")
private Long versionNum;
}

+ 38
- 29
2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/controller/AdvertController.java Vedi File

@@ -2,12 +2,15 @@ package com.yuexiu.secp.read.controller;

import com.alibaba.fastjson.JSONObject;

import com.sie.iot.base.bean.RedisMessageContentBean;
import com.sie.iot.common.bean.PaginationRequestData;
import com.sie.iot.common.bean.ResponseData;
import com.sie.iot.common.iotenum.ResponseMsgCode;
import com.sie.iot.common.model.inter.IBaseCommon;
import com.sie.iot.common.secure.annotation.CheckToken;
import com.sie.iot.common.services.CommonAbstractService;
import com.sie.iot.component.exception.GushenRuntimeException;
import com.sie.iot.distribute.transation.annotation.DistrTransMessageParam;
import com.siefw.hibernate.core.paging.Pagination;
import com.yuexiu.secp.read.dto.AdvertDto;
import com.yuexiu.secp.read.model.entities.AdvertEntity;
@@ -23,10 +26,10 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

@Validated
@Api(value = "测试", tags = "测试-用户")
@Api(value = "广告", tags = "广告-维护")
@RestController
@Slf4j
@RequestMapping("/advert/advertMaintenance")
@RequestMapping("/advertController")
public class AdvertController extends CommonAbstractService {
private static final Logger LOGGER = LoggerFactory.getLogger(AdvertController.class);

@@ -39,8 +42,9 @@ public class AdvertController extends CommonAbstractService {
}

@ApiOperation("获取广告维护表分页列表")
@PostMapping(value = "/findAdvertInfo")
public ResponseData<Pagination<AdvertEntityRo>> findTestUsersPagination(@RequestBody PaginationRequestData<AdvertDto> paginationRequestData) {
@PostMapping(value = "/findAdvertInfoPagination")
@CheckToken
public ResponseData<Pagination<AdvertEntityRo>> findAdvertInfoPagination(@RequestBody PaginationRequestData<AdvertDto> paginationRequestData) {
Integer pageIndex = paginationRequestData.getPageIndex();
Integer pageRows = paginationRequestData.getPageRows();
AdvertDto advertDto = paginationRequestData.getParams();
@@ -50,34 +54,37 @@ public class AdvertController extends CommonAbstractService {
Pagination<AdvertEntityRo> pagination = iAdvertServer.findAdvertPagination(jsonObject, pageIndex, pageRows, paginationRequestData.getOrderByBean());
return ResponseData.data(pagination);
} catch (Exception e) {
LOGGER.error(" find - AdvertInfo error:"+e);
LOGGER.error(" find - AdvertInfoPagination error:"+e);
throw new GushenRuntimeException(ResponseMsgCode.ERROR.msgCode, e);
}
}

@ApiOperation(value = "保存或者更新广告列表")
@PostMapping(value = "/saveOrUpdateAdvertInfo")
@CheckToken
public ResponseData saveOrUpdateAdvertInfo(@RequestBody AdvertEntity advertEntity) {
log.info("保存 参数:{}",advertEntity);
iAdvertServer.saveOrUpdateAdvertInfo(advertEntity);
return ResponseData.success();
}
@ApiOperation(value = "根据广告表 advertId 查询详细")
@PostMapping(value = "/findById")
public ResponseData findById(@RequestParam Long advertId){
@ApiOperation(value = "根据广告表 id 查询详细")
@GetMapping(value = "/findById")
@CheckToken
public ResponseData findById(@RequestParam Long id){
try {
log.info("根据 primaryKey 查询广告详细 id:{}", advertId);
AdvertEntity entity = iAdvertServer.findById(advertId);
log.info("根据 primaryKey 查询广告详细 id:{}", id);
AdvertEntity entity = iAdvertServer.findById(id);
return ResponseData.data(entity);
}catch (Exception e){
throw new GushenRuntimeException(ResponseMsgCode.ERROR.msgCode, e);
}
}
@ApiOperation(value = "根据广告表 advertId 删除")
@PostMapping(value = "/delete")
public ResponseData deleteById(@RequestParam Long advertId){
log.info("根据 id 删除 参数:{}",advertId);
AdvertEntity advertEntity = iAdvertServer.findById(advertId);
@ApiOperation(value = "根据广告表 id 删除")
@GetMapping(value = "/delete")
@CheckToken
public ResponseData deleteById(@RequestParam Long id){
log.info("根据 id 删除 参数:{}",id);
AdvertEntity advertEntity = iAdvertServer.findById(id);
if (advertEntity != null) {
advertEntity.setDeleteFlag(1);
}
@@ -85,18 +92,20 @@ public class AdvertController extends CommonAbstractService {
return ResponseData.success();
}

// @ApiOperation(value = "广告申请流程使用")
// @PostMapping(value = "/setCommit")
// public ResponseData setCommit(@RequestBody AdvertEntity advertEntity,@RequestParam String processDefinitionKey) {
// log.info("广告维护申请流程 参数:{}", advertEntity);
// iAdvertServer.doCommit(advertEntity,processDefinitionKey);
// return ResponseData.success();
// }
// @ApiOperation(value = "广告流程回调使用")
// @PostMapping(value = "/updateAdvertState")
// public ResponseData updateAdvertState(@DistrTransMessageParam Long msgId, RedisMessageContentBean redisMessageContentBean) {
// log.info("广告维护申请流程回调 参数:{}", redisMessageContentBean);
// iAdvertServer.updateAdvertState(msgId,redisMessageContentBean);
// return ResponseData.success();
// }
@ApiOperation(value = "广告申请流程使用")
@PostMapping(value = "/doCommit")
@CheckToken
public ResponseData doCommit(@RequestBody AdvertEntity advertEntity,@RequestParam String processDefinitionKey) {
log.info("广告维护申请流程 参数:{}", advertEntity);
iAdvertServer.doCommit(advertEntity,processDefinitionKey);
return ResponseData.success();
}
@ApiOperation(value = "广告流程回调使用")
@PostMapping(value = "/updateAdvertState")
@CheckToken
public ResponseData updateAdvertState(@DistrTransMessageParam Long msgId, RedisMessageContentBean redisMessageContentBean) {
log.info("广告维护申请流程回调 参数:{}", redisMessageContentBean);
iAdvertServer.updateAdvertState(msgId,redisMessageContentBean);
return ResponseData.success();
}
}

+ 42
- 0
2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/controller/PromotionController.java Vedi File

@@ -0,0 +1,42 @@
package com.yuexiu.secp.read.controller;

import com.sie.iot.common.bean.ResponseData;
import com.sie.iot.common.secure.annotation.CheckToken;
import com.yuexiu.secp.read.dto.ArticleQueryDto;
import com.yuexiu.secp.read.model.entities.ArticleEntity;
import com.yuexiu.secp.read.model.entities.PromotionEntity;
import com.yuexiu.secp.read.model.service.IArticleServer;
import com.yuexiu.secp.read.model.service.IPromotionServer;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

import java.util.List;


@Validated
@Api(value = "阅读有礼-文章", tags = "阅读有礼-文章")
@RestController
@RequestMapping("/promotionSetController")
public class PromotionController {

@Autowired
private IPromotionServer iPromotionServer;

@ApiOperation(value = "查询推广设置")
@PostMapping(value = "/findPromotionSet")
public ResponseData findPromotionSet(@RequestParam String key) {
PromotionEntity promotionEntity = iPromotionServer.findPromotionSet(key);
return ResponseData.data(promotionEntity);
}

@ApiOperation(value = "保存推广设置")
@PostMapping(value = "/savePromotionSet")
public ResponseData savePromotionSet(@RequestBody PromotionEntity promotionEntity) {
iPromotionServer.savePromotionSet(promotionEntity);
return ResponseData.success();
}

}

+ 29
- 0
2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/IPromotionServer.java Vedi File

@@ -0,0 +1,29 @@
package com.yuexiu.secp.read.model.service;


import com.alibaba.fastjson.JSONObject;
import com.sie.iot.base.bean.RedisMessageContentBean;
import com.sie.iot.common.bean.OrderByBean;
import com.sie.iot.common.model.inter.IBaseCommon;
import com.sie.iot.distribute.transation.annotation.DistrTransMessageParam;
import com.siefw.hibernate.core.paging.Pagination;
import com.yuexiu.secp.read.model.entities.AdvertEntity;
import com.yuexiu.secp.read.model.entities.PromotionEntity;
import com.yuexiu.secp.read.model.entities.readonly.AdvertEntityRo;

public interface IPromotionServer extends IBaseCommon<PromotionEntity> {

/**
* 查询推广设置
* @param key
* @return
*/
PromotionEntity findPromotionSet(String key);
/**
* 根据 redis key 保存推广设置
* @param *
* @return
*/
void savePromotionSet(PromotionEntity promotionEntity);

}

+ 42
- 0
2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/impl/PromotionServer.java Vedi File

@@ -0,0 +1,42 @@
package com.yuexiu.secp.read.model.service.impl;


import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.google.gson.JsonObject;
import com.sie.iot.common.model.inter.server.BaseCommonServer;
import com.yuexiu.secp.read.model.entities.AdvertEntity;
import com.yuexiu.secp.read.model.entities.PromotionEntity;
import com.yuexiu.secp.read.model.entities.readonly.AdvertEntityRo;
import com.yuexiu.secp.read.model.service.IAdvertServer;
import com.yuexiu.secp.read.model.service.IPromotionServer;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;

@Component("promotionServer")
public class PromotionServer extends BaseCommonServer<PromotionEntity> implements IPromotionServer {

@Autowired
private RedisTemplate redisTemplate;

@Override
public PromotionEntity findPromotionSet(String key) {
//通过redis的key获取值
String s = (String) redisTemplate.opsForValue().get("promotionSet");
//转为json对象
JSONObject jsonObject = JSONObject.parseObject(s);
PromotionEntity promotionEntity = JSONObject.toJavaObject(jsonObject,PromotionEntity.class);
return promotionEntity;
}

@Override
public void savePromotionSet(PromotionEntity promotionEntity) {
String json = JSON.toJSONString(promotionEntity);
//推广设置保存到redis
redisTemplate.opsForValue().set("promotionSet",json);
//将设置持久化
redisTemplate.persist("promotionSet");

}
}

+ 3
- 1
2068-yexiu-read-application/src/main/resources/com/yuexiu/secp/read/config/spring.mybatis.cfg.xml Vedi File

@@ -125,7 +125,9 @@
-->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage"
value="com.yuexiu.secp.read.model.dao,com.sie.iot.base.model.dao"></property>
value="com.yuexiu.secp.read.model.dao,
com.sie.iot.base.model.dao,
com.sie.iot.common.model.dao"></property>

</bean>



Caricamento…
Annulla
Salva