@@ -18,7 +18,7 @@ import java.util.Date; | |||||
@TableName("yxh_advert") | @TableName("yxh_advert") | ||||
@GeneratedKeyValue | @GeneratedKeyValue | ||||
@ApiModel(value = "广告维护表") | @ApiModel(value = "广告维护表") | ||||
public class AdvertEntity implements Serializable { | |||||
public class AdvertEntity extends BaseEntity<AdvertEntity> implements Serializable { | |||||
@TableId(value = "advert_id", type = IdType.ASSIGN_ID) | @TableId(value = "advert_id", type = IdType.ASSIGN_ID) | ||||
@ApiModelProperty(value = "主键id") | @ApiModelProperty(value = "主键id") | ||||
private Long advertId; | private Long advertId; | ||||
@@ -44,14 +44,7 @@ public class AdvertEntity implements Serializable { | |||||
private String advertExplain; | private String advertExplain; | ||||
@ApiModelProperty(value = "租户id") | @ApiModelProperty(value = "租户id") | ||||
private Long tenantId; | 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.alibaba.fastjson.JSONObject; | ||||
import com.sie.iot.base.bean.RedisMessageContentBean; | |||||
import com.sie.iot.common.bean.PaginationRequestData; | import com.sie.iot.common.bean.PaginationRequestData; | ||||
import com.sie.iot.common.bean.ResponseData; | import com.sie.iot.common.bean.ResponseData; | ||||
import com.sie.iot.common.iotenum.ResponseMsgCode; | import com.sie.iot.common.iotenum.ResponseMsgCode; | ||||
import com.sie.iot.common.model.inter.IBaseCommon; | 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.common.services.CommonAbstractService; | ||||
import com.sie.iot.component.exception.GushenRuntimeException; | import com.sie.iot.component.exception.GushenRuntimeException; | ||||
import com.sie.iot.distribute.transation.annotation.DistrTransMessageParam; | |||||
import com.siefw.hibernate.core.paging.Pagination; | import com.siefw.hibernate.core.paging.Pagination; | ||||
import com.yuexiu.secp.read.dto.AdvertDto; | import com.yuexiu.secp.read.dto.AdvertDto; | ||||
import com.yuexiu.secp.read.model.entities.AdvertEntity; | import com.yuexiu.secp.read.model.entities.AdvertEntity; | ||||
@@ -23,10 +26,10 @@ import org.springframework.validation.annotation.Validated; | |||||
import org.springframework.web.bind.annotation.*; | import org.springframework.web.bind.annotation.*; | ||||
@Validated | @Validated | ||||
@Api(value = "测试", tags = "测试-用户") | |||||
@Api(value = "广告", tags = "广告-维护") | |||||
@RestController | @RestController | ||||
@Slf4j | @Slf4j | ||||
@RequestMapping("/advert/advertMaintenance") | |||||
@RequestMapping("/advertController") | |||||
public class AdvertController extends CommonAbstractService { | public class AdvertController extends CommonAbstractService { | ||||
private static final Logger LOGGER = LoggerFactory.getLogger(AdvertController.class); | private static final Logger LOGGER = LoggerFactory.getLogger(AdvertController.class); | ||||
@@ -39,8 +42,9 @@ public class AdvertController extends CommonAbstractService { | |||||
} | } | ||||
@ApiOperation("获取广告维护表分页列表") | @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 pageIndex = paginationRequestData.getPageIndex(); | ||||
Integer pageRows = paginationRequestData.getPageRows(); | Integer pageRows = paginationRequestData.getPageRows(); | ||||
AdvertDto advertDto = paginationRequestData.getParams(); | AdvertDto advertDto = paginationRequestData.getParams(); | ||||
@@ -50,34 +54,37 @@ public class AdvertController extends CommonAbstractService { | |||||
Pagination<AdvertEntityRo> pagination = iAdvertServer.findAdvertPagination(jsonObject, pageIndex, pageRows, paginationRequestData.getOrderByBean()); | Pagination<AdvertEntityRo> pagination = iAdvertServer.findAdvertPagination(jsonObject, pageIndex, pageRows, paginationRequestData.getOrderByBean()); | ||||
return ResponseData.data(pagination); | return ResponseData.data(pagination); | ||||
} catch (Exception e) { | } catch (Exception e) { | ||||
LOGGER.error(" find - AdvertInfo error:"+e); | |||||
LOGGER.error(" find - AdvertInfoPagination error:"+e); | |||||
throw new GushenRuntimeException(ResponseMsgCode.ERROR.msgCode, e); | throw new GushenRuntimeException(ResponseMsgCode.ERROR.msgCode, e); | ||||
} | } | ||||
} | } | ||||
@ApiOperation(value = "保存或者更新广告列表") | @ApiOperation(value = "保存或者更新广告列表") | ||||
@PostMapping(value = "/saveOrUpdateAdvertInfo") | @PostMapping(value = "/saveOrUpdateAdvertInfo") | ||||
@CheckToken | |||||
public ResponseData saveOrUpdateAdvertInfo(@RequestBody AdvertEntity advertEntity) { | public ResponseData saveOrUpdateAdvertInfo(@RequestBody AdvertEntity advertEntity) { | ||||
log.info("保存 参数:{}",advertEntity); | log.info("保存 参数:{}",advertEntity); | ||||
iAdvertServer.saveOrUpdateAdvertInfo(advertEntity); | iAdvertServer.saveOrUpdateAdvertInfo(advertEntity); | ||||
return ResponseData.success(); | 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 { | 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); | return ResponseData.data(entity); | ||||
}catch (Exception e){ | }catch (Exception e){ | ||||
throw new GushenRuntimeException(ResponseMsgCode.ERROR.msgCode, 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) { | if (advertEntity != null) { | ||||
advertEntity.setDeleteFlag(1); | advertEntity.setDeleteFlag(1); | ||||
} | } | ||||
@@ -85,18 +92,20 @@ public class AdvertController extends CommonAbstractService { | |||||
return ResponseData.success(); | 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"> | <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> | ||||
<property name="basePackage" | <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> | </bean> | ||||