@@ -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> | |||