Browse Source

查询签到信息

master
zhangye 6 years ago
parent
commit
159467aa64
  1. 28
      cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/PluginVo.java
  2. 12
      cloudutil/src/main/java/com/ccsens/cloudutil/feign/TallFeignClient.java
  3. 41
      mt/src/main/java/com/ccsens/mt/api/SigninController.java
  4. 12
      mt/src/main/java/com/ccsens/mt/bean/po/MtSigninOther.java
  5. 48
      mt/src/main/java/com/ccsens/mt/bean/po/MtSigninOtherExample.java
  6. 32
      mt/src/main/java/com/ccsens/mt/bean/vo/SigninVo.java
  7. 8
      mt/src/main/java/com/ccsens/mt/persist/dao/MtSigninBasicDao.java
  8. 8
      mt/src/main/java/com/ccsens/mt/persist/dao/MtSigninOtherDao.java
  9. 2
      mt/src/main/java/com/ccsens/mt/service/ISigninService.java
  10. 75
      mt/src/main/java/com/ccsens/mt/service/SigninService.java
  11. 28
      mt/src/main/resources/mapper_raw/MtSigninOtherMapper.xml
  12. 19
      tall/src/main/java/com/ccsens/tall/bean/vo/PluginVo.java
  13. 2
      tall/src/main/java/com/ccsens/tall/service/ISysPluginService.java
  14. 45
      tall/src/main/java/com/ccsens/tall/service/SysPluginService.java
  15. 12
      tall/src/main/java/com/ccsens/tall/web/PluginController.java

28
cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/PluginVo.java

@ -0,0 +1,28 @@
package com.ccsens.cloudutil.bean.tall.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class PluginVo {
@ApiModel
@Data
public static class PluginSignField{
@ApiModelProperty("变量名")
private String name;
@ApiModelProperty("展示名")
private String description;
@ApiModelProperty("类型 0文本 1文本框 2单选 3多选")
private int type;
@ApiModelProperty("类型值(文本,单选,多选,展示的内容 例:{\"1\":\"男\",\"2\":\"女\"},)")
private String fieldValue;
@ApiModelProperty("正则表达式")
private String format;
@ApiModelProperty("是否必填")
private int isRequired;
@ApiModelProperty("是否支持模糊查询")
private int isFuzzy;
}
}

12
cloudutil/src/main/java/com/ccsens/cloudutil/feign/TallFeignClient.java

@ -5,6 +5,7 @@ import com.ccsens.cloudutil.bean.tall.dto.LogDto;
import com.ccsens.cloudutil.bean.tall.dto.MemberRoleDto; import com.ccsens.cloudutil.bean.tall.dto.MemberRoleDto;
import com.ccsens.cloudutil.bean.tall.dto.UserDto; import com.ccsens.cloudutil.bean.tall.dto.UserDto;
import com.ccsens.cloudutil.bean.tall.vo.MemberVo; import com.ccsens.cloudutil.bean.tall.vo.MemberVo;
import com.ccsens.cloudutil.bean.tall.vo.PluginVo;
import com.ccsens.cloudutil.bean.tall.vo.TaskVo; import com.ccsens.cloudutil.bean.tall.vo.TaskVo;
import com.ccsens.cloudutil.bean.tall.vo.UserVo; import com.ccsens.cloudutil.bean.tall.vo.UserVo;
import com.ccsens.util.JsonResponse; import com.ccsens.util.JsonResponse;
@ -109,6 +110,12 @@ public interface TallFeignClient {
@GetMapping("/users/claims") @GetMapping("/users/claims")
String getUserId(@RequestParam( name = "token")String token); String getUserId(@RequestParam( name = "token")String token);
/**
* 通过插件id获取签到字段和详细信息
*/
@GetMapping("/plugins/sign")
List<PluginVo.PluginSignField> getSignFieldByTaskPluginId(Long taskPluginId);
} }
@Slf4j @Slf4j
@ -171,6 +178,11 @@ class TallFeignClientFallBack implements FallbackFactory<TallFeignClient> {
public String getUserId(String token) { public String getUserId(String token) {
return null; return null;
} }
@Override
public List<PluginVo.PluginSignField> getSignFieldByTaskPluginId(Long taskPluginId){
return null;
}
}; };
} }

41
mt/src/main/java/com/ccsens/mt/api/SigninController.java

@ -26,20 +26,47 @@ public class SigninController {
@Autowired @Autowired
private ISigninService signinService; private ISigninService signinService;
@ApiOperation(value = "签到", notes = "") @ApiOperation(value = "查看签到需要的信息", notes = "")
@ApiImplicitParams({ @ApiImplicitParams({
}) })
@RequestMapping(value = "", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "info", method = RequestMethod.GET, produces = {"application/json;charset=UTF-8"})
public JsonResponse<SigninVo.SigninVoInfo> signin(HttpServletRequest request, public JsonResponse<SigninVo.SignInfoVo> getSignField(HttpServletRequest request,
@ApiParam @Validated @RequestBody SigninDto.SigninInfo signinInfo) throws Exception { @ApiParam @Validated @RequestBody Long taskPluginId) throws Exception {
log.info("{}:签到"); log.info("{}:查看签到需要填的信息");
//获取userId //获取userId
Long userId = userService.getUserIdByToken(request); Long userId = userService.getUserIdByToken(request);
SigninVo.SigninVoInfo signinVoInfo = signinService.signin(signinInfo,userId); SigninVo.SignInfoVo signInfoVo = signinService.getSignField(taskPluginId,userId);
return JsonResponse.newInstance().ok(signinVoInfo); return JsonResponse.newInstance().ok(signInfoVo);
} }
// @ApiOperation(value = "模糊查询签到信息", notes = "")
// @ApiImplicitParams({
// })
// @RequestMapping(value = "fuzzy", method = RequestMethod.GET, produces = {"application/json;charset=UTF-8"})
// public JsonResponse<SigninVo.SignInfoVo> getSignByFuzzy(HttpServletRequest request,
// @ApiParam @Validated @RequestBody Long projectId,String signinName,String key) throws Exception {
// log.info("{}:查看签到需要填的信息");
// //获取userId
// Long userId = userService.getUserIdByToken(request);
//
// return JsonResponse.newInstance().ok(signInfoVo);
// }
// @ApiOperation(value = "签到", notes = "")
// @ApiImplicitParams({
// })
// @RequestMapping(value = "", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
// public JsonResponse<SigninVo.SigninVoInfo> signin(HttpServletRequest request,
// @ApiParam @Validated @RequestBody SigninDto.SigninInfo signinInfo) throws Exception {
// log.info("{}:签到");
// //获取userId
// Long userId = userService.getUserIdByToken(request);
// SigninVo.SigninVoInfo signinVoInfo = signinService.signin(signinInfo,userId);
//
// return JsonResponse.newInstance().ok(signinVoInfo);
// }
@ApiOperation(value = "查看自己的签到信息", notes = "") @ApiOperation(value = "查看自己的签到信息", notes = "")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "taskId", value = "签到任务的id", required = true, paramType = ""), @ApiImplicitParam(name = "taskId", value = "签到任务的id", required = true, paramType = ""),

12
mt/src/main/java/com/ccsens/mt/bean/po/MtSigninOther.java

@ -6,7 +6,7 @@ import java.util.Date;
public class MtSigninOther implements Serializable { public class MtSigninOther implements Serializable {
private Long id; private Long id;
private Long userId; private Long signinBasicId;
private String key; private String key;
@ -28,12 +28,12 @@ public class MtSigninOther implements Serializable {
this.id = id; this.id = id;
} }
public Long getUserId() { public Long getSigninBasicId() {
return userId; return signinBasicId;
} }
public void setUserId(Long userId) { public void setSigninBasicId(Long signinBasicId) {
this.userId = userId; this.signinBasicId = signinBasicId;
} }
public String getKey() { public String getKey() {
@ -83,7 +83,7 @@ public class MtSigninOther implements Serializable {
sb.append(" ["); sb.append(" [");
sb.append("Hash = ").append(hashCode()); sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id); sb.append(", id=").append(id);
sb.append(", userId=").append(userId); sb.append(", signinBasicId=").append(signinBasicId);
sb.append(", key=").append(key); sb.append(", key=").append(key);
sb.append(", value=").append(value); sb.append(", value=").append(value);
sb.append(", createdAt=").append(createdAt); sb.append(", createdAt=").append(createdAt);

48
mt/src/main/java/com/ccsens/mt/bean/po/MtSigninOtherExample.java

@ -165,63 +165,63 @@ public class MtSigninOtherExample {
return (Criteria) this; return (Criteria) this;
} }
public Criteria andUserIdIsNull() { public Criteria andSigninBasicIdIsNull() {
addCriterion("user_id is null"); addCriterion("signin_basic_id is null");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andUserIdIsNotNull() { public Criteria andSigninBasicIdIsNotNull() {
addCriterion("user_id is not null"); addCriterion("signin_basic_id is not null");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andUserIdEqualTo(Long value) { public Criteria andSigninBasicIdEqualTo(Long value) {
addCriterion("user_id =", value, "userId"); addCriterion("signin_basic_id =", value, "signinBasicId");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andUserIdNotEqualTo(Long value) { public Criteria andSigninBasicIdNotEqualTo(Long value) {
addCriterion("user_id <>", value, "userId"); addCriterion("signin_basic_id <>", value, "signinBasicId");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andUserIdGreaterThan(Long value) { public Criteria andSigninBasicIdGreaterThan(Long value) {
addCriterion("user_id >", value, "userId"); addCriterion("signin_basic_id >", value, "signinBasicId");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andUserIdGreaterThanOrEqualTo(Long value) { public Criteria andSigninBasicIdGreaterThanOrEqualTo(Long value) {
addCriterion("user_id >=", value, "userId"); addCriterion("signin_basic_id >=", value, "signinBasicId");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andUserIdLessThan(Long value) { public Criteria andSigninBasicIdLessThan(Long value) {
addCriterion("user_id <", value, "userId"); addCriterion("signin_basic_id <", value, "signinBasicId");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andUserIdLessThanOrEqualTo(Long value) { public Criteria andSigninBasicIdLessThanOrEqualTo(Long value) {
addCriterion("user_id <=", value, "userId"); addCriterion("signin_basic_id <=", value, "signinBasicId");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andUserIdIn(List<Long> values) { public Criteria andSigninBasicIdIn(List<Long> values) {
addCriterion("user_id in", values, "userId"); addCriterion("signin_basic_id in", values, "signinBasicId");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andUserIdNotIn(List<Long> values) { public Criteria andSigninBasicIdNotIn(List<Long> values) {
addCriterion("user_id not in", values, "userId"); addCriterion("signin_basic_id not in", values, "signinBasicId");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andUserIdBetween(Long value1, Long value2) { public Criteria andSigninBasicIdBetween(Long value1, Long value2) {
addCriterion("user_id between", value1, value2, "userId"); addCriterion("signin_basic_id between", value1, value2, "signinBasicId");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andUserIdNotBetween(Long value1, Long value2) { public Criteria andSigninBasicIdNotBetween(Long value1, Long value2) {
addCriterion("user_id not between", value1, value2, "userId"); addCriterion("signin_basic_id not between", value1, value2, "signinBasicId");
return (Criteria) this; return (Criteria) this;
} }

32
mt/src/main/java/com/ccsens/mt/bean/vo/SigninVo.java

@ -4,6 +4,8 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.List;
@Data @Data
public class SigninVo { public class SigninVo {
@Data @Data
@ -18,4 +20,34 @@ public class SigninVo {
@ApiModelProperty("签到时间") @ApiModelProperty("签到时间")
private Long signTime; private Long signTime;
} }
@Data
@ApiModel
public static class SignInfoVo{
@ApiModelProperty("是否已签到 0未签到 1已签到")
private Integer isSign;
@ApiModelProperty("签到时间")
private Long signTime;
@ApiModelProperty("序号")
private int sequence;
@ApiModelProperty("签到字段")
private List<SignField> signField;
}
@Data
@ApiModel
public static class SignField{
@ApiModelProperty("字段名")
private String name;
@ApiModelProperty("内容")
private String value;
@ApiModelProperty("类型 0文本,1文本框,2单选,3多选")
private int type;
@ApiModelProperty("类型值(文本,单选,多选,展示的内容 例:{\"1\":\"男\",\"2\":\"女\"})")
private String field;
@ApiModelProperty("是否必填")
private int isRequired;
@ApiModelProperty("是否支持模糊查询")
private int isFuzzy;
}
} }

8
mt/src/main/java/com/ccsens/mt/persist/dao/MtSigninBasicDao.java

@ -0,0 +1,8 @@
package com.ccsens.mt.persist.dao;
import com.ccsens.mt.persist.mapper.MtSigninBasicMapper;
import org.springframework.stereotype.Repository;
@Repository
public interface MtSigninBasicDao extends MtSigninBasicMapper {
}

8
mt/src/main/java/com/ccsens/mt/persist/dao/MtSigninOtherDao.java

@ -0,0 +1,8 @@
package com.ccsens.mt.persist.dao;
import com.ccsens.mt.persist.mapper.MtSigninOtherMapper;
import org.springframework.stereotype.Repository;
@Repository
public interface MtSigninOtherDao extends MtSigninOtherMapper {
}

2
mt/src/main/java/com/ccsens/mt/service/ISigninService.java

@ -11,4 +11,6 @@ public interface ISigninService {
SigninVo.SigninVoInfo getSignByTaskId(Long taskId, Long userId); SigninVo.SigninVoInfo getSignByTaskId(Long taskId, Long userId);
List<SigninVo.SigninVoInfo> getSignAllByTaskId(Long taskId, Long userId); List<SigninVo.SigninVoInfo> getSignAllByTaskId(Long taskId, Long userId);
SigninVo.SignInfoVo getSignField(Long taskPluginId, Long userId);
} }

75
mt/src/main/java/com/ccsens/mt/service/SigninService.java

@ -2,11 +2,15 @@ package com.ccsens.mt.service;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Snowflake; import cn.hutool.core.lang.Snowflake;
import cn.hutool.core.util.ObjectUtil;
import com.ccsens.cloudutil.bean.tall.vo.PluginVo;
import com.ccsens.cloudutil.feign.TallFeignClient;
import com.ccsens.mt.bean.dto.SigninDto; import com.ccsens.mt.bean.dto.SigninDto;
import com.ccsens.mt.bean.po.MtSignin; import com.ccsens.mt.bean.po.*;
import com.ccsens.mt.bean.po.MtSigninExample;
import com.ccsens.mt.bean.vo.SigninVo; import com.ccsens.mt.bean.vo.SigninVo;
import com.ccsens.mt.persist.dao.MtSigninBasicDao;
import com.ccsens.mt.persist.dao.MtSigninDao; import com.ccsens.mt.persist.dao.MtSigninDao;
import com.ccsens.mt.persist.dao.MtSigninOtherDao;
import com.ccsens.util.CodeEnum; import com.ccsens.util.CodeEnum;
import com.ccsens.util.exception.BaseException; import com.ccsens.util.exception.BaseException;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -21,6 +25,73 @@ public class SigninService implements ISigninService{
private MtSigninDao mtSigninDao; private MtSigninDao mtSigninDao;
@Autowired @Autowired
private Snowflake snowflake; private Snowflake snowflake;
@Autowired
private MtSigninBasicDao signinBasicDao;
@Autowired
private MtSigninOtherDao signinOtherDao;
@Autowired
private TallFeignClient tallFeignClient;
/**
* 查看签到所需信息
* @param taskPluginId
* @param userId
* @return
*/
@Override
public SigninVo.SignInfoVo getSignField(Long taskPluginId, Long userId) {
SigninVo.SignInfoVo signInfoVo = new SigninVo.SignInfoVo();
//1.判断用户是否已签到
MtSigninBasicExample signinBasicExample = new MtSigninBasicExample();
signinBasicExample.createCriteria().andUserIdEqualTo(userId).andTaskPluginIdEqualTo(taskPluginId);
List<MtSigninBasic> signinBasicList = signinBasicDao.selectByExample(signinBasicExample);
if(CollectionUtil.isNotEmpty(signinBasicList)){
MtSigninBasic mtSigninBasic = signinBasicList.get(0);
//已签到,返回签到的信息
List<SigninVo.SignField> signFieldList = new ArrayList<>();
MtSigninOtherExample signinOtherExample = new MtSigninOtherExample();
signinOtherExample.createCriteria().andSigninBasicIdEqualTo(mtSigninBasic.getId());
List<MtSigninOther> signinOtherList = signinOtherDao.selectByExample(signinOtherExample);
if(CollectionUtil.isNotEmpty(signinOtherList)){
for (MtSigninOther signinOther : signinOtherList){
SigninVo.SignField signField = new SigninVo.SignField();
signField.setName(signinOther.getKey());
signField.setValue(signinOther.getValue());
signFieldList.add(signField);
}
}
signInfoVo.setIsSign(1);
signInfoVo.setSequence(mtSigninBasic.getSequence());
signInfoVo.setSignTime(mtSigninBasic.getSigninTime());
signInfoVo.setSignField(signFieldList);
}else{
//获取字段详细的信息
List<SigninVo.SignField> signFieldList = new ArrayList<>();
List<PluginVo.PluginSignField> pluginSignFieldList = tallFeignClient.getSignFieldByTaskPluginId(taskPluginId);
if(CollectionUtil.isNotEmpty(pluginSignFieldList)){
for(PluginVo.PluginSignField pluginSignField : pluginSignFieldList) {
SigninVo.SignField signField = new SigninVo.SignField();
signField.setName(pluginSignField.getDescription());
signField.setField(pluginSignField.getFieldValue());
signField.setIsFuzzy(pluginSignField.getIsFuzzy());
signField.setIsRequired(pluginSignField.getIsRequired());
signField.setType(pluginSignField.getType());
signFieldList.add(signField);
}
}
signInfoVo.setIsSign(0);
signInfoVo.setSignField(signFieldList);
}
return signInfoVo;
}
/*=====================================================================================================*/
/** /**
* 签到 * 签到

28
mt/src/main/resources/mapper_raw/MtSigninOtherMapper.xml

@ -3,7 +3,7 @@
<mapper namespace="com.ccsens.mt.persist.mapper.MtSigninOtherMapper"> <mapper namespace="com.ccsens.mt.persist.mapper.MtSigninOtherMapper">
<resultMap id="BaseResultMap" type="com.ccsens.mt.bean.po.MtSigninOther"> <resultMap id="BaseResultMap" type="com.ccsens.mt.bean.po.MtSigninOther">
<id column="id" jdbcType="BIGINT" property="id" /> <id column="id" jdbcType="BIGINT" property="id" />
<result column="user_id" jdbcType="BIGINT" property="userId" /> <result column="signin_basic_id" jdbcType="BIGINT" property="signinBasicId" />
<result column="key" jdbcType="VARCHAR" property="key" /> <result column="key" jdbcType="VARCHAR" property="key" />
<result column="value" jdbcType="VARCHAR" property="value" /> <result column="value" jdbcType="VARCHAR" property="value" />
<result column="created_at" jdbcType="TIMESTAMP" property="createdAt" /> <result column="created_at" jdbcType="TIMESTAMP" property="createdAt" />
@ -69,7 +69,7 @@
</where> </where>
</sql> </sql>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id, user_id, key, value, created_at, updated_at, rec_status id, signin_basic_id, key, value, created_at, updated_at, rec_status
</sql> </sql>
<select id="selectByExample" parameterType="com.ccsens.mt.bean.po.MtSigninOtherExample" resultMap="BaseResultMap"> <select id="selectByExample" parameterType="com.ccsens.mt.bean.po.MtSigninOtherExample" resultMap="BaseResultMap">
select select
@ -102,10 +102,10 @@
</if> </if>
</delete> </delete>
<insert id="insert" parameterType="com.ccsens.mt.bean.po.MtSigninOther"> <insert id="insert" parameterType="com.ccsens.mt.bean.po.MtSigninOther">
insert into t_mt_signin_other (id, user_id, key, insert into t_mt_signin_other (id, signin_basic_id, key,
value, created_at, updated_at, value, created_at, updated_at,
rec_status) rec_status)
values (#{id,jdbcType=BIGINT}, #{userId,jdbcType=BIGINT}, #{key,jdbcType=VARCHAR}, values (#{id,jdbcType=BIGINT}, #{signinBasicId,jdbcType=BIGINT}, #{key,jdbcType=VARCHAR},
#{value,jdbcType=VARCHAR}, #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, #{value,jdbcType=VARCHAR}, #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP},
#{recStatus,jdbcType=TINYINT}) #{recStatus,jdbcType=TINYINT})
</insert> </insert>
@ -115,8 +115,8 @@
<if test="id != null"> <if test="id != null">
id, id,
</if> </if>
<if test="userId != null"> <if test="signinBasicId != null">
user_id, signin_basic_id,
</if> </if>
<if test="key != null"> <if test="key != null">
key, key,
@ -138,8 +138,8 @@
<if test="id != null"> <if test="id != null">
#{id,jdbcType=BIGINT}, #{id,jdbcType=BIGINT},
</if> </if>
<if test="userId != null"> <if test="signinBasicId != null">
#{userId,jdbcType=BIGINT}, #{signinBasicId,jdbcType=BIGINT},
</if> </if>
<if test="key != null"> <if test="key != null">
#{key,jdbcType=VARCHAR}, #{key,jdbcType=VARCHAR},
@ -170,8 +170,8 @@
<if test="record.id != null"> <if test="record.id != null">
id = #{record.id,jdbcType=BIGINT}, id = #{record.id,jdbcType=BIGINT},
</if> </if>
<if test="record.userId != null"> <if test="record.signinBasicId != null">
user_id = #{record.userId,jdbcType=BIGINT}, signin_basic_id = #{record.signinBasicId,jdbcType=BIGINT},
</if> </if>
<if test="record.key != null"> <if test="record.key != null">
key = #{record.key,jdbcType=VARCHAR}, key = #{record.key,jdbcType=VARCHAR},
@ -196,7 +196,7 @@
<update id="updateByExample" parameterType="map"> <update id="updateByExample" parameterType="map">
update t_mt_signin_other update t_mt_signin_other
set id = #{record.id,jdbcType=BIGINT}, set id = #{record.id,jdbcType=BIGINT},
user_id = #{record.userId,jdbcType=BIGINT}, signin_basic_id = #{record.signinBasicId,jdbcType=BIGINT},
key = #{record.key,jdbcType=VARCHAR}, key = #{record.key,jdbcType=VARCHAR},
value = #{record.value,jdbcType=VARCHAR}, value = #{record.value,jdbcType=VARCHAR},
created_at = #{record.createdAt,jdbcType=TIMESTAMP}, created_at = #{record.createdAt,jdbcType=TIMESTAMP},
@ -209,8 +209,8 @@
<update id="updateByPrimaryKeySelective" parameterType="com.ccsens.mt.bean.po.MtSigninOther"> <update id="updateByPrimaryKeySelective" parameterType="com.ccsens.mt.bean.po.MtSigninOther">
update t_mt_signin_other update t_mt_signin_other
<set> <set>
<if test="userId != null"> <if test="signinBasicId != null">
user_id = #{userId,jdbcType=BIGINT}, signin_basic_id = #{signinBasicId,jdbcType=BIGINT},
</if> </if>
<if test="key != null"> <if test="key != null">
key = #{key,jdbcType=VARCHAR}, key = #{key,jdbcType=VARCHAR},
@ -232,7 +232,7 @@
</update> </update>
<update id="updateByPrimaryKey" parameterType="com.ccsens.mt.bean.po.MtSigninOther"> <update id="updateByPrimaryKey" parameterType="com.ccsens.mt.bean.po.MtSigninOther">
update t_mt_signin_other update t_mt_signin_other
set user_id = #{userId,jdbcType=BIGINT}, set signin_basic_id = #{signinBasicId,jdbcType=BIGINT},
key = #{key,jdbcType=VARCHAR}, key = #{key,jdbcType=VARCHAR},
value = #{value,jdbcType=VARCHAR}, value = #{value,jdbcType=VARCHAR},
created_at = #{createdAt,jdbcType=TIMESTAMP}, created_at = #{createdAt,jdbcType=TIMESTAMP},

19
tall/src/main/java/com/ccsens/tall/bean/vo/PluginVo.java

@ -19,4 +19,23 @@ public class PluginVo {
@ApiModelProperty("描述") @ApiModelProperty("描述")
private String description; private String description;
} }
@ApiModel
@Data
public static class PluginSignField{
@ApiModelProperty("变量名")
private String name;
@ApiModelProperty("展示名")
private String description;
@ApiModelProperty("类型 0文本 1文本框 2单选 3多选")
private int type;
@ApiModelProperty("类型值(文本,单选,多选,展示的内容 例:{\"1\":\"男\",\"2\":\"女\"},)")
private String fieldValue;
@ApiModelProperty("正则表达式")
private String format;
@ApiModelProperty("是否必填")
private int isRequired;
@ApiModelProperty("是否支持模糊查询")
private int isFuzzy;
}
} }

2
tall/src/main/java/com/ccsens/tall/service/ISysPluginService.java

@ -6,4 +6,6 @@ import java.util.List;
public interface ISysPluginService { public interface ISysPluginService {
List<PluginVo.PluginInfo> getPluginAll(); List<PluginVo.PluginInfo> getPluginAll();
List<PluginVo.PluginSignField> getSignByPlugin(Long taskPluginId);
} }

45
tall/src/main/java/com/ccsens/tall/service/SysPluginService.java

@ -1,6 +1,13 @@
package com.ccsens.tall.service; package com.ccsens.tall.service;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import com.ccsens.tall.bean.po.ProPluginSignin;
import com.ccsens.tall.bean.po.ProPluginSigninExample;
import com.ccsens.tall.bean.po.SigninField;
import com.ccsens.tall.bean.vo.PluginVo; import com.ccsens.tall.bean.vo.PluginVo;
import com.ccsens.tall.persist.dao.ProPluginSigninDao;
import com.ccsens.tall.persist.dao.SigninFieldDao;
import com.ccsens.tall.persist.dao.SysPluginDao; import com.ccsens.tall.persist.dao.SysPluginDao;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -8,6 +15,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List; import java.util.List;
@Slf4j @Slf4j
@ -16,9 +24,46 @@ import java.util.List;
public class SysPluginService implements ISysPluginService{ public class SysPluginService implements ISysPluginService{
@Autowired @Autowired
private SysPluginDao sysPluginDao; private SysPluginDao sysPluginDao;
@Autowired
private ProPluginSigninDao pluginSigninDao;
@Autowired
private SigninFieldDao signinFieldDao;
@Override @Override
public List<PluginVo.PluginInfo> getPluginAll() { public List<PluginVo.PluginInfo> getPluginAll() {
List<PluginVo.PluginInfo> pluginInfoList = sysPluginDao.selectPluginAll(); List<PluginVo.PluginInfo> pluginInfoList = sysPluginDao.selectPluginAll();
return pluginInfoList; return pluginInfoList;
} }
/**
* 透过插件id查询签到的信息
*/
@Override
public List<PluginVo.PluginSignField> getSignByPlugin(Long taskPluginId) {
List<PluginVo.PluginSignField> pluginSignFieldList = new ArrayList<>();
PluginVo.PluginSignField pluginSignField = null;
//查找插件下的签到字段
ProPluginSigninExample pluginSigninExample = new ProPluginSigninExample();
pluginSigninExample.createCriteria().andTaskPluginIdEqualTo(taskPluginId);
List<ProPluginSignin> proPluginSigninList = pluginSigninDao.selectByExample(pluginSigninExample);
if(CollectionUtil.isNotEmpty(proPluginSigninList)){
for(ProPluginSignin pluginSignin : proPluginSigninList){
pluginSignField = new PluginVo.PluginSignField();
pluginSignField.setIsFuzzy(pluginSignin.getIsFuzzy());
pluginSignField.setIsRequired(pluginSignin.getIsRequired());
//查找字段的详细信息
SigninField signinField = signinFieldDao.selectByPrimaryKey(pluginSignin.getSigninFieldId());
if(ObjectUtil.isNotNull(signinField)){
pluginSignField.setName(signinField.getName());
pluginSignField.setDescription(signinField.getDescription());
pluginSignField.setType(signinField.getType());
pluginSignField.setFieldValue(signinField.getFieldValue());
pluginSignField.setFormat(signinField.getFormat());
}
pluginSignFieldList.add(pluginSignField);
}
}
return pluginSignFieldList;
}
} }

12
tall/src/main/java/com/ccsens/tall/web/PluginController.java

@ -1,5 +1,6 @@
package com.ccsens.tall.web; package com.ccsens.tall.web;
import com.ccsens.tall.bean.vo.MemberVo;
import com.ccsens.tall.bean.vo.PluginVo; import com.ccsens.tall.bean.vo.PluginVo;
import com.ccsens.tall.service.ISysPluginService; import com.ccsens.tall.service.ISysPluginService;
import com.ccsens.util.JsonResponse; import com.ccsens.util.JsonResponse;
@ -34,4 +35,15 @@ public class PluginController {
return JsonResponse.newInstance().ok(pluginInfo); return JsonResponse.newInstance().ok(pluginInfo);
} }
/**
* 透过插件id查询签到的信息
*/
@RequestMapping(value = "sign", method = RequestMethod.GET, produces = {"application/json;charset=UTF-8"})
public JsonResponse<PluginVo.PluginSignField> getSignByPlugin( Long taskPluginId) throws Exception {
List<PluginVo.PluginSignField> pluginSignFieldList = sysPluginService.getSignByPlugin(taskPluginId);
return JsonResponse.newInstance().ok(pluginSignFieldList);
}
} }

Loading…
Cancel
Save