| @@ -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; | |||
| } | |||
| @@ -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; | |||
| } | |||
| @@ -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(); | |||
| } | |||
| } | |||
| @@ -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(); | |||
| } | |||
| } | |||
| @@ -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); | |||
| } | |||
| @@ -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"); | |||
| } | |||
| } | |||
| @@ -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> | |||