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

Commit feacd79c authored by jiangxiulong's avatar jiangxiulong

Merge remote-tracking branch 'origin/dev' into dev

parents 27676374 e69bcdde
......@@ -8,7 +8,7 @@ import lombok.Data;
@Data
public class AdamDisposedParam implements java.io.Serializable {
private static final long serialVersionUID = 7397579764049783649L;
@ApiModelProperty(position = 11, required = true, value = "内容ID[64]", example = "Swagger")
@ApiModelProperty(position = 11, required = true, value = "内容ID[64]")
private String contentId;
@ApiModelProperty(position = 12, required = true, value = "内容类型", allowableValues = "VIDEO,TICKET,SITE,ARTIST,BAND,BRAND,STYLE,GOODS,MUSIC,SONG")
private String type;
......
......@@ -13,7 +13,7 @@ public class AdamEntersParam implements java.io.Serializable {
private static final long serialVersionUID = 8628253022063935727L;
@ApiModelProperty(position = 10, required = false, value = "入场人ID,编辑时必传[50]")
private String entersId;
@ApiModelProperty(position = 11, required = true, value = "入场人姓名[50]", example = "Swagger")
@ApiModelProperty(position = 11, required = true, value = "入场人姓名[50]", example = "测试")
@Pattern(regexp = LnsRegex.Valid.CHINESE_HANZI, message = "姓名必须为2~20位汉字")
private String name;
@ApiModelProperty(position = 12, required = true, value = "入场人手机号[11]", example = "13100000000")
......
......@@ -8,7 +8,7 @@ import lombok.Data;
@Data
public class AdamEntersResult implements java.io.Serializable {
private static final long serialVersionUID = 3219448286221952517L;
@ApiModelProperty(position = 10, required = true, value = "入场人名称[50]", example = "Swagger")
@ApiModelProperty(position = 10, required = true, value = "入场人名称[50]", example = "测试")
private String name;
@ApiModelProperty(position = 11, required = true, value = "入场人手机号[11]", example = "13100000000")
private String mobile;
......
package com.liquidnet.service.adam.dto.vo;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.SensitizeUtil;
import com.liquidnet.service.adam.entity.AdamAddresses;
import io.swagger.annotations.ApiModel;
......@@ -12,6 +13,8 @@ public class AdamAddressesVo implements java.io.Serializable, Cloneable {
private static final long serialVersionUID = -3096308044365829079L;
@ApiModelProperty(position = 10, value = "收获地址ID[64]")
private String addressesId;
@ApiModelProperty(position = 11, value = "用户ID[64]")
private String uid;
@ApiModelProperty(position = 11, value = "姓名[30]")
private String name;
@ApiModelProperty(position = 12, value = "手机号[11]")
......@@ -24,8 +27,13 @@ public class AdamAddressesVo implements java.io.Serializable, Cloneable {
private String county;
@ApiModelProperty(position = 16, value = "详细地址[100]")
private String address;
@ApiModelProperty(position = 18, value = "是否为默认:0-否,1-是")
@ApiModelProperty(position = 17, value = "是否为默认:0-否,1-是")
private Boolean isDefault;
@ApiModelProperty(position = 18, value = "状态:0-INIT,1-NORMAL,2-INVALID")
private Integer state;
private String createdAt;
private String updatedAt;
private String deletedAt;
private static final AdamAddressesVo obj = new AdamAddressesVo();
......@@ -41,6 +49,7 @@ public class AdamAddressesVo implements java.io.Serializable, Cloneable {
public AdamAddressesVo copy(AdamAddresses source) {
if (null == source) return this;
this.setAddressesId(source.getAddressesId());
this.setUid(source.getUid());
this.setName(source.getName());
this.setPhone(SensitizeUtil.custom(source.getPhone(), 3, 4));
this.setProvince(source.getProvince());
......@@ -48,6 +57,10 @@ public class AdamAddressesVo implements java.io.Serializable, Cloneable {
this.setCounty(source.getCounty());
this.setAddress(source.getAddress());
this.setIsDefault(source.getIsDefault());
this.setState(source.getState());
this.setCreatedAt(DateUtil.Formatter.yyyyMMddHHmmssTrim.format(source.getCreatedAt()));
this.setUpdatedAt(DateUtil.Formatter.yyyyMMddHHmmssTrim.format(source.getUpdatedAt()));
this.setDeletedAt(DateUtil.Formatter.yyyyMMddHHmmssTrim.format(source.getDeletedAt()));
return this;
}
}
package com.liquidnet.service.adam.dto.vo;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.SensitizeUtil;
import com.liquidnet.service.adam.entity.AdamEnters;
import io.swagger.annotations.ApiModel;
......@@ -12,16 +13,23 @@ public class AdamEntersVo implements java.io.Serializable, Cloneable {
private static final long serialVersionUID = -9143065766410946012L;
@ApiModelProperty(position = 10, value = "入场人ID[64]")
private String entersId;
@ApiModelProperty(position = 11, value = "入场人名称[50]")
@ApiModelProperty(position = 11, value = "用户ID[50]")
private String uid;
@ApiModelProperty(position = 12, value = "证件类型:1-大陆身份证,2-港澳通行证,3-台胞证,4-护照,5-军官证")
private Integer type;
@ApiModelProperty(position = 13, value = "姓名[50]")
private String name;
@ApiModelProperty(position = 12, value = "入场人手机号[11]")
@ApiModelProperty(position = 14, value = "手机号[11]")
private String mobile;
@ApiModelProperty(position = 13, value = "证件类型:1-大陆身份证,2-港澳通行证,3-台胞证,4-护照,5-军官证")
private Integer type;
@ApiModelProperty(position = 14, value = "入场人证件号[11]")
@ApiModelProperty(position = 15, value = "证件号[11]")
private String idCard;
@ApiModelProperty(position = 15, value = "是否为默认:0-否,1-是")
@ApiModelProperty(position = 16, value = "默认:0-否,1-是")
private Boolean isDefault;
@ApiModelProperty(position = 17, value = "状态:0-INIT,1-NORMAL,2-INVALID")
private Integer state;
private String createdAt;
private String updatedAt;
private String deletedAt;
private static final AdamEntersVo obj = new AdamEntersVo();
......@@ -37,11 +45,16 @@ public class AdamEntersVo implements java.io.Serializable, Cloneable {
public AdamEntersVo copy(AdamEnters source) {
if (null == source) return this;
this.setEntersId(source.getEntersId());
this.setUid(source.getUid());
this.setType(source.getType());
this.setName(SensitizeUtil.chineseName(source.getName()));
this.setIdCard(SensitizeUtil.custom(source.getIdCard(), 3, 2));
this.setMobile(SensitizeUtil.custom(source.getMobile(), 3, 4));
this.setType(source.getType());
this.setIdCard(SensitizeUtil.custom(source.getIdCard(), 3, 2));
this.setIsDefault(source.getIsDefault());
this.setState(source.getState());
this.setCreatedAt(DateUtil.Formatter.yyyyMMddHHmmss.format(source.getCreatedAt()));
this.setUpdatedAt(DateUtil.Formatter.yyyyMMddHHmmss.format(source.getUpdatedAt()));
this.setDeletedAt(DateUtil.Formatter.yyyyMMddHHmmss.format(source.getDeletedAt()));
return this;
}
}
package com.liquidnet.service.adam.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.adam.dto.AdamAddressesParam;
import com.liquidnet.service.adam.dto.vo.AdamAddressesVo;
import com.liquidnet.service.adam.entity.AdamAddresses;
import java.util.List;
/**
* <p>
......@@ -14,17 +11,13 @@ import java.util.List;
* @author liquidnet
* @since 2021-05-11
*/
public interface IAdamAddressesService extends IService<AdamAddresses> {
void add(AdamAddresses adamAddresses);
// List<AdamAddresses> queryByUid(String uid);
public interface IAdamAddressesService {
// AdamAddresses query(String uid, String addressesId);
String add(AdamAddressesParam parameter);
void def(String uid, String addressesId);
void edit(AdamAddresses info);
void edit(AdamAddressesParam parameter);
void remove(String uid, String addressesId);
......
package com.liquidnet.service.adam.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.adam.dto.AdamEntersParam;
import com.liquidnet.service.adam.dto.vo.AdamEntersVo;
import com.liquidnet.service.adam.entity.AdamEnters;
import java.util.List;
/**
* <p>
......@@ -14,16 +11,12 @@ import java.util.List;
* @author liquidnet
* @since 2021-04-28
*/
public interface IAdamEntersService extends IService<AdamEnters> {
// List<AdamEnters> queryByUid(String uid);
void add(AdamEnters info);
// AdamEnters query(String uid, String entersId);
public interface IAdamEntersService {
String add(AdamEntersParam parameter);
void def(String uid, String entersId);
void edit(AdamEnters info);
void edit(AdamEntersParam parameter);
void remove(String uid, String entersId);
......
package com.liquidnet.service.adam.service;
import com.liquidnet.service.adam.dto.vo.*;
import com.liquidnet.service.adam.entity.AdamAddresses;
import com.liquidnet.service.adam.entity.AdamEnters;
import java.util.List;
......@@ -39,21 +38,21 @@ public interface IAdamRdmService {
void delThirdPartVoListByUid(String uid);
boolean setEntersByUid(String uid, List<AdamEnters> list);
boolean setEntersVoByUid(String uid, List<AdamEntersVo> list);
List<AdamEnters> getEntersByUid(String uid);
List<AdamEntersVo> getEntersVoByUid(String uid);
AdamEnters getEntersByUidEntersId(String uid, String entersId);
AdamEntersVo getEntersVoByUidEntersId(String uid, String entersId);
void delEntersByUid(String uid);
void delEntersVoByUid(String uid);
boolean setAddressesByUid(String uid, List<AdamAddresses> list);
boolean setAddressesVoByUid(String uid, List<AdamAddressesVo> list);
List<AdamAddresses> getAddressesByUid(String uid);
List<AdamAddressesVo> getAddressesVoByUid(String uid);
AdamAddresses getAddressesByUidAddressesId(String uid, String addressesId);
AdamAddressesVo getAddressesVoByUidAddressesId(String uid, String addressesId);
void delAddressesByUid(String uid);
void delAddressesVoByUid(String uid);
boolean setUserMemberVoByUid(String uid, AdamUserMemberVo vo);
......
package com.liquidnet.service.kylin.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.entity.KylinLackRegisters;
public interface IKylinLackRegistersService extends IService<KylinLackRegisters> {
ResponseDto<String> addLackRegister(String performanceId,String ticketId);
}
......@@ -102,7 +102,7 @@
//// String[] dbTableArray = new String[]{"kylin_buy_notice"};
//// String[] dbTableArray = new String[]{"kylin_order_tickets","kylin_order_ticket_relations","kylin_order_ticket_status","kylin_order_ticket_entities"};
//// String[] dbTableArray = new String[]{"kylin_check_user","kylin_check_user_performances"};
// String[] dbTableArray = new String[]{"express_batches","express_logs","express_timelines","expresses"};
// String[] dbTableArray = new String[]{"kylin_lack_registers"};
//
// doGenerator(resourcePath, dsc, directory, dbTableArray);
// }
......
......@@ -17,5 +17,6 @@ public class OrderScriptDto {
String orderCode;
Integer status;
String ticketId;
String userId;
Integer number;
}
package com.liquidnet.service.kylin.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 KylinLackRegisters implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Integer mid;
/**
* lack_registers_id
*/
private String lackRegistersId;
/**
* performance_id
*/
private String performanceId;
/**
* ticket_id
*/
private String ticketId;
/**
* user_id
*/
private String userId;
/**
* user_name
*/
private String userName;
/**
* user_mobile
*/
private String userMobile;
/**
* send_status
*/
private Integer sendStatus;
/**
* ip_address
*/
private String ipAddress;
/**
* created_at
*/
private LocalDateTime createdAt;
/**
* updated_at
*/
private LocalDateTime updatedAt;
/**
* 获取 支付回调 数据库参数
*
* @return
*/
public Object[] getInsertObj() {
return new Object[]{
lackRegistersId, performanceId, ticketId,userId,userName,userMobile,0,ipAddress,createdAt
};
}
}
package com.liquidnet.service.kylin.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.liquidnet.service.kylin.entity.KylinLackRegisters;
import com.liquidnet.service.kylin.entity.KylinOrderTicketRelations;
/**
* <p>
* 订单关系 Mapper 接口
* </p>
*
* @author liquidnet
* @since 2021-05-20
*/
public interface KylinLackRegistersMapper extends BaseMapper<KylinLackRegisters> {
}
<?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.kylin.mapper.KylinLackRegistersMapper">
</mapper>
......@@ -48,6 +48,7 @@
<result column="status" property="status"/>
<result column="ticket_id" property="ticketId"/>
<result column="number" property="number"/>
<result column="user_id" property="userId"/>
</resultMap>
......@@ -199,7 +200,8 @@
order_code,
status,
ticket_id,
number
number,
user_id
FROM kylin_order_tickets AS ot
LEFT JOIN kylin_order_ticket_status AS ots ON ots.order_id = ot.order_tickets_id
LEFT JOIN kylin_order_ticket_relations AS otr ON otr.order_id = ot.order_tickets_id
......
......@@ -3,27 +3,22 @@ package com.liquidnet.service.adam.controller;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.adam.entity.AdamAddresses;
import com.liquidnet.service.adam.dto.AdamAddressesParam;
import com.liquidnet.service.adam.dto.vo.AdamAddressesVo;
import com.liquidnet.service.adam.service.IAdamAddressesService;
import com.liquidnet.service.adam.service.IAdamRdmService;
import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.adam.dto.AdamAddressesParam;
import com.liquidnet.service.adam.dto.vo.AdamAddressesVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
/**
......@@ -49,33 +44,15 @@ public class AdamAddressesController {
@ApiOperationSupport(order = 1)
@ApiOperation(value = "添加收获地址")
@PostMapping("add")
public ResponseDto<Object> add(@RequestBody @Valid AdamAddressesParam parameter) {
String currentUid = CurrentUtil.getCurrentUid();
AdamAddresses adamAddresses = new AdamAddresses();
BeanUtils.copyProperties(parameter, adamAddresses);
adamAddresses.setUid(currentUid);
adamAddresses.setAddressesId(String.valueOf(IDGenerator.nextSnowId()));
adamAddresses.setCreatedAt(LocalDateTime.now());
adamAddresses.setState(1);
adamAddressesService.add(adamAddresses);
return ResponseDto.success(adamAddresses.getAddressesId());
public ResponseDto<Object> add(@Valid @RequestBody AdamAddressesParam parameter) {
return ResponseDto.success(adamAddressesService.add(parameter));
}
@ApiOperationSupport(order = 2)
@ApiOperation(value = "收获地址列表")
@GetMapping("list")
public ResponseDto<List<AdamAddressesVo>> list() {
String currentUid = CurrentUtil.getCurrentUid();
List<AdamAddressesVo> voList = new ArrayList<>();
adamRdmService.getAddressesByUid(currentUid).forEach(i -> {
voList.add(AdamAddressesVo.getNew().copy(i));
});
return ResponseDto.success(voList);
return ResponseDto.success(adamRdmService.getAddressesVoByUid(CurrentUtil.getCurrentUid()));
}
@ApiOperationSupport(order = 3)
......@@ -84,10 +61,10 @@ public class AdamAddressesController {
public ResponseDto<Object> def(@NotBlank @PathVariable String addrId) {
String currentUid = CurrentUtil.getCurrentUid();
AdamAddresses addresses = adamRdmService.getAddressesByUidAddressesId(currentUid, addrId);
if (null == addresses) return ResponseDto.failure(ErrorMapping.get("10106"));
AdamAddressesVo vo = adamRdmService.getAddressesVoByUidAddressesId(currentUid, addrId);
if (null == vo) return ResponseDto.failure(ErrorMapping.get("10106"));
if (!addresses.getIsDefault()) adamAddressesService.def(currentUid, addrId);
if (!vo.getIsDefault()) adamAddressesService.def(currentUid, addrId);
return ResponseDto.success();
}
......@@ -99,15 +76,11 @@ public class AdamAddressesController {
if (StringUtils.isBlank(parameter.getAddressesId())) {
return ResponseDto.failure(ErrorMapping.get("10016"));
}
String currentUid = CurrentUtil.getCurrentUid();
AdamAddresses updateInfo = new AdamAddresses();
BeanUtils.copyProperties(parameter, updateInfo);
updateInfo.setUpdatedAt(LocalDateTime.now());
updateInfo.setUid(currentUid);
updateInfo.setState(1);
if (null == adamRdmService.getAddressesVoByUidAddressesId(CurrentUtil.getCurrentUid(), parameter.getAddressesId())) {
return ResponseDto.failure(ErrorMapping.get("10106"));
}
adamAddressesService.edit(updateInfo);
adamAddressesService.edit(parameter);
return ResponseDto.success();
}
......@@ -116,13 +89,13 @@ public class AdamAddressesController {
@ApiOperation(value = "删除收获地址")
@PostMapping("del/{addrId}")
public ResponseDto<Object> del(@NotBlank @PathVariable String addrId) {
String currentUid = CurrentUtil.getCurrentUid();
AdamAddresses addresses = adamRdmService.getAddressesByUidAddressesId(currentUid, addrId);
if (null == addresses) return ResponseDto.failure(ErrorMapping.get("10106"));
AdamAddressesVo vo = adamRdmService.getAddressesVoByUidAddressesId(currentUid, addrId);
if (null == vo) return ResponseDto.failure(ErrorMapping.get("10106"));
adamAddressesService.remove(currentUid, addrId);
return ResponseDto.success();
}
......@@ -130,10 +103,9 @@ public class AdamAddressesController {
@ApiOperation(value = "收货地址详情")
@PostMapping("query/{id}")
public ResponseDto<AdamAddressesVo> query(@NotBlank @PathVariable(name = "id") String addrId,
@NotBlank @RequestParam(required = false) String uid) {
AdamAddresses addresses = adamRdmService.getAddressesByUidAddressesId(StringUtils.isBlank(uid) ? CurrentUtil.getCurrentUid() : uid, addrId);
return null == addresses ? ResponseDto.failure(ErrorMapping.get(10105)) : ResponseDto.success(AdamAddressesVo.getNew().copy(addresses));
@RequestParam(required = false) String uid) {
AdamAddressesVo vo = adamRdmService.getAddressesVoByUidAddressesId(StringUtils.isBlank(uid) ? CurrentUtil.getCurrentUid() : uid, addrId);
return null == vo ? ResponseDto.failure(ErrorMapping.get("10106")) : ResponseDto.success(vo);
}
@ApiOperationSupport(order = 7)
......
......@@ -50,32 +50,14 @@ public class AdamEntersController {
@ApiOperation(value = "添加入场人")
@PostMapping("add")
public ResponseDto<String> add(@RequestBody @Valid AdamEntersParam parameter) {
String currentUid = CurrentUtil.getCurrentUid();
AdamEnters addInfo = new AdamEnters();
BeanUtils.copyProperties(parameter, addInfo);
addInfo.setUid(currentUid);
addInfo.setEntersId(String.valueOf(IDGenerator.nextSnowId()));
addInfo.setCreatedAt(LocalDateTime.now());
addInfo.setState(1);
adamEntersService.add(addInfo);
return ResponseDto.success(addInfo.getEntersId());
return ResponseDto.success(adamEntersService.add(parameter));
}
@ApiOperationSupport(order = 2)
@ApiOperation(value = "入场人列表")
@GetMapping("list")
public ResponseDto<List<AdamEntersVo>> list() {
String currentUid = CurrentUtil.getCurrentUid();
List<AdamEntersVo> voList = new ArrayList<>();
adamRdmService.getEntersByUid(currentUid).forEach(i -> {
voList.add(AdamEntersVo.getNew().copy(i));
});
return ResponseDto.success(voList);
return ResponseDto.success(adamRdmService.getEntersVoByUid(CurrentUtil.getCurrentUid()));
}
@ApiOperationSupport(order = 3)
......@@ -83,10 +65,11 @@ public class AdamEntersController {
@PostMapping("def/{entersId}")
public ResponseDto<Object> def(@NotBlank @PathVariable String entersId) {
String currentUid = CurrentUtil.getCurrentUid();
AdamEnters enters = adamRdmService.getEntersByUidEntersId(currentUid, entersId);
if (null == enters) return ResponseDto.failure(ErrorMapping.get("10105"));
if (!enters.getIsDefault()) {
AdamEntersVo vo = adamRdmService.getEntersVoByUidEntersId(currentUid, entersId);
if (null == vo) return ResponseDto.failure(ErrorMapping.get("10105"));
if (!vo.getIsDefault()) {
adamEntersService.def(currentUid, entersId);
}
return ResponseDto.success();
......@@ -99,18 +82,11 @@ public class AdamEntersController {
if (StringUtils.isBlank(parameter.getEntersId())) {
return ResponseDto.failure(ErrorMapping.get("10015"));
}
String currentUid = CurrentUtil.getCurrentUid();
AdamEnters enters = adamRdmService.getEntersByUidEntersId(currentUid, parameter.getEntersId());
if (null == enters) return ResponseDto.failure(ErrorMapping.get("10105"));
AdamEnters updateInfo = new AdamEnters();
BeanUtils.copyProperties(parameter, updateInfo);
updateInfo.setUpdatedAt(LocalDateTime.now());
updateInfo.setUid(currentUid);
updateInfo.setState(1);
if (null == adamRdmService.getEntersVoByUidEntersId(CurrentUtil.getCurrentUid(), parameter.getEntersId())) {
return ResponseDto.failure(ErrorMapping.get("10105"));
}
adamEntersService.edit(updateInfo);
adamEntersService.edit(parameter);
return ResponseDto.success();
}
......@@ -121,10 +97,11 @@ public class AdamEntersController {
public ResponseDto<Object> del(@NotBlank @PathVariable String entersId) {
String currentUid = CurrentUtil.getCurrentUid();
AdamEnters enters = adamRdmService.getEntersByUidEntersId(currentUid, entersId);
AdamEntersVo enters = adamRdmService.getEntersVoByUidEntersId(currentUid, entersId);
if (null == enters) return ResponseDto.failure(ErrorMapping.get("10105"));
adamEntersService.remove(currentUid, entersId);
return ResponseDto.success();
}
......@@ -132,10 +109,9 @@ public class AdamEntersController {
@ApiOperation(value = "入场人详情")
@PostMapping("query/{entersId}")
public ResponseDto<AdamEntersVo> query(@NotBlank @PathVariable String entersId,
@NotBlank @RequestParam(required = false) String uid) {
AdamEnters info = adamRdmService.getEntersByUidEntersId(StringUtils.isBlank(uid) ? CurrentUtil.getCurrentUid() : uid, entersId);
return null == info ? ResponseDto.failure(ErrorMapping.get(10105)) : ResponseDto.success(AdamEntersVo.getNew().copy(info));
@RequestParam(required = false) String uid) {
AdamEntersVo vo = adamRdmService.getEntersVoByUidEntersId(StringUtils.isBlank(uid) ? CurrentUtil.getCurrentUid() : uid, entersId);
return null == vo ? ResponseDto.failure(ErrorMapping.get("10105")) : ResponseDto.success(vo);
}
@ApiOperationSupport(order = 7)
......
package com.liquidnet.service.adam.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.commons.lang.util.BsonUtil;
import com.liquidnet.common.mq.constant.MQConst;
import com.liquidnet.commons.lang.util.*;
import com.liquidnet.service.adam.dto.AdamAddressesParam;
import com.liquidnet.service.adam.dto.vo.AdamAddressesVo;
import com.liquidnet.service.adam.entity.AdamAddresses;
import com.liquidnet.service.adam.mapper.AdamAddressesMapper;
import com.liquidnet.service.adam.service.IAdamAddressesService;
import com.liquidnet.service.adam.service.IAdamRdmService;
import com.mongodb.BasicDBObject;
import com.liquidnet.service.base.SqlMapping;
import com.mongodb.client.model.FindOneAndUpdateOptions;
import com.mongodb.client.model.ReturnDocument;
import com.mongodb.client.result.UpdateResult;
import org.bson.Document;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.convert.MongoConverter;
......@@ -24,7 +23,8 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.time.LocalDateTime;
import java.util.*;
import java.util.LinkedList;
import java.util.List;
/**
* <p>
......@@ -35,9 +35,7 @@ import java.util.*;
* @since 2021-05-11
*/
@Service
public class AdamAddressesServiceImpl extends ServiceImpl<AdamAddressesMapper, AdamAddresses> implements IAdamAddressesService {
@Autowired
AdamAddressesMapper adamAddressesMapper;
public class AdamAddressesServiceImpl implements IAdamAddressesService {
@Autowired
MongoConverter mongoConverter;
@Autowired
......@@ -49,166 +47,156 @@ public class AdamAddressesServiceImpl extends ServiceImpl<AdamAddressesMapper, A
@Override
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public void add(AdamAddresses adamAddresses) {
List<AdamAddresses> addressesList = adamRdmService.getAddressesByUid(adamAddresses.getUid());
public String add(AdamAddressesParam parameter) {
String currentUid = CurrentUtil.getCurrentUid();
LocalDateTime now = LocalDateTime.now();
String nowStr = DateUtil.Formatter.yyyyMMddHHmmss.format(now);
adamAddresses.setIsDefault(CollectionUtils.isEmpty(addressesList));
List<AdamAddressesVo> vos = adamRdmService.getAddressesVoByUid(currentUid);
mongoTemplate.insert(adamAddresses, AdamAddresses.class.getSimpleName());
AdamAddressesVo vo = AdamAddressesVo.getNew();
BeanUtils.copyProperties(parameter, vo);
vo.setAddressesId(String.valueOf(IDGenerator.nextSnowId()));
vo.setUid(currentUid);
vo.setIsDefault(CollectionUtils.isEmpty(vos));
vo.setState(1);
vo.setCreatedAt(nowStr);
// TODO: 2021/5/14
List<Object> objectList = Arrays.asList();
// rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
// SqlMapping.get("adam_addresses.add", objectList.toArray()));
mongoTemplate.insert(vo, AdamAddressesVo.class.getSimpleName());
addressesList.add(adamAddresses);
adamRdmService.setAddressesByUid(adamAddresses.getUid(), addressesList);
}
rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
SqlMapping.get("adam_addresses.add",
vo.getAddressesId(), vo.getUid(), vo.getName(), vo.getPhone(), vo.getProvince(), vo.getCity(), vo.getCounty(), vo.getAddress(), vo.getIsDefault(), vo.getState(), now
)
);
// @Override
// public List<AdamAddresses> queryByUid(String uid) {
// List<AdamAddresses> infoList = new ArrayList<>();
//
// Map<Object, Object> objectMap = redisUtil.hmget(AdamRedisConst.INFO_ADDRESSES.concat(uid));
//
// if (CollectionUtils.isEmpty(objectMap)) {
// infoList = mongoTemplate.find(Query.query(Criteria.where("uid").is(uid).and("state").is(1)), AdamAddresses.class, AdamAddresses.class.getSimpleName());
// } else {
// Collection<Object> values = objectMap.values();
// for (Object o : values) {
// infoList.add((AdamAddresses) o);
// }
// }
//
// return infoList;
// }
// @Override
// public AdamAddresses query(String uid, String addressesId) {
// AdamAddresses info = (AdamAddresses) redisUtil.hget(AdamRedisConst.INFO_ADDRESSES.concat(uid), addressesId);
//
// if (null == info) {
// info = mongoTemplate.findOne(
// Query.query(Criteria.where("entersId").is(addressesId).and("state").is(1).and("uid").is(uid)
// ), AdamAddresses.class, AdamAddresses.class.getSimpleName());
//
// if (null != info) redisUtil.hset(AdamRedisConst.INFO_ADDRESSES.concat(uid), addressesId, info);
// }
//
// return info;
// }
vos.add(vo);
adamRdmService.setAddressesVoByUid(currentUid, vos);
return vo.getAddressesId();
}
@Override
public void def(String uid, String addressesId) {
LocalDateTime now = LocalDateTime.now();
LinkedList<Object[]> linkedList = new LinkedList<>();
List<AdamAddresses> addressesList = adamRdmService.getAddressesByUid(uid);
if (addressesList.size() > 1) {// 取消原默认
AdamAddresses unDeaultAddresses = new AdamAddresses();
unDeaultAddresses.setIsDefault(false);
unDeaultAddresses.setUpdatedAt(now);
BasicDBObject object = new BasicDBObject("$set", mongoConverter.convertToMongoType(unDeaultAddresses));
Document doc = mongoTemplate.getCollection(AdamAddresses.class.getSimpleName()).findOneAndUpdate(
Query.query(Criteria.where("uid").is(uid).and("isDefault").is(true)).getQueryObject(),
object, new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
String nowStr = DateUtil.Formatter.yyyyMMddHHmmss.format(now);
LinkedList<Object[]> toMqObjs = new LinkedList<>();
List<AdamAddressesVo> vos = adamRdmService.getAddressesVoByUid(uid);
if (vos.size() > 1) {// 取消原默认
AdamAddressesVo unDeaultVo = AdamAddressesVo.getNew();
unDeaultVo.setIsDefault(false);
unDeaultVo.setUpdatedAt(nowStr);
Document doc = mongoTemplate.getCollection(AdamAddressesVo.class.getSimpleName()).findOneAndUpdate(
Query.query(Criteria.where("uid").is(uid).and("state").is(1).and("isDefault").is(true)).getQueryObject(),
new Document("$set", Document.parse(JsonUtils.toJson(unDeaultVo))),
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
);
if (null != doc) {
AdamAddresses unDefaultAfterAddresses = BsonUtil.toBean(doc, AdamAddresses.class);
AdamAddressesVo unDefaultVoAfter = BsonUtil.toBean(doc, AdamAddressesVo.class);
List<Object> paramList = new ArrayList<>();
paramList.add(unDeaultAddresses.getIsDefault());
paramList.add(unDeaultAddresses.getUpdatedAt());
paramList.add(unDefaultAfterAddresses.getAddressesId());
linkedList.add(paramList.toArray());
toMqObjs.add(new Object[]{unDeaultVo.getIsDefault(), now, unDefaultVoAfter.getAddressesId()});
addressesList.removeIf(r -> r.getAddressesId().equals(unDefaultAfterAddresses.getAddressesId()));
addressesList.add(unDefaultAfterAddresses);
vos.removeIf(r -> r.getAddressesId().equals(unDefaultVoAfter.getAddressesId()));
vos.add(unDefaultVoAfter);
}
}
{// 设置新默认
AdamAddresses defaultAddresses = new AdamAddresses();
defaultAddresses.setIsDefault(true);
defaultAddresses.setUpdatedAt(now);
BasicDBObject object = new BasicDBObject("$set", mongoConverter.convertToMongoType(defaultAddresses));
Document doc = mongoTemplate.getCollection(AdamAddresses.class.getSimpleName()).findOneAndUpdate(
AdamAddressesVo defaultVo = AdamAddressesVo.getNew();
defaultVo.setIsDefault(true);
defaultVo.setUpdatedAt(nowStr);
Document doc = mongoTemplate.getCollection(AdamAddressesVo.class.getSimpleName()).findOneAndUpdate(
Query.query(Criteria.where("uid").is(uid).and("addressesId").is(addressesId)).getQueryObject(),
object, new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
new Document("$set", Document.parse(JsonUtils.toJson(defaultVo))),
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
);
AdamAddresses addresses = BsonUtil.toBean(doc, AdamAddresses.class);
List<Object> paramList = new ArrayList<>();
paramList.add(defaultAddresses.getIsDefault());
paramList.add(defaultAddresses.getUpdatedAt());
paramList.add(addressesId);
// rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
// SqlMapping.get("adam_enters.update.is_default", paramList.toArray()));
linkedList.add(paramList.toArray());
addressesList.removeIf(r -> r.getAddressesId().equals(addresses.getAddressesId()));
addressesList.add(addresses);
}
adamRdmService.setAddressesByUid(uid, addressesList);
if (null != doc) {
AdamAddressesVo defaultVoAfter = BsonUtil.toBean(doc, AdamAddressesVo.class);
// rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
// SqlMapping.get("adam_addresses.update.is_default", linkedList));
toMqObjs.add(new Object[]{defaultVo.getIsDefault(), now, addressesId});
vos.removeIf(r -> r.getAddressesId().equals(defaultVoAfter.getAddressesId()));
vos.add(defaultVoAfter);
}
}
if (!CollectionUtils.isEmpty(toMqObjs)) {
rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
SqlMapping.get("adam_addresses.update.is_default", toMqObjs));
adamRdmService.setAddressesVoByUid(uid, vos);
}
}
@Override
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public void edit(AdamAddresses info) {
BasicDBObject object = new BasicDBObject("$set", mongoConverter.convertToMongoType(info));
Document doc = mongoTemplate.getCollection(AdamAddresses.class.getSimpleName()).findOneAndUpdate(
Query.query(Criteria.where("addressesId").is(info.getAddressesId())).getQueryObject(),
object, new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
public void edit(AdamAddressesParam parameter) {
LocalDateTime now = LocalDateTime.now();
String nowStr = DateUtil.Formatter.yyyyMMddHHmmss.format(now);
AdamAddressesVo updateVo = AdamAddressesVo.getNew();
BeanUtils.copyProperties(parameter, updateVo);
updateVo.setUpdatedAt(nowStr);
Document doc = mongoTemplate.getCollection(AdamAddressesVo.class.getSimpleName()).findOneAndUpdate(
Query.query(Criteria.where("addressesId").is(parameter.getAddressesId())).getQueryObject(),
new Document("$set", Document.parse(JsonUtils.toJson(updateVo))),
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
);
if (null != doc) {
updateVo = BsonUtil.toBean(doc, AdamAddressesVo.class);
rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
SqlMapping.get("adam_addresses.edit",
updateVo.getName(), updateVo.getPhone(), updateVo.getProvince(), updateVo.getCity(), updateVo.getCounty(), updateVo.getAddress(), now, updateVo.getAddressesId()
)
);
// TODO: 2021/5/14
List<Object> paramList = Arrays.asList();
// rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
// SqlMapping.get("adam_addresses.edit", paramList.toArray()));
String currentUid = CurrentUtil.getCurrentUid();
List<AdamAddresses> list = adamRdmService.getAddressesByUid(info.getUid());
list.removeIf(r -> r.getAddressesId().equals(info.getAddressesId()));
list.add(info);
adamRdmService.setAddressesByUid(info.getUid(), list);
List<AdamAddressesVo> vos = adamRdmService.getAddressesVoByUid(currentUid);
vos.removeIf(r -> r.getAddressesId().equals(parameter.getAddressesId()));
vos.add(updateVo);
adamRdmService.setAddressesVoByUid(currentUid, vos);
}
}
@Override
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public void remove(String uid, String addressesId) {
AdamAddresses addresses = new AdamAddresses();
addresses.setUpdatedAt(LocalDateTime.now());
addresses.setDeletedAt(addresses.getUpdatedAt());
addresses.setState(2);
BasicDBObject object = new BasicDBObject("$set", mongoConverter.convertToMongoType(addresses));
UpdateResult updateResult = mongoTemplate.getCollection(AdamAddresses.class.getSimpleName())
.updateOne(Query.query(Criteria.where("addressesId").is(addressesId)).getQueryObject(), object);
List<Object> paramList = Arrays.asList(addresses.getUpdatedAt(), addresses.getDeletedAt(), addressesId);
// rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
// SqlMapping.get("adam_addresses.remove", paramList.toArray()));
List<AdamAddresses> list = adamRdmService.getAddressesByUid(uid);
list.removeIf(r -> r.getAddressesId().equals(addressesId));
adamRdmService.setAddressesByUid(uid, list);
LocalDateTime now = LocalDateTime.now();
String nowStr = DateUtil.Formatter.yyyyMMddHHmmss.format(now);
AdamAddressesVo removeVo = AdamAddressesVo.getNew();
removeVo.setState(2);
removeVo.setIsDefault(false);
removeVo.setUpdatedAt(nowStr);
removeVo.setDeletedAt(nowStr);
Document doc = mongoTemplate.getCollection(AdamAddressesVo.class.getSimpleName()).findOneAndUpdate(
Query.query(Criteria.where("addressesId").is(addressesId)).getQueryObject(),
new Document("$set", Document.parse(JsonUtils.toJson(removeVo))),
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
);
if (null != doc) {
rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
SqlMapping.get("adam_addresses.remove", now, now, addressesId)
);
List<AdamAddressesVo> vos = adamRdmService.getAddressesVoByUid(uid);
vos.removeIf(r -> r.getAddressesId().equals(addressesId));
adamRdmService.setAddressesVoByUid(uid, vos);
}
}
@Override
public AdamAddressesVo queryDefault(String uid) {
List<AdamAddresses> addressesList = adamRdmService.getAddressesByUid(uid);
if (!CollectionUtils.isEmpty(addressesList)) {
AdamAddresses defaultAddr = null;
for (AdamAddresses addresses : addressesList) {
if (addresses.getIsDefault()) {
return AdamAddressesVo.getNew().copy(addresses);
List<AdamAddressesVo> vos = adamRdmService.getAddressesVoByUid(uid);
if (!CollectionUtils.isEmpty(vos)) {
AdamAddressesVo defaultVo = null;
for (AdamAddressesVo vo : vos) {
if (vo.getIsDefault()) {
return vo;
}
defaultAddr = null == defaultAddr ? addresses :
addresses.getCreatedAt().isAfter(defaultAddr.getCreatedAt()) ? addresses : defaultAddr;
defaultVo = null == defaultVo ? vo :
vo.getCreatedAt().compareTo(defaultVo.getCreatedAt()) > 0 ? vo : defaultVo;
}
return AdamAddressesVo.getNew().copy(defaultAddr);
return defaultVo;
}
return null;
}
......
package com.liquidnet.service.adam.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.common.mq.constant.MQConst;
import com.liquidnet.commons.lang.util.BsonUtil;
import com.liquidnet.commons.lang.util.*;
import com.liquidnet.service.adam.dto.AdamEntersParam;
import com.liquidnet.service.adam.dto.vo.AdamEntersVo;
import com.liquidnet.service.adam.entity.AdamEnters;
import com.liquidnet.service.adam.mapper.AdamEntersMapper;
import com.liquidnet.service.adam.service.IAdamEntersService;
import com.liquidnet.service.adam.service.IAdamRdmService;
import com.liquidnet.service.base.SqlMapping;
import com.mongodb.BasicDBObject;
import com.mongodb.client.model.FindOneAndUpdateOptions;
import com.mongodb.client.model.ReturnDocument;
import com.mongodb.client.result.UpdateResult;
import lombok.extern.slf4j.Slf4j;
import org.bson.Document;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.convert.MongoConverter;
......@@ -27,8 +24,6 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
......@@ -42,9 +37,7 @@ import java.util.List;
*/
@Slf4j
@Service
public class AdamEntersServiceImpl extends ServiceImpl<AdamEntersMapper, AdamEnters> implements IAdamEntersService {
@Autowired
AdamEntersMapper adamEntersMapper;
public class AdamEntersServiceImpl implements IAdamEntersService {
@Autowired
MongoConverter mongoConverter;
@Autowired
......@@ -54,196 +47,162 @@ public class AdamEntersServiceImpl extends ServiceImpl<AdamEntersMapper, AdamEnt
@Autowired
IAdamRdmService adamRdmService;
// @Override
// public List<AdamEnters> queryByUid(String uid) {
// List<AdamEnters> infoList = new ArrayList<>();
//
// Map<Object, Object> objectMap = redisUtil.hmget(AdamRedisConst.INFO_ENTERS.concat(uid));
//
// if (CollectionUtils.isEmpty(objectMap)) {
// infoList = mongoTemplate.find(Query.query(Criteria.where("uid").is(uid).and("state").is(1)), AdamEnters.class, AdamEnters.class.getSimpleName());
// } else {
// Collection<Object> values = objectMap.values();
// for (Object o : values) {
// infoList.add((AdamEnters) o);
// }
// }
//
// return infoList;
// }
@Override
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public void add(AdamEnters info) {
List<AdamEnters> entersList = adamRdmService.getEntersByUid(info.getUid());
info.setIsDefault(CollectionUtils.isEmpty(entersList));
mongoTemplate.insert(info, AdamEnters.class.getSimpleName());
List<Object> paramList = new ArrayList<>();
paramList.add(info.getEntersId());
paramList.add(info.getUid());
paramList.add(info.getType());
paramList.add(info.getName());
paramList.add(info.getMobile());
paramList.add(info.getIdCard());
paramList.add(info.getIsDefault());
paramList.add(info.getState());
paramList.add(info.getCreatedAt());
paramList.add(info.getUpdatedAt());
paramList.add(info.getDeletedAt());
paramList.add(info.getComment());
String mqMsg = SqlMapping.get("adam_enters.add", paramList.toArray());
log.info("mq.sql:{}", mqMsg);
public String add(AdamEntersParam parameter) {
String currentUid = CurrentUtil.getCurrentUid();
LocalDateTime now = LocalDateTime.now();
String nowStr = DateUtil.Formatter.yyyyMMddHHmmss.format(now);
List<AdamEntersVo> vos = adamRdmService.getEntersVoByUid(currentUid);
AdamEntersVo vo = AdamEntersVo.getNew();
BeanUtils.copyProperties(parameter, vo);
vo.setEntersId(String.valueOf(IDGenerator.nextSnowId()));
vo.setUid(currentUid);
vo.setIsDefault(CollectionUtils.isEmpty(vos));
vo.setState(1);
vo.setCreatedAt(nowStr);
mongoTemplate.insert(vo, AdamEntersVo.class.getSimpleName());
rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
mqMsg);
SqlMapping.get("adam_enters.add",
vo.getEntersId(), vo.getUid(), vo.getType(), vo.getName(), vo.getMobile(), vo.getIdCard(), vo.getIsDefault(), vo.getState(), now
)
);
entersList.add(info);
adamRdmService.setEntersByUid(info.getUid(), entersList);
vos.add(vo);
adamRdmService.setEntersVoByUid(currentUid, vos);
return vo.getEntersId();
}
// @Override
// public AdamEnters query(String uid, String entersId) {
// AdamEnters info = (AdamEnters) redisUtil.hget(AdamRedisConst.INFO_ENTERS.concat(uid), entersId);
//
// if (null == info) {
// info = mongoTemplate.findOne(
// Query.query(Criteria.where("entersId").is(entersId).and("state").is(1).and("uid").is(uid)),
// AdamEnters.class, AdamEnters.class.getSimpleName());
//
// if (null != info) redisUtil.hset(AdamRedisConst.INFO_ENTERS.concat(uid), entersId, info);
// }
// return info;
// }
@Override
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public void def(String uid, String entersId) {
LocalDateTime now = LocalDateTime.now();
LinkedList<Object[]> linkedList = new LinkedList<>();
List<AdamEnters> entersList = adamRdmService.getEntersByUid(uid);
if (entersList.size() > 1) {// 取消原默认
AdamEnters unDeaultEnters = new AdamEnters();
unDeaultEnters.setIsDefault(false);
unDeaultEnters.setUpdatedAt(now);
BasicDBObject object = new BasicDBObject("$set", mongoConverter.convertToMongoType(unDeaultEnters));
Document doc = mongoTemplate.getCollection(AdamEnters.class.getSimpleName()).findOneAndUpdate(
String nowStr = DateUtil.Formatter.yyyyMMddHHmmss.format(now);
LinkedList<Object[]> toMqObjs = new LinkedList<>();
List<AdamEntersVo> vos = adamRdmService.getEntersVoByUid(uid);
if (vos.size() > 1) {// 取消原默认
AdamEntersVo unDeaultVo = AdamEntersVo.getNew();
unDeaultVo.setIsDefault(false);
unDeaultVo.setUpdatedAt(nowStr);
Document doc = mongoTemplate.getCollection(AdamEntersVo.class.getSimpleName()).findOneAndUpdate(
Query.query(Criteria.where("uid").is(uid).and("state").is(1).and("isDefault").is(true)).getQueryObject(),
object, new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
new Document("$set", Document.parse(JsonUtils.toJson(unDeaultVo))),
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
);
if (null != doc) {
AdamEnters enters = BsonUtil.toBean(doc, AdamEnters.class);
List<Object> paramList = new ArrayList<>();
paramList.add(unDeaultEnters.getIsDefault());
paramList.add(unDeaultEnters.getUpdatedAt());
paramList.add(enters.getEntersId());
// rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
// SqlMapping.get("adam_enters.update.is_default", paramList.toArray()));
linkedList.add(paramList.toArray());
AdamEntersVo unDeaultVoAfter = BsonUtil.toBean(doc, AdamEntersVo.class);
entersList.removeIf(r -> r.getEntersId().equals(enters.getEntersId()));
toMqObjs.add(new Object[]{unDeaultVo.getIsDefault(), now, unDeaultVoAfter.getEntersId()});
entersList.add(enters);
vos.removeIf(r -> r.getEntersId().equals(unDeaultVoAfter.getEntersId()));
vos.add(unDeaultVoAfter);
}
}
{// 设置新默认
AdamEnters defaultEnters = new AdamEnters();
defaultEnters.setIsDefault(true);
defaultEnters.setUpdatedAt(now);
BasicDBObject object = new BasicDBObject("$set", mongoConverter.convertToMongoType(defaultEnters));
Document doc = mongoTemplate.getCollection(AdamEnters.class.getSimpleName()).findOneAndUpdate(
AdamEntersVo defaultVo = AdamEntersVo.getNew();
defaultVo.setIsDefault(true);
defaultVo.setUpdatedAt(nowStr);
Document doc = mongoTemplate.getCollection(AdamEntersVo.class.getSimpleName()).findOneAndUpdate(
Query.query(Criteria.where("uid").is(uid).and("entersId").is(entersId)).getQueryObject(),
object, new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
new Document("$set", Document.parse(JsonUtils.toJson(defaultVo))),
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
);
AdamEnters enters = BsonUtil.toBean(doc, AdamEnters.class);
if (null != doc) {
AdamEntersVo defaultVoAfter = BsonUtil.toBean(doc, AdamEntersVo.class);
List<Object> paramList = new ArrayList<>();
paramList.add(defaultEnters.getIsDefault());
paramList.add(defaultEnters.getUpdatedAt());
paramList.add(entersId);
// rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
// SqlMapping.get("adam_enters.update.is_default", paramList.toArray()));
linkedList.add(paramList.toArray());
toMqObjs.add(new Object[]{defaultVo.getIsDefault(), now, entersId});
entersList.removeIf(r -> r.getEntersId().equals(enters.getEntersId()));
vos.removeIf(r -> r.getEntersId().equals(defaultVoAfter.getEntersId()));
entersList.add(enters);
vos.add(defaultVoAfter);
}
}
if (!CollectionUtils.isEmpty(toMqObjs)) {
rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
SqlMapping.get("adam_enters.update.is_default", toMqObjs));
adamRdmService.setEntersVoByUid(uid, vos);
}
adamRdmService.setEntersByUid(uid, entersList);
// rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
// SqlMapping.get("adam_enters.update.is_default", linkedList));
}
@Override
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public void edit(AdamEnters info) {
BasicDBObject object = new BasicDBObject("$set", mongoConverter.convertToMongoType(info));
Document doc = mongoTemplate.getCollection(AdamEnters.class.getSimpleName()).findOneAndUpdate(
Query.query(Criteria.where("entersId").is(info.getEntersId())).getQueryObject(),
object, new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
public void edit(AdamEntersParam parameter) {
LocalDateTime now = LocalDateTime.now();
String nowStr = DateUtil.Formatter.yyyyMMddHHmmss.format(now);
AdamEntersVo updateVo = AdamEntersVo.getNew();
BeanUtils.copyProperties(parameter, updateVo);
updateVo.setUpdatedAt(nowStr);
Document doc = mongoTemplate.getCollection(AdamEntersVo.class.getSimpleName()).findOneAndUpdate(
Query.query(Criteria.where("entersId").is(parameter.getEntersId())).getQueryObject(),
new Document("$set", Document.parse(JsonUtils.toJson(updateVo))),
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
);
if (null != doc) {
updateVo = BsonUtil.toBean(doc, AdamEntersVo.class);
rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
SqlMapping.get("adam_enters.edit",
updateVo.getType(), updateVo.getName(), updateVo.getMobile(), updateVo.getIdCard(), updateVo.getIsDefault(), updateVo.getState(), now, updateVo.getEntersId()
)
);
String currentUid = CurrentUtil.getCurrentUid();
List<Object> paramList = new ArrayList<>();
paramList.add(info.getType());
paramList.add(info.getName());
paramList.add(info.getMobile());
paramList.add(info.getIdCard());
paramList.add(info.getIsDefault());
paramList.add(info.getState());
paramList.add(info.getUpdatedAt());
paramList.add(info.getEntersId());
// rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
// SqlMapping.get("adam_enters.edit", paramList.toArray()));
List<AdamEnters> entersList = adamRdmService.getEntersByUid(info.getUid());
entersList.removeIf(r -> r.getEntersId().equals(info.getEntersId()));
entersList.add(info);
adamRdmService.setEntersByUid(info.getUid(), entersList);
List<AdamEntersVo> vos = adamRdmService.getEntersVoByUid(currentUid);
vos.removeIf(r -> r.getEntersId().equals(parameter.getEntersId()));
vos.add(updateVo);
adamRdmService.setEntersVoByUid(currentUid, vos);
}
}
@Override
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public void remove(String uid, String entersId) {
AdamEnters enters = new AdamEnters();
enters.setUpdatedAt(LocalDateTime.now());
enters.setDeletedAt(enters.getUpdatedAt());
enters.setState(2);
BasicDBObject object = new BasicDBObject("$set", mongoConverter.convertToMongoType(enters));
UpdateResult updateResult = mongoTemplate.getCollection(AdamEnters.class.getSimpleName())
.updateOne(Query.query(Criteria.where("entersId").is(entersId)).getQueryObject(), object);
List<Object> paramList = new ArrayList<>();
paramList.add(enters.getUpdatedAt());
paramList.add(enters.getDeletedAt());
paramList.add(entersId);
// rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
// SqlMapping.get("adam_enters.remove", paramList.toArray()));
List<AdamEnters> entersList = adamRdmService.getEntersByUid(uid);
entersList.removeIf(r -> r.getEntersId().equals(entersId));
adamRdmService.setEntersByUid(uid, entersList);
LocalDateTime now = LocalDateTime.now();
String nowStr = DateUtil.Formatter.yyyyMMddHHmmss.format(now);
AdamEntersVo removeVo = AdamEntersVo.getNew();
removeVo.setState(2);
removeVo.setIsDefault(false);
removeVo.setUpdatedAt(nowStr);
removeVo.setDeletedAt(nowStr);
Document doc = mongoTemplate.getCollection(AdamEntersVo.class.getSimpleName()).findOneAndUpdate(
Query.query(Criteria.where("entersId").is(entersId)).getQueryObject(),
new Document("$set", Document.parse(JsonUtils.toJson(removeVo))),
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
);
if (null != doc) {
rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
SqlMapping.get("adam_enters.remove", now, now, entersId)
);
List<AdamEntersVo> vos = adamRdmService.getEntersVoByUid(uid);
vos.removeIf(r -> r.getEntersId().equals(entersId));
adamRdmService.setEntersVoByUid(uid, vos);
}
}
@Override
public AdamEntersVo queryDefault(String uid) {
List<AdamEnters> list = adamRdmService.getEntersByUid(uid);
List<AdamEntersVo> vos = adamRdmService.getEntersVoByUid(uid);
if (!CollectionUtils.isEmpty(list)) {
AdamEnters defaultVo = null;
for (AdamEnters l : list) {
if (l.getIsDefault()) {
return AdamEntersVo.getNew().copy(l);
if (!CollectionUtils.isEmpty(vos)) {
AdamEntersVo defaultVo = null;
for (AdamEntersVo vo : vos) {
if (vo.getIsDefault()) {
return vo;
}
defaultVo = null == defaultVo ? l :
l.getCreatedAt().isAfter(defaultVo.getCreatedAt()) ? l : defaultVo;
defaultVo = null == defaultVo ? vo :
vo.getCreatedAt().compareTo(defaultVo.getCreatedAt()) > 0 ? vo : defaultVo;
}
return AdamEntersVo.getNew().copy(defaultVo);
return defaultVo;
}
return null;
}
......
......@@ -3,7 +3,6 @@ package com.liquidnet.service.adam.service.impl;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.service.adam.constant.AdamRedisConst;
import com.liquidnet.service.adam.dto.vo.*;
import com.liquidnet.service.adam.entity.AdamAddresses;
import com.liquidnet.service.adam.entity.AdamEnters;
import com.liquidnet.service.adam.service.IAdamRdmService;
import lombok.extern.slf4j.Slf4j;
......@@ -136,16 +135,18 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
}
@Override
public boolean setEntersByUid(String uid, List<AdamEnters> list) {
public boolean setEntersVoByUid(String uid, List<AdamEntersVo> list) {
return redisUtil.set(AdamRedisConst.INFO_ENTERS.concat(uid), list);
}
@Override
public List<AdamEnters> getEntersByUid(String uid) {
public List<AdamEntersVo> getEntersVoByUid(String uid) {
String rk = AdamRedisConst.INFO_ENTERS.concat(uid);
List<AdamEnters> entersList = (List<AdamEnters>) redisUtil.get(rk);
List<AdamEntersVo> entersList = (List<AdamEntersVo>) redisUtil.get(rk);
if (CollectionUtils.isEmpty(entersList)) {
entersList = mongoTemplate.find(Query.query(Criteria.where("uid").is(uid).and("state").is(1)), AdamEnters.class, AdamEnters.class.getSimpleName());
entersList = mongoTemplate.find(
Query.query(Criteria.where("uid").is(uid).and("state").is(1)), AdamEntersVo.class, AdamEntersVo.class.getSimpleName()
);
if (!CollectionUtils.isEmpty(entersList)) redisUtil.set(rk, entersList);
}
......@@ -153,31 +154,27 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
}
@Override
public AdamEnters getEntersByUidEntersId(String uid, String entersId) {
List<AdamEnters> entersList = this.getEntersByUid(uid);
if (!CollectionUtils.isEmpty(entersList))
for (AdamEnters r : entersList)
if (entersId.equals(r.getEntersId())) return r;
return null;
public AdamEntersVo getEntersVoByUidEntersId(String uid, String entersId) {
return this.getEntersVoByUid(uid).stream().filter(r -> r.getEntersId().equals(entersId)).findAny().orElse(null);
}
@Override
public void delEntersByUid(String uid) {
public void delEntersVoByUid(String uid) {
redisUtil.del(AdamRedisConst.INFO_ENTERS.concat(uid));
}
@Override
public boolean setAddressesByUid(String uid, List<AdamAddresses> list) {
public boolean setAddressesVoByUid(String uid, List<AdamAddressesVo> list) {
return redisUtil.set(AdamRedisConst.INFO_ADDRESSES.concat(uid), list);
}
@Override
public List<AdamAddresses> getAddressesByUid(String uid) {
public List<AdamAddressesVo> getAddressesVoByUid(String uid) {
String rk = AdamRedisConst.INFO_ADDRESSES.concat(uid);
List<AdamAddresses> list = (List<AdamAddresses>) redisUtil.get(rk);
List<AdamAddressesVo> list = (List<AdamAddressesVo>) redisUtil.get(rk);
if (CollectionUtils.isEmpty(list)) {
list = mongoTemplate.find(Query.query(Criteria.where("uid").is(uid).and("state").is(1)),
AdamAddresses.class, AdamAddresses.class.getSimpleName());
AdamAddressesVo.class, AdamAddressesVo.class.getSimpleName());
if (!CollectionUtils.isEmpty(list)) redisUtil.set(rk, list);
}
......@@ -185,16 +182,12 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
}
@Override
public AdamAddresses getAddressesByUidAddressesId(String uid, String addressesId) {
List<AdamAddresses> list = this.getAddressesByUid(uid);
if (!CollectionUtils.isEmpty(list))
for (AdamAddresses r : list)
if (addressesId.equals(r.getAddressesId())) return r;
return null;
public AdamAddressesVo getAddressesVoByUidAddressesId(String uid, String addressesId) {
return this.getAddressesVoByUid(uid).stream().filter(r -> r.getAddressesId().equals(addressesId)).findAny().orElse(null);
}
@Override
public void delAddressesByUid(String uid) {
public void delAddressesVoByUid(String uid) {
redisUtil.del(AdamRedisConst.INFO_ADDRESSES.concat(uid));
}
......
......@@ -283,7 +283,7 @@ public class AdamUserServiceImpl extends ServiceImpl<AdamUserMapper, AdamUser> i
/* ---------------------- 收货地址信息 */
adamRdmService.delAddressesByUid(uid);
adamRdmService.delAddressesVoByUid(uid);
AdamAddresses closeAddresses = new AdamAddresses();
closeAddresses.setUpdatedAt(now);
......@@ -294,7 +294,7 @@ public class AdamUserServiceImpl extends ServiceImpl<AdamUserMapper, AdamUser> i
// TODO: 2021/5/30 mdb + mq to sql
/* ---------------------- 入场人信息 */
adamRdmService.delEntersByUid(uid);
adamRdmService.delEntersVoByUid(uid);
AdamEnters closeEnters = new AdamEnters();
closeEnters.setUpdatedAt(LocalDateTime.now());
......
......@@ -13,13 +13,13 @@ adam_third_party.add=INSERT INTO adam_third_party (`uid`, open_id, avatar, nickn
adam_third_party.unbind=UPDATE adam_third_party SET `state`=2, updated_at=? WHERE `uid`=? AND platform=? AND `state`=1
# ----------------------------------------------------
adam_addresses.add=
adam_addresses.edit=
adam_addresses.update.is_default=UPDATE adam_addresses set is_default=?, updated_at=? where addresses_id=?
adam_addresses.remove=UPDATE adam_addresses SET `state`=2, updated_at=?, deleted_at=? where addresses_id=?
adam_addresses.add=INSERT INTO adam_addresses (addresses_id, `uid`, `name`, phone, province, city, county, address, is_default, `state`, created_at) VALUES (?,?,?,?,?,?,?,?,?,?,?)
adam_addresses.edit=UPDATE adam_addresses SET `name`=?, phone=?, province=?, city=?, county=?, address=?, updated_at=? WHERE addresses_id=?
adam_addresses.update.is_default=UPDATE adam_addresses SET is_default=?, updated_at=? where addresses_id=?
adam_addresses.remove=UPDATE adam_addresses SET is_default=0, `state`=2, updated_at=?, deleted_at=? where addresses_id=?
# ----------------------------------------------------
adam_enters.add=INSERT INTO adam_enters (enters_id, `uid`, `type`,`name`, mobile, id_card, is_default, `state`, created_at, updated_at, deleted_at, `comment`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)
adam_enters.add=INSERT INTO adam_enters (enters_id, `uid`, `type`,`name`, mobile, id_card, is_default, `state`, created_at) VALUES (?,?,?,?,?,?,?,?,?)
adam_enters.edit=UPDATE adam_enters SET `type`=?, `name`=?, mobile=?, id_card=?, is_default=?, `state`=?, updated_at=? where enters_id=?
adam_enters.update.is_default=UPDATE adam_enters set is_default=?, updated_at=? where enters_id=?
adam_enters.remove=UPDATE adam_enters SET `state`=2, updated_at=?, deleted_at=? where enters_id=?
......
......@@ -16,16 +16,16 @@ CREATE TABLE `kylin_banners`
`target_type` smallint NOT NULL DEFAULT 0 COMMENT '跳转类型(由接口提供)',
`target_obj` varchar(255) NOT NULL DEFAULT '' COMMENT '跳转目标 id/url等',
`is_online` tinyint NOT NULL DEFAULT 0 COMMENT '是否上线展示 0下线 1上线',
`online_start_time` timestamp NULL DEFAULT NULL COMMENT '上线开始时间',
`online_end_time` timestamp NULL DEFAULT NULL COMMENT '上线结束时间',
`online_start_time` timestamp NULL DEFAULT NULL COMMENT '上线开始时间',
`online_end_time` timestamp NULL DEFAULT NULL COMMENT '上线结束时间',
`promotion_type` tinyint NOT NULL DEFAULT 1 COMMENT '推广类型 1全国 2省份',
`banners_sort` int NOT NULL DEFAULT 0 COMMENT '排序 越大越靠前',
`is_deleted` tinyint NOT NULL DEFAULT 1 COMMENT '是否删除 0已删除 1正常',
`created_at` datetime NULL DEFAULT NULL COMMENT '创建时间',
`updated_at` datetime NULL DEFAULT NULL COMMENT '修改时间',
KEY `kylin_banners_banners_id_index` (`banners_id`),
KEY `kylin_banners_banners_name_index` (`banners_name`),
KEY `kylin_banners_banners_sort_index` (`banners_sort`),
`created_at` datetime NULL DEFAULT NULL COMMENT '创建时间',
`updated_at` datetime NULL DEFAULT NULL COMMENT '修改时间',
KEY `kylin_banners_banners_id_index` (`banners_id`),
KEY `kylin_banners_banners_name_index` (`banners_name`),
KEY `kylin_banners_banners_sort_index` (`banners_sort`),
PRIMARY KEY (`mid`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4 COMMENT '轮播图';
......@@ -69,7 +69,7 @@ CREATE TABLE `kylin_fields`
`district_id` int(11) NOT NULL DEFAULT 0 COMMENT '县id',
`district_name` varchar(255) NOT NULL DEFAULT '' COMMENT '县名称',
`refuse_message` varchar(255) NOT NULL DEFAULT '' COMMENT '拒绝理由',
`comment` varchar(255) NULL DEFAULT '' COMMENT 'comment',
`comment` varchar(255) NULL DEFAULT '' COMMENT 'comment',
`created_at` datetime NULL DEFAULT NULL COMMENT '创建时间',
`updated_at` datetime NULL DEFAULT NULL COMMENT '修改时间',
KEY `kylin_fields_uid_index` (`fields_id`),
......@@ -138,7 +138,7 @@ CREATE TABLE `kylin_performances`
`audit_time` datetime NOT NULL DEFAULT '2000-01-01 12:00:00' COMMENT '提审时间',
`reject_txt` varchar(255) NOT NULL DEFAULT '' COMMENT '拒绝理由',
`sort` int(11) NOT NULL DEFAULT 0 COMMENT '权重 高则在上',
`comment` varchar(255) NULL DEFAULT '' COMMENT 'comment',
`comment` varchar(255) NULL DEFAULT '' COMMENT 'comment',
`created_at` datetime NULL DEFAULT NULL COMMENT '创建时间',
`updated_at` datetime NULL DEFAULT NULL COMMENT '修改时间',
KEY `kylin_performances_uid_index` (`performances_id`),
......@@ -201,7 +201,7 @@ CREATE TABLE `kylin_performance_distributions`
`first_agent_scale_barter` varchar(5) NOT NULL DEFAULT '0' COMMENT '2级积分奖励占比',
`second_agent_scale_money` varchar(5) NOT NULL DEFAULT '0' COMMENT '1级现金奖励占比',
`second_agent_scale_barter` varchar(5) NOT NULL DEFAULT '0' COMMENT '2级积分奖励占比',
`comment` varchar(255) NULL DEFAULT '' COMMENT 'comment',
`comment` varchar(255) NULL DEFAULT '' COMMENT 'comment',
`created_at` datetime NULL DEFAULT NULL COMMENT '创建时间',
`updated_at` datetime NULL DEFAULT NULL COMMENT '修改时间',
KEY `kylin_performance_distributions_uid_index` (`performance_distributions_id`),
......@@ -221,7 +221,7 @@ CREATE TABLE `kylin_ticket_times`
`status` tinyint NOT NULL DEFAULT 1 COMMENT '状态 0不可用 1可用',
`use_start` datetime NOT NULL DEFAULT '2000-01-01 12:00:00' COMMENT '售票开始时间',
`use_end` datetime NOT NULL DEFAULT '2000-01-01 12:00:00' COMMENT '售票结束时间',
`comment` varchar(255) NULL DEFAULT '' COMMENT 'comment',
`comment` varchar(255) NULL DEFAULT '' COMMENT 'comment',
`created_at` datetime NULL DEFAULT NULL COMMENT '创建时间',
`updated_at` datetime NULL DEFAULT NULL COMMENT '修改时间',
KEY `kylin_ticket_times_uid_index` (`ticket_times_id`),
......@@ -267,7 +267,7 @@ CREATE TABLE `kylin_tickets`
`use_end` datetime NOT NULL DEFAULT '2030-01-01 12:00:00' COMMENT '适用结束时间',
`pay_countdown_minute` int(11) NOT NULL DEFAULT 5 COMMENT '支付倒计时时间',
`sale_remind_minute` int(11) NOT NULL DEFAULT 60 COMMENT '开票提醒倒计时(分钟数)',
`comment` varchar(255) NULL DEFAULT '' COMMENT 'comment',
`comment` varchar(255) NULL DEFAULT '' COMMENT 'comment',
`created_at` datetime NULL DEFAULT NULL COMMENT '创建时间',
`updated_at` datetime NULL DEFAULT NULL COMMENT '修改时间',
KEY `kylin_tickets_uid_index` (`tickets_id`),
......@@ -333,7 +333,7 @@ CREATE TABLE `kylin_road_shows`
`title` varchar(255) NOT NULL DEFAULT '' COMMENT '封面图',
`img_poster` varchar(255) NOT NULL DEFAULT '' COMMENT '巡演封面图',
`status` tinyint NOT NULL DEFAULT 1 COMMENT '状态 0停用 1启用',
`comment` varchar(255) NULL DEFAULT '' COMMENT 'comment',
`comment` varchar(255) NULL DEFAULT '' COMMENT 'comment',
`created_at` datetime NULL DEFAULT NULL COMMENT '创建时间',
`updated_at` datetime NULL DEFAULT NULL COMMENT '修改时间',
KEY `kylin_road_shows_uid_index` (`road_shows_id`),
......@@ -348,6 +348,7 @@ CREATE TABLE `kylin_lack_registers`
(
`mid` int(11) NOT NULL AUTO_INCREMENT,
`lack_registers_id` varchar(255) NOT NULL DEFAULT '' COMMENT 'lack_registers_id',
`performance_id` varchar(255) NOT NULL DEFAULT '' COMMENT '票种id',
`ticket_id` varchar(255) NOT NULL DEFAULT '' COMMENT '票种id',
`user_id` varchar(255) NOT NULL DEFAULT '' COMMENT '用户id',
`user_name` varchar(255) NOT NULL DEFAULT '' COMMENT '用户昵称',
......@@ -373,7 +374,7 @@ CREATE TABLE `kylin_projects`
`open_performance` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否开启 推荐演出',
`open_goods` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否开启 推荐商品',
`open_tied` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否开启 推荐搭售',
`comment` varchar(255) NULL DEFAULT '' COMMENT 'comment',
`comment` varchar(255) NULL DEFAULT '' COMMENT 'comment',
`created_at` datetime NULL DEFAULT NULL,
`updated_at` datetime NULL DEFAULT NULL,
KEY `kylin_projects_uid_index` (`projects_id`),
......@@ -441,7 +442,7 @@ CREATE TABLE `kylin_order_tickets`
`get_ticket_type` varchar(255) NOT NULL DEFAULT '' COMMENT '取票方式 电子票electronic快递票express',
`get_ticket_describe` varchar(255) NOT NULL DEFAULT '' COMMENT '直播用取票观演码,隔开',
`pay_countdown_minute` int(32) NOT NULL DEFAULT 15 COMMENT '订单过期时间(分钟)',
`comment` varchar(255) NULL DEFAULT '' COMMENT 'comment',
`comment` varchar(255) NULL DEFAULT '' COMMENT 'comment',
`created_at` datetime NULL DEFAULT NULL COMMENT '创建时间',
`updated_at` datetime NULL DEFAULT NULL COMMENT '修改时间',
KEY `kylin_order_tickets_uid_index` (`order_tickets_id`),
......@@ -507,7 +508,7 @@ CREATE TABLE `kylin_order_ticket_entities`
`sys_damai` int(11) NOT NULL DEFAULT 0 COMMENT '大麦同步状态: 0不同步 1待同步 2同步完成 3同步失败',
`check_client` varchar(255) NOT NULL DEFAULT '' COMMENT '出票端 例如 pda 验票app android/ios 大麦出票',
`is_payment` int(11) NOT NULL DEFAULT 0 COMMENT '支付状态: 0未支付 1已支付 2退款中 3已退款 ',
`comment` varchar(255) NULL DEFAULT '' COMMENT 'comment',
`comment` varchar(255) NULL DEFAULT '' COMMENT 'comment',
`created_at` datetime NULL DEFAULT NULL COMMENT '创建时间',
`updated_at` datetime NULL DEFAULT NULL COMMENT '修改时间',
KEY `kylin_order_ticket_entities_uid_index` (`order_ticket_entities_id`),
......@@ -629,15 +630,15 @@ values ('12', 'http://img-zhengzai-tv.oss-cn-hangzhou.aliyuncs.com/partner/2019/
drop TABLE if exists `kylin_order_refund_batches`;
CREATE TABLE `kylin_order_refund_batches`
(
`mid` int unsigned NOT NULL AUTO_INCREMENT,
`refund_batch_id` varchar(255) NOT NULL DEFAULT '' COMMENT 'refund_batch_id',
`target_id` varchar(255) NOT NULL DEFAULT '' COMMENT '目标id target_type=1为演出id',
`status` tinyint NOT NULL DEFAULT '1' COMMENT '批量退款状态 1申请退款 2取消退款 3运营驳回审核 4运营通过审核 5财务驳回审核 6财务通过审核',
`total_num` int NOT NULL DEFAULT '0' COMMENT '申请时退票总数',
`total_alipay` decimal(11, 2) NOT NULL DEFAULT '0.00' COMMENT '申请时支付宝需退款总金额 包含快递费',
`total_wepay` decimal(11, 2) NOT NULL DEFAULT '0.00' COMMENT '申请时微信需退款总金额 包含快递费',
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
`mid` int unsigned NOT NULL AUTO_INCREMENT,
`refund_batch_id` varchar(255) NOT NULL DEFAULT '' COMMENT 'refund_batch_id',
`target_id` varchar(255) NOT NULL DEFAULT '' COMMENT '目标id target_type=1为演出id',
`status` tinyint NOT NULL DEFAULT '1' COMMENT '批量退款状态 1申请退款 2取消退款 3运营驳回审核 4运营通过审核 5财务驳回审核 6财务通过审核',
`total_num` int NOT NULL DEFAULT '0' COMMENT '申请时退票总数',
`total_alipay` decimal(11, 2) NOT NULL DEFAULT '0.00' COMMENT '申请时支付宝需退款总金额 包含快递费',
`total_wepay` decimal(11, 2) NOT NULL DEFAULT '0.00' COMMENT '申请时微信需退款总金额 包含快递费',
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
KEY `kylin_order_refund_batch_id_index` (`refund_batch_id`),
PRIMARY KEY (`mid`)
) ENGINE = InnoDB
......
......@@ -4,6 +4,7 @@ package com.liquidnet.service.kylin.controller;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import com.liquidnet.service.kylin.dto.vo.returns.PayDetailVo;
import com.liquidnet.service.kylin.service.impl.KylinLackRegistersServiceImpl;
import com.liquidnet.service.kylin.service.impl.KylinPerformancesServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
......@@ -31,6 +32,8 @@ public class KylinPerformancesController {
@Autowired
private KylinPerformancesServiceImpl kylinPerformancesService;
@Autowired
private KylinLackRegistersServiceImpl kylinLackRegistersService;
@GetMapping("localList")
@ApiOperation("本地演出列表")
......@@ -218,4 +221,14 @@ public class KylinPerformancesController {
public ResponseDto<String> checkPerformanceTime(){
return ResponseDto.success(kylinPerformancesService.checkPerformanceTime());
}
@PostMapping("lackRegister")
@ApiOperation("缺票登记")
@ApiImplicitParams({
@ApiImplicitParam(type = "query", dataType = "String", name = "performancesId", value = "演出id", required = true),
@ApiImplicitParam(type = "query", dataType = "String", name = "ticketsId", value = "票种id", required = true)
})
public ResponseDto<String> addLackRegister(@RequestParam("performancesId") String performancesId, @RequestParam("ticketsId") String ticketsId){
return kylinLackRegistersService.addLackRegister(performancesId,ticketsId);
}
}
package com.liquidnet.service.kylin.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.common.mq.constant.MQConst;
import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.kylin.entity.KylinLackRegisters;
import com.liquidnet.service.kylin.mapper.KylinLackRegistersMapper;
import com.liquidnet.service.kylin.service.IKylinLackRegistersService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.Map;
@Service
public class KylinLackRegistersServiceImpl extends ServiceImpl<KylinLackRegistersMapper, KylinLackRegisters> implements IKylinLackRegistersService {
@Autowired
private RabbitTemplate rabbitTemplate;
@Override
public ResponseDto<String> addLackRegister(String performanceId, String ticketId) {
try {
KylinLackRegisters lackRegisters = new KylinLackRegisters();
Map token = CurrentUtil.getTokenClaims();
lackRegisters.setLackRegistersId(IDGenerator.nextSnowId().toString());
lackRegisters.setPerformanceId(performanceId);
lackRegisters.setTicketId(ticketId);
lackRegisters.setUserId(CurrentUtil.getCurrentUid());
lackRegisters.setUserName(StringUtils.defaultString(((String) token.get("nickname")), ""));
lackRegisters.setUserMobile(StringUtils.defaultString(((String) token.get("mobile")), ""));
lackRegisters.setIpAddress(CurrentUtil.getCliIpAddr());
lackRegisters.setCreatedAt(LocalDateTime.now());
rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
SqlMapping.get("kylin_order_ticket_status.close", lackRegisters.getInsertObj()));
return ResponseDto.success("登记成功");
}catch (Exception e){
return ResponseDto.success("登记失败");
}
}
}
......@@ -877,6 +877,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
);
dataUtils.delOrderTicketRedis(orderTickets.getOrderTicketsId());
dataUtils.changeSurplusGeneral(item.getTicketId(), item.getNumber());
mongoVoUtils.resetOrderListVo(item.getUserId(),2,item.getOrderTicketsId());
rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
SqlMapping.get("kylin_order_ticket.close", orderTickets.getCloseOrderObject()));
......
......@@ -17,3 +17,4 @@ kylin_order_ticket.synPay=UPDATE kylin_order_tickets SET payment_type = ? ,pay_
kylin_order_ticket.close=UPDATE kylin_order_tickets SET updated_at = ? WHERE order_tickets_id = ?
# ----------------------------------------------------
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(? ,? ,? ,? ,? ,? ,? ,? ,?);
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