记得上下班打卡 | git大法好,push需谨慎

Commit e284fd6d authored by 姜秀龙's avatar 姜秀龙

Merge branch 'refs/heads/jxl-baoming' into test-ecs

parents 2e8d07d0 cc454230
package com.liquidnet.service.sweet.dto.param;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
import java.util.Map;
@ApiModel(value = "SweetFormSubmissionParam", description = "动态表单报名入参")
@Data
public class SweetFormSubmissionParam implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(position = 1, required = true, value = "活动名称/标识", example = "talent_2026_spring")
@NotBlank(message = "请填写活动名称")
private String activityName;
@ApiModelProperty(position = 2, required = true, value = "报名字段与值,key 为字段名")
@NotEmpty(message = "请填写报名信息")
private Map<String, Object> data;
}
package com.liquidnet.service.sweet.service;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.dto.param.SweetFormSubmissionParam;
/**
* 动态表单报名
*/
public interface ISweetFormSubmissionService {
ResponseDto<Boolean> submit(SweetFormSubmissionParam param);
}
package com.liquidnet.service.sweet.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 动态表单报名提交表
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class SweetFormSubmission implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Long mid;
/**
* 提交ID
*/
private String submissionId;
/**
* 活动名称/标识
*/
private String activityName;
/**
* 报名数据 JSON
*/
private String data;
/**
* 创建时间
*/
private LocalDateTime createdAt;
/**
* 更新时间
*/
private LocalDateTime updatedAt;
}
package com.liquidnet.service.sweet.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.liquidnet.service.sweet.entity.SweetFormSubmission;
/**
* 动态表单报名提交表 Mapper
*/
public interface SweetFormSubmissionMapper extends BaseMapper<SweetFormSubmission> {
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.liquidnet.service.sweet.mapper.SweetFormSubmissionMapper">
</mapper>
-- 动态表单报名提交表
DROP TABLE IF EXISTS `sweet_form_submission`;
CREATE TABLE `sweet_form_submission`
(
`mid` bigint unsigned NOT NULL AUTO_INCREMENT primary key,
`submission_id` varchar(64) NOT NULL DEFAULT '' COMMENT '提交ID',
`activity_name` varchar(128) NOT NULL DEFAULT '' COMMENT '活动名称/标识',
`data` json NOT NULL COMMENT '报名数据JSON',
`created_at` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_at` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
KEY `idx_submission_id` (`submission_id`),
KEY `idx_activity_name` (`activity_name`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_unicode_ci
ROW_FORMAT = DYNAMIC COMMENT ='动态表单报名提交表';
package com.liquidnet.service.sweet.controller;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.dto.param.SweetFormSubmissionParam;
import com.liquidnet.service.sweet.service.ISweetFormSubmissionService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid;
/**
* 动态表单报名
*/
@Api(tags = "动态表单报名")
@RestController
@RequestMapping("/form")
public class SweetFormSubmissionController {
@Autowired
private ISweetFormSubmissionService sweetFormSubmissionService;
@PostMapping("submit")
@ApiOperation("提交报名")
public ResponseDto<Boolean> submit(@Valid @RequestBody SweetFormSubmissionParam param) {
return sweetFormSubmissionService.submit(param);
}
}
package com.liquidnet.service.sweet.service.impl;
import com.alibaba.fastjson.JSON;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.sweet.dto.param.SweetFormSubmissionParam;
import com.liquidnet.service.sweet.service.ISweetFormSubmissionService;
import com.liquidnet.service.sweet.utils.QueueUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.LinkedList;
/**
* 动态表单报名
*/
@Service
public class SweetFormSubmissionServiceImpl implements ISweetFormSubmissionService {
@Autowired
private QueueUtils queueUtils;
@Override
public ResponseDto<Boolean> submit(SweetFormSubmissionParam param) {
String submissionId = IDGenerator.nextSnowId();
String activityName = param.getActivityName().trim();
String dataJson = JSON.toJSONString(param.getData());
LinkedList<String> sqls = CollectionUtil.linkedListString();
LinkedList<Object[]> sqlsDataA = CollectionUtil.linkedListObjectArr();
sqls.add(SqlMapping.get("sweet_form_submission.insert"));
sqlsDataA.add(new Object[]{submissionId, activityName, dataJson});
queueUtils.sendMsgByRedis(MQConst.SweetQueue.SWEET_ANSWER_INSERT.getKey(),
SqlMapping.gets(sqls, sqlsDataA));
return ResponseDto.success(true);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment