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

Commit 42b974a5 authored by Administrator's avatar Administrator 🎨

Merge branch 'pre' into 'master'

Pre

See merge request !167
parents 34ea3819 cefbaca6
...@@ -63,6 +63,10 @@ public class SweetConstant { ...@@ -63,6 +63,10 @@ public class SweetConstant {
// 2021草莓音乐节海报活动活动 // 2021草莓音乐节海报活动活动
public static final String REDIS_KEY_SWEET_STRAWBERRY_POSTER_CLICK = "sweet:strawberryPoster:click:openId:"; public static final String REDIS_KEY_SWEET_STRAWBERRY_POSTER_CLICK = "sweet:strawberryPoster:click:openId:";
// 数字藏品预约活动
// public final static String REDIS_KEY_SWEET_COLLECTION_RESERVATION_USER = "sweet:collectionReservation:unionId:";
// 活动结束时间
public final static String REDIS_KEY_SWEET_ACTIVITY_END_TIME = "sweet:activity:endTime:type:";
// 微信服务号用户相关 // 微信服务号用户相关
public final static String REDIS_KEY_SWEET_WECHAT_USERS_UNIONID = "sweet:user:service:unionId:"; public final static String REDIS_KEY_SWEET_WECHAT_USERS_UNIONID = "sweet:user:service:unionId:";
......
package com.liquidnet.service.sweet.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.entity.SweetCollectionReservation;
import com.liquidnet.service.sweet.vo.SweetCollectionReservationVo;
/**
* <p>
* 数字藏品预约活动表 服务类
* </p>
*
* @author jiangxiulong
* @since 2022-01-18
*/
public interface ISweetCollectionReservationService extends IService<SweetCollectionReservation> {
ResponseDto<SweetCollectionReservationVo> info();
ResponseDto<Boolean> time(String endTime);
ResponseDto<Boolean> create(String nickname, String mobile, String mailbox, String enterpriseName, String title);
}
package com.liquidnet.service.sweet.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@Data
public class SweetCollectionReservationVo implements Serializable {
private static final long serialVersionUID = -6689305045906446522L;
@ApiModelProperty("活动状态 1正常 2已结束")
private Integer status;
private static final SweetCollectionReservationVo obj = new SweetCollectionReservationVo();
public static SweetCollectionReservationVo getNew() {
try {
return (SweetCollectionReservationVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new SweetCollectionReservationVo();
}
}
}
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;
/**
* <p>
* 数字藏品预约活动表
* </p>
*
* @author jiangxiulong
* @since 2022-01-18
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class SweetCollectionReservation implements Serializable, Cloneable {
private static final long serialVersionUID = -4190431204108686647L;
@TableId(value = "mid", type = IdType.AUTO)
private Long mid;
/**
* reservation_id
*/
private String reservationId;
/**
* 称呼
*/
private String nickname;
/**
* 手机号
*/
private String mobile;
/**
* 邮箱
*/
private String mailbox;
/**
* 企业名称
*/
private String enterpriseName;
/**
* 职务
*/
private String title;
/**
* 创建时间
*/
private LocalDateTime createdAt;
/**
* 更新时间
*/
private LocalDateTime updatedAt;
private static final SweetCollectionReservation obj = new SweetCollectionReservation();
public static SweetCollectionReservation getNew() {
try {
return (SweetCollectionReservation) obj.clone();
} catch (CloneNotSupportedException e) {
return new SweetCollectionReservation();
}
}
}
package com.liquidnet.service.sweet.mapper;
import com.liquidnet.service.sweet.entity.SweetCollectionReservation;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 数字藏品预约活动表 Mapper 接口
* </p>
*
* @author jiangxiulong
* @since 2022-01-18
*/
public interface SweetCollectionReservationMapper extends BaseMapper<SweetCollectionReservation> {
}
<?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.SweetCollectionReservationMapper">
</mapper>
...@@ -229,8 +229,8 @@ public class KylinCameraController { ...@@ -229,8 +229,8 @@ public class KylinCameraController {
log.info("人体识别-client->耗时:{}", (startTime4 - startTime3) + "毫秒"); log.info("人体识别-client->耗时:{}", (startTime4 - startTime3) + "毫秒");
List<DetectPedestrianResponse.Data.Element> elementList = response.getData().getElements(); List<DetectPedestrianResponse.Data.Element> elementList = response.getData().getElements();
long count = elementList.stream().filter(r -> r.getScore() > 0.5).count(); long count = elementList.stream().filter(r -> r.getScore() > 0.25).count();
long count1 = elementList.stream().filter(r -> r.getScore() <= 0.5).count(); long count1 = elementList.stream().filter(r -> r.getScore() <= 0.25).count();
log.info("人体识别-count1:{}", count1); log.info("人体识别-count1:{}", count1);
long startTime5 = System.currentTimeMillis(); long startTime5 = System.currentTimeMillis();
KylinCameraRecord cameraRecord = KylinCameraRecord.getNew(); KylinCameraRecord cameraRecord = KylinCameraRecord.getNew();
......
-- 数字藏品预约活动表
drop TABLE if exists `sweet_collection_reservation`;
CREATE TABLE `sweet_collection_reservation`
(
`mid` bigint unsigned NOT NULL AUTO_INCREMENT,
`reservation_id` varchar(255) NOT NULL DEFAULT '' COMMENT 'reservation_id',
`nickname` varchar(50) NOT NULL DEFAULT '' COMMENT '称呼',
`mobile` varchar(11) NOT NULL DEFAULT '' COMMENT '手机号',
`mailbox` varchar(255) NOT NULL DEFAULT '' COMMENT '邮箱',
`enterprise_name` varchar(255) NOT NULL DEFAULT '' COMMENT '企业名称',
`title` varchar(255) NOT NULL DEFAULT '' COMMENT '职务',
`created_at` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_at` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`mid`),
KEY `sweet_reservation_id` (`reservation_id`)
) ENGINE = InnoDB
DEFAULT CHARSET utf8mb4
COLLATE utf8mb4_unicode_ci
ROW_FORMAT = DYNAMIC COMMENT '数字藏品预约活动表';
\ No newline at end of file
...@@ -26,7 +26,7 @@ public class SweetMybatisPlusCodeGenerator { ...@@ -26,7 +26,7 @@ public class SweetMybatisPlusCodeGenerator {
// 全局配置BankMybatisPlusCodeGenerator // 全局配置BankMybatisPlusCodeGenerator
GlobalConfig gc = new GlobalConfig(); GlobalConfig gc = new GlobalConfig();
gc.setOutputDir(moduleRootPath + "/src/main/java"); gc.setOutputDir(moduleRootPath + "/src/main/java");
gc.setAuthor("hujiachen"); gc.setAuthor("jiangxiulong");
gc.setOpen(false); gc.setOpen(false);
// gc.setSwagger2(true); 实体属性 Swagger2 注解 // gc.setSwagger2(true); 实体属性 Swagger2 注解
mpg.setGlobalConfig(gc); mpg.setGlobalConfig(gc);
...@@ -93,9 +93,9 @@ public class SweetMybatisPlusCodeGenerator { ...@@ -93,9 +93,9 @@ public class SweetMybatisPlusCodeGenerator {
dsc.setUsername("testmall"); dsc.setUsername("testmall");
dsc.setPassword("zhengzai!mYT"); dsc.setPassword("zhengzai!mYT");
String resourcePath = "/Users/hujiachen/Downloads/tmp"; String resourcePath = "/Users/jiangxiulong/Downloads/tmp";
String directory = "com.liquidnet.service.sweet"; String directory = "com.liquidnet.service.sweet";
String[] dbTableArray = new String[]{"sweet_active_type","sweet_qr_code"}; String[] dbTableArray = new String[]{"sweet_collection_reservation"};
doGenerator(resourcePath, dsc, directory, dbTableArray); doGenerator(resourcePath, dsc, directory, dbTableArray);
......
package com.liquidnet.service.sweet.controller;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.service.ISweetCollectionReservationService;
import com.liquidnet.service.sweet.vo.SweetCollectionReservationVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* <p>
* 数字藏品预约活动表 前端控制器
* </p>
*
* @author jiangxiulong
* @since 2022-01-18
*/
@Api(tags = "活动-数字藏品预约活动")
@RestController
@RequestMapping("/collectionReservation")
public class SweetCollectionReservationController {
@Autowired
private ISweetCollectionReservationService reservationService;
@GetMapping("info")
@ApiOperation("活动状态")
public ResponseDto<SweetCollectionReservationVo> info() {
return reservationService.info();
}
@PostMapping("time")
@ApiOperation("设置活动结束时间")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", dataType = "String", name = "endTime", value = "结束时间")
})
public ResponseDto<Boolean> time(
@RequestParam() String endTime
) {
return reservationService.time(endTime);
}
@PostMapping("create")
@ApiOperation("添加预约记录")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", dataType = "String", name = "nickname", value = "昵称", required = true),
@ApiImplicitParam(type = "form", dataType = "String", name = "mobile", value = "手机号", required = true),
@ApiImplicitParam(type = "form", dataType = "String", name = "mailbox", value = "邮箱", required = true),
@ApiImplicitParam(type = "form", dataType = "String", name = "enterpriseName", value = "公司名称", required = true),
@ApiImplicitParam(type = "form", dataType = "String", name = "title", value = "职务", required = true)
})
public ResponseDto<Boolean> create(
@RequestParam() String nickname,
@RequestParam() String mobile,
@RequestParam() String mailbox,
@RequestParam() String enterpriseName,
@RequestParam() String title
) {
return reservationService.create(nickname, mobile, mailbox, enterpriseName, title);
}
}
package com.liquidnet.service.sweet.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
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.entity.SweetCollectionReservation;
import com.liquidnet.service.sweet.mapper.SweetCollectionReservationMapper;
import com.liquidnet.service.sweet.service.ISweetCollectionReservationService;
import com.liquidnet.service.sweet.utils.QueueUtils;
import com.liquidnet.service.sweet.utils.RedisActivityUtils;
import com.liquidnet.service.sweet.vo.SweetCollectionReservationVo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.LinkedList;
/**
* <p>
* 数字藏品预约活动表 服务实现类
* </p>
*
* @author jiangxiulong
* @since 2022-01-18
*/
@Slf4j
@Service
public class SweetCollectionReservationServiceImpl extends ServiceImpl<SweetCollectionReservationMapper, SweetCollectionReservation> implements ISweetCollectionReservationService {
@Autowired
private RedisActivityUtils activityUtils;
@Autowired
QueueUtils queueUtils;
@Override
public ResponseDto<SweetCollectionReservationVo> info() {
SweetCollectionReservationVo reservationVo = SweetCollectionReservationVo.getNew();
try {
LocalDateTime endTime = activityUtils.getEndTime("reservation");
LocalDateTime nowTime = LocalDateTime.now();
reservationVo.setStatus(1);
if (null == endTime || nowTime.isAfter(endTime)) {
reservationVo.setStatus(2);
}
} catch (Exception e) {
reservationVo.setStatus(1);
}
return ResponseDto.success(reservationVo);
}
@Override
public ResponseDto<Boolean> time(String endTime) {
activityUtils.setEndTime("reservation", endTime);
return ResponseDto.success();
}
@Override
public ResponseDto<Boolean> create(String nickname, String mobile, String mailbox, String enterpriseName, String title) {
try {
SweetCollectionReservation reservation = SweetCollectionReservation.getNew();
String id = IDGenerator.nextSnowId();
LocalDateTime nowTime = LocalDateTime.now();
reservation.setReservationId(id);
reservation.setNickname(nickname);
reservation.setMobile(mobile);
reservation.setMailbox(mailbox);
reservation.setEnterpriseName(enterpriseName);
reservation.setTitle(title);
reservation.setCreatedAt(nowTime);
reservation.setUpdatedAt(nowTime);
LinkedList<String> sqls = CollectionUtil.linkedListString();
LinkedList<Object[]> sqlsDataA = CollectionUtil.linkedListObjectArr();
sqls.add(SqlMapping.get("sweet_collection_reservation.insert"));
sqlsDataA.add(new Object[]{
id, nickname, mobile, mailbox, enterpriseName, title, nowTime, nowTime
});
queueUtils.sendMsgByRedis(MQConst.SweetQueue.SWEET_ANSWER_INSERT.getKey(),
SqlMapping.gets(sqls, sqlsDataA));
return ResponseDto.success();
} catch (Exception e) {
log.error("nickname="+nickname+"&mobile="+mobile+"&mailbox="+mailbox+"&enterpriseName="+enterpriseName+"&title="+title);
return ResponseDto.success();
}
}
}
package com.liquidnet.service.sweet.utils;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.service.sweet.constant.SweetConstant;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
@Component
@Slf4j
public class RedisActivityUtils {
@Autowired
private RedisUtil redisUtil;
/*public void setSweetCollectionReserved(SweetCollectionReservationVo reservationVo) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_COLLECTION_RESERVATION_USER.concat(reservationVo.getUnionId());
redisUtil.set(redisKey, reservationVo);
}
public SweetCollectionReservationVo getSweetCollectionReserved(String unionId) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_COLLECTION_RESERVATION_USER.concat(unionId);
Object obj = redisUtil.get(redisKey);
if (obj == null) {
return null;
} else {
return (SweetCollectionReservationVo) obj;
}
}*/
public void setEndTime(String type, String endTime) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_ACTIVITY_END_TIME.concat(type);
redisUtil.set(redisKey, endTime);
}
public LocalDateTime getEndTime(String type) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_ACTIVITY_END_TIME.concat(type);
Object obj = redisUtil.get(redisKey);
if (obj == null) {
return null;
} else {
String time = (String) obj;
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
return LocalDateTime.parse(time, formatter);
}
}
}
...@@ -56,6 +56,8 @@ sweet_strawberry_poster_Musician=INSERT INTO sweet_strawberry_poster_lineup(line ...@@ -56,6 +56,8 @@ sweet_strawberry_poster_Musician=INSERT INTO sweet_strawberry_poster_lineup(line
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.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.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=? sweet_wechat_maodeng.img.update=UPDATE sweet_wechat_maodeng SET img_url=? WHERE user_id=? AND mao_id=?
# --------------------------数字藏品预约活动--------------------------
sweet_collection_reservation.insert=INSERT INTO sweet_collection_reservation (reservation_id,nickname,mobile,mailbox,enterprise_name,title,created_at,updated_at) VALUES (?,?,?,?,?,?,?,?)
......
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