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

Commit ec009028 authored by wangyifan's avatar wangyifan

Merge branch 'master' into dev-wyf-partner

parents 9d326f4c 0146c258
ALTER TABLE `smile_volunteers`
ADD COLUMN `nation` varchar(16) NOT NULL DEFAULT '' COMMENT '民族' AFTER `sex`;
package com.liquidnet.service.goblin.constant;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
/**
* 中国民族(GB/T 3304),汉族置顶便于前端默认选中。
*/
public final class NationConst {
private NationConst() {
}
public static final List<String> NATIONS = Collections.unmodifiableList(Arrays.asList(
"汉族", "蒙古族", "回族", "藏族", "维吾尔族", "苗族", "彝族", "壮族", "布依族", "朝鲜族",
"满族", "侗族", "瑶族", "白族", "土家族", "哈尼族", "哈萨克族", "傣族", "黎族", "傈僳族",
"佤族", "畲族", "高山族", "拉祜族", "水族", "东乡族", "纳西族", "景颇族", "柯尔克孜族", "土族",
"达斡尔族", "仫佬族", "羌族", "布朗族", "撒拉族", "毛南族", "仡佬族", "锡伯族", "阿昌族", "普米族",
"塔吉克族", "怒族", "乌孜别克族", "俄罗斯族", "鄂温克族", "德昂族", "保安族", "裕固族", "京族", "塔塔尔族",
"独龙族", "鄂伦春族", "赫哲族", "门巴族", "珞巴族", "基诺族"
));
private static final Set<String> NATION_SET = Collections.unmodifiableSet(new HashSet<>(NATIONS));
public static boolean isValid(String nation) {
return nation != null && NATION_SET.contains(nation.trim());
}
}
...@@ -28,6 +28,8 @@ public class SmileVolunteersDetailsVo implements Cloneable { ...@@ -28,6 +28,8 @@ public class SmileVolunteersDetailsVo implements Cloneable {
private String idCard; private String idCard;
@ApiModelProperty(value = "性别", example = "") @ApiModelProperty(value = "性别", example = "")
private Integer sex; private Integer sex;
@ApiModelProperty(value = "民族", example = "")
private String nation;
@ApiModelProperty(value = "审核状态", example = "") @ApiModelProperty(value = "审核状态", example = "")
private Integer status; private Integer status;
@ApiModelProperty(value = "学校", example = "") @ApiModelProperty(value = "学校", example = "")
...@@ -65,6 +67,7 @@ public class SmileVolunteersDetailsVo implements Cloneable { ...@@ -65,6 +67,7 @@ public class SmileVolunteersDetailsVo implements Cloneable {
this.setImg(source.getImg()); this.setImg(source.getImg());
this.setIdCard(source.getIdCard()); this.setIdCard(source.getIdCard());
this.setSex(source.getSex()); this.setSex(source.getSex());
this.setNation(source.getNation());
this.setStatus(source.getStatus()); this.setStatus(source.getStatus());
this.setSchool(source.getSchool()); this.setSchool(source.getSchool());
this.setSchoolAddress(source.getSchoolAddress()); this.setSchoolAddress(source.getSchoolAddress());
......
...@@ -36,6 +36,8 @@ public class SmileVolunteersApplyParam implements Serializable { ...@@ -36,6 +36,8 @@ public class SmileVolunteersApplyParam implements Serializable {
private String idCard; private String idCard;
@ApiModelProperty(value = "性别[0-未知|1-男|2-女]") @ApiModelProperty(value = "性别[0-未知|1-男|2-女]")
private Integer sex; private Integer sex;
@ApiModelProperty(value = "民族,参见 /volunteers/nations")
private String nation;
@ApiModelProperty(value = "学校名称") @ApiModelProperty(value = "学校名称")
private String school; private String school;
@ApiModelProperty(value = "学校地址") @ApiModelProperty(value = "学校地址")
......
...@@ -18,4 +18,6 @@ public interface SmileVolunteersService { ...@@ -18,4 +18,6 @@ public interface SmileVolunteersService {
ResponseDto<SmileVProjectVo> projectDetails(String uid, String projectId); ResponseDto<SmileVProjectVo> projectDetails(String uid, String projectId);
ResponseDto<Boolean> apply(SmileVolunteersApplyParam param); ResponseDto<Boolean> apply(SmileVolunteersApplyParam param);
ResponseDto<List<String>> nations();
} }
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);
}
...@@ -47,6 +47,12 @@ ...@@ -47,6 +47,12 @@
<input name="sex" class="form-control" type="text" th:if="*{sex==2}" th:value="女" readonly required> <input name="sex" class="form-control" type="text" th:if="*{sex==2}" th:value="女" readonly required>
</div> </div>
</div> </div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">民族:</label>
<div class="col-sm-8">
<input name="nation" class="form-control" type="text" th:value="*{nation}" readonly required>
</div>
</div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label is-required">学校:</label> <label class="col-sm-3 control-label is-required">学校:</label>
<div class="col-sm-8"> <div class="col-sm-8">
......
...@@ -107,6 +107,10 @@ ...@@ -107,6 +107,10 @@
field: 'sex', field: 'sex',
title: '性别' title: '性别'
}, },
{
field: 'nation',
title: '民族'
},
{ {
field: 'phone', field: 'phone',
title: '手机号' title: '手机号'
......
...@@ -16,6 +16,8 @@ public class VolunteersExportVo implements Serializable, Cloneable{ ...@@ -16,6 +16,8 @@ public class VolunteersExportVo implements Serializable, Cloneable{
private String idCard; private String idCard;
@Excel(name = "性别", cellType = Excel.ColumnType.STRING) @Excel(name = "性别", cellType = Excel.ColumnType.STRING)
private String sex; private String sex;
@Excel(name = "民族", cellType = Excel.ColumnType.STRING)
private String nation;
@Excel(name = "审核状态", cellType = Excel.ColumnType.STRING) @Excel(name = "审核状态", cellType = Excel.ColumnType.STRING)
private String status; private String status;
@Excel(name = "学校", cellType = Excel.ColumnType.STRING) @Excel(name = "学校", cellType = Excel.ColumnType.STRING)
...@@ -56,6 +58,7 @@ public class VolunteersExportVo implements Serializable, Cloneable{ ...@@ -56,6 +58,7 @@ public class VolunteersExportVo implements Serializable, Cloneable{
this.setName(source.getName()); this.setName(source.getName());
this.setIdCard(source.getIdCard()); this.setIdCard(source.getIdCard());
this.setSex(source.getSex()); this.setSex(source.getSex());
this.setNation(source.getNation());
this.setStatus(source.getStatus()); this.setStatus(source.getStatus());
this.setSchool(source.getSchool()); this.setSchool(source.getSchool());
// this.setSchoolAddress(source.getSchoolAddress()); // this.setSchoolAddress(source.getSchoolAddress());
......
...@@ -56,6 +56,11 @@ public class SmileVolunteers implements Serializable ,Cloneable{ ...@@ -56,6 +56,11 @@ public class SmileVolunteers implements Serializable ,Cloneable{
*/ */
private Integer sex; private Integer sex;
/**
* 民族
*/
private String nation;
/** /**
* 状态[0-待审核|1-审核通过|2-审核未通过] * 状态[0-待审核|1-审核通过|2-审核未通过]
*/ */
......
...@@ -12,6 +12,7 @@ public class VolunteersExportDto implements Serializable, Cloneable { ...@@ -12,6 +12,7 @@ public class VolunteersExportDto implements Serializable, Cloneable {
private String name; private String name;
private String idCard; private String idCard;
private String sex; private String sex;
private String nation;
private String status; private String status;
private String school; private String school;
private String schoolAddress; private String schoolAddress;
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
<result column="name" property="name"/> <result column="name" property="name"/>
<result column="id_card" property="idCard"/> <result column="id_card" property="idCard"/>
<result column="sex" property="sex"/> <result column="sex" property="sex"/>
<result column="nation" property="nation"/>
<result column="status" property="status"/> <result column="status" property="status"/>
<result column="school" property="school"/> <result column="school" property="school"/>
<result column="school_address" property="schoolAddress"/> <result column="school_address" property="schoolAddress"/>
...@@ -35,6 +36,7 @@ ...@@ -35,6 +36,7 @@
WHEN sex = 1 THEN '男' WHEN sex = 1 THEN '男'
WHEN sex = 2 THEN '女' WHEN sex = 2 THEN '女'
ELSE '其他' END) as 'sex', ELSE '其他' END) as 'sex',
sv.nation,
(CASE (CASE
WHEN sv.status = 0 THEN '待审核' WHEN sv.status = 0 THEN '待审核'
WHEN sv.status = 1 THEN '审核通过' WHEN sv.status = 1 THEN '审核通过'
......
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>
...@@ -71,7 +71,8 @@ public interface FeignAdamBaseClient { ...@@ -71,7 +71,8 @@ public interface FeignAdamBaseClient {
@NotBlank(message = "手机号不能为空") @NotBlank(message = "手机号不能为空")
@RequestParam(value = "mobile") String mobile, @RequestParam(value = "mobile") String mobile,
@NotBlank(message = "临时票据不能为空") @NotBlank(message = "临时票据不能为空")
@RequestParam(value = "otp") String otp); @RequestParam(value = "otp") String otp,
@RequestParam(value = "isComplete", required = false) Integer isComplete);
@GetMapping(value = "member/check/depth", headers = {"Inner-Required=1"}) @GetMapping(value = "member/check/depth", headers = {"Inner-Required=1"})
ResponseDto<Boolean> isMember(@NotBlank(message = "用户ID不能为空") @RequestParam(value = "uid") String uid); ResponseDto<Boolean> isMember(@NotBlank(message = "用户ID不能为空") @RequestParam(value = "uid") String uid);
......
...@@ -339,7 +339,8 @@ public class AdamLoginController { ...@@ -339,7 +339,8 @@ public class AdamLoginController {
@NotBlank(message = "手机号不能为空") @NotBlank(message = "手机号不能为空")
@RequestParam String mobile, @RequestParam String mobile,
@NotBlank(message = "临时票据不能为空") @NotBlank(message = "临时票据不能为空")
@RequestParam String otp) { @RequestParam String otp,
@RequestParam(required = false) Integer isComplete) {
log.info("login by silent for mobile:{},{}", mobile, otp); log.info("login by silent for mobile:{},{}", mobile, otp);
long reql = 0, l = LocalDateTime.now().toEpochSecond(ZoneOffset.UTC); long reql = 0, l = LocalDateTime.now().toEpochSecond(ZoneOffset.UTC);
String otpDecrypt = null; String otpDecrypt = null;
...@@ -352,7 +353,7 @@ public class AdamLoginController { ...@@ -352,7 +353,7 @@ public class AdamLoginController {
log.error("login by silent for mobile:{},{}/{},{}-{}", mobile, otp, otpDecrypt, l, reql); log.error("login by silent for mobile:{},{}/{},{}-{}", mobile, otp, otpDecrypt, l, reql);
return ResponseDto.failure(ErrorMapping.get("10005")); return ResponseDto.failure(ErrorMapping.get("10005"));
} }
return this.silentMobileLoginSuccess(mobile, null); return this.silentMobileLoginSuccess(mobile, null, null == isComplete ? 0 : isComplete);
} }
@ApiOperationSupport(order = 7) @ApiOperationSupport(order = 7)
...@@ -372,15 +373,15 @@ public class AdamLoginController { ...@@ -372,15 +373,15 @@ public class AdamLoginController {
log.error("login by silent v2 otp invalid, mobile:{}", mobile); log.error("login by silent v2 otp invalid, mobile:{}", mobile);
return ResponseDto.failure(ErrorMapping.get("10005")); return ResponseDto.failure(ErrorMapping.get("10005"));
} }
return this.silentMobileLoginSuccess(mobile, AdamConst.REGIST_SOURCE_DOUDOU); return this.silentMobileLoginSuccess(mobile, AdamConst.REGIST_SOURCE_DOUDOU, 0);
} }
private ResponseDto<AdamLoginInfoVo> silentMobileLoginSuccess(String mobile, String registSource) { private ResponseDto<AdamLoginInfoVo> silentMobileLoginSuccess(String mobile, String registSource, int isComplete) {
String uid = adamRdmService.getUidByMobile(mobile); String uid = adamRdmService.getUidByMobile(mobile);
boolean toRegister = StringUtils.isEmpty(uid); boolean toRegister = StringUtils.isEmpty(uid);
AdamUserInfoVo userInfoVo = toRegister AdamUserInfoVo userInfoVo = toRegister
? adamUserService.register(mobile, 0, registSource) ? adamUserService.register(mobile, isComplete, registSource)
: adamRdmService.getUserInfoVoByUid(uid); : adamRdmService.getUserInfoVoByUid(uid);
if (!toRegister && (null == userInfoVo || userInfoVo.getState() == 2)) { if (!toRegister && (null == userInfoVo || userInfoVo.getState() == 2)) {
......
...@@ -66,14 +66,7 @@ public class SlimeFieldAppliesServiceImpl implements ISlimeFieldAppliesService { ...@@ -66,14 +66,7 @@ public class SlimeFieldAppliesServiceImpl implements ISlimeFieldAppliesService {
} }
} }
// 申请场地 vos 上限
List<SlimeFieldAppliesVo> fieldAppliesVos = slimeRdmService.getFieldAppliesVosByUid(uid); List<SlimeFieldAppliesVo> fieldAppliesVos = slimeRdmService.getFieldAppliesVosByUid(uid);
if (!CollectionUtils.isEmpty(fieldAppliesVos)) {
if (fieldAppliesVos.size() >= 10) {
ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("13111");
throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
}
}
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
long s = System.currentTimeMillis(); long s = System.currentTimeMillis();
......
...@@ -8,6 +8,7 @@ CREATE TABLE `smile_volunteers` ...@@ -8,6 +8,7 @@ CREATE TABLE `smile_volunteers`
`img` varchar(256) DEFAULT '' COMMENT '头像', `img` varchar(256) DEFAULT '' COMMENT '头像',
`id_card` varchar(32) DEFAULT '' COMMENT '证件号', `id_card` varchar(32) DEFAULT '' COMMENT '证件号',
`sex` tinyint(2) DEFAULT 0 COMMENT '性别[0-未知|1-男|2-女]', `sex` tinyint(2) DEFAULT 0 COMMENT '性别[0-未知|1-男|2-女]',
`nation` varchar(16) DEFAULT '' COMMENT '民族',
`status` tinyint(2) DEFAULT 0 COMMENT '状态[0-待审核|1-审核通过|2-审核未通过]', `status` tinyint(2) DEFAULT 0 COMMENT '状态[0-待审核|1-审核通过|2-审核未通过]',
`school` varchar(64) DEFAULT '' COMMENT '学校', `school` varchar(64) DEFAULT '' COMMENT '学校',
`school_address` varchar(64) DEFAULT '' COMMENT '学校地址', `school_address` varchar(64) DEFAULT '' COMMENT '学校地址',
......
...@@ -44,4 +44,10 @@ public class SmileVolunteersController { ...@@ -44,4 +44,10 @@ public class SmileVolunteersController {
return volunteersService.apply(param); return volunteersService.apply(param);
} }
@GetMapping("nations")
@ApiOperation("民族字典(GB/T 3304)")
public ResponseDto<List<String>> nations() {
return volunteersService.nations();
}
} }
...@@ -6,6 +6,7 @@ import com.liquidnet.commons.lang.util.IDCard; ...@@ -6,6 +6,7 @@ import com.liquidnet.commons.lang.util.IDCard;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.base.SqlMapping; import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.constant.MQConst; import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.goblin.constant.NationConst;
import com.liquidnet.service.goblin.dto.vo.*; import com.liquidnet.service.goblin.dto.vo.*;
import com.liquidnet.service.goblin.param.SmileVolunteersApplyParam; import com.liquidnet.service.goblin.param.SmileVolunteersApplyParam;
import com.liquidnet.service.goblin.service.manage.SmileFrontService; import com.liquidnet.service.goblin.service.manage.SmileFrontService;
...@@ -119,6 +120,12 @@ public class SmileVolunteerServerImpl implements SmileVolunteersService { ...@@ -119,6 +120,12 @@ public class SmileVolunteerServerImpl implements SmileVolunteersService {
if (!utils.validate(param.getName(), param.getIdCard())) { if (!utils.validate(param.getName(), param.getIdCard())) {
return ResponseDto.failure("验证身份证失败!"); return ResponseDto.failure("验证身份证失败!");
} }
if (StringUtils.isBlank(param.getNation())) {
return ResponseDto.failure("请选择民族");
}
if (!NationConst.isValid(param.getNation())) {
return ResponseDto.failure("民族选项无效");
}
smileRedisUtils.setProjectIdCard(param.getProjectId(), param.getIdCard()); smileRedisUtils.setProjectIdCard(param.getProjectId(), param.getIdCard());
...@@ -135,7 +142,7 @@ public class SmileVolunteerServerImpl implements SmileVolunteersService { ...@@ -135,7 +142,7 @@ public class SmileVolunteerServerImpl implements SmileVolunteersService {
queueUtils.sendMsgByRedis(MQConst.SmileQueue.SMILE_USER.getKey(), queueUtils.sendMsgByRedis(MQConst.SmileQueue.SMILE_USER.getKey(),
SqlMapping.get("smile_volunteers.apply", SqlMapping.get("smile_volunteers.apply",
uid, param.getProjectId(), param.getName(), param.getImg(), uid, param.getProjectId(), param.getName(), param.getImg(),
param.getIdCard(), param.getSex(), param.getSchool(), param.getSchoolAddress(), param.getIdCard(), param.getSex(), param.getNation(), param.getSchool(), param.getSchoolAddress(),
param.getSpecialty(), param.getSpecialty2(), param.getPhone(), param.getTeamId1(), param.getSpecialty(), param.getSpecialty2(), param.getPhone(), param.getTeamId1(),
param.getTeamId2(), param.getTeamId3(), param.getIntroduce(), LocalDateTime.now() param.getTeamId2(), param.getTeamId3(), param.getIntroduce(), LocalDateTime.now()
)); ));
...@@ -145,4 +152,9 @@ public class SmileVolunteerServerImpl implements SmileVolunteersService { ...@@ -145,4 +152,9 @@ public class SmileVolunteerServerImpl implements SmileVolunteersService {
} }
return ResponseDto.success(); return ResponseDto.success();
} }
@Override
public ResponseDto<List<String>> nations() {
return ResponseDto.success(NationConst.NATIONS);
}
} }
...@@ -7,4 +7,4 @@ smile_service.delete_user= delete from smile_user where uid=? ...@@ -7,4 +7,4 @@ smile_service.delete_user= delete from smile_user where uid=?
#---- 志愿者报名 #---- 志愿者报名
smile_volunteers.apply = INSERT INTO smile_volunteers (`uid`,`project_id`,`name`,`img`,`id_card`,`sex`,`school`,`school_address`,`specialty`,`specialty2`,`phone`,`team_id1`,`team_id2`,`team_id3`,`introduce`,`created_at`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) smile_volunteers.apply = INSERT INTO smile_volunteers (`uid`,`project_id`,`name`,`img`,`id_card`,`sex`,`nation`,`school`,`school_address`,`specialty`,`specialty2`,`phone`,`team_id1`,`team_id2`,`team_id3`,`introduce`,`created_at`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
\ No newline at end of file \ No newline at end of file
-- 动态表单报名提交表
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);
}
}
...@@ -2,6 +2,7 @@ package com.liquidnet.service.sweet.controller; ...@@ -2,6 +2,7 @@ package com.liquidnet.service.sweet.controller;
import com.liquidnet.service.adam.dto.vo.AdamLoginInfoVo; import com.liquidnet.service.adam.dto.vo.AdamLoginInfoVo;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.dto.vo.WechatAppletLoginInfoVo;
import com.liquidnet.service.sweet.dto.vo.WechatTokenInfoVo; import com.liquidnet.service.sweet.dto.vo.WechatTokenInfoVo;
import com.liquidnet.service.sweet.dto.vo.WechatUserInfoVo; import com.liquidnet.service.sweet.dto.vo.WechatUserInfoVo;
import com.liquidnet.service.sweet.service.impl.SweetWechatLoginServiceImpl; import com.liquidnet.service.sweet.service.impl.SweetWechatLoginServiceImpl;
...@@ -26,7 +27,7 @@ public class SweetWechatLoginController { ...@@ -26,7 +27,7 @@ public class SweetWechatLoginController {
private SweetWechatLoginServiceImpl sweetLoginService; private SweetWechatLoginServiceImpl sweetLoginService;
@GetMapping("userInfo") @GetMapping("userInfo")
@ApiOperation("小程序解密手机号") @ApiOperation("小程序授权手机号登录")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(type = "query", dataType = "String", name = "userCode", value = " 获取 uid oid的 code"), @ApiImplicitParam(type = "query", dataType = "String", name = "userCode", value = " 获取 uid oid的 code"),
@ApiImplicitParam(type = "query", dataType = "String", name = "code", value = "获取手机号的 code", required = true), @ApiImplicitParam(type = "query", dataType = "String", name = "code", value = "获取手机号的 code", required = true),
...@@ -34,7 +35,7 @@ public class SweetWechatLoginController { ...@@ -34,7 +35,7 @@ public class SweetWechatLoginController {
@ApiImplicitParam(type = "query", dataType = "String", name = "iv", value = "iv"), @ApiImplicitParam(type = "query", dataType = "String", name = "iv", value = "iv"),
@ApiImplicitParam(type = "query", dataType = "Integer", name = "type", value = "1草莓 2五百里 3mdsk 4正在 5跳飞船 6小家伙 7摩登 8DouDou 9mootoo 10wenque", required = true), @ApiImplicitParam(type = "query", dataType = "Integer", name = "type", value = "1草莓 2五百里 3mdsk 4正在 5跳飞船 6小家伙 7摩登 8DouDou 9mootoo 10wenque", required = true),
}) })
public ResponseDto userInfo( public ResponseDto<WechatAppletLoginInfoVo> userInfo(
@RequestParam(required = false) String userCode, @RequestParam(required = false) String userCode,
@RequestParam() String code, @RequestParam() String code,
@RequestParam(required = false) String encryptedData, @RequestParam(required = false) String encryptedData,
......
package com.liquidnet.service.sweet.dto.vo;
import com.liquidnet.service.adam.dto.vo.AdamLoginInfoVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ApiModel(value = "WechatAppletLoginInfoVo", description = "小程序登录响应(含旧版兼容字段)")
public class WechatAppletLoginInfoVo extends AdamLoginInfoVo {
private static final long serialVersionUID = 1L;
@ApiModelProperty("兼容旧版,同 userInfo.uid")
private String userId;
@ApiModelProperty("兼容旧版,同 wechatOpenid")
private String openId;
@ApiModelProperty("兼容旧版,同 wechatUnionid")
private String unionId;
@ApiModelProperty("兼容旧版")
private String getPhoneNumber;
@ApiModelProperty("兼容旧版")
private String getPurePhoneNumber;
@ApiModelProperty("兼容旧版")
private String getCountryCode;
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getOpenId() {
return openId;
}
public void setOpenId(String openId) {
this.openId = openId;
}
public String getUnionId() {
return unionId;
}
public void setUnionId(String unionId) {
this.unionId = unionId;
}
public String getGetPhoneNumber() {
return getPhoneNumber;
}
public void setGetPhoneNumber(String getPhoneNumber) {
this.getPhoneNumber = getPhoneNumber;
}
public String getGetPurePhoneNumber() {
return getPurePhoneNumber;
}
public void setGetPurePhoneNumber(String getPurePhoneNumber) {
this.getPurePhoneNumber = getPurePhoneNumber;
}
public String getGetCountryCode() {
return getCountryCode;
}
public void setGetCountryCode(String getCountryCode) {
this.getCountryCode = getCountryCode;
}
public static WechatAppletLoginInfoVo wrap(AdamLoginInfoVo loginInfo, String phoneNumber,
String purePhoneNumber, String countryCode,
String openId, String unionId) {
WechatAppletLoginInfoVo vo = new WechatAppletLoginInfoVo();
vo.setToken(loginInfo.getToken());
vo.setUserInfo(loginInfo.getUserInfo());
vo.setUserMemberVo(loginInfo.getUserMemberVo());
vo.setWechatOpenid(loginInfo.getWechatOpenid());
vo.setWechatUnionid(loginInfo.getWechatUnionid());
if (null != loginInfo.getUserInfo()) {
vo.setUserId(loginInfo.getUserInfo().getUid());
}
vo.setOpenId(openId);
vo.setUnionId(unionId);
vo.setGetPhoneNumber(phoneNumber);
vo.setGetPurePhoneNumber(purePhoneNumber);
vo.setGetCountryCode(countryCode);
return vo;
}
}
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);
}
}
...@@ -6,12 +6,12 @@ import com.liquidnet.commons.lang.util.CollectionUtil; ...@@ -6,12 +6,12 @@ import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.DESUtils; import com.liquidnet.commons.lang.util.DESUtils;
import com.liquidnet.commons.lang.util.IDGenerator; import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.adam.dto.vo.AdamLoginInfoVo; import com.liquidnet.service.adam.dto.vo.AdamLoginInfoVo;
import com.liquidnet.service.adam.dto.vo.AdamUserInfoVo;
import com.liquidnet.service.base.ErrorMapping; import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.base.SqlMapping; import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.constant.MQConst; import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.feign.adam.api.FeignAdamBaseClient; import com.liquidnet.service.feign.adam.api.FeignAdamBaseClient;
import com.liquidnet.service.sweet.dto.vo.WechatAppletLoginInfoVo;
import com.liquidnet.service.sweet.dto.vo.WechatTokenInfoVo; import com.liquidnet.service.sweet.dto.vo.WechatTokenInfoVo;
import com.liquidnet.service.sweet.dto.vo.WechatUserInfoVo; import com.liquidnet.service.sweet.dto.vo.WechatUserInfoVo;
import com.liquidnet.service.sweet.utils.QueueUtils; import com.liquidnet.service.sweet.utils.QueueUtils;
...@@ -27,7 +27,6 @@ import org.springframework.stereotype.Service; ...@@ -27,7 +27,6 @@ import org.springframework.stereotype.Service;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.ZoneOffset; import java.time.ZoneOffset;
import java.util.HashMap;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.Objects; import java.util.Objects;
...@@ -56,7 +55,7 @@ public class SweetWechatLoginServiceImpl { ...@@ -56,7 +55,7 @@ public class SweetWechatLoginServiceImpl {
@Lazy @Lazy
private FeignAdamBaseClient feignAdamBaseClient; private FeignAdamBaseClient feignAdamBaseClient;
public ResponseDto userInfo(String userCode, String code, String encryptedData, String iv, Integer type) { public ResponseDto<WechatAppletLoginInfoVo> userInfo(String userCode, String code, String encryptedData, String iv, Integer type) {
log.info("小程序解密用户信息参数:[code=[{}], encryptedData=[{}], [iv=[{}], type=[{}]", code, encryptedData, iv, type); log.info("小程序解密用户信息参数:[code=[{}], encryptedData=[{}], [iv=[{}], type=[{}]", code, encryptedData, iv, type);
try { try {
WxMaJscode2SessionResult sessionInfo = null; WxMaJscode2SessionResult sessionInfo = null;
...@@ -83,54 +82,19 @@ public class SweetWechatLoginServiceImpl { ...@@ -83,54 +82,19 @@ public class SweetWechatLoginServiceImpl {
String phoneNumber = wxMaPhoneNumberInfo.getPhoneNumber(); String phoneNumber = wxMaPhoneNumberInfo.getPhoneNumber();
String purePhoneNumber = wxMaPhoneNumberInfo.getPurePhoneNumber(); String purePhoneNumber = wxMaPhoneNumberInfo.getPurePhoneNumber();
String countryCode = wxMaPhoneNumberInfo.getCountryCode(); String countryCode = wxMaPhoneNumberInfo.getCountryCode();
// mysql redis boolean needSweetBinding = null == redisUtils.getSweetAppletUsersOfPhone(purePhoneNumber);
SweetAppletUsersVo sweetAppletUsers = redisUtils.getSweetAppletUsersOfPhone(purePhoneNumber); ResponseDto<AdamLoginInfoVo> loginResp = this.loginByPhoneWithWechat(
String userId = ""; purePhoneNumber, openId, unionId, needSweetBinding ? 1 : null);
if (null == sweetAppletUsers) { if (!loginResp.isSuccess() || null == loginResp.getData()) {
// 获取adam用户信息 自动注册 return ResponseDto.failure(loginResp.getCode(), loginResp.getMessage());
ResponseDto<AdamUserInfoVo> userInfoVo = feignAdamBaseClient.registerByMobile(purePhoneNumber); }
AdamUserInfoVo userInfoVoData = userInfoVo.getData(); if (needSweetBinding) {
userId = userInfoVoData.getUid(); this.bindSweetAppletUser(
loginResp.getData().getUserInfo().getUid(),
String appletUserId = IDGenerator.nextSnowId(); openId, unionId, phoneNumber, purePhoneNumber, countryCode, type);
LinkedList<String> sqlsA = CollectionUtil.linkedListString(); }
LinkedList<Object[]> sqlsDataA = CollectionUtil.linkedListObjectArr(); return ResponseDto.success(WechatAppletLoginInfoVo.wrap(
sqlsA.add(SqlMapping.get("sweet_applet_users.insert")); loginResp.getData(), phoneNumber, purePhoneNumber, countryCode, openId, unionId));
sqlsDataA.add(new Object[]{
appletUserId, userId, openId, unionId, phoneNumber, purePhoneNumber, countryCode, type
});
queueUtils.sendMsgByRedis(MQConst.SweetQueue.SWEET_WECHAT_USER_INSERT.getKey(),
SqlMapping.gets(sqlsA, sqlsDataA));
SweetAppletUsersVo sweetAppletUsersVo = SweetAppletUsersVo.getNew();
sweetAppletUsersVo.setAppletUserId(appletUserId);
sweetAppletUsersVo.setUserId(userId);
sweetAppletUsersVo.setOpenId(openId);
sweetAppletUsersVo.setUnionId(unionId);
sweetAppletUsersVo.setPhoneNumber(phoneNumber);
sweetAppletUsersVo.setPurePhoneNumber(purePhoneNumber);
sweetAppletUsersVo.setCountryCode(countryCode);
sweetAppletUsersVo.setType(type);
redisUtils.setSweetAppletUsers(sweetAppletUsersVo);
// 调用关注赠积分任务 这里如果不调用的话
// 1。关注过了也登陆过小程序的可以脚本处理 脚本不处理就需要每个用户点进入小程序登陆
// 2。关注过了 无小程序的 本次登陆才有的 接口也不是前端请求的 就没有地方触发做任务接口
// 3。有小程序未关注的就关注时候适用
/*SweetWechatUsersVo sweetWechatUsersSky = redisUtils.getSweetWechatUsersOfUnionId(unionId, 2);
if (null != sweetWechatUsersSky) {
feignStoneIntegralClient.doTask(4, userId);
}*/
} else {
userId = sweetAppletUsers.getUserId();
}
// 返回给前端数据
HashMap<String, Object> userInfo = CollectionUtil.mapStringObject();
userInfo.put("unionId", unionId);
userInfo.put("openId", openId);
userInfo.put("userId", userId);
userInfo.put("getPhoneNumber", phoneNumber);
userInfo.put("getPurePhoneNumber", purePhoneNumber);
userInfo.put("getCountryCode", countryCode);
return ResponseDto.success(userInfo);
} catch (Exception e) { } catch (Exception e) {
log.error("WechatUserInfoError Exception:{}", e); log.error("WechatUserInfoError Exception:{}", e);
return ResponseDto.failure(); return ResponseDto.failure();
...@@ -186,16 +150,58 @@ public class SweetWechatLoginServiceImpl { ...@@ -186,16 +150,58 @@ public class SweetWechatLoginServiceImpl {
if (null == sweetAppletUsersVo) { if (null == sweetAppletUsersVo) {
return ResponseDto.failure(ErrorMapping.get("90081")); return ResponseDto.failure(ErrorMapping.get("90081"));
} }
String purePhone = sweetAppletUsersVo.getPurePhoneNumber(); return this.loginByPhoneWithWechat(
String otp = DESUtils.DES().encrypt(purePhone + LocalDateTime.now().toEpochSecond(ZoneOffset.UTC)); sweetAppletUsersVo.getPurePhoneNumber(),
ResponseDto<AdamLoginInfoVo> adamUserInfoVoResponseDto = feignAdamBaseClient.loginBySilentMobile(purePhone, otp); sweetAppletUsersVo.getOpenId(),
AdamLoginInfoVo adamLoginInfoVo = adamUserInfoVoResponseDto.getData(); sweetAppletUsersVo.getUnionId()
adamLoginInfoVo.setWechatOpenid(sweetAppletUsersVo.getOpenId()); );
adamLoginInfoVo.setWechatUnionid(sweetAppletUsersVo.getUnionId());
return ResponseDto.success(adamLoginInfoVo);
} catch (Exception e) { } catch (Exception e) {
log.error("userInfoMaError Exception:{}", e); log.error("userInfoMaError Exception:{}", e);
return ResponseDto.failure("获取用户信息失败~"); return ResponseDto.failure("获取用户信息失败~");
} }
} }
private ResponseDto<AdamLoginInfoVo> loginByPhoneWithWechat(String purePhone, String openId, String unionId) {
return this.loginByPhoneWithWechat(purePhone, openId, unionId, null);
}
private ResponseDto<AdamLoginInfoVo> loginByPhoneWithWechat(String purePhone, String openId, String unionId, Integer isComplete) {
try {
String otp = DESUtils.DES().encrypt(purePhone + LocalDateTime.now().toEpochSecond(ZoneOffset.UTC));
ResponseDto<AdamLoginInfoVo> loginResp = feignAdamBaseClient.loginBySilentMobile(purePhone, otp, isComplete);
if (!loginResp.isSuccess() || null == loginResp.getData()) {
return ResponseDto.failure(loginResp.getCode(), loginResp.getMessage());
}
AdamLoginInfoVo loginInfoVo = loginResp.getData();
loginInfoVo.setWechatOpenid(openId);
loginInfoVo.setWechatUnionid(unionId);
return ResponseDto.success(loginInfoVo);
} catch (Exception e) {
log.error("loginByPhoneWithWechat error, mobile:{}", purePhone, e);
return ResponseDto.failure("获取用户信息失败~");
}
}
private void bindSweetAppletUser(String userId, String openId, String unionId, String phoneNumber,
String purePhoneNumber, String countryCode, Integer type) {
String appletUserId = IDGenerator.nextSnowId();
LinkedList<String> sqlsA = CollectionUtil.linkedListString();
LinkedList<Object[]> sqlsDataA = CollectionUtil.linkedListObjectArr();
sqlsA.add(SqlMapping.get("sweet_applet_users.insert"));
sqlsDataA.add(new Object[]{
appletUserId, userId, openId, unionId, phoneNumber, purePhoneNumber, countryCode, type
});
queueUtils.sendMsgByRedis(MQConst.SweetQueue.SWEET_WECHAT_USER_INSERT.getKey(),
SqlMapping.gets(sqlsA, sqlsDataA));
SweetAppletUsersVo sweetAppletUsersVo = SweetAppletUsersVo.getNew();
sweetAppletUsersVo.setAppletUserId(appletUserId);
sweetAppletUsersVo.setUserId(userId);
sweetAppletUsersVo.setOpenId(openId);
sweetAppletUsersVo.setUnionId(unionId);
sweetAppletUsersVo.setPhoneNumber(phoneNumber);
sweetAppletUsersVo.setPurePhoneNumber(purePhoneNumber);
sweetAppletUsersVo.setCountryCode(countryCode);
sweetAppletUsersVo.setType(type);
redisUtils.setSweetAppletUsers(sweetAppletUsersVo);
}
} }
kylin_order_ticket_entities.updateStatusByStation=UPDATE kylin_order_ticket_entities SET `status`=?,check_client=?,updated_at=? WHERE order_ticket_entities_id=? # ------------------------\u7F3A\u7968\u767B\u8BB0(\u4E0D\u7528\u8003\u8651\u5E76\u53D1)---------------------------- kylin_lack_register.insert=INSERT INTO `kylin_lack_registers`(`lack_registers_id` ,`performance_id` ,`ticket_id` ,`user_id` ,`user_name` ,`user_mobile` ,`send_status` ,`ip_address` ,`created_at`)VALUES(? ,? ,? ,? ,? ,? ,? ,? ,?); # ------------------------\u652F\u4ED8\u56DE\u8C03---------------------------- kylin_order_ticket.synPay=UPDATE kylin_order_tickets SET payment_type = ? ,pay_code = ? , time_pay = ?, qr_code = ? , updated_at = ? WHERE order_tickets_id = ? and (updated_at <= ? or created_at = ?) kylin_order_ticket_status.synPay=UPDATE kylin_order_ticket_status SET `status` = ?,pay_status = ?,updated_at = ? WHERE order_id = ? and (updated_at <= ? or created_at = ?) kylin_order_ticket_relation.synPay=UPDATE kylin_order_ticket_relations SET updated_at = ? WHERE order_id = ? and (updated_at <= ? or created_at = ?) kylin_order_ticket_entities.synPay=UPDATE kylin_order_ticket_entities SET is_payment = ?,updated_at = ?,sys_damai = 1 WHERE order_id = ? and (updated_at <= ? or created_at = ?) # ------------------------\u7528\u6237\u5173\u7CFB---------------------------- sweet_user_relation.insert=INSERT INTO sweet_user_relation (user_id,type,target_id,manual_id,status,created_at) VALUES (?,?,?,?,1,?) sweet_user_relation.delete=DELETE FROM sweet_user_relation WHERE user_id = ? and target_id = ? and manual_id = ? and type = ? sweet_user_relation_mdsk.insert=INSERT INTO sweet_user_relation_mdsk (user_id,type,target_id,manual_id,status,created_at) VALUES (?,?,?,?,1,?) sweet_user_relation_mdsk.delete=DELETE FROM sweet_user_relation_mdsk WHERE user_id = ? and target_id = ? and manual_id = ? and type = ? sweet_user_relation_five.insert=INSERT INTO sweet_user_relation_five (user_id,type,target_id,manual_id,status,created_at) VALUES (?,?,?,?,1,?) sweet_user_relation_five.delete=DELETE FROM sweet_user_relation_five WHERE user_id = ? and target_id = ? and manual_id = ? and type = ? # ------------------------\u62BD\u5956---------------------------- sweet_luck_draw.insert=INSERT INTO sweet_luck_draw (mobile,union_id,luck_draw_num,prize,prize_all,status,created_at) VALUES (?,?,?,?,?,1,?) # --------------------------\u7B54\u6848-------------------------- sweet_answer.insert=INSERT INTO sweet_answer (answer_id,phone,answer_json,img_url) VALUES (?,?,?,?) sweet_doudou.insert=INSERT INTO sweet_doudou (doudou_id,user_id,username,phone,active_id,img_url,mark) VALUES (?,?,?,?,?,?,?) sweet_doudou.update=UPDATE sweet_doudou SET STATUS = ?, updated_at = ? WHERE doudou_id = ? # --------------------------\u63D0\u9192\u8BB0\u5F55-------------------------- sweet_remind.insert=INSERT INTO sweet_remind (remind_id,openId,unionId,performancesId) VALUES (?,?,?,?) sweet_applet_sub_msg.insert=INSERT INTO sweet_applet_sub_msg (msg_id,open_id,union_id,user_id,template_id,target_id,applet_type,activity_type) VALUES (?,?,?,?,?,?,?,?) # --------------------------\u7528\u6237\u6295\u7968\u8BB0\u5F55-------------------------- sweet_city_vote.insert=INSERT INTO sweet_city_vote (vote_id,phone,openId,unionId,type,city_code,city_name,day_time) VALUES (?,?,?,?,?,?,?,?) sweet_city_vote_stat.insert=INSERT INTO sweet_city_vote_stat (stat_id,city_code,city_name,vote_num,type) VALUES (?,?,?,?,?) sweet_city_vote_stat.update=UPDATE sweet_city_vote_stat SET vote_num = IFNULL(vote_num, 0) + 1, updated_at = ? WHERE city_code = ? AND type = ? # --------------------------\u9632\u75AB\u7B54\u9898-------------------------- sweet_antigenic_question.insert=INSERT INTO sweet_antigenic_question (question_id,type,openId,unionId,nickname,address,phone,urgent_phone,keyword1,keyword11,keyword2,keyword3,keyword4,keyword5,keyword6,keyword7) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) # ------------------------\u79EF\u5206\u62BD\u5956---------------------------- sweet_integral_activity_draw.insert=INSERT INTO sweet_integral_activity_draw (draw_id,integral_activity_id,activity_num,prize_id,prize_title,prize_type,prize_type_num,user_id,nickname,receiving_status) VALUES (?,?,?,?,?,?,?,?,?,?) sweet_integral_activity_draw.update=UPDATE sweet_integral_activity_draw SET receiving_addresses_id = ?, receiving_name = ?, receiving_phone = ?, receiving_address = ?, receiving_province = ?, receiving_city = ?, receiving_county = ?, updated_at = ? WHERE draw_id = ? sweet_integral_activity_draw.updateStatus=UPDATE sweet_integral_activity_draw SET receiving_status = ?, relation_id = ?, updated_at = ? WHERE draw_id = ? sweet_integral_activity_draw.get_coupon=INSERT INTO candy_mgt_coupon (mcoupon_id, coupon_id, `state`, event_amt, event_type, event_limit, event_at, `operator`, created_at) VALUES (?, ?, 0, ?, 2, ?, ?, ?, ?) # --------------------------\u5C0F\u7A0B\u5E8F\u767B\u5F55\u8BB0\u5F55\u7528\u6237\u89E3\u5BC6\u540E\u4FE1\u606F-------------------------- sweet_applet_users.insert=INSERT INTO sweet_applet_users (applet_user_id,user_id,open_id,union_id,phone_number,pure_phone_number,country_code,type) VALUES (?,?,?,?,?,?,?,?) # --------------------------\u5FAE\u4FE1\u7528\u6237\u4FE1\u606F\u8868\u516C\u4F17\u53F7-------------------------- sweet_wechat_users.insert=INSERT INTO sweet_wechat_users (wechat_user_id,type,open_id,union_id,nickname,sex_desc,sex,head_img_url,language,country,province,city,subscribe_time,subscribe_scene) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?) sweet_wechat_users.delete=DELETE FROM sweet_wechat_users WHERE union_id = ? and type = ? sweet_wechat_users.update=UPDATE sweet_wechat_users SET is_cancel = ?, updated_at = ? WHERE union_id = ? AND type = ? AND is_cancel = 1 #---------------------------\u97F3\u4E50\u8282\u6D3B\u52A8\u6D77\u62A5-------------------------------- sweet_strawberry_poster_user=INSERT INTO sweet_strawberry_poster(open_id,poster_id,union_id,nickname,city_name,city_code,custom_text,created_at,updated_at) VALUES (?,?,?,?,?,?,?,?,?) sweet_strawberry_poster_Musician=INSERT INTO sweet_strawberry_poster_lineup(lineup_id,poster_id,lineup_num,musician_name,created_at,updated_at) VALUES (?,?,?,?,?,?) #---------------------------\u732B\u767B\u5929\u7A7A-------------------------------- sweet_wechat_maodeng.insert=INSERT INTO sweet_wechat_maodeng(mao_id,user_id,text_msg,pic_url,img_url,created_at) VALUES (?,?,?,?,?,?) sweet_wechat_maodeng.text.update=UPDATE sweet_wechat_maodeng SET text_msg=? WHERE user_id=? AND mao_id=? sweet_wechat_maodeng.img.update=UPDATE sweet_wechat_maodeng SET img_url=? WHERE user_id=? AND mao_id=? # --------------------------\u6570\u5B57\u85CF\u54C1\u9884\u7EA6\u6D3B\u52A8-------------------------- sweet_collection_reservation.insert=INSERT INTO sweet_collection_reservation (reservation_id,nickname,mobile,mailbox,enterprise_name,title,created_at,updated_at) VALUES (?,?,?,?,?,?,?,?) # --------------------------YB??-------------------------- sweet_yb_enroll.insert=INSERT INTO sweet_yb_enroll (enroll_id,contact_tell,contact_wechat,nickname,style,img_url,audio_url,universities,city_name,activity_id,age) VALUES (?,?,?,?,?,?,?,?,?,?,?) kylin_order_ticket_entities.updateStatusByStation=UPDATE kylin_order_ticket_entities SET `status`=?,check_client=?,updated_at=? WHERE order_ticket_entities_id=? # ------------------------\u7F3A\u7968\u767B\u8BB0(\u4E0D\u7528\u8003\u8651\u5E76\u53D1)---------------------------- kylin_lack_register.insert=INSERT INTO `kylin_lack_registers`(`lack_registers_id` ,`performance_id` ,`ticket_id` ,`user_id` ,`user_name` ,`user_mobile` ,`send_status` ,`ip_address` ,`created_at`)VALUES(? ,? ,? ,? ,? ,? ,? ,? ,?); # ------------------------\u652F\u4ED8\u56DE\u8C03---------------------------- kylin_order_ticket.synPay=UPDATE kylin_order_tickets SET payment_type = ? ,pay_code = ? , time_pay = ?, qr_code = ? , updated_at = ? WHERE order_tickets_id = ? and (updated_at <= ? or created_at = ?) kylin_order_ticket_status.synPay=UPDATE kylin_order_ticket_status SET `status` = ?,pay_status = ?,updated_at = ? WHERE order_id = ? and (updated_at <= ? or created_at = ?) kylin_order_ticket_relation.synPay=UPDATE kylin_order_ticket_relations SET updated_at = ? WHERE order_id = ? and (updated_at <= ? or created_at = ?) kylin_order_ticket_entities.synPay=UPDATE kylin_order_ticket_entities SET is_payment = ?,updated_at = ?,sys_damai = 1 WHERE order_id = ? and (updated_at <= ? or created_at = ?) # ------------------------\u7528\u6237\u5173\u7CFB---------------------------- sweet_user_relation.insert=INSERT INTO sweet_user_relation (user_id,type,target_id,manual_id,status,created_at) VALUES (?,?,?,?,1,?) sweet_user_relation.delete=DELETE FROM sweet_user_relation WHERE user_id = ? and target_id = ? and manual_id = ? and type = ? sweet_user_relation_mdsk.insert=INSERT INTO sweet_user_relation_mdsk (user_id,type,target_id,manual_id,status,created_at) VALUES (?,?,?,?,1,?) sweet_user_relation_mdsk.delete=DELETE FROM sweet_user_relation_mdsk WHERE user_id = ? and target_id = ? and manual_id = ? and type = ? sweet_user_relation_five.insert=INSERT INTO sweet_user_relation_five (user_id,type,target_id,manual_id,status,created_at) VALUES (?,?,?,?,1,?) sweet_user_relation_five.delete=DELETE FROM sweet_user_relation_five WHERE user_id = ? and target_id = ? and manual_id = ? and type = ? # ------------------------\u62BD\u5956---------------------------- sweet_luck_draw.insert=INSERT INTO sweet_luck_draw (mobile,union_id,luck_draw_num,prize,prize_all,status,created_at) VALUES (?,?,?,?,?,1,?) # --------------------------\u7B54\u6848-------------------------- sweet_answer.insert=INSERT INTO sweet_answer (answer_id,phone,answer_json,img_url) VALUES (?,?,?,?) sweet_doudou.insert=INSERT INTO sweet_doudou (doudou_id,user_id,username,phone,active_id,img_url,mark) VALUES (?,?,?,?,?,?,?) sweet_doudou.update=UPDATE sweet_doudou SET STATUS = ?, updated_at = ? WHERE doudou_id = ? # --------------------------\u63D0\u9192\u8BB0\u5F55-------------------------- sweet_remind.insert=INSERT INTO sweet_remind (remind_id,openId,unionId,performancesId) VALUES (?,?,?,?) sweet_applet_sub_msg.insert=INSERT INTO sweet_applet_sub_msg (msg_id,open_id,union_id,user_id,template_id,target_id,applet_type,activity_type) VALUES (?,?,?,?,?,?,?,?) # --------------------------\u7528\u6237\u6295\u7968\u8BB0\u5F55-------------------------- sweet_city_vote.insert=INSERT INTO sweet_city_vote (vote_id,phone,openId,unionId,type,city_code,city_name,day_time) VALUES (?,?,?,?,?,?,?,?) sweet_city_vote_stat.insert=INSERT INTO sweet_city_vote_stat (stat_id,city_code,city_name,vote_num,type) VALUES (?,?,?,?,?) sweet_city_vote_stat.update=UPDATE sweet_city_vote_stat SET vote_num = IFNULL(vote_num, 0) + 1, updated_at = ? WHERE city_code = ? AND type = ? # --------------------------\u9632\u75AB\u7B54\u9898-------------------------- sweet_antigenic_question.insert=INSERT INTO sweet_antigenic_question (question_id,type,openId,unionId,nickname,address,phone,urgent_phone,keyword1,keyword11,keyword2,keyword3,keyword4,keyword5,keyword6,keyword7) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) # ------------------------\u79EF\u5206\u62BD\u5956---------------------------- sweet_integral_activity_draw.insert=INSERT INTO sweet_integral_activity_draw (draw_id,integral_activity_id,activity_num,prize_id,prize_title,prize_type,prize_type_num,user_id,nickname,receiving_status) VALUES (?,?,?,?,?,?,?,?,?,?) sweet_integral_activity_draw.update=UPDATE sweet_integral_activity_draw SET receiving_addresses_id = ?, receiving_name = ?, receiving_phone = ?, receiving_address = ?, receiving_province = ?, receiving_city = ?, receiving_county = ?, updated_at = ? WHERE draw_id = ? sweet_integral_activity_draw.updateStatus=UPDATE sweet_integral_activity_draw SET receiving_status = ?, relation_id = ?, updated_at = ? WHERE draw_id = ? sweet_integral_activity_draw.get_coupon=INSERT INTO candy_mgt_coupon (mcoupon_id, coupon_id, `state`, event_amt, event_type, event_limit, event_at, `operator`, created_at) VALUES (?, ?, 0, ?, 2, ?, ?, ?, ?) # --------------------------\u5C0F\u7A0B\u5E8F\u767B\u5F55\u8BB0\u5F55\u7528\u6237\u89E3\u5BC6\u540E\u4FE1\u606F-------------------------- sweet_applet_users.insert=INSERT INTO sweet_applet_users (applet_user_id,user_id,open_id,union_id,phone_number,pure_phone_number,country_code,type) VALUES (?,?,?,?,?,?,?,?) # --------------------------\u5FAE\u4FE1\u7528\u6237\u4FE1\u606F\u8868\u516C\u4F17\u53F7-------------------------- sweet_wechat_users.insert=INSERT INTO sweet_wechat_users (wechat_user_id,type,open_id,union_id,nickname,sex_desc,sex,head_img_url,language,country,province,city,subscribe_time,subscribe_scene) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?) sweet_wechat_users.delete=DELETE FROM sweet_wechat_users WHERE union_id = ? and type = ? sweet_wechat_users.update=UPDATE sweet_wechat_users SET is_cancel = ?, updated_at = ? WHERE union_id = ? AND type = ? AND is_cancel = 1 #---------------------------\u97F3\u4E50\u8282\u6D3B\u52A8\u6D77\u62A5-------------------------------- sweet_strawberry_poster_user=INSERT INTO sweet_strawberry_poster(open_id,poster_id,union_id,nickname,city_name,city_code,custom_text,created_at,updated_at) VALUES (?,?,?,?,?,?,?,?,?) sweet_strawberry_poster_Musician=INSERT INTO sweet_strawberry_poster_lineup(lineup_id,poster_id,lineup_num,musician_name,created_at,updated_at) VALUES (?,?,?,?,?,?) #---------------------------\u732B\u767B\u5929\u7A7A-------------------------------- sweet_wechat_maodeng.insert=INSERT INTO sweet_wechat_maodeng(mao_id,user_id,text_msg,pic_url,img_url,created_at) VALUES (?,?,?,?,?,?) sweet_wechat_maodeng.text.update=UPDATE sweet_wechat_maodeng SET text_msg=? WHERE user_id=? AND mao_id=? sweet_wechat_maodeng.img.update=UPDATE sweet_wechat_maodeng SET img_url=? WHERE user_id=? AND mao_id=? # --------------------------\u6570\u5B57\u85CF\u54C1\u9884\u7EA6\u6D3B\u52A8-------------------------- sweet_collection_reservation.insert=INSERT INTO sweet_collection_reservation (reservation_id,nickname,mobile,mailbox,enterprise_name,title,created_at,updated_at) VALUES (?,?,?,?,?,?,?,?) # --------------------------YB??-------------------------- sweet_yb_enroll.insert=INSERT INTO sweet_yb_enroll (enroll_id,contact_tell,contact_wechat,nickname,style,img_url,audio_url,universities,city_name,activity_id,age) VALUES (?,?,?,?,?,?,?,?,?,?,?)
# --------------------------\u52A8\u6001\u8868\u5355\u62A5\u540D--------------------------
sweet_form_submission.insert=INSERT INTO sweet_form_submission (submission_id,activity_name,data) VALUES (?,?,?)
\ No newline at end of file
......
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