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

Commit b72a7035 authored by 洪全海's avatar 洪全海

提交代码

parent 8750657f
......@@ -21,7 +21,7 @@ liquidnet:
port: 6380
password: PO@B!Iud32
mongodb:
host: 172.16.3.11
host: 172.16.2.196
port: 27017
# gfsdatabasename: liquidnet_mgdb
#以下为各应用需要用到的ip及端口设置
......
package com.liquidnet.service.adam.dto.vo;
import com.liquidnet.service.adam.entity.AdamEnters;
import io.swagger.annotations.ApiModel;
import lombok.Data;
@ApiModel(value = "AdamMemberVo", description = "会员")
@Data
public class AdamMemberVo implements java.io.Serializable, Cloneable {
private static final long serialVersionUID = 5258094625450569125L;
private static final AdamMemberVo obj = new AdamMemberVo();
public static AdamMemberVo getNew() {
try {
return (AdamMemberVo) obj.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return new AdamMemberVo();
}
}
package com.liquidnet.service.adam.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.adam.entity.AdamMemberPrice;
import java.util.List;
public interface IAdamMemberPriceService extends IService<AdamMemberPrice> {
List<AdamMemberPrice> list();
void add(AdamMemberPrice info);
AdamMemberPrice query(Integer memberId);
void edit(AdamMemberPrice info);
}
package com.liquidnet.service.adam.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.adam.entity.AdamMember;
import java.util.List;
/**
* 会员信息
*/
public interface IAdamMemberService extends IService<AdamMember> {
List<AdamMember> list();
void add(AdamMember info);
AdamMember query(Integer mid);
void edit(AdamMember info);
}
package com.liquidnet.service.adam.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
/**
* 会员信息
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class AdamMember implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Integer mid;
/**
* 会员卡名称
*/
private String name;
/**
* 标题
*/
private String title;
/**
* 副标题
*/
private String subTitle;
/**
* 图标
*/
private String icon;
/**
* 头像
*/
private String avatar;
/**
* 起始编号
*/
private Integer startNo;
/**
* 会员类型 1 - VIP会员
*/
private Integer type;
/**
* 权益详情
*/
private String interestsDetail;
/**
* 注意事项
*/
private String notes;
/**
* '是否展示须知'
*/
private Integer isNotice;
/**
* 须知内容
*/
private String noticeInfo;
/**
* 须知标题
*/
private String noticeTitle;
/**
* 是否需要答题 0不需要 1需要
*/
private Integer needQuestion;
/**
* 是否展示协议 0否1是
*/
private Integer displayAgreement;
/**
* 会员协议
*/
private String agreement;
}
package com.liquidnet.service.adam.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.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 会员价格
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class AdamMemberPrice implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Integer mid;
/**
* 会员类型ID
*/
private Integer memberId;
/**
* 状态 0 不可用 1上线中 2已下线
*/
private Integer status;
/**
* 会员包名称
*/
private String name;
/**
* 原价
*/
private BigDecimal price;
/**
* 折扣价
*/
private BigDecimal price_fixed;
/**
* 会员包有效天数
*/
private Integer days;
/**
* 会员包须知
*/
private String detail;
/**
* 创建时间
*/
private LocalDateTime createdAt;
/**
* 更新时间
*/
private LocalDateTime updatedAt;
}
package com.liquidnet.service.adam.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.liquidnet.service.adam.entity.AdamMember;
public interface AdamMemberMapper extends BaseMapper<AdamMember> {
}
\ No newline at end of file
......@@ -203,22 +203,39 @@ create table adam_member
mid int unsigned auto_increment primary key,
name varchar(64),
title varchar(100),
sub_title varchar(255) NOT NULL DEFAULT '' COMMENT '副标题',
icon varchar(255),
avatar varchar(255),
price decimal(8, 2) comment '原价',
price_fixed decimal(8, 2) comment '限价',
start_no varchar(20) comment '起始会员号',
type tinyint comment '会员类型',
interests_detail text comment '权益详情',
# gift_pack_id varchar(64) comment '礼包ID',
notes text NOT NULL COMMENT '注意事项',
created_at datetime,
updated_at datetime,
is_notice tinyint comment '是否展示须知',
notice_info text comment '须知内容',
notice_title varchar(255),
agreement text
need_question int default 0 comment '是否需要答题 0不需要 1需要',
display_agreement int NOT NULL DEFAULT '0' COMMENT '是否打开0否1是',
agreement text NOT NULL COMMENT '会员协议'
);
-- >>------------------------------------------------------------------------------------
drop table if exists adam_member_price;
create table adam_member_price
(
mid int usingned auto_increment primary key,
member_id int NOT NULL COMMENT '会员种类ID',
status tinyint NOT NULL DEFAULT '0' COMMENT '0不可用、1上线中、2已下线',
name varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '会员包名称',
price decimal(8,2) NOT NULL DEFAULT '0.00' COMMENT '会员包价格',
price_fixed decimal(8,2) comment '折扣价',
days int NOT NULL DEFAULT '0' COMMENT '会员包天数',
detail text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '会员包须知',
created_at datetime,
updated_at datetime
)
-- >>------------------------------------------------------------------------------------
drop table if exists adam_member_order;
create table adam_member_order
(
......
......@@ -8,6 +8,10 @@ public class AdamRedisConst {
public static final String INFO_ENTERS = ADAM.concat(":list:enters:");
public static final String INFO_MEMBERS = ADAM.concat(":list:members");
public static final String INFO_MEMBERS_INFO = ADAM.concat(":list:members:info:");
// public static final String USER_CONFIRM_SMS_CODE_KEY = ADAM + ":user:sms_confirm:";
//
// public static final String USER_EMAIL_CONFIRM_KEY = ADAM + ":user:email:confirm:";
......
package com.liquidnet.service.adam.controller;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.liquidnet.service.ResponseDto;
import com.liquidnet.service.adam.entity.AdamMember;
import com.liquidnet.service.adam.service.IAdamMemberService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@Api(tags = "会员信息")
@Slf4j
@RestController
@RequestMapping("/member")
public class AdamMemberController {
@Autowired
IAdamMemberService adamMemberService;
@Autowired
AmqpTemplate amqpTemplate;
@ApiOperationSupport(order = 0)
@ApiOperation(value = "会员信息")
@GetMapping("info")
public ResponseDto<Object> query(@PathVariable(name = "id") Integer memberId) {
AdamMember info = adamMemberService.query(memberId);
return ResponseDto.success(info);
}
}
package com.liquidnet.service.adam.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.adam.constant.AdamRedisConst;
import com.liquidnet.service.adam.entity.AdamMember;
import com.liquidnet.service.adam.entity.AdamMemberPrice;
import com.liquidnet.service.adam.mapper.AdamMemberMapper;
import com.liquidnet.service.adam.service.IAdamMemberService;
import com.mongodb.BasicDBObject;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
@Slf4j
@Service
public class AdamMemberServiceImpl extends ServiceImpl<AdamMemberMapper, AdamMember> implements IAdamMemberService {
@Autowired
AdamMemberMapper adamMemberMapper;
@Autowired
MongoTemplate mongoTemplate;
@Autowired
RedisUtil redisUtil;
@Override
public List<AdamMember> list() {
List<AdamMember> infoList = new ArrayList<>();
List<Object> list = redisUtil.lGet(AdamRedisConst.INFO_MEMBERS, 0, -1);
if (CollectionUtils.isEmpty(list)) {
infoList = mongoTemplate.findAll(AdamMember.class);
} else {
for (Object o : list) {
infoList.add((AdamMember) o);
}
}
return infoList;
}
@Override
public void add(AdamMember info) {
mongoTemplate.insert(Collections.singletonList(info), AdamMember.class.getSimpleName());
// todo 放入MQ
// todo 同步redis
redisUtil.lSet(AdamRedisConst.INFO_MEMBERS, info);
redisUtil.hmset(AdamRedisConst.INFO_MEMBERS_INFO.concat(info.getMid().toString()), (Map<String, Object>) info);
}
@Override
public AdamMember query(Integer mid) {
AdamMember info = null;
info = (AdamMember) redisUtil.hmget(AdamRedisConst.INFO_MEMBERS_INFO.concat(mid.toString()));
if (null == info) {
info = mongoTemplate.findOne(Query.query(Criteria.where("mId").is(mid)), AdamMember.class, AdamMember.class.getSimpleName());
}
return info;
}
@Override
public void edit(AdamMember info) {
BasicDBObject object = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(info)));
mongoTemplate.getCollection(AdamMember.class.getSimpleName())
.updateOne(Query.query(Criteria.where("mId").is(info.getMid())).getQueryObject(), object);
// todo 放入MQ
redisUtil.hset(AdamRedisConst.INFO_MEMBERS_INFO.concat(info.getMid().toString()), info.getMid().toString(), info);
redisUtil.lRemove(AdamRedisConst.INFO_MEMBERS, 1, info);
redisUtil.lSet(AdamRedisConst.INFO_MEMBERS, info);
}
}
......@@ -18,7 +18,7 @@ liquidnet:
username: admin
password: admin
config:
location: /Users/hujiachen/JavaProject/liquidnet-bus-v1/liquidnet-bus-config/liquidnet-config
location: /Users/color/company_project/java/liquidnet-bus-v1-1/liquidnet-bus-config/liquidnet-config
# end-dev-这里是配置信息基本值
spring:
......
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