diff --git a/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/entities/AdvertEntity.java b/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/entities/AdvertEntity.java index 1e6d7dc..9d73a4e 100644 --- a/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/entities/AdvertEntity.java +++ b/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/entities/AdvertEntity.java @@ -18,7 +18,7 @@ import java.util.Date; @TableName("yxh_advert") @GeneratedKeyValue @ApiModel(value = "广告维护表") -public class AdvertEntity implements Serializable { +public class AdvertEntity extends BaseEntity 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; } diff --git a/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/entities/PromotionEntity.java b/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/entities/PromotionEntity.java new file mode 100644 index 0000000..42ca7b6 --- /dev/null +++ b/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/entities/PromotionEntity.java @@ -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 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; +} diff --git a/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/controller/AdvertController.java b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/controller/AdvertController.java index f80c718..2cbd440 100644 --- a/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/controller/AdvertController.java +++ b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/controller/AdvertController.java @@ -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> findTestUsersPagination(@RequestBody PaginationRequestData paginationRequestData) { + @PostMapping(value = "/findAdvertInfoPagination") + @CheckToken + public ResponseData> findAdvertInfoPagination(@RequestBody PaginationRequestData paginationRequestData) { Integer pageIndex = paginationRequestData.getPageIndex(); Integer pageRows = paginationRequestData.getPageRows(); AdvertDto advertDto = paginationRequestData.getParams(); @@ -50,34 +54,37 @@ public class AdvertController extends CommonAbstractService { Pagination 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(); + } } diff --git a/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/controller/PromotionController.java b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/controller/PromotionController.java new file mode 100644 index 0000000..0b38752 --- /dev/null +++ b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/controller/PromotionController.java @@ -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(); + } + +} diff --git a/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/IPromotionServer.java b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/IPromotionServer.java new file mode 100644 index 0000000..23299d5 --- /dev/null +++ b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/IPromotionServer.java @@ -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 { + + /** + * 查询推广设置 + * @param key + * @return + */ + PromotionEntity findPromotionSet(String key); + /** + * 根据 redis key 保存推广设置 + * @param * + * @return + */ + void savePromotionSet(PromotionEntity promotionEntity); + +} diff --git a/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/impl/PromotionServer.java b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/impl/PromotionServer.java new file mode 100644 index 0000000..466ae05 --- /dev/null +++ b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/impl/PromotionServer.java @@ -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 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"); + + } +} diff --git a/2068-yexiu-read-application/src/main/resources/com/yuexiu/secp/read/config/spring.mybatis.cfg.xml b/2068-yexiu-read-application/src/main/resources/com/yuexiu/secp/read/config/spring.mybatis.cfg.xml index cfe1d65..48b4291 100644 --- a/2068-yexiu-read-application/src/main/resources/com/yuexiu/secp/read/config/spring.mybatis.cfg.xml +++ b/2068-yexiu-read-application/src/main/resources/com/yuexiu/secp/read/config/spring.mybatis.cfg.xml @@ -125,7 +125,9 @@ --> + value="com.yuexiu.secp.read.model.dao, + com.sie.iot.base.model.dao, + com.sie.iot.common.model.dao">