Bläddra i källkod

广告维护crud及提交方法开发

dev
cailu 3 år sedan
förälder
incheckning
d95b210510
13 ändrade filer med 625 tillägg och 4 borttagningar
  1. +6
    -2
      1068-yexiu-read-model-mybatis/pom.xml
  2. +13
    -0
      1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/dao/AdvertDao.java
  3. +11
    -0
      1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/dao/readonly/AdvertDaoRO.java
  4. +57
    -0
      1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/entities/AdvertEntity.java
  5. +61
    -0
      1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/entities/FlowProcessCallbackEntity.java
  6. +67
    -0
      1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/entities/readonly/AdvertEntityRo.java
  7. +40
    -0
      2068-yexiu-read-api/src/main/java/com/yuexiu/secp/read/dto/AdvertDto.java
  8. +102
    -0
      2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/controller/AdvertController.java
  9. +34
    -0
      2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/infra/config/BpmProcessingUtil.java
  10. +46
    -0
      2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/infra/config/WorkflowApprovalStatus.java
  11. +52
    -0
      2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/IAdvertServer.java
  12. +132
    -0
      2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/impl/AdvertServer.java
  13. +4
    -2
      2068-yexiu-read-application/src/main/resources/com/yuexiu/secp/read/config/spring.mybatis.cfg.xml

+ 6
- 2
1068-yexiu-read-model-mybatis/pom.xml Visa fil

@@ -20,9 +20,13 @@
</dependency>
<dependency>
<groupId>com.sie.irradiator</groupId>
<artifactId>2069-siedemo-comm-api</artifactId>
<artifactId>2068-yexiu-read-api</artifactId>
<version>2.0.3</version>
</dependency>
<dependency>
<groupId>com.sie.irradiator</groupId>
<artifactId>5002-sieiot-eventual-consistency-component</artifactId>
</dependency>

<!--<dependency>-->
<!--<groupId>org.springframework.boot</groupId>-->
<!--<artifactId>spring-boot-starter-data-mongodb</artifactId>-->


+ 13
- 0
1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/dao/AdvertDao.java Visa fil

@@ -0,0 +1,13 @@
package com.yuexiu.secp.read.model.dao;

import com.sie.iot.common.model.dao.BaseCommonDAO_HI;
import com.yuexiu.secp.read.model.entities.AdvertEntity;
import org.springframework.stereotype.Component;

/**
* 广告维护Dao
*/
@Component("AdvertDao")
public interface AdvertDao extends BaseCommonDAO_HI<AdvertEntity> {

}

+ 11
- 0
1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/dao/readonly/AdvertDaoRO.java Visa fil

@@ -0,0 +1,11 @@
package com.yuexiu.secp.read.model.dao.readonly;


import com.siefw.hibernate.core.dao.DynamicViewObjectImpl;
import com.yuexiu.secp.read.model.entities.readonly.AdvertEntityRo;
import org.springframework.stereotype.Component;

@Component("advertDaoRO")
public interface AdvertDaoRO extends DynamicViewObjectImpl<AdvertEntityRo> {

}

+ 57
- 0
1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/entities/AdvertEntity.java Visa fil

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

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sie.iot.common.idgenerate.GeneratedKeyValue;
import com.sie.iot.common.model.entity.BaseEntity;
import com.yuexiu.secp.read.model.entities.readonly.AdvertEntityRo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

@Data
@TableName("yxh_advert")
@GeneratedKeyValue
@ApiModel(value = "广告维护表")
public class AdvertEntity implements Serializable {
@TableId(value = "advert_id", type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键id")
private Long advertId;
@ApiModelProperty(value = "排列方式")
private Integer arrangementMode;
@ApiModelProperty(value = "投放位置")
private Integer putLocation;
@ApiModelProperty(value = "显示顺序")
private Integer accordingOrder;
@ApiModelProperty(value = "开始时间")
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private Date beginTime;
@ApiModelProperty(value = "结束时间")
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private Date endTime;
@ApiModelProperty(value = "广告状态")
private Integer advertState;
@ApiModelProperty(value = "跳转路径")
private String skipUrl;
@ApiModelProperty(value = "图片路径")
private String pictureUrl;
@ApiModelProperty(value = "广告说明")
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;
}


+ 61
- 0
1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/entities/FlowProcessCallbackEntity.java Visa fil

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

import lombok.Data;

/**
* 流程回调接收实体
*/
@Data
public class FlowProcessCallbackEntity {

/**
* 流程实例id
*/
private String processInstanceId ;
/**
* 回调时间
*/
private String completeTime;
/**
* 业务id
*/
private Long id ;
/**
* 用户id
*/
private Long userId;
/**
* url
*/
private String url ;
/**
* 任务id
*/
private String taskId;
/**
* 状态
*/
private String status ;
/**
*
*/
private String processDefinitionKey;

private String procDefKey;
/**
* 当前节点key
*/
private String taskDefinitionKey;
/**
* 当前节点名称
*/
private String taskName ;
/**
* 下一个节点信息
*/
private String nextTasks;
/**
* 下一个节点信息key
*/
private String nextTaskId;
}

+ 67
- 0
1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/entities/readonly/AdvertEntityRo.java Visa fil

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

import cn.hutool.core.date.DateTime;
import com.alibaba.fastjson.annotation.JSONField;
import com.sie.iot.common.model.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

@Data
@ApiModel(value = "广告")
public class AdvertEntityRo implements Serializable {

public static final String QUERY= "SELECT\n" +
"ya.advert_id AS advertId,\n" +
"ya.arrangement_mode AS arrangementMode,\n" +
"ya.put_location AS putLocation,\n" +
"ya.according_order AS accordingOrder,\n" +
"ya.begin_time AS beginTime,\n" +
"ya.end_time AS endTime,\n" +
"ya.advert_state AS advertState,\n" +
"ya.skip_url AS skipUrl,\n" +
"ya.picture_url AS pictureUrl,\n" +
"ya.advert_explain AS advertExplain,\n" +
"ya.tenant_id AS tenantId,\n" +
"ya.created_by AS createdBy,\n" +
"ya.creation_date AS creationDate,\n" +
"ya.last_updated_by AS lastUpdatedBy,\n" +
"ya.last_update_date AS lastUpdateDate,\n" +
"ya.last_update_login AS lastUpdateLogin,\n" +
"ya.delete_flag AS deleteFlag,\n" +
"ya.version_num AS versionNum\n" +
"FROM\n" +
"yxh_advert ya\n" +
"where 1=1 \n";

@ApiModelProperty(value = "主键id")
private Long advertId;
@ApiModelProperty(value = "排列方式")
private Integer arrangementMode;
@ApiModelProperty(value = "投放位置")
private Integer putLocation;
@ApiModelProperty(value = "显示顺序")
private Integer accordingOrder;
@ApiModelProperty(value = "开始时间")
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private Date beginTime;
@ApiModelProperty(value = "结束时间")
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private Date endTime;
@ApiModelProperty(value = "广告状态")
private Integer advertState;
@ApiModelProperty(value = "跳转路径")
private String skipUrl;
@ApiModelProperty(value = "图片路径")
private String pictureUrl;
@ApiModelProperty(value = "广告说明")
private String advertExplain;
@ApiModelProperty(value = "租户id")
private Long tenantId;


}


+ 40
- 0
2068-yexiu-read-api/src/main/java/com/yuexiu/secp/read/dto/AdvertDto.java Visa fil

@@ -0,0 +1,40 @@
package com.yuexiu.secp.read.dto;

import com.alibaba.fastjson.annotation.JSONField;
import com.sie.iot.common.bean.ReqeustCommonDataBean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

@Data
@ApiModel(value = "广告维护Dto")
public class AdvertDto extends ReqeustCommonDataBean {

@ApiModelProperty(value = "主键id")
private Long advertId;
@ApiModelProperty(value = "排列方式")
private Integer arrangementMode;
@ApiModelProperty(value = "投放位置")
private Integer putLocation;
@ApiModelProperty(value = "显示顺序")
private Integer accordingOrder;
@ApiModelProperty(value = "开始时间")
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private Date beginTime;
@ApiModelProperty(value = "结束时间")
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private Date endTime;
@ApiModelProperty(value = "广告状态")
private Integer advertState;
@ApiModelProperty(value = "跳转路径")
private String skipUrl;
@ApiModelProperty(value = "图片路径")
private String pictureUrl;
@ApiModelProperty(value = "广告说明")
private String advertExplain;
@ApiModelProperty(value = "租户id")
private Long tenantId;
}

+ 102
- 0
2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/controller/AdvertController.java Visa fil

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

import com.alibaba.fastjson.JSONObject;

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.services.CommonAbstractService;
import com.sie.iot.component.exception.GushenRuntimeException;
import com.siefw.hibernate.core.paging.Pagination;
import com.yuexiu.secp.read.dto.AdvertDto;
import com.yuexiu.secp.read.model.entities.AdvertEntity;
import com.yuexiu.secp.read.model.entities.readonly.AdvertEntityRo;
import com.yuexiu.secp.read.model.service.IAdvertServer;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

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

@Autowired
private IAdvertServer iAdvertServer;

@Override
public IBaseCommon<?> getBaseCommonServer() {
return this.iAdvertServer;
}

@ApiOperation("获取广告维护表分页列表")
@PostMapping(value = "/findAdvertInfo")
public ResponseData<Pagination<AdvertEntityRo>> findTestUsersPagination(@RequestBody PaginationRequestData<AdvertDto> paginationRequestData) {
Integer pageIndex = paginationRequestData.getPageIndex();
Integer pageRows = paginationRequestData.getPageRows();
AdvertDto advertDto = paginationRequestData.getParams();
JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(advertDto));
try {
log.info("分页查询广告列表 参数:query:{}",advertDto);
Pagination<AdvertEntityRo> pagination = iAdvertServer.findAdvertPagination(jsonObject, pageIndex, pageRows, paginationRequestData.getOrderByBean());
return ResponseData.data(pagination);
} catch (Exception e) {
LOGGER.error(" find - AdvertInfo error:"+e);
throw new GushenRuntimeException(ResponseMsgCode.ERROR.msgCode, e);
}
}

@ApiOperation(value = "保存或者更新广告列表")
@PostMapping(value = "/saveOrUpdateAdvertInfo")
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){
try {
log.info("根据 primaryKey 查询广告详细 id:{}", advertId);
AdvertEntity entity = iAdvertServer.findById(advertId);
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);
if (advertEntity != null) {
advertEntity.setDeleteFlag(1);
}
iAdvertServer.update(advertEntity);
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();
// }
}

+ 34
- 0
2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/infra/config/BpmProcessingUtil.java Visa fil

@@ -0,0 +1,34 @@
package com.yuexiu.secp.read.infra.config;

import com.alibaba.fastjson.JSONObject;
import com.sie.iot.base.bean.RedisMessageContentBean;
import com.sie.iot.distribute.transation.invoke.RemoteServiceInvoke;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.util.Map;

@Component
public class BpmProcessingUtil {

private static final Logger LOGGER = LoggerFactory.getLogger(BpmProcessingUtil.class);

@Autowired
private RemoteServiceInvoke remoteServiceInvoke;

private static final String imSynchronizationKafkaTopic = "message.queue.bpm.asynchronous2";
//提交流程 加入对应的group group不存在的时候会自动创建
public void asynchronousToBpm(Map<String,Object> params){
LOGGER.info("流程提交参数:"+ JSONObject.toJSONString(params));
try {
RedisMessageContentBean redisMessageContentBean=new RedisMessageContentBean();
redisMessageContentBean.setMessageBody(JSONObject.toJSONString(params));
redisMessageContentBean.setQueueName(imSynchronizationKafkaTopic);
remoteServiceInvoke.sendMessageBody2Redis(redisMessageContentBean);
}catch (Exception e){
LOGGER.error("流程提交异常,错误信息:"+e.getMessage());
}
}
}

+ 46
- 0
2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/infra/config/WorkflowApprovalStatus.java Visa fil

@@ -0,0 +1,46 @@
package com.yuexiu.secp.read.infra.config;

/**
* 审批流程状态
*/
public enum WorkflowApprovalStatus {
DRAFT("DRAFT", "草稿"),
APPROVAL("APPROVAL", "审批中"),
ALLOW("ALLOW", "审批通过"),
REFUSAL("REFUSAL", "审批驳回"),
CLOSED("CLOSED", "已关闭");

private String index;
private String name;

WorkflowApprovalStatus(String index, String name) {
this.index = index;
this.name = name;
}

public static WorkflowApprovalStatus convert(String index){
WorkflowApprovalStatus[] statuses = WorkflowApprovalStatus.values();
for (int i = 0; i < statuses.length; i++) {
if (statuses[i].index.equals(index)){
return statuses[i];
}
}
return null;
}

public String getIndex() {
return index;
}

private void setIndex(String index) {
this.index = index;
}

public String getName() {
return name;
}

private void setName(String name) {
this.name = name;
}
}

+ 52
- 0
2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/IAdvertServer.java Visa fil

@@ -0,0 +1,52 @@
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.readonly.AdvertEntityRo;
import com.yuexiu.secp.read.model.service.impl.AdvertServer;

public interface IAdvertServer extends IBaseCommon<AdvertEntity> {

/**
* 分页查询列表
* @param jsonObject
* @return
*/
Pagination<AdvertEntityRo> findAdvertPagination(JSONObject jsonObject, Integer pageIndex, Integer pageRows, OrderByBean orderByBean);
/**
* 根据 id 查询详细
* @param *
* @return
*/
AdvertEntity findById(Long id);
/**
* 新增或者更新
* @param testUsers
* @return
*/
AdvertEntity saveOrUpdateAdvertInfo(AdvertEntity testUsers);
/**
* 提交流程
* @param advertEntity
* * @param processDefinitionKey
* @return
*/
void doCommit(AdvertEntity advertEntity,String processDefinitionKey);
/**
* 流程回调方法
* @param msgId
* * @param processDefinitionKey
* @return
*/
void updateAdvertState(@DistrTransMessageParam Long msgId, RedisMessageContentBean redisMessageContentBean);
}

+ 132
- 0
2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/impl/AdvertServer.java Visa fil

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


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.server.BaseCommonServer;
import com.sie.iot.common.util.SaafToolUtils;

import com.sie.iot.distribute.transation.annotation.DistrTransMessageConsumer;
import com.sie.iot.distribute.transation.annotation.DistrTransMessageParam;
import com.sie.iot.distribute.transation.annotation.DistrTransMessageProvider;
import com.siefw.hibernate.core.dao.ViewObject;
import com.siefw.hibernate.core.paging.Pagination;
import com.yuexiu.secp.read.infra.config.BpmProcessingUtil;
import com.yuexiu.secp.read.infra.config.WorkflowApprovalStatus;
import com.yuexiu.secp.read.model.dao.readonly.AdvertDaoRO;
import com.yuexiu.secp.read.model.entities.AdvertEntity;
import com.yuexiu.secp.read.model.entities.FlowProcessCallbackEntity;
import com.yuexiu.secp.read.model.entities.readonly.AdvertEntityRo;
import com.yuexiu.secp.read.model.service.IAdvertServer;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.Map;

@Component("advertServer")
public class AdvertServer extends BaseCommonServer<AdvertEntity> implements IAdvertServer {

@Autowired
private ViewObject<AdvertEntity> advertDao;
@Autowired
private AdvertDaoRO advertDaoRO;
@Autowired
private BpmProcessingUtil bpmProcessingUtil;

/***********流程标识***********/
/**
* 请假
*/
public final static String QJSQD = "OABUS.QINGJ";

@Override
public Pagination<AdvertEntityRo> findAdvertPagination(JSONObject jsonObject, Integer pageIndex, Integer pageRows, OrderByBean orderByBean) {
StringBuffer sql = new StringBuffer(AdvertEntityRo.QUERY);
Map<String,Object> map = new HashMap<String,Object>();
//拼接查询参数
SaafToolUtils.parperHbmParam(AdvertEntityRo.class,jsonObject,sql,map);
SaafToolUtils.changeQuerySort(jsonObject, sql, "ya.LAST_UPDATE_DATE desc", false); //排序
Pagination<AdvertEntityRo> findListResult = advertDaoRO.findPagination(sql,map,pageIndex,pageRows);
return findListResult;
}
@Override
public AdvertEntity findById(Long id) {
AdvertEntity advertEntity = advertDao.getById(id);
return advertEntity;
}

@Override
public AdvertEntity saveOrUpdateAdvertInfo(AdvertEntity advertEntity) {
try {
//判断更新还是保存
if(advertEntity.getAdvertId() != null ){
advertDao.update(advertEntity);
}else {
advertDao.save(advertEntity);
}
} catch (Exception e){
e.printStackTrace();
}
return advertEntity;
}
@Override
@DistrTransMessageProvider(desc = "leaveProvider")
public void doCommit(AdvertEntity advertEntity,String processDefinitionKey) {
//提交之前先进行保存
this.saveOrUpdateAdvertInfo(advertEntity);

//封装流程参数
Map<String,Object> map = new HashMap<>();
map.put("processDefinitionKey",processDefinitionKey);//必传 流程定义Key 指定启动哪个流程
map.put("saveonly",false);//saveonly : 为true提交流程,流程不会走到下一个节点,为false流程会走到下一个节点
map.put("businessKey", advertEntity.getAdvertId());//必传 传入业务主键
map.put("title","广告维护申请流程:"+ advertEntity.getAdvertId());
map.put("orgId", advertEntity.getTenantId());//旧版传 记录租户id
map.put("companyId", advertEntity.getTenantId());//必传 记录租户id
//map.put("systemType","demo");//非必要
map.put("applyPersonId", advertEntity.getCreatedBy());//必传 申请人id

// //非必传 ,这种是表单参数 流程变量中有用到表单字段需要在此传入
// List<Map<String,Object>> variablesList = new ArrayList<>();
// Map<String,Object> startUserId = new HashMap<>();
// startUserId.put("name","id");
// startUserId.put("type","Long");
// startUserId.put("value", advertEntity.getAdvertId());
// map.put("variables",variablesList);// 非必传 ,流程变量中用到的变量需要在此传入

if ("草稿".equals(advertEntity.getAdvertState())){
//提交流程
bpmProcessingUtil.asynchronousToBpm(map);
}
}
/**
* 工作流每走一步都会在这里有一条消息 判断不同的状态 更新不同的业务表
* @param msgId
* @param redisMessageContentBean
*/
@Override
@DistrTransMessageConsumer(desc = "updateAdvertState")
public void updateAdvertState(@DistrTransMessageParam Long msgId, RedisMessageContentBean redisMessageContentBean) {
String payload = redisMessageContentBean.getMessageBody();
FlowProcessCallbackEntity callbackEntity = JSONObject.parseObject(payload, FlowProcessCallbackEntity.class);
//看下是不是 请假的流程标识
if (QJSQD.equals(callbackEntity.getProcDefKey())){
AdvertEntity entity = advertDao.getById(callbackEntity.getId());
//审批通过
if (WorkflowApprovalStatus.ALLOW.getIndex().equals(callbackEntity.getStatus())){
entity.setAdvertState(001);
//处理其他业务 发邮件 什么的
advertDao.update(entity);
//驳回
} else if (WorkflowApprovalStatus.REFUSAL.getIndex().equals(callbackEntity.getStatus())){
entity.setAdvertState(002);
advertDao.update(entity);
//审批中
}else if (WorkflowApprovalStatus.APPROVAL.getIndex().equals(callbackEntity.getStatus())){
entity.setAdvertState(003);
advertDao.update(entity);
}
}
}
}

+ 4
- 2
2068-yexiu-read-application/src/main/resources/com/yuexiu/secp/read/config/spring.mybatis.cfg.xml Visa fil

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

</bean>

<!-- 配置事务的传播特性 -->
@@ -149,7 +150,8 @@
<!-- 那些类的哪些方法参与事务 -->
<aop:config><!--|| execution(* com.sie.saaf.*.model.dao.readonly.*.*(..))-->
<aop:pointcut id="businessService" expression="execution(* com.yuexiu.secp.read.model.service.impl.*.*(..))
|| execution(* com.sie.iot.common.model.inter.server.*.*(..))"/>
|| execution(* com.sie.iot.common.model.inter.server.*.*(..))
|| execution(* com.sie.iot.base.model.inter.server.*.*(..))"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="businessService" order="0"/>
</aop:config>



Laddar…
Avbryt
Spara