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

Commit 02822498 authored by jiangxiulong's avatar jiangxiulong

Merge branch 'dev-sweet' into test

parents 6c4a3346 b25d2c45
...@@ -22,22 +22,22 @@ public class AdamWechatConst { ...@@ -22,22 +22,22 @@ public class AdamWechatConst {
/* =============================================================== | */ /* =============================================================== | */
@Value("${liquidnet.wechat.zhengzai.applet.appid}") @Value("${liquidnet.wechat.applet.zhengzai.appid}")
public void setZhengzaiAppletAppid(String zhengzaiAppletAppid) { public void setZhengzaiAppletAppid(String zhengzaiAppletAppid) {
AdamWechatConst.zhengzaiAppletAppid = zhengzaiAppletAppid; AdamWechatConst.zhengzaiAppletAppid = zhengzaiAppletAppid;
} }
@Value("${liquidnet.wechat.zhengzai.applet.secret}") @Value("${liquidnet.wechat.applet.zhengzai.secret}")
public void setZhengzaiAppletSecret(String zhengzaiAppletSecret) { public void setZhengzaiAppletSecret(String zhengzaiAppletSecret) {
AdamWechatConst.zhengzaiAppletSecret = zhengzaiAppletSecret; AdamWechatConst.zhengzaiAppletSecret = zhengzaiAppletSecret;
} }
@Value("${liquidnet.wechat.zhengzai.service.appid}") @Value("${liquidnet.wechat.service.zhengzai.appid}")
public void setZhengzaiServiceAppid(String zhengzaiServiceAppid) { public void setZhengzaiServiceAppid(String zhengzaiServiceAppid) {
AdamWechatConst.zhengzaiServiceAppid = zhengzaiServiceAppid; AdamWechatConst.zhengzaiServiceAppid = zhengzaiServiceAppid;
} }
@Value("${liquidnet.wechat.zhengzai.service.secret}") @Value("${liquidnet.wechat.service.zhengzai.secret}")
public void setZhengzaiServiceSecret(String zhengzaiServiceSecret) { public void setZhengzaiServiceSecret(String zhengzaiServiceSecret) {
AdamWechatConst.zhengzaiServiceSecret = zhengzaiServiceSecret; AdamWechatConst.zhengzaiServiceSecret = zhengzaiServiceSecret;
} }
......
...@@ -24,6 +24,11 @@ public class AdamLoginInfoVo implements Serializable, Cloneable { ...@@ -24,6 +24,11 @@ public class AdamLoginInfoVo implements Serializable, Cloneable {
@ApiModelProperty(position = 16, value = "用户会员信息") @ApiModelProperty(position = 16, value = "用户会员信息")
private AdamUserMemberVo userMemberVo; private AdamUserMemberVo userMemberVo;
@ApiModelProperty(position = 17, value = "微信用户openid(微信小程序登录返回,用于给小程序用户推送信息)")
private String wechatOpenid;
@ApiModelProperty(position = 18, value = "微信用户unionid(微信小程序登录返回,用于给小程序用户推送信息)")
private String wechatUnionid;
private static final AdamLoginInfoVo obj = new AdamLoginInfoVo(); private static final AdamLoginInfoVo obj = new AdamLoginInfoVo();
public static AdamLoginInfoVo getNew() { public static AdamLoginInfoVo getNew() {
......
...@@ -123,6 +123,7 @@ public class KylinOrderRefundsVo implements Serializable,Cloneable { ...@@ -123,6 +123,7 @@ public class KylinOrderRefundsVo implements Serializable,Cloneable {
private List<KylinOrderRefundEntitiesVo> orderRefundEntitiesVoList; private List<KylinOrderRefundEntitiesVo> orderRefundEntitiesVoList;
private List<KylinOrderRefundPicVo> orderRefundPicVos; private List<KylinOrderRefundPicVo> orderRefundPicVos;
private List<String> picList; private List<String> picList;
private String payType;
public void setStatus(Integer status){ public void setStatus(Integer status){
try { try {
......
...@@ -47,7 +47,7 @@ var table = { ...@@ -47,7 +47,7 @@ var table = {
paginationLoop: false, paginationLoop: false,
pageSize: 10, pageSize: 10,
pageNumber: 1, pageNumber: 1,
pageList: [10, 25, 50], pageList: [10, 25, 50, 200],
toolbar: "toolbar", toolbar: "toolbar",
loadingFontSize: 13, loadingFontSize: 13,
striped: false, striped: false,
......
...@@ -11,6 +11,8 @@ ...@@ -11,6 +11,8 @@
<div class="form-control-static" th:text="${KylinOrderRefundsVo.orderRefundsId}"></div> <div class="form-control-static" th:text="${KylinOrderRefundsVo.orderRefundsId}"></div>
<label class="col-sm-2 control-label">票务订单id:</label> <label class="col-sm-2 control-label">票务订单id:</label>
<div class="form-control-static" th:text="${KylinOrderRefundsVo.orderTicketsId}"></div> <div class="form-control-static" th:text="${KylinOrderRefundsVo.orderTicketsId}"></div>
<label class="col-sm-2 control-label">实际支付方式:</label>
<div class="form-control-static" th:text="*{@dict.getLabel('zhengzai_pay_type',KylinOrderRefundsVo.payType)}"/>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-2 control-label">退款编号:</label> <label class="col-sm-2 control-label">退款编号:</label>
......
...@@ -250,6 +250,13 @@ ...@@ -250,6 +250,13 @@
{ {
field: 'refundError', field: 'refundError',
title: '退款结果备注', title: '退款结果备注',
formatter: function (value, row, index) {
if (row.status == 6) {
return row.refundError;
} else {
return '';
}
},
cellStyle: function(value, row, index) { cellStyle: function(value, row, index) {
return {css : {"color": "red","font-weight": "bold"} }; return {css : {"color": "red","font-weight": "bold"} };
} }
......
...@@ -3,6 +3,7 @@ package com.liquidnet.client.admin.zhengzai.kylin.service.impl; ...@@ -3,6 +3,7 @@ package com.liquidnet.client.admin.zhengzai.kylin.service.impl;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
...@@ -288,7 +289,8 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM ...@@ -288,7 +289,8 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM
res = kylinRefundsStatusServiceImpl.orderRefundChangeStatus(refundList, type, reject, ""); res = kylinRefundsStatusServiceImpl.orderRefundChangeStatus(refundList, type, reject, "");
break; break;
case "unfilled": case "unfilled":
res = kylinRefundsStatusServiceImpl.orderTicketRefundUnfilled(refundList, refuse); kylinRefundsStatusServiceImpl.orderTicketRefundUnfilled(refundList, refuse);
res = true;
break; break;
case "refuse": case "refuse":
res = kylinRefundsStatusServiceImpl.orderRefundChangeStatus(refundList, type, "", refuse); res = kylinRefundsStatusServiceImpl.orderRefundChangeStatus(refundList, type, "", refuse);
...@@ -383,6 +385,11 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM ...@@ -383,6 +385,11 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM
kylinOrderRefundsVo.setPicList(strList); kylinOrderRefundsVo.setPicList(strList);
} }
KylinOrderTickets kylinOrderTickets = kylinOrderTicketsMapper.selectOne(
Wrappers.lambdaQuery(KylinOrderTickets.class).eq(KylinOrderTickets::getOrderTicketsId, data.getOrderTicketsId())
);
kylinOrderRefundsVo.setPayType(kylinOrderTickets.getPayType());
return kylinOrderRefundsVo; return kylinOrderRefundsVo;
} }
......
...@@ -75,13 +75,13 @@ public class KylinRefundPerformancesAdminServiceImpl { ...@@ -75,13 +75,13 @@ public class KylinRefundPerformancesAdminServiceImpl {
if (null != orderStatisAlipay || null != orderStatisWepay) { if (null != orderStatisAlipay || null != orderStatisWepay) {
if (null != orderStatisAlipay) { if (null != orderStatisAlipay) {
totalPriceRefundAlipay = (BigDecimal) orderStatisAlipay.get("total_price_refund"); totalPriceRefundAlipay = (BigDecimal) orderStatisAlipay.get("total_price_refund");
BigDecimal totalRefundNumberAlipayBigDecimal = (BigDecimal) orderStatisAlipay.get("total_refund_number"); Long totalRefundNumberAlipayBigDecimal = (Long) orderStatisAlipay.get("total_refund_number");
totalRefundNumberAlipay = totalRefundNumberAlipayBigDecimal.intValue(); totalRefundNumberAlipay = totalRefundNumberAlipayBigDecimal.intValue();
} }
if (null != orderStatisWepay) { if (null != orderStatisWepay) {
totalPriceRefundWepay = (BigDecimal) orderStatisWepay.get("total_price_refund"); totalPriceRefundWepay = (BigDecimal) orderStatisWepay.get("total_price_refund");
BigDecimal totalRefundNumberWepayBigDecimal = (BigDecimal) orderStatisWepay.get("total_refund_number"); Long totalRefundNumberWepayBigDecimal = (Long) orderStatisWepay.get("total_refund_number");
totalRefundNumberWepay = totalRefundNumberWepayBigDecimal.intValue(); totalRefundNumberWepay = totalRefundNumberWepayBigDecimal.intValue();
} }
......
...@@ -31,6 +31,7 @@ import org.springframework.data.mongodb.core.MongoTemplate; ...@@ -31,6 +31,7 @@ import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.convert.MongoConverter; import org.springframework.data.mongodb.core.convert.MongoConverter;
import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.Query;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap; import org.springframework.util.MultiValueMap;
...@@ -400,7 +401,8 @@ public class KylinRefundsStatusServiceImpl { ...@@ -400,7 +401,8 @@ public class KylinRefundsStatusServiceImpl {
return true; return true;
} }
public boolean orderTicketRefundUnfilled(List<KylinOrderRefunds> refundList, String refuse) { @Async
public void orderTicketRefundUnfilled(List<KylinOrderRefunds> refundList, String refuse) {
String authId = ShiroUtils.getUserId().toString(); String authId = ShiroUtils.getUserId().toString();
String authName = ShiroUtils.getLoginName(); String authName = ShiroUtils.getLoginName();
...@@ -499,8 +501,6 @@ public class KylinRefundsStatusServiceImpl { ...@@ -499,8 +501,6 @@ public class KylinRefundsStatusServiceImpl {
); );
dataUtils.delOrderRefundVo(orderRefundIds); dataUtils.delOrderRefundVo(orderRefundIds);
dataUtils.delOrderRefundVoByOrderId(orderIds); dataUtils.delOrderRefundVoByOrderId(orderIds);
return true;
} }
public boolean orderTicketRefunded(RefundCallbackParam refundCallbackParam, KylinOrderRefunds refundInfo) { public boolean orderTicketRefunded(RefundCallbackParam refundCallbackParam, KylinOrderRefunds refundInfo) {
......
...@@ -71,8 +71,7 @@ public class MQConst { ...@@ -71,8 +71,7 @@ public class MQConst {
public enum SweetQueue { public enum SweetQueue {
artists_watch("sweet:stream:rk.artists.watch", "group.artists.watch", "艺人-想看"), ARTISTS_RELATION("sweet:stream:rk.artists.relation", "group.artists.relation", "用户-关系"),
artists_signature("sweet:stream:rk.artists.signature", "group.artists.signature", "艺人-签售通知"),
; ;
private final String key; private final String key;
......
...@@ -39,7 +39,7 @@ liquidnet: ...@@ -39,7 +39,7 @@ liquidnet:
mongodb: mongodb:
host: 39.106.122.201:27017 host: 39.106.122.201:27017
port: 27017 port: 27017
user: root user: admin
pwd: S&y$6d*JwJ pwd: S&y$6d*JwJ
service: service:
adam: adam:
...@@ -92,16 +92,16 @@ liquidnet: ...@@ -92,16 +92,16 @@ liquidnet:
accessKeyId: LTAI4FxrURzMvvu9reFgwY5o accessKeyId: LTAI4FxrURzMvvu9reFgwY5o
accessKeySecret: Ym5tfAxOf2zX20MgjikLI3Wz3tlwVV accessKeySecret: Ym5tfAxOf2zX20MgjikLI3Wz3tlwVV
wechat: wechat:
zhengzai:
applet:
appid: wx4732efeaa2b08086
secret: 94562c1f92da1b6cb3f1327c8842c6d3
service: service:
zhengzai:
appid: wx3498304dda39c5a1 appid: wx3498304dda39c5a1
secret: a1307fab0a5f2380086a7c636f7339ea secret: a1307fab0a5f2380086a7c636f7339ea
token: tftipg1427706847 token: tftipg1427706847
aeskey: LwVpmpuOcl7Mi3mtfQgBol11MsmMCATIqbPgHrEpDzx aeskey: LwVpmpuOcl7Mi3mtfQgBol11MsmMCATIqbPgHrEpDzx
applet: applet:
zhengzai:
appid: wx4732efeaa2b08086
secret: 94562c1f92da1b6cb3f1327c8842c6d3
strawberry: strawberry:
appid: wx08b852ade69f8019 appid: wx08b852ade69f8019
secret: 0aac285fd1fbc6aa4e562b7ad81de392 secret: 0aac285fd1fbc6aa4e562b7ad81de392
......
...@@ -39,7 +39,7 @@ liquidnet: ...@@ -39,7 +39,7 @@ liquidnet:
mongodb: mongodb:
host: 39.106.122.201:27017 host: 39.106.122.201:27017
port: 27017 port: 27017
user: root user: admin
pwd: S&y$6d*JwJ pwd: S&y$6d*JwJ
service: service:
adam: adam:
...@@ -93,16 +93,16 @@ liquidnet: ...@@ -93,16 +93,16 @@ liquidnet:
accessKeyId: LTAI4FxrURzMvvu9reFgwY5o accessKeyId: LTAI4FxrURzMvvu9reFgwY5o
accessKeySecret: Ym5tfAxOf2zX20MgjikLI3Wz3tlwVV accessKeySecret: Ym5tfAxOf2zX20MgjikLI3Wz3tlwVV
wechat: wechat:
zhengzai:
applet:
appid: wx4732efeaa2b08086
secret: 94562c1f92da1b6cb3f1327c8842c6d3
service: service:
zhengzai:
appid: wx3498304dda39c5a1 appid: wx3498304dda39c5a1
secret: a1307fab0a5f2380086a7c636f7339ea secret: a1307fab0a5f2380086a7c636f7339ea
token: tftipg1427706847 token: tftipg1427706847
aeskey: LwVpmpuOcl7Mi3mtfQgBol11MsmMCATIqbPgHrEpDzx aeskey: LwVpmpuOcl7Mi3mtfQgBol11MsmMCATIqbPgHrEpDzx
applet: applet:
zhengzai:
appid: wx4732efeaa2b08086
secret: 94562c1f92da1b6cb3f1327c8842c6d3
strawberry: strawberry:
appid: wx08b852ade69f8019 appid: wx08b852ade69f8019
secret: 0aac285fd1fbc6aa4e562b7ad81de392 secret: 0aac285fd1fbc6aa4e562b7ad81de392
......
...@@ -14,7 +14,7 @@ liquidnet: ...@@ -14,7 +14,7 @@ liquidnet:
pattern-file: '%d{yyyy-MM-dd HH:mm:ss.SSS} [ %-5level] %thread [%logger{96}:%line] - %msg%n' pattern-file: '%d{yyyy-MM-dd HH:mm:ss.SSS} [ %-5level] %thread [%logger{96}:%line] - %msg%n'
pattern-console: '%d{yyyy-MM-dd HH:mm:ss.SSS} [ %-5level] %thread [%logger{96}:%line] - %msg%n' pattern-console: '%d{yyyy-MM-dd HH:mm:ss.SSS} [ %-5level] %thread [%logger{96}:%line] - %msg%n'
pattern-rolling-file-name: ${liquidnet.logfile.path}/${liquidnet.logfile.name}-%d{yyyy-MM-dd}.%i.log pattern-rolling-file-name: ${liquidnet.logfile.path}/${liquidnet.logfile.name}-%d{yyyy-MM-dd}.%i.log
level: debug level: info
mysql: mysql:
database-name: dev_ln_scene database-name: dev_ln_scene
mongodb: mongodb:
......
...@@ -56,7 +56,7 @@ ...@@ -56,7 +56,7 @@
<select id="getPerformanceRefundOrderStatis" resultType="java.util.HashMap"> <select id="getPerformanceRefundOrderStatis" resultType="java.util.HashMap">
SELECT SELECT
SUM(o.price_actual - o.price_refund) as total_price_refund, SUM(o.number - o.refund_number) as SUM(o.price_actual - o.price_refund) as total_price_refund, COUNT(*) as
total_refund_number total_refund_number
FROM kylin_order_tickets AS o FROM kylin_order_tickets AS o
JOIN kylin_order_ticket_relations AS r ON r.order_id = o.order_tickets_id JOIN kylin_order_ticket_relations AS r ON r.order_id = o.order_tickets_id
......
package com.liquidnet.service.adam.config;
import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl;
import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import javax.annotation.PostConstruct;
@Configuration
public class WechatMaConfigure {
private static String appletAppidZhengzai;
private static String appletSecretZhengzai;
private static String appletAppidStrawberry;
private static String appletSecretStrawberry;
private static String appletAppidFive;
private static String appletSecretFive;
private static String appletAppidMdsk;
private static String appletSecretMdsk;
@Value("${liquidnet.wechat.applet.strawberry.appid}")
public void setAppletAppidZhengzai(String appletAppidZhengzai) {
WechatMaConfigure.appletAppidZhengzai = appletAppidZhengzai;
}
@Value("${liquidnet.wechat.applet.strawberry.secret}")
public void setAppletSecretZhengzai(String appletSecretZhengzai) {
WechatMaConfigure.appletSecretZhengzai = appletSecretZhengzai;
}
@Value("${liquidnet.wechat.applet.strawberry.appid}")
public void setAppletAppidStrawberry(String appletAppidStrawberry) {
WechatMaConfigure.appletAppidStrawberry = appletAppidStrawberry;
}
@Value("${liquidnet.wechat.applet.strawberry.secret}")
public void setAppletSecretStrawberry(String appletSecretStrawberry) {
WechatMaConfigure.appletSecretStrawberry = appletSecretStrawberry;
}
@Value("${liquidnet.wechat.applet.five.appid}")
public void setAppletAppidFive(String appletAppidFive) {
WechatMaConfigure.appletAppidFive = appletAppidFive;
}
@Value("${liquidnet.wechat.applet.five.secret}")
public void setAppletSecretFive(String appletSecretFive) {
WechatMaConfigure.appletSecretFive = appletSecretFive;
}
@Value("${liquidnet.wechat.applet.mdsk.appid}")
public void setAppletAppidMdsk(String appletAppidMdsk) {
WechatMaConfigure.appletAppidMdsk = appletAppidMdsk;
}
@Value("${liquidnet.wechat.applet.mdsk.secret}")
public void setAppletSecretMdsk(String appletSecretMdsk) {
WechatMaConfigure.appletSecretMdsk = appletSecretMdsk;
}
private WxMaService wxMaAppletZhengzaiService;
private WxMaService wxMaAppletStrawberryService;
private WxMaService wxMaAppletFiveService;
private WxMaService wxMaAppletMdskService;
@PostConstruct
public void init() {
wxMaAppletZhengzaiService = new WxMaServiceImpl() {
{
WxMaDefaultConfigImpl wxMaDefaultConfig = new WxMaDefaultConfigImpl();
wxMaDefaultConfig.setAppid(appletAppidZhengzai);
wxMaDefaultConfig.setSecret(appletSecretZhengzai);
wxMaDefaultConfig.setMsgDataFormat("JSON");
this.setWxMaConfig(wxMaDefaultConfig);
}
};
wxMaAppletStrawberryService = new WxMaServiceImpl() {
{
WxMaDefaultConfigImpl wxMaDefaultConfig = new WxMaDefaultConfigImpl();
wxMaDefaultConfig.setAppid(appletAppidStrawberry);
wxMaDefaultConfig.setSecret(appletSecretStrawberry);
wxMaDefaultConfig.setMsgDataFormat("JSON");
this.setWxMaConfig(wxMaDefaultConfig);
}
};
wxMaAppletFiveService = new WxMaServiceImpl() {
{
WxMaDefaultConfigImpl wxMaDefaultConfig = new WxMaDefaultConfigImpl();
wxMaDefaultConfig.setAppid(appletAppidFive);
wxMaDefaultConfig.setSecret(appletSecretFive);
wxMaDefaultConfig.setMsgDataFormat("JSON");
this.setWxMaConfig(wxMaDefaultConfig);
}
};
wxMaAppletMdskService = new WxMaServiceImpl() {
{
WxMaDefaultConfigImpl wxMaDefaultConfig = new WxMaDefaultConfigImpl();
wxMaDefaultConfig.setAppid(appletAppidMdsk);
wxMaDefaultConfig.setSecret(appletSecretMdsk);
wxMaDefaultConfig.setMsgDataFormat("JSON");
this.setWxMaConfig(wxMaDefaultConfig);
}
};
}
public WxMaService getWxMaService(Integer anum) {
switch (anum) {
case 1:
return wxMaAppletZhengzaiService;
case 2:
return wxMaAppletStrawberryService;
case 3:
return wxMaAppletFiveService;
case 4:
return wxMaAppletMdskService;
}
return null;
}
}
package com.liquidnet.service.adam.controller; //package com.liquidnet.service.adam.controller;
//
import com.github.pagehelper.PageInfo; //import com.github.pagehelper.PageInfo;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; //import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.github.xiaoymin.knife4j.annotations.ApiSupport; //import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.liquidnet.commons.lang.util.CurrentUtil; //import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.service.adam.dto.vo.AdamCollectBaseVo; //import com.liquidnet.service.adam.dto.vo.AdamCollectBaseVo;
import com.liquidnet.service.adam.dto.vo.AdamCollectVo; //import com.liquidnet.service.adam.dto.vo.AdamCollectVo;
import com.liquidnet.service.adam.service.IAdamCollectionService; //import com.liquidnet.service.adam.service.IAdamCollectionService;
import com.liquidnet.service.base.PagedResult; //import com.liquidnet.service.base.PagedResult;
import com.liquidnet.service.base.ResponseDto; //import com.liquidnet.service.base.ResponseDto;
import io.swagger.annotations.Api; //import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; //import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; //import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; //import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; //import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; //import org.springframework.web.bind.annotation.*;
//
import javax.validation.constraints.NotBlank; //import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern; //import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size; //import javax.validation.constraints.Size;
import java.util.List; //import java.util.List;
//
/** ///**
* <p> // * <p>
* 收藏 前端控制器 // * 收藏 前端控制器
* </p> // * </p>
* // *
* @author liquidnet // * @author liquidnet
* @since 2021-05-10 // * @since 2021-05-10
*/ // */
@ApiSupport(order = 10060) //@ApiSupport(order = 10060)
@Api(tags = "收藏") //@Api(tags = "收藏")
@Slf4j //@Slf4j
@RestController //@RestController
@RequestMapping("collect") //@RequestMapping("collect")
public class AdamCollectionController { //public class AdamCollectionController {
@Autowired // @Autowired
IAdamCollectionService adamCollectionService; // IAdamCollectionService adamCollectionService;
//
@ApiOperationSupport(order = 1) // @ApiOperationSupport(order = 1)
@ApiOperation(value = "添加收藏") // @ApiOperation(value = "添加收藏")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "type", value = "收藏类型[TICKET,VIDEO]", allowableValues = "TICKET,VIDEO"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "contentId", value = "内容ID[1,64]"),
})
@PostMapping("add")
public ResponseDto<Object> add(@Pattern(regexp = "\\b(TICKET|VIDEO)\\b", message = "收藏类型无效")
@RequestParam String type,
@Size(min = 1, max = 64, message = "收藏内容ID长度限制1-64位")
@RequestParam String contentId) {
String currentUid = CurrentUtil.getCurrentUid();
if (adamCollectionService.exists(currentUid, type, contentId)) {
return ResponseDto.success();
}
AdamCollectBaseVo collectVo = AdamCollectBaseVo.getNew();
collectVo.setType(type);
collectVo.setContentId(contentId);
collectVo.setUid(currentUid);
adamCollectionService.add(collectVo);
return ResponseDto.success();
}
@ApiOperationSupport(order = 2)
@ApiOperation(value = "删除收藏")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "type", value = "收藏类型", allowableValues = "TICKET,VIDEO"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "contentIds", value = "内容ID[多个ID用','分隔]"),
})
@PostMapping("del")
public ResponseDto<Object> del(@Pattern(regexp = "\\b(TICKET|VIDEO)\\b", message = "收藏类型无效")
@RequestParam String type,
@NotBlank(message = "内容ID不能为空") @RequestParam String contentIds) {
adamCollectionService.del(CurrentUtil.getCurrentUid(), type, contentIds.split(","));
return ResponseDto.success();
}
@ApiOperationSupport(order = 3)
@ApiOperation(value = "收藏列表")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "type", value = "收藏类型", allowableValues = "TICKET,VIDEO"),
@ApiImplicitParam(type = "form", required = false, dataType = "Integer", name = "pageNo", value = "页码", example = "1"),
@ApiImplicitParam(type = "form", required = false, dataType = "Integer", name = "pageSize", value = "页展示条数", example = "5"),
})
@PostMapping("list")
public ResponseDto<PagedResult<AdamCollectVo>> list(@Pattern(regexp = "\\b(TICKET|VIDEO)\\b", message = "收藏类型无效")
@RequestParam String type,
@RequestParam(defaultValue = "1", required = false) int pageNo,
@RequestParam(defaultValue = "5", required = false) int pageSize) {
pageNo = pageNo > 0 ? pageNo : 1;
pageSize = pageSize <= 0 || pageSize > 10 ? 5 : pageSize;
return ResponseDto.success(adamCollectionService.queryPage(CurrentUtil.getCurrentUid(), type, pageNo, pageSize));
}
// @ApiOperationSupport(order = 4)
// @ApiOperation(value = "获取特定内容的收藏用户列表 -> 返回结构待定")
// @ApiImplicitParams({ // @ApiImplicitParams({
// @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "type", value = "收藏类型", allowableValues = "TICKET,VIDEO"), // @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "type", value = "收藏类型[TICKET,VIDEO]", allowableValues = "TICKET,VIDEO"),
// @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "contentId", value = "内容ID[64]"), // @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "contentId", value = "内容ID[1,64]"),
// }) // })
// @PostMapping("list/user") // @PostMapping("add")
// public ResponseDto<Object> listUser(@RequestParam String type, @RequestParam String contentId) { // public ResponseDto<Object> add(@Pattern(regexp = "\\b(TICKET|VIDEO)\\b", message = "收藏类型无效")
// String uid = "1"; // @RequestParam String type,
// @Size(min = 1, max = 64, message = "收藏内容ID长度限制1-64位")
// @RequestParam String contentId) {
// String currentUid = CurrentUtil.getCurrentUid();
//
// if (adamCollectionService.exists(currentUid, type, contentId)) {
// return ResponseDto.success();
// }
// //
// AdamCollectBaseVo collectVo = AdamCollectBaseVo.getNew();
// collectVo.setType(type);
// collectVo.setContentId(contentId);
// collectVo.setUid(currentUid);
// adamCollectionService.add(collectVo);
// //
// return ResponseDto.success();
// }
//
// @ApiOperationSupport(order = 2)
// @ApiOperation(value = "删除收藏")
// @ApiImplicitParams({
// @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "type", value = "收藏类型", allowableValues = "TICKET,VIDEO"),
// @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "contentIds", value = "内容ID[多个ID用','分隔]"),
// })
// @PostMapping("del")
// public ResponseDto<Object> del(@Pattern(regexp = "\\b(TICKET|VIDEO)\\b", message = "收藏类型无效")
// @RequestParam String type,
// @NotBlank(message = "内容ID不能为空") @RequestParam String contentIds) {
// adamCollectionService.del(CurrentUtil.getCurrentUid(), type, contentIds.split(","));
// //
// return ResponseDto.success(); // return ResponseDto.success();
// } // }
//
@ApiOperationSupport(order = 5) // @ApiOperationSupport(order = 3)
@ApiOperation(value = "获取收藏状态") // @ApiOperation(value = "收藏列表")
@ApiImplicitParams({ // @ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "type", value = "收藏类型", allowableValues = "TICKET,VIDEO"), // @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "type", value = "收藏类型", allowableValues = "TICKET,VIDEO"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "contentId", value = "内容ID[64]"), // @ApiImplicitParam(type = "form", required = false, dataType = "Integer", name = "pageNo", value = "页码", example = "1"),
}) // @ApiImplicitParam(type = "form", required = false, dataType = "Integer", name = "pageSize", value = "页展示条数", example = "5"),
@GetMapping("state") // })
public ResponseDto<Boolean> state(@Pattern(regexp = "\\b(TICKET|VIDEO)\\b", message = "收藏类型无效") // @PostMapping("list")
@RequestParam String type, // public ResponseDto<PagedResult<AdamCollectVo>> list(@Pattern(regexp = "\\b(TICKET|VIDEO)\\b", message = "收藏类型无效")
@Size(min = 1, max = 64, message = "收藏内容ID长度限制1-64位") // @RequestParam String type,
@RequestParam String contentId) { // @RequestParam(defaultValue = "1", required = false) int pageNo,
return ResponseDto.success(adamCollectionService.queryState(CurrentUtil.getCurrentUid(), type, contentId)); // @RequestParam(defaultValue = "5", required = false) int pageSize) {
} // pageNo = pageNo > 0 ? pageNo : 1;
} // pageSize = pageSize <= 0 || pageSize > 10 ? 5 : pageSize;
//
// return ResponseDto.success(adamCollectionService.queryPage(CurrentUtil.getCurrentUid(), type, pageNo, pageSize));
// }
//
//// @ApiOperationSupport(order = 4)
//// @ApiOperation(value = "获取特定内容的收藏用户列表 -> 返回结构待定")
//// @ApiImplicitParams({
//// @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "type", value = "收藏类型", allowableValues = "TICKET,VIDEO"),
//// @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "contentId", value = "内容ID[64]"),
//// })
//// @PostMapping("list/user")
//// public ResponseDto<Object> listUser(@RequestParam String type, @RequestParam String contentId) {
//// String uid = "1";
////
////
////
//// return ResponseDto.success();
//// }
//
// @ApiOperationSupport(order = 5)
// @ApiOperation(value = "获取收藏状态")
// @ApiImplicitParams({
// @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "type", value = "收藏类型", allowableValues = "TICKET,VIDEO"),
// @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "contentId", value = "内容ID[64]"),
// })
// @GetMapping("state")
// public ResponseDto<Boolean> state(@Pattern(regexp = "\\b(TICKET|VIDEO)\\b", message = "收藏类型无效")
// @RequestParam String type,
// @Size(min = 1, max = 64, message = "收藏内容ID长度限制1-64位")
// @RequestParam String contentId) {
// return ResponseDto.success(adamCollectionService.queryState(CurrentUtil.getCurrentUid(), type, contentId));
// }
//}
package com.liquidnet.service.adam.controller; //package com.liquidnet.service.adam.controller;
//
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; //import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.github.xiaoymin.knife4j.annotations.ApiSupport; //import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.liquidnet.commons.lang.util.CurrentUtil; //import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.service.adam.dto.vo.AdamDisposedBaseVo; //import com.liquidnet.service.adam.dto.vo.AdamDisposedBaseVo;
import com.liquidnet.service.adam.dto.vo.AdamDisposedUserVo; //import com.liquidnet.service.adam.dto.vo.AdamDisposedUserVo;
import com.liquidnet.service.adam.dto.vo.AdamDisposedVo; //import com.liquidnet.service.adam.dto.vo.AdamDisposedVo;
import com.liquidnet.service.adam.service.IAdamDisposedService; //import com.liquidnet.service.adam.service.IAdamDisposedService;
import com.liquidnet.service.base.PagedResult; //import com.liquidnet.service.base.PagedResult;
import com.liquidnet.service.base.ResponseDto; //import com.liquidnet.service.base.ResponseDto;
import io.swagger.annotations.Api; //import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; //import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; //import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; //import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; //import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; //import org.springframework.web.bind.annotation.*;
//
import javax.validation.constraints.NotBlank; //import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern; //import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size; //import javax.validation.constraints.Size;
//
/** ///**
* <p> // * <p>
* 收藏 前端控制器 // * 收藏 前端控制器
* </p> // * </p>
* // *
* @author liquidnet // * @author liquidnet
* @since 2021-05-10 // * @since 2021-05-10
*/ // */
@ApiSupport(order = 10070) //@ApiSupport(order = 10070)
@Api(tags = "想去") //@Api(tags = "想去")
@Slf4j //@Slf4j
@RestController //@RestController
@RequestMapping("disposed") //@RequestMapping("disposed")
public class AdamDisposedController { //public class AdamDisposedController {
@Autowired // @Autowired
IAdamDisposedService adamDisposedService; // IAdamDisposedService adamDisposedService;
//
@ApiOperationSupport(order = 1) // @ApiOperationSupport(order = 1)
@ApiOperation(value = "添加想去") // @ApiOperation(value = "添加想去")
@ApiImplicitParams({ // @ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "type", value = "想去类型[TICKET,VIDEO]", allowableValues = "TICKET,VIDEO"), // @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "type", value = "想去类型[TICKET,VIDEO]", allowableValues = "TICKET,VIDEO"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "contentId", value = "内容ID[1,64]"), // @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "contentId", value = "内容ID[1,64]"),
}) // })
@PostMapping("add") // @PostMapping("add")
public ResponseDto<Object> add(@Pattern(regexp = "\\b(TICKET|VIDEO)\\b", message = "想去类型无效") // public ResponseDto<Object> add(@Pattern(regexp = "\\b(TICKET|VIDEO)\\b", message = "想去类型无效")
@RequestParam String type, // @RequestParam String type,
@Size(min = 1, max = 64, message = "内容ID长度限制1-64位") // @Size(min = 1, max = 64, message = "内容ID长度限制1-64位")
@RequestParam String contentId) { // @RequestParam String contentId) {
String currentUid = CurrentUtil.getCurrentUid(); // String currentUid = CurrentUtil.getCurrentUid();
//
if (adamDisposedService.exists(currentUid, type, contentId)) { // if (adamDisposedService.exists(currentUid, type, contentId)) {
return ResponseDto.success(); // return ResponseDto.success();
} // }
//
AdamDisposedBaseVo disposedBaseVo = AdamDisposedBaseVo.getNew(); // AdamDisposedBaseVo disposedBaseVo = AdamDisposedBaseVo.getNew();
disposedBaseVo.setType(type); // disposedBaseVo.setType(type);
disposedBaseVo.setContentId(contentId); // disposedBaseVo.setContentId(contentId);
disposedBaseVo.setUid(currentUid); // disposedBaseVo.setUid(currentUid);
//
adamDisposedService.add(disposedBaseVo); // adamDisposedService.add(disposedBaseVo);
//
return ResponseDto.success(); // return ResponseDto.success();
} // }
//
@ApiOperationSupport(order = 2) // @ApiOperationSupport(order = 2)
@ApiOperation(value = "删除想去") // @ApiOperation(value = "删除想去")
@ApiImplicitParams({ // @ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "type", value = "收藏类型", allowableValues = "TICKET,VIDEO"), // @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "type", value = "收藏类型", allowableValues = "TICKET,VIDEO"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "contentIds", value = "内容ID[多个ID用','分隔]"), // @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "contentIds", value = "内容ID[多个ID用','分隔]"),
}) // })
@PostMapping("del") // @PostMapping("del")
public ResponseDto<Object> del(@Pattern(regexp = "\\b(TICKET|VIDEO)\\b", message = "想去类型无效") // public ResponseDto<Object> del(@Pattern(regexp = "\\b(TICKET|VIDEO)\\b", message = "想去类型无效")
@RequestParam String type, // @RequestParam String type,
@NotBlank(message = "内容ID不能为空") @RequestParam String contentIds) { // @NotBlank(message = "内容ID不能为空") @RequestParam String contentIds) {
adamDisposedService.del(CurrentUtil.getCurrentUid(), type, contentIds.split(",")); // adamDisposedService.del(CurrentUtil.getCurrentUid(), type, contentIds.split(","));
//
return ResponseDto.success(); // return ResponseDto.success();
} // }
//
@ApiOperationSupport(order = 3) // @ApiOperationSupport(order = 3)
@ApiOperation(value = "想去列表") // @ApiOperation(value = "想去列表")
@ApiImplicitParams({ // @ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "type", value = "收藏类型", allowableValues = "TICKET,VIDEO"), // @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "type", value = "收藏类型", allowableValues = "TICKET,VIDEO"),
@ApiImplicitParam(type = "form", required = false, dataType = "Integer", name = "pageNo", value = "页码", example = "1"), // @ApiImplicitParam(type = "form", required = false, dataType = "Integer", name = "pageNo", value = "页码", example = "1"),
@ApiImplicitParam(type = "form", required = false, dataType = "Integer", name = "pageSize", value = "页展示条数", example = "5"), // @ApiImplicitParam(type = "form", required = false, dataType = "Integer", name = "pageSize", value = "页展示条数", example = "5"),
}) // })
@PostMapping("list") // @PostMapping("list")
public ResponseDto<PagedResult<AdamDisposedVo>> list(@Pattern(regexp = "\\b(TICKET|VIDEO)\\b", message = "想去类型无效") // public ResponseDto<PagedResult<AdamDisposedVo>> list(@Pattern(regexp = "\\b(TICKET|VIDEO)\\b", message = "想去类型无效")
@RequestParam String type, // @RequestParam String type,
@RequestParam(defaultValue = "1", required = false) int pageNo, // @RequestParam(defaultValue = "1", required = false) int pageNo,
@RequestParam(defaultValue = "5", required = false) int pageSize) { // @RequestParam(defaultValue = "5", required = false) int pageSize) {
pageNo = pageNo > 0 ? pageNo : 1; // pageNo = pageNo > 0 ? pageNo : 1;
pageSize = pageSize <= 0 || pageSize > 10 ? 10 : pageSize; // pageSize = pageSize <= 0 || pageSize > 10 ? 10 : pageSize;
//
return ResponseDto.success(adamDisposedService.queryPage(CurrentUtil.getCurrentUid(), type, pageNo, pageSize)); // return ResponseDto.success(adamDisposedService.queryPage(CurrentUtil.getCurrentUid(), type, pageNo, pageSize));
} // }
//
@ApiOperationSupport(order = 4) // @ApiOperationSupport(order = 4)
@ApiOperation(value = "想去用户列表") // @ApiOperation(value = "想去用户列表")
@ApiImplicitParams({ // @ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "type", value = "收藏类型", allowableValues = "TICKET,VIDEO"), // @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "type", value = "收藏类型", allowableValues = "TICKET,VIDEO"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "contentId", value = "内容ID[1,64]"), // @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "contentId", value = "内容ID[1,64]"),
@ApiImplicitParam(type = "form", required = false, dataType = "Integer", name = "pageNo", value = "页码", example = "1"), // @ApiImplicitParam(type = "form", required = false, dataType = "Integer", name = "pageNo", value = "页码", example = "1"),
@ApiImplicitParam(type = "form", required = false, dataType = "Integer", name = "pageSize", value = "页展示条数", example = "10"), // @ApiImplicitParam(type = "form", required = false, dataType = "Integer", name = "pageSize", value = "页展示条数", example = "10"),
}) // })
@PostMapping("list/user") // @PostMapping("list/user")
public ResponseDto<PagedResult<AdamDisposedUserVo>> listUser(@Pattern(regexp = "\\b(TICKET|VIDEO)\\b", message = "想去类型无效") // public ResponseDto<PagedResult<AdamDisposedUserVo>> listUser(@Pattern(regexp = "\\b(TICKET|VIDEO)\\b", message = "想去类型无效")
@RequestParam String type, // @RequestParam String type,
@Size(min = 1, max = 64, message = "内容ID长度限制1-64位") // @Size(min = 1, max = 64, message = "内容ID长度限制1-64位")
@RequestParam String contentId, // @RequestParam String contentId,
@RequestParam(defaultValue = "1", required = false) int pageNo, // @RequestParam(defaultValue = "1", required = false) int pageNo,
@RequestParam(defaultValue = "10", required = false) int pageSize) { // @RequestParam(defaultValue = "10", required = false) int pageSize) {
pageNo = pageNo > 0 ? pageNo : 1; // pageNo = pageNo > 0 ? pageNo : 1;
pageSize = pageSize <= 0 || pageSize > 20 ? 20 : pageSize; // pageSize = pageSize <= 0 || pageSize > 20 ? 20 : pageSize;
//
return ResponseDto.success(adamDisposedService.queryDisposedUsers(type, contentId, pageNo, pageSize)); // return ResponseDto.success(adamDisposedService.queryDisposedUsers(type, contentId, pageNo, pageSize));
} // }
//
@ApiOperationSupport(order = 5) // @ApiOperationSupport(order = 5)
@ApiOperation(value = "获取想去状态") // @ApiOperation(value = "获取想去状态")
@ApiImplicitParams({ // @ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "type", value = "收藏类型", allowableValues = "TICKET"), // @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "type", value = "收藏类型", allowableValues = "TICKET"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "contentId", value = "内容ID[64]"), // @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "contentId", value = "内容ID[64]"),
}) // })
@GetMapping("state") // @GetMapping("state")
public ResponseDto<Boolean> state(@Pattern(regexp = "\\b(TICKET|VIDEO)\\b", message = "想去类型无效") // public ResponseDto<Boolean> state(@Pattern(regexp = "\\b(TICKET|VIDEO)\\b", message = "想去类型无效")
@RequestParam String type, // @RequestParam String type,
@Size(min = 1, max = 64, message = "内容ID长度限制1-64位") // @Size(min = 1, max = 64, message = "内容ID长度限制1-64位")
@RequestParam String contentId) { // @RequestParam String contentId) {
return ResponseDto.success(adamDisposedService.queryState(CurrentUtil.getCurrentUid(), type, contentId)); // return ResponseDto.success(adamDisposedService.queryState(CurrentUtil.getCurrentUid(), type, contentId));
} // }
} //}
package com.liquidnet.service.adam.controller; package com.liquidnet.service.adam.controller;
import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
import com.aliyuncs.DefaultAcsClient; import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.dypnsapi.model.v20170525.GetMobileRequest; import com.aliyuncs.dypnsapi.model.v20170525.GetMobileRequest;
import com.aliyuncs.dypnsapi.model.v20170525.GetMobileResponse; import com.aliyuncs.dypnsapi.model.v20170525.GetMobileResponse;
...@@ -19,6 +21,7 @@ import com.liquidnet.service.adam.dto.AdamThirdPartParam; ...@@ -19,6 +21,7 @@ import com.liquidnet.service.adam.dto.AdamThirdPartParam;
import com.liquidnet.service.adam.dto.vo.AdamLoginInfoVo; import com.liquidnet.service.adam.dto.vo.AdamLoginInfoVo;
import com.liquidnet.service.adam.dto.vo.AdamUserInfoVo; import com.liquidnet.service.adam.dto.vo.AdamUserInfoVo;
import com.liquidnet.service.adam.service.AdamRdmService; import com.liquidnet.service.adam.service.AdamRdmService;
import com.liquidnet.service.adam.service.AdamWechatService;
import com.liquidnet.service.adam.service.IAdamUserService; import com.liquidnet.service.adam.service.IAdamUserService;
import com.liquidnet.service.base.ErrorMapping; import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
...@@ -28,6 +31,7 @@ import io.swagger.annotations.ApiImplicitParam; ...@@ -28,6 +31,7 @@ import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import me.chanjar.weixin.common.error.WxErrorException;
import org.apache.commons.lang3.RandomStringUtils; import org.apache.commons.lang3.RandomStringUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -68,57 +72,11 @@ public class AdamLoginController { ...@@ -68,57 +72,11 @@ public class AdamLoginController {
IAdamUserService adamUserService; IAdamUserService adamUserService;
@Autowired @Autowired
SmsProcessor smsProcessor; SmsProcessor smsProcessor;
@Autowired
AdamWechatService adamWechatService;
@Value("${liquidnet.reviewer.app-login.mobile}") @Value("${liquidnet.reviewer.app-login.mobile}")
private String reviewMobile; private String reviewMobile;
private static final String PHP_API_SMS_CODE_SEND = "/smsCode";
private static final String PHP_API_SMS_CODE_VALID = "/smsValidation";
// @GetMapping(value = {"gen"})
// public void genID() {
// log.debug("-nextSnowId:{}", IDGenerator.nextSnowId());
// log.debug("nextMilliId:{}", IDGenerator.nextMilliId());
// log.debug("nextMilliId:{}", IDGenerator.nextTimeId());
// log.debug("nextMilliId:{}", IDGenerator.get32UUID());
//
//
// ObjectNode smsNode = JsonUtils.OM().createObjectNode();
// smsNode.put("code", "123456");
// smsProcessor.aliyunDysmsSend("13753596360",
// SmsEnum.ADSignName.正在现场.name(), SmsEnum.ADTemplate.SMS_109535335.name(),
// smsNode.toString());
//
//
//
// ArrayNode smsBatchPhones = JsonUtils.OM().createArrayNode(),
// smsBatchSignNames = JsonUtils.OM().createArrayNode(),
// smsBatchTemplateParams = JsonUtils.OM().createArrayNode();
// ObjectNode smsBatchTemplateParam = JsonUtils.OM().createObjectNode();
//
// smsBatchPhones.add("13753596360");
// smsBatchPhones.add("17701223310");
//
// smsBatchSignNames.add(SmsEnum.ADSignName.正在现场.name());
// smsBatchSignNames.add(SmsEnum.ADSignName.正在现场.name());
//
// smsBatchTemplateParam.put("userName", "张某人");
// smsBatchTemplateParam.put("aName", "大美");
// smsBatchTemplateParam.put("time", "2021-07-10");
// smsBatchTemplateParam.put("siteName", "北京");
// smsBatchTemplateParam.put("url", "show");
//
// smsBatchTemplateParams.add(smsBatchTemplateParam.deepCopy());
//
// smsBatchTemplateParam.put("userName", "张某人");
// smsBatchTemplateParam.put("aName", "大美2");
// smsBatchTemplateParam.put("time", "2021-07-11");
// smsBatchTemplateParam.put("siteName", "天津");
// smsBatchTemplateParam.put("url", "show2");
// smsBatchTemplateParams.add(smsBatchTemplateParam);
//
// smsProcessor.aliyunDysmsSendBatch(smsBatchPhones.toPrettyString(), smsBatchSignNames.toString(), SmsEnum.ADTemplate.SMS_109535335.name(), smsBatchTemplateParams.toString());
// }
@ApiOperationSupport(order = 2) @ApiOperationSupport(order = 2)
@ApiOperation(value = "发送验证码") @ApiOperation(value = "发送验证码")
...@@ -128,35 +86,6 @@ public class AdamLoginController { ...@@ -128,35 +86,6 @@ public class AdamLoginController {
@GetMapping(value = {"send"}) @GetMapping(value = {"send"})
public ResponseDto<Object> sendSms(@Pattern(regexp = "\\d{11}", message = "手机号格式有误") @RequestParam String mobile) { public ResponseDto<Object> sendSms(@Pattern(regexp = "\\d{11}", message = "手机号格式有误") @RequestParam String mobile) {
log.debug("send to mobile:{}", mobile); log.debug("send to mobile:{}", mobile);
// Map<String, Object> respMap = null;
// String respStr = null;
// try {
// LinkedMultiValueMap<String, String> paramsMap = new LinkedMultiValueMap<>();
// paramsMap.add("mobile", mobile);
//
// long s = System.currentTimeMillis();
// respStr = HttpUtil.postToPhpApi(env.getProperty("liquidnet.url-service.url") + PHP_API_SMS_CODE_SEND, paramsMap);
// log.debug("###PHP.API[{}].RESP[{}]", PHP_API_SMS_CODE_SEND, respStr);
// log.debug("#PHP.API耗时:{}ms", System.currentTimeMillis() - s);
// respMap = JsonUtils.fromJson(respStr, Map.class);
// } catch (Exception e) {
// RedisLockUtil.unlock(LOCK_KEY_USMS_MOBILE + mobile);
// if (e instanceof HttpClientErrorException) {
// log.error("PHP.API验证码发送异常[mobile:{},respStr:{},ex:{}]", mobile, respStr, e.getLocalizedMessage());
// HttpClientErrorException ex = (HttpClientErrorException) e;
// JsonNode exBody = JsonUtils.fromJson(ex.getResponseBodyAsString(), JsonNode.class);
// return ResponseDto.failure("10003", exBody.get("message").asText());
// }
// log.error("PHP.API验证码发送异常[mobile:{},respStr:{}]", mobile, respStr, e);
// return ResponseDto.failure(ErrorMapping.get("10003"));
// }
// if (!CollectionUtils.isEmpty(respMap) && StringUtils.equalsIgnoreCase("OK", (String) respMap.get("message"))) {
// return ResponseDto.success();
// } else {
// RedisLockUtil.unlock(LOCK_KEY_USMS_MOBILE + mobile);
// log.warn("PHP.API验证码发送失败[mobile:{},respStr:{}]", mobile, respStr);
// return ResponseDto.failure(ErrorMapping.get("10003"));
// }
String smsCodeByMobile = adamRdmService.getSmsCodeByMobile(mobile); String smsCodeByMobile = adamRdmService.getSmsCodeByMobile(mobile);
...@@ -165,10 +94,6 @@ public class AdamLoginController { ...@@ -165,10 +94,6 @@ public class AdamLoginController {
} }
String smsCode = RandomStringUtils.randomNumeric(6); String smsCode = RandomStringUtils.randomNumeric(6);
// SmsMessage smsMessage = SmsMessage.builder().setPhone(mobile).setSignName(SmsEnum.ADSignName.正在现场.name())
// .setTemplateCode(SmsEnum.ADTemplate.SMS_109535335.name())
// .setTemplateParam("code", smsCode);
// rabbitTemplate.convertAndSend(MQConst.EX_LNS_SMS_SENDER, MQConst.RK_SMS_CODE, smsMessage.toJson());
ObjectNode msgNode = JsonUtils.OM().createObjectNode(); ObjectNode msgNode = JsonUtils.OM().createObjectNode();
msgNode.put("code", smsCode); msgNode.put("code", smsCode);
boolean sendRst = smsProcessor.send(mobile, SmsEnum.ADSignName.M02.getVal(), SmsEnum.ADTemplate.SMS_221055862.name(), msgNode.toString()); boolean sendRst = smsProcessor.send(mobile, SmsEnum.ADSignName.M02.getVal(), SmsEnum.ADTemplate.SMS_221055862.name(), msgNode.toString());
...@@ -185,7 +110,7 @@ public class AdamLoginController { ...@@ -185,7 +110,7 @@ public class AdamLoginController {
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "mobile", value = "手机号"), @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "mobile", value = "手机号"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "code", value = "验证码"), @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "code", value = "验证码"),
@ApiImplicitParam(type = "form", required = true, dataType = "Integer", name = "skip", value = "是否跳过完善资料[1-跳过]"), @ApiImplicitParam(type = "form", required = false, dataType = "Integer", name = "skip", value = "是否跳过完善资料[1-跳过]"),
}) })
@PostMapping(value = {"login/sms"}) @PostMapping(value = {"login/sms"})
public ResponseDto<AdamLoginInfoVo> loginBySms(@Pattern(regexp = "\\d{11}", message = "手机号格式有误") public ResponseDto<AdamLoginInfoVo> loginBySms(@Pattern(regexp = "\\d{11}", message = "手机号格式有误")
...@@ -267,9 +192,71 @@ public class AdamLoginController { ...@@ -267,9 +192,71 @@ public class AdamLoginController {
} }
@ApiOperationSupport(order = 5) @ApiOperationSupport(order = 5)
@ApiOperation(value = "微信小程序登录")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "anum", value = "应用标识[1-正在|2-草莓音乐节|3-五百里|4-MDSK]", allowableValues = "1,2,3,4"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "code", value = "临时票据"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "encryptedData", value = "访问令牌"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "iv", value = "访问令牌"),
})
@PostMapping(value = {"login/wca"})
public ResponseDto<AdamLoginInfoVo> loginByWechatApplet(@RequestParam Integer anum,
@RequestParam String code,
@RequestParam String encryptedData,
@RequestParam String iv) {
log.debug("login by wechat applet:[anum:{},code:{},encryptedData:{},iv:{}]", anum, code, encryptedData, iv);
String wechatMobile, wechatOpenid, wechatUnionid;
try {
WxMaJscode2SessionResult wxMaJscode2SessionResult = adamWechatService.sessionInfo(code, anum);
WxMaPhoneNumberInfo wxMaPhoneNumberInfo = adamWechatService.phoneNumberInfo(wxMaJscode2SessionResult.getSessionKey(), encryptedData, iv, anum);
wechatMobile = wxMaPhoneNumberInfo.getPurePhoneNumber();
wechatOpenid = wxMaJscode2SessionResult.getOpenid();
wechatUnionid = wxMaJscode2SessionResult.getUnionid();
} catch (WxErrorException e) {
log.error("login by wechat applet exception:[anum:{},code:{},encryptedData:{},iv:{}], errmsg:{}", anum, code, encryptedData, iv, e.getMessage());
return ResponseDto.failure("微信小程序解码信息失败");
}
if (StringUtils.isEmpty(wechatMobile)) return ResponseDto.failure(ErrorMapping.get("10005"));
String uid = adamRdmService.getUidByMobile(wechatMobile);
boolean toRegister = StringUtils.isEmpty(uid);
AdamUserInfoVo userInfoVo;
if (toRegister) {
userInfoVo = adamUserService.register(wechatMobile);
if (null == userInfoVo) {
return ResponseDto.failure(ErrorMapping.get("10000"));
}
} else {
userInfoVo = adamRdmService.getUserInfoVoByUid(uid);
}
// 根据skip值,设置IsComplete(考虑到已存在用户未完善信息的情况,这里只对返回数据单独设置IsComplete)
userInfoVo.setIsComplete(1);
AdamLoginInfoVo loginInfoVo = AdamLoginInfoVo.getNew();
if (!toRegister) {
// loginInfoVo.setRealNameInfo(adamRdmService.getRealInfoVoByUid(userInfoVo.getUid()));
// loginInfoVo.setThirdPartInfo(adamRdmService.getThirdPartVoListByUid(userInfoVo.getUid()));
loginInfoVo.setUserMemberVo(adamRdmService.getUserMemberVoByUid(userInfoVo.getUid()));
}
// loginInfoVo.setMemberVo(adamRdmService.getMemberSimpleVo());
loginInfoVo.setUserInfo(userInfoVo);
loginInfoVo.setToken(this.ssoProcess(userInfoVo));
loginInfoVo.getUserInfo().setMobile(SensitizeUtil.custom(userInfoVo.getMobile(), 3, 4));
loginInfoVo.setWechatOpenid(wechatOpenid);
loginInfoVo.setWechatUnionid(wechatUnionid);
log.info(UserPathDto.setData(toRegister ? "注册" : "登录", ServletUtils.getRequest().getParameterMap(), loginInfoVo));
return ResponseDto.success(loginInfoVo);
}
@ApiOperationSupport(order = 6)
@ApiOperation(value = "第三方账号登录") @ApiOperation(value = "第三方账号登录")
@PostMapping(value = {"login/tpa"}) @PostMapping(value = {"login/tpa"})
public ResponseDto<AdamLoginInfoVo> loginByTpa(@Valid @RequestBody AdamThirdPartParam parameter) { public ResponseDto<AdamLoginInfoVo> loginByThirdPartApp(@Valid @RequestBody AdamThirdPartParam parameter) {
log.debug("login by tpa:{}", JsonUtils.toJson(parameter)); log.debug("login by tpa:{}", JsonUtils.toJson(parameter));
boolean toRegister = false; boolean toRegister = false;
AdamLoginInfoVo loginInfoVo = AdamLoginInfoVo.getNew(); AdamLoginInfoVo loginInfoVo = AdamLoginInfoVo.getNew();
...@@ -304,7 +291,7 @@ public class AdamLoginController { ...@@ -304,7 +291,7 @@ public class AdamLoginController {
return ResponseDto.success(loginInfoVo); return ResponseDto.success(loginInfoVo);
} }
@ApiOperationSupport(order = 6) @ApiOperationSupport(order = 7)
@ApiOperation(value = "登出") @ApiOperation(value = "登出")
@PostMapping(value = {"out"}) @PostMapping(value = {"out"})
public void logout() { public void logout() {
...@@ -313,7 +300,7 @@ public class AdamLoginController { ...@@ -313,7 +300,7 @@ public class AdamLoginController {
redisUtil.del(jwtValidator.getSsoRedisKey().concat(CurrentUtil.getCurrentUid())); redisUtil.del(jwtValidator.getSsoRedisKey().concat(CurrentUtil.getCurrentUid()));
} }
@ApiOperationSupport(order = 7) @ApiOperationSupport(order = 8)
@ApiOperation(value = "注销") @ApiOperation(value = "注销")
@PostMapping(value = {"close"}) @PostMapping(value = {"close"})
public ResponseDto<Object> close() { public ResponseDto<Object> close() {
...@@ -326,14 +313,14 @@ public class AdamLoginController { ...@@ -326,14 +313,14 @@ public class AdamLoginController {
return ResponseDto.success(); return ResponseDto.success();
} }
@ApiOperationSupport(order = 8) @ApiOperationSupport(order = 9)
@ApiOperation(value = "时间戳") @ApiOperation(value = "时间戳")
@GetMapping(value = {"ts"}) @GetMapping(value = {"ts"})
public ResponseDto<Long> timestamp() { public ResponseDto<Long> timestamp() {
return ResponseDto.success(LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli()); return ResponseDto.success(LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli());
} }
@ApiOperationSupport(order = 9) @ApiOperationSupport(order = 10)
@ApiOperation(value = "微信小程序登录凭证校验", notes = "这里仅用于获取OPENID使用。登录凭证校验。通过 wx.login 接口获得临时登录凭证 code 后传到开发者服务器调用此接口完成登录流程。更多使用方法详见 https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/login/auth.code2Session.html") @ApiOperation(value = "微信小程序登录凭证校验", notes = "这里仅用于获取OPENID使用。登录凭证校验。通过 wx.login 接口获得临时登录凭证 code 后传到开发者服务器调用此接口完成登录流程。更多使用方法详见 https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/login/auth.code2Session.html")
@GetMapping(value = {"wxa/code2session"}) @GetMapping(value = {"wxa/code2session"})
public ResponseDto<String> wxaCode2Session(@RequestParam String jsCode) { public ResponseDto<String> wxaCode2Session(@RequestParam String jsCode) {
...@@ -356,7 +343,7 @@ public class AdamLoginController { ...@@ -356,7 +343,7 @@ public class AdamLoginController {
return ResponseDto.success(openId); return ResponseDto.success(openId);
} }
@ApiOperationSupport(order = 10) @ApiOperationSupport(order = 11)
@ApiOperation(value = "微信网站应用登录", notes = "这里仅用于获取OPENID使用。方法详见 https://developers.weixin.qq.com/doc/oplatform/Website_App/WeChat_Login/Wechat_Login.html") @ApiOperation(value = "微信网站应用登录", notes = "这里仅用于获取OPENID使用。方法详见 https://developers.weixin.qq.com/doc/oplatform/Website_App/WeChat_Login/Wechat_Login.html")
@GetMapping(value = {"wx/oauth2/access_token"}) @GetMapping(value = {"wx/oauth2/access_token"})
public ResponseDto<String> wxOauth2AccessToken(@RequestParam String code) { public ResponseDto<String> wxOauth2AccessToken(@RequestParam String code) {
...@@ -391,26 +378,6 @@ public class AdamLoginController { ...@@ -391,26 +378,6 @@ public class AdamLoginController {
} }
} }
// LinkedMultiValueMap<String, String> paramsMap = new LinkedMultiValueMap<>();
// paramsMap.add("mobile", mobile);
// paramsMap.add("code", code);
//
// String respStr = null;
// try {
// respStr = HttpUtil.postToPhpApi(env.getProperty("liquidnet.url-service.url") + PHP_API_SMS_CODE_VALID, paramsMap);
// log.debug("###PHP.API[{}].RESP:{}", PHP_API_SMS_CODE_VALID, respStr);
// Map respMap = JsonUtils.fromJson(respStr, Map.class);
// if (!CollectionUtils.isEmpty(respMap) && StringUtils.equalsIgnoreCase("OK", (String) respMap.get("message"))) {
// return true;
// } else {
// log.warn("PHP.API验证码验证失败[mobile:{},code:{},respStr:{}]", mobile, code, respStr);
// return false;
// }
// } catch (Exception e) {
// log.error("PHP.API验证码验证异常[mobile:{},code:{},respStr:{}]", mobile, code, respStr, e);
// return false;
// }
String smsCodeByMobile = adamRdmService.getSmsCodeByMobile(mobile); String smsCodeByMobile = adamRdmService.getSmsCodeByMobile(mobile);
if (null == smsCodeByMobile) { if (null == smsCodeByMobile) {
return ResponseDto.failure(ErrorMapping.get("10004")); return ResponseDto.failure(ErrorMapping.get("10004"));
......
...@@ -220,16 +220,8 @@ public class AdamMemberOrderController { ...@@ -220,16 +220,8 @@ public class AdamMemberOrderController {
return ResponseDto.failure(ErrorMapping.get("10000")); return ResponseDto.failure(ErrorMapping.get("10000"));
} }
} }
// if (RedisLockUtil.tryLock(LOCK_KEY_UMEMBER_CODE + param.getMemberCode(), 1, 5)) {
ResponseDto<AdamMemberOrderResult> responseDto = adamMemberOrderService.exchangeMemberCode(param);
// if (!responseDto.isSuccess()) { return adamMemberOrderService.exchangeMemberCode(param);
// RedisLockUtil.unlock(LOCK_KEY_UMEMBER_CODE + param.getMemberCode());
// }
return responseDto;
// } else {
// return ResponseDto.failure(ErrorMapping.get("10000"));
// }
} }
@ApiOperationSupport(order = 5) @ApiOperationSupport(order = 5)
......
...@@ -329,22 +329,6 @@ public class AdamUserController { ...@@ -329,22 +329,6 @@ public class AdamUserController {
return ResponseDto.success(); return ResponseDto.success();
} }
// LinkedMultiValueMap<String, String> paramsMap = new LinkedMultiValueMap<>();
// paramsMap.add("mobile", mobile);
// paramsMap.add("code", code);
// LinkedMultiValueMap<String, String> headersMap = new LinkedMultiValueMap<>();
// headersMap.add("token", null);
// try {
// String respStr = HttpUtil.get(env.getProperty("liquidnet.url-service.url") + PHP_API_SMS_CODE_VALID, paramsMap, headersMap);
// log.debug("###PHP.API.RESP:{}", respStr);
//
// Map respMap = JsonUtils.fromJson(respStr, Map.class);
//
// return StringUtils.equalsIgnoreCase("OK", (String) respMap.get("message"));
// } catch (Exception e) {
// log.error("验证码验证异常[mobile:{},code:{}]", mobile, code, e);
// return false;
// }
String smsCodeByMobile = adamRdmService.getSmsCodeByMobile(mobile); String smsCodeByMobile = adamRdmService.getSmsCodeByMobile(mobile);
if (null == smsCodeByMobile) { if (null == smsCodeByMobile) {
return ResponseDto.failure(ErrorMapping.get("10004")); return ResponseDto.failure(ErrorMapping.get("10004"));
......
package com.liquidnet.service.adam.service;
import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
import cn.binarywang.wx.miniapp.bean.WxMaUserInfo;
import com.liquidnet.service.adam.config.WechatMaConfigure;
import me.chanjar.weixin.common.error.WxErrorException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class AdamWechatService {
@Autowired
WechatMaConfigure wechatMaConfigure;
public WxMaJscode2SessionResult sessionInfo(String code, Integer anum) throws WxErrorException {
WxMaService wxMaService = wechatMaConfigure.getWxMaService(anum);
return wxMaService.getUserService().getSessionInfo(code);
}
public WxMaUserInfo userInfo(String sessionKey, String encryptedData, String iv, Integer anum) {
WxMaService wxMaService = wechatMaConfigure.getWxMaService(anum);
return wxMaService.getUserService().getUserInfo(sessionKey, encryptedData, iv);
}
public WxMaPhoneNumberInfo phoneNumberInfo(String sessionKey, String encryptedData, String iv, Integer anum) {
WxMaService wxMaService = wechatMaConfigure.getWxMaService(anum);
return wxMaService.getUserService().getPhoneNoInfo(sessionKey, encryptedData, iv);
}
}
...@@ -34,8 +34,6 @@ import java.util.stream.IntStream; ...@@ -34,8 +34,6 @@ import java.util.stream.IntStream;
@Slf4j @Slf4j
@Service @Service
public class AdamAddressesServiceImpl implements IAdamAddressesService { public class AdamAddressesServiceImpl implements IAdamAddressesService {
// @Autowired
// MongoTemplate mongoTemplate;
@Autowired @Autowired
QueueUtils queueUtils; QueueUtils queueUtils;
@Autowired @Autowired
...@@ -57,10 +55,6 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService { ...@@ -57,10 +55,6 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService {
vo.setState(1); vo.setState(1);
vo.setCreatedAt(now); vo.setCreatedAt(now);
// long s = System.currentTimeMillis();
// mongoTemplate.insert(vo, AdamAddressesVo.class.getSimpleName());
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
long s = System.currentTimeMillis(); long s = System.currentTimeMillis();
// adamRdmService.delAddressesVoByUid(currentUid); // adamRdmService.delAddressesVoByUid(currentUid);
adamRdmService.addAddressesVoByUid(currentUid, vos, vo); adamRdmService.addAddressesVoByUid(currentUid, vos, vo);
...@@ -84,18 +78,6 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService { ...@@ -84,18 +78,6 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService {
LinkedList<Object[]> toMqObjs = CollectionUtil.linkedListObjectArr(); LinkedList<Object[]> toMqObjs = CollectionUtil.linkedListObjectArr();
List<AdamAddressesVo> vos = adamRdmService.getAddressesVoByUid(uid); List<AdamAddressesVo> vos = adamRdmService.getAddressesVoByUid(uid);
if (vos.size() > 1) {// 取消原默认 if (vos.size() > 1) {// 取消原默认
// AdamAddressesVo unDeaultVo = AdamAddressesVo.getNew();
// unDeaultVo.setIsDefault(false);
// unDeaultVo.setUpdatedAt(now);
// long s = System.currentTimeMillis();
// 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", new Document("isDefault", false).append("updatedAt", now)),
// new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
// );
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
// if (null != doc) {
// AdamAddressesVo unDefaultVoAfter = BsonUtil.toBean(doc, AdamAddressesVo.class);
AdamAddressesVo defaultVo = queryDefault(vos, uid, false); AdamAddressesVo defaultVo = queryDefault(vos, uid, false);
defaultVo.setIsDefault(false); defaultVo.setIsDefault(false);
defaultVo.setUpdatedAt(now); defaultVo.setUpdatedAt(now);
...@@ -103,21 +85,8 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService { ...@@ -103,21 +85,8 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService {
toMqObjs.add(new Object[]{false, now, defaultVo.getAddressesId()}); toMqObjs.add(new Object[]{false, now, defaultVo.getAddressesId()});
this.collectionProcess(vos, defaultVo.getAddressesId(), defaultVo); this.collectionProcess(vos, defaultVo.getAddressesId(), defaultVo);
// }
} }
{// 设置新默认 {// 设置新默认
// AdamAddressesVo defaultVo = AdamAddressesVo.getNew();
// defaultVo.setIsDefault(true);
// defaultVo.setUpdatedAt(now);
// long s = System.currentTimeMillis();
// Document doc = mongoTemplate.getCollection(AdamAddressesVo.class.getSimpleName()).findOneAndUpdate(
// Query.query(Criteria.where("uid").is(uid).and("addressesId").is(addressesId)).getQueryObject(),
// new Document("$set", new Document("isDefault", true).append("updatedAt", now)),
// new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
// );
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
// if (null != doc) {
// AdamAddressesVo defaultVoAfter = BsonUtil.toBean(doc, AdamAddressesVo.class);
AdamAddressesVo defaultVoAfter = adamRdmService.getAddressesVoByUidAddressesId(vos, addressesId); AdamAddressesVo defaultVoAfter = adamRdmService.getAddressesVoByUidAddressesId(vos, addressesId);
defaultVoAfter.setIsDefault(true); defaultVoAfter.setIsDefault(true);
defaultVoAfter.setUpdatedAt(now); defaultVoAfter.setUpdatedAt(now);
...@@ -125,7 +94,6 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService { ...@@ -125,7 +94,6 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService {
toMqObjs.add(new Object[]{true, now, addressesId}); toMqObjs.add(new Object[]{true, now, addressesId});
this.collectionProcess(vos, defaultVoAfter.getAddressesId(), defaultVoAfter); this.collectionProcess(vos, defaultVoAfter.getAddressesId(), defaultVoAfter);
// }
} }
if (!CollectionUtils.isEmpty(toMqObjs)) { if (!CollectionUtils.isEmpty(toMqObjs)) {
long s = System.currentTimeMillis(); long s = System.currentTimeMillis();
...@@ -155,19 +123,6 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService { ...@@ -155,19 +123,6 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService {
updateVo.setCounty(parameter.getCounty()); updateVo.setCounty(parameter.getCounty());
updateVo.setAddress(parameter.getAddress()); updateVo.setAddress(parameter.getAddress());
updateVo.setUpdatedAt(now); updateVo.setUpdatedAt(now);
// AdamAddressesVo updateVo = AdamAddressesVo.getNew();
// BeanUtils.copyProperties(parameter, updateVo);
// long s = System.currentTimeMillis();
// Document doc = mongoTemplate.getCollection(AdamAddressesVo.class.getSimpleName()).findOneAndUpdate(
// Query.query(Criteria.where("uid").is(currentUid).and("addressesId").is(parameter.getAddressesId())).getQueryObject(),
// new Document("$set", Document.parse(JsonUtils.toJson(updateVo)).append("updatedAt", now)),
// new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
// );
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
// if (null != doc) {
// updateVo = BsonUtil.toBean(doc, AdamAddressesVo.class);
//
// List<AdamAddressesVo> vos = adamRdmService.getAddressesVoByUid(currentUid);
long s = System.currentTimeMillis(); long s = System.currentTimeMillis();
adamRdmService.setAddressesVoByUid(updateVo.getUid(), this.collectionProcess(vos, parameter.getAddressesId(), updateVo)); adamRdmService.setAddressesVoByUid(updateVo.getUid(), this.collectionProcess(vos, parameter.getAddressesId(), updateVo));
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s); log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
...@@ -180,31 +135,13 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService { ...@@ -180,31 +135,13 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService {
) )
); );
log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s); log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s);
// }
} }
@Override @Override
// @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) // @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public void remove(String uid, String addressesId) { public void remove(String uid, String addressesId) {
// String currentUid = CurrentUtil.getCurrentUid();
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
// AdamAddressesVo removeVo = AdamAddressesVo.getNew();
// removeVo.setState(2);
// removeVo.setIsDefault(false);
// removeVo.setUpdatedAt(now);
// removeVo.setDeletedAt(now);
// long s = System.currentTimeMillis();
// DeleteResult deleteResult = mongoTemplate.remove(
// Query.query(Criteria.where("uid").is(currentUid).and("addressesId").is(addressesId)), AdamAddressesVo.class.getSimpleName()
// );
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
// List<AdamAddressesVo> vos = adamRdmService.getAddressesVoByUid(uid);
// vos.removeIf(r -> r.getAddressesId().equals(addressesId));
// s = System.currentTimeMillis();
// adamRdmService.setAddressesVoByUid(uid, vos);
// log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
adamRdmService.rmvAddressesVoByUid(uid, adamRdmService.getAddressesVoByUid(uid), addressesId); adamRdmService.rmvAddressesVoByUid(uid, adamRdmService.getAddressesVoByUid(uid), addressesId);
long s = System.currentTimeMillis(); long s = System.currentTimeMillis();
...@@ -244,18 +181,8 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService { ...@@ -244,18 +181,8 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService {
.filter(i -> vos.get(i).getAddressesId().equals(replaceId)) .filter(i -> vos.get(i).getAddressesId().equals(replaceId))
.findFirst().orElse(-1); .findFirst().orElse(-1);
if (idx == -1) { if (idx == -1) {
// adamRdmService.delAddressesVoByUid(updateVo.getUid());
//
// List<AdamAddressesVo> addressesVos = adamRdmService.getAddressesVoByUid(updateVo.getUid());
//
// idx = IntStream.range(0, vos.size())
// .filter(i -> addressesVos.get(i).getAddressesId().equals(replaceId))
// .findFirst().orElse(-1);
//
// if (idx == -1) {
ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("10018"); ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("10018");
throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage()); throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
// }
} }
vos.set(idx, updateVo); vos.set(idx, updateVo);
log.debug("#collect.process耗时:{}ms", System.currentTimeMillis() - s); log.debug("#collect.process耗时:{}ms", System.currentTimeMillis() - s);
......
...@@ -36,16 +36,11 @@ import java.util.stream.IntStream; ...@@ -36,16 +36,11 @@ import java.util.stream.IntStream;
public class AdamEntersServiceImpl implements IAdamEntersService { public class AdamEntersServiceImpl implements IAdamEntersService {
@Autowired @Autowired
Environment env; Environment env;
// @Autowired
// MongoTemplate mongoTemplate;
@Autowired @Autowired
QueueUtils queueUtils; QueueUtils queueUtils;
@Autowired @Autowired
AdamRdmService adamRdmService; AdamRdmService adamRdmService;
private static final String PHP_API_REAL_NAME = "/IdCardCheckVerification";
@Override @Override
// @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) // @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public String add(AdamEntersParam parameter) { public String add(AdamEntersParam parameter) {
...@@ -72,10 +67,6 @@ public class AdamEntersServiceImpl implements IAdamEntersService { ...@@ -72,10 +67,6 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
vo.setState(1); vo.setState(1);
vo.setCreatedAt(now); vo.setCreatedAt(now);
// long s = System.currentTimeMillis();
// mongoTemplate.insert(vo, AdamEntersVo.class.getSimpleName());
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
long s = System.currentTimeMillis(); long s = System.currentTimeMillis();
// adamRdmService.delEntersVoByUid(currentUid); // adamRdmService.delEntersVoByUid(currentUid);
adamRdmService.addEntersVoByUid(currentUid, vos, vo); adamRdmService.addEntersVoByUid(currentUid, vos, vo);
...@@ -104,18 +95,6 @@ public class AdamEntersServiceImpl implements IAdamEntersService { ...@@ -104,18 +95,6 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
LinkedList<Object[]> toMqObjs = CollectionUtil.linkedListObjectArr(); LinkedList<Object[]> toMqObjs = CollectionUtil.linkedListObjectArr();
List<AdamEntersVo> vos = adamRdmService.getEntersVoByUid(uid); List<AdamEntersVo> vos = adamRdmService.getEntersVoByUid(uid);
if (vos.size() > 1) {// 取消原默认 if (vos.size() > 1) {// 取消原默认
// AdamEntersVo unDeaultVo = AdamEntersVo.getNew();
// unDeaultVo.setIsDefault(false);
// unDeaultVo.setUpdatedAt(now);
// long s = System.currentTimeMillis();
// Document doc = mongoTemplate.getCollection(AdamEntersVo.class.getSimpleName()).findOneAndUpdate(
// Query.query(Criteria.where("uid").is(uid).and("state").is(1).and("isDefault").is(true)).getQueryObject(),
// new Document("$set", new Document("isDefault", false).append("updatedAt", now)),
// new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
// );
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
// if (null != doc) {
// AdamEntersVo defaultVo = BsonUtil.toBean(doc, AdamEntersVo.class);
AdamEntersVo defaultVo = queryDefault(vos, uid, false); AdamEntersVo defaultVo = queryDefault(vos, uid, false);
defaultVo.setIsDefault(false); defaultVo.setIsDefault(false);
defaultVo.setUpdatedAt(now); defaultVo.setUpdatedAt(now);
...@@ -123,20 +102,8 @@ public class AdamEntersServiceImpl implements IAdamEntersService { ...@@ -123,20 +102,8 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
toMqObjs.add(new Object[]{false, now, defaultVo.getEntersId()}); toMqObjs.add(new Object[]{false, now, defaultVo.getEntersId()});
vos = this.collectionProcess(vos, defaultVo.getEntersId(), defaultVo); vos = this.collectionProcess(vos, defaultVo.getEntersId(), defaultVo);
// }
} }
{// 设置新默认 {// 设置新默认
// AdamEntersVo defaultVo = AdamEntersVo.getNew();
// defaultVo.setIsDefault(true);
// defaultVo.setUpdatedAt(now);
// long s = System.currentTimeMillis();
// Document doc = mongoTemplate.getCollection(AdamEntersVo.class.getSimpleName()).findOneAndUpdate(
// Query.query(Criteria.where("uid").is(uid).and("entersId").is(entersId)).getQueryObject(),
// new Document("$set", new Document("isDefault", true).append("updatedAt", now)),
// new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
// );
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
// if (null != doc) {
AdamEntersVo defaultVoAfter = adamRdmService.getEntersVoByUidEntersId(vos, entersId); AdamEntersVo defaultVoAfter = adamRdmService.getEntersVoByUidEntersId(vos, entersId);
defaultVoAfter.setIsDefault(true); defaultVoAfter.setIsDefault(true);
defaultVoAfter.setUpdatedAt(now); defaultVoAfter.setUpdatedAt(now);
...@@ -144,7 +111,6 @@ public class AdamEntersServiceImpl implements IAdamEntersService { ...@@ -144,7 +111,6 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
toMqObjs.add(new Object[]{true, now, entersId}); toMqObjs.add(new Object[]{true, now, entersId});
vos = this.collectionProcess(vos, defaultVoAfter.getEntersId(), defaultVoAfter); vos = this.collectionProcess(vos, defaultVoAfter.getEntersId(), defaultVoAfter);
// }
} }
if (!CollectionUtils.isEmpty(toMqObjs)) { if (!CollectionUtils.isEmpty(toMqObjs)) {
long s = System.currentTimeMillis(); long s = System.currentTimeMillis();
...@@ -178,19 +144,6 @@ public class AdamEntersServiceImpl implements IAdamEntersService { ...@@ -178,19 +144,6 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
updateVo.setMobile(parameter.getMobile()); updateVo.setMobile(parameter.getMobile());
updateVo.setIdCard(parameter.getIdCard()); updateVo.setIdCard(parameter.getIdCard());
updateVo.setUpdatedAt(now); updateVo.setUpdatedAt(now);
// AdamEntersVo updateVo = AdamEntersVo.getNew();
// BeanUtils.copyProperties(parameter, updateVo);
// long s = System.currentTimeMillis();
// Document doc = mongoTemplate.getCollection(AdamEntersVo.class.getSimpleName()).findOneAndUpdate(
// Query.query(Criteria.where("uid").is(currentUid).and("entersId").is(parameter.getEntersId())).getQueryObject(),
// new Document("$set", Document.parse(JsonUtils.toJson(updateVo)).append("updatedAt", now)),
// new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
// );
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
// if (null != doc) {
// updateVo = BsonUtil.toBean(doc, AdamEntersVo.class);
//
// List<AdamEntersVo> vos = adamRdmService.getEntersVoByUid(currentUid);
long s = System.currentTimeMillis(); long s = System.currentTimeMillis();
adamRdmService.setEntersVoByUid(currentUid, this.collectionProcess(vos, parameter.getEntersId(), updateVo)); adamRdmService.setEntersVoByUid(currentUid, this.collectionProcess(vos, parameter.getEntersId(), updateVo));
if (1 == parameter.getType()) { if (1 == parameter.getType()) {
...@@ -206,24 +159,12 @@ public class AdamEntersServiceImpl implements IAdamEntersService { ...@@ -206,24 +159,12 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
) )
); );
log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s); log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s);
// }
} }
@Override @Override
// @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) // @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public void remove(String uid, String entersId) { public void remove(String uid, String entersId) {
// String currentUid = CurrentUtil.getCurrentUid();
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
// long s = System.currentTimeMillis();
// DeleteResult deleteResult = mongoTemplate.remove(
// Query.query(Criteria.where("uid").is(currentUid).and("entersId").is(entersId)), AdamEntersVo.class.getSimpleName()
// );
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
// List<AdamEntersVo> vos = adamRdmService.getEntersVoByUid(uid);
// vos.removeIf(r -> r.getEntersId().equals(entersId));
// s = System.currentTimeMillis();
// adamRdmService.setEntersVoByUid(uid, vos);
// log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
adamRdmService.rmvEntersVoByUid(uid, adamRdmService.getEntersVoByUid(uid), entersId); adamRdmService.rmvEntersVoByUid(uid, adamRdmService.getEntersVoByUid(uid), entersId);
long s = System.currentTimeMillis(); long s = System.currentTimeMillis();
...@@ -264,18 +205,8 @@ public class AdamEntersServiceImpl implements IAdamEntersService { ...@@ -264,18 +205,8 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
.filter(i -> vos.get(i).getEntersId().equals(replaceId)) .filter(i -> vos.get(i).getEntersId().equals(replaceId))
.findFirst().orElse(-1); .findFirst().orElse(-1);
if (idx == -1) { if (idx == -1) {
// adamRdmService.delEntersVoByUid(updateVo.getUid());
//
// List<AdamEntersVo> entersVos = adamRdmService.getEntersVoByUid(updateVo.getUid());
//
// idx = IntStream.range(0, vos.size())
// .filter(i -> entersVos.get(i).getEntersId().equals(replaceId))
// .findFirst().orElse(-1);
//
// if (idx == -1) {
ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("10017"); ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("10017");
throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage()); throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
// }
} }
vos.set(idx, updateVo); vos.set(idx, updateVo);
log.debug("#collect.process耗时:{}ms", System.currentTimeMillis() - s); log.debug("#collect.process耗时:{}ms", System.currentTimeMillis() - s);
...@@ -283,27 +214,6 @@ public class AdamEntersServiceImpl implements IAdamEntersService { ...@@ -283,27 +214,6 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
} }
private void identityHandler(String currentUid, String name, String idCard) { private void identityHandler(String currentUid, String name, String idCard) {
// String respStr = null;
// try {
// LinkedMultiValueMap<String, String> paramsMap = new LinkedMultiValueMap<>();
// paramsMap.add("realName", name);
// paramsMap.add("cardNo", idCard);
//
// long s = System.currentTimeMillis();
// respStr = HttpUtil.postToPhpApi(env.getProperty("liquidnet.url-service.url") + PHP_API_REAL_NAME, paramsMap);
// log.debug("#PHP.API耗时:{}ms", System.currentTimeMillis() - s);
// log.debug("###PHP.API[{}].RESP:{}", PHP_API_REAL_NAME, respStr);
// Map respMap = JsonUtils.fromJson(respStr, Map.class);
// if (CollectionUtils.isEmpty(respMap) || !StringUtils.equalsIgnoreCase("OK", (String) respMap.get("message"))) {
// log.warn("PHP.API实名认证失败[uid:{},name:{},idCard:{},respStr:{}]", currentUid, name, idCard, respStr);
// ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("10102");
// throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
// }
// } catch (Exception e) {
// log.error("PHP.API实名认证异常[uid:{},name:{},idCard:{},respStr:{}]", currentUid, name, idCard, respStr, e);
// ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("10102");
// throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
// }
String respStr = IdentityUtils.aliThird(name, idCard); String respStr = IdentityUtils.aliThird(name, idCard);
JsonNode respJNode = JsonUtils.fromJson(respStr, JsonNode.class); JsonNode respJNode = JsonUtils.fromJson(respStr, JsonNode.class);
if (null == respJNode || !"0".equals(respJNode.get("error_code").asText())) { if (null == respJNode || !"0".equals(respJNode.get("error_code").asText())) {
......
...@@ -39,8 +39,6 @@ import java.util.List; ...@@ -39,8 +39,6 @@ import java.util.List;
public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService { public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
@Autowired @Autowired
Environment env; Environment env;
// @Autowired
// MongoTemplate mongoTemplate;
@Autowired @Autowired
QueueUtils queueUtils; QueueUtils queueUtils;
@Autowired @Autowired
...@@ -218,9 +216,6 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService { ...@@ -218,9 +216,6 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
initUserMemberVo.setExpiryAt(now.plusDays(memberPriceVo.getDays()).with(LocalTime.MAX)); initUserMemberVo.setExpiryAt(now.plusDays(memberPriceVo.getDays()).with(LocalTime.MAX));
initUserMemberVo.setCreatedAt(now); initUserMemberVo.setCreatedAt(now);
// long s = System.currentTimeMillis();
// mongoTemplate.insert(initUserMemberVo, AdamUserMemberVo.class.getSimpleName());
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
long s = System.currentTimeMillis(); long s = System.currentTimeMillis();
adamRdmService.setUserMemberVoByUid(handleMemberOrderVo.getUid(), initUserMemberVo); adamRdmService.setUserMemberVoByUid(handleMemberOrderVo.getUid(), initUserMemberVo);
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s); log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
...@@ -238,12 +233,6 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService { ...@@ -238,12 +233,6 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
LocalDateTime currentExpiryAt = existUserMemberVo.getExpiryAt(); LocalDateTime currentExpiryAt = existUserMemberVo.getExpiryAt();
LocalDateTime expiryAt = (currentExpiryAt.isBefore(now) ? now : currentExpiryAt).plusDays(memberPriceVo.getDays()).with(LocalTime.MAX); LocalDateTime expiryAt = (currentExpiryAt.isBefore(now) ? now : currentExpiryAt).plusDays(memberPriceVo.getDays()).with(LocalTime.MAX);
// long s = System.currentTimeMillis();
// mongoTemplate.getCollection(AdamUserMemberVo.class.getSimpleName()).updateOne(
// Query.query(Criteria.where("uid").is(updateExistUserMemberVo.getUid())).getQueryObject(),
// new Document("$set", new Document("expiryAt", expiryAt).append("state", 1))
// );
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
updateExistUserMemberVo.setState(1); updateExistUserMemberVo.setState(1);
updateExistUserMemberVo.setExpiryAt(expiryAt); updateExistUserMemberVo.setExpiryAt(expiryAt);
long s = System.currentTimeMillis(); long s = System.currentTimeMillis();
...@@ -273,9 +262,6 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService { ...@@ -273,9 +262,6 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
initMemberCodeVo.setBuyAt(handleMemberOrderVo.getCreatedAt()); initMemberCodeVo.setBuyAt(handleMemberOrderVo.getCreatedAt());
initMemberCodeVo.setCreatedAt(now); initMemberCodeVo.setCreatedAt(now);
// long s = System.currentTimeMillis();
// mongoTemplate.insert(initMemberCodeVo, AdamMemberCodeVo.class.getSimpleName());
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
long s = System.currentTimeMillis(); long s = System.currentTimeMillis();
adamRdmService.setMemberCodeByBuyOrderNo(initMemberCodeVo.getBuyOrderNo(), initMemberCodeVo.getCode()); adamRdmService.setMemberCodeByBuyOrderNo(initMemberCodeVo.getBuyOrderNo(), initMemberCodeVo.getCode());
adamRdmService.setMemberCodeVoByCode(initMemberCodeVo.getCode(), initMemberCodeVo); adamRdmService.setMemberCodeVoByCode(initMemberCodeVo.getCode(), initMemberCodeVo);
...@@ -292,10 +278,6 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService { ...@@ -292,10 +278,6 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
handleMemberOrderVo.setUpdatedAt(now); handleMemberOrderVo.setUpdatedAt(now);
handleMemberOrderVo.setState(1);// 1-已支付 handleMemberOrderVo.setState(1);// 1-已支付
// long s = System.currentTimeMillis();
// mongoTemplate.insert(handleMemberOrderVo, AdamMemberOrderVo.class.getSimpleName());
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
long s = System.currentTimeMillis(); long s = System.currentTimeMillis();
// adamRdmService.setShotMemberOrderVoByOrderNo(handleMemberOrderVo.getOrderNo(), handleMemberOrderVo); // adamRdmService.setShotMemberOrderVoByOrderNo(handleMemberOrderVo.getOrderNo(), handleMemberOrderVo);
adamRdmService.addMemberOrderVoByUid( adamRdmService.addMemberOrderVoByUid(
...@@ -406,12 +388,6 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService { ...@@ -406,12 +388,6 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
updateExistUserMemberVo.setExpiryAt( updateExistUserMemberVo.setExpiryAt(
(expiryAt.isBefore(now) ? now : expiryAt).plusDays(initMemberOrderVo.getDays()).with(LocalTime.MAX) (expiryAt.isBefore(now) ? now : expiryAt).plusDays(initMemberOrderVo.getDays()).with(LocalTime.MAX)
); );
// long s = System.currentTimeMillis();
// mongoTemplate.getCollection(AdamUserMemberVo.class.getSimpleName()).updateOne(
// Query.query(Criteria.where("uid").is(updateExistUserMemberVo.getUid())).getQueryObject(),
// new Document("$set", new Document("expiryAt", updateExistUserMemberVo.getExpiryAt()).append("state", 1))
// );
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
toMqSqls.add(SqlMapping.get("adam_user_member.update")); toMqSqls.add(SqlMapping.get("adam_user_member.update"));
upsertUserMemberObjs.add(new Object[]{ upsertUserMemberObjs.add(new Object[]{
updateExistUserMemberVo.getState(), updateExistUserMemberVo.getExpiryAt(), now, updateExistUserMemberVo.getUid() updateExistUserMemberVo.getState(), updateExistUserMemberVo.getExpiryAt(), now, updateExistUserMemberVo.getUid()
...@@ -426,9 +402,6 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService { ...@@ -426,9 +402,6 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
initUserMemberVo.setExpiryAt(now.plusDays(initMemberOrderVo.getDays()).with(LocalTime.MAX)); initUserMemberVo.setExpiryAt(now.plusDays(initMemberOrderVo.getDays()).with(LocalTime.MAX));
initUserMemberVo.setCreatedAt(now); initUserMemberVo.setCreatedAt(now);
// long s = System.currentTimeMillis();
// mongoTemplate.insert(initUserMemberVo, AdamUserMemberVo.class.getSimpleName());
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
toMqSqls.add(SqlMapping.get("adam_user_member.add")); toMqSqls.add(SqlMapping.get("adam_user_member.add"));
upsertUserMemberObjs.add(new Object[]{ upsertUserMemberObjs.add(new Object[]{
initUserMemberVo.getUid(), initUserMemberVo.getMemberId(), initUserMemberVo.getMemberNo(), initUserMemberVo.getUid(), initUserMemberVo.getMemberId(), initUserMemberVo.getMemberNo(),
...@@ -442,25 +415,11 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService { ...@@ -442,25 +415,11 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
// adamRdmService.delMemberCodeVoByCode(memberCodeVo.getCode()); // adamRdmService.delMemberCodeVoByCode(memberCodeVo.getCode());
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s); log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
// Document updateMemberCodeVo = new Document("state", 1)
// .append("updatedAt", now)
// .append("useOrderNo", initMemberOrderVo.getOrderNo())
// .append("useUid", initMemberOrderVo.getUid())
// .append("useAt", now);
// s = System.currentTimeMillis();
// mongoTemplate.getCollection(AdamMemberCodeVo.class.getSimpleName()).updateOne(
// Query.query(Criteria.where("code").is(memberCodeVo.getCode())).getQueryObject(),
// new Document("$set", updateMemberCodeVo)
// );
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
toMqSqls.add(SqlMapping.get("adam_member_code.exchange")); toMqSqls.add(SqlMapping.get("adam_member_code.exchange"));
updateMemberCodeObjs.add(new Object[]{ updateMemberCodeObjs.add(new Object[]{
1, now, initMemberOrderVo.getOrderNo(), initMemberOrderVo.getUid(), now, memberCodeVo.getCode() 1, now, initMemberOrderVo.getOrderNo(), initMemberOrderVo.getUid(), now, memberCodeVo.getCode()
}); });
// s = System.currentTimeMillis();
// mongoTemplate.insert(initMemberOrderVo, AdamMemberOrderVo.class.getSimpleName());
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
toMqSqls.add(SqlMapping.get("adam_member_order.add")); toMqSqls.add(SqlMapping.get("adam_member_order.add"));
initMemberOrderObjs.add(new Object[]{ initMemberOrderObjs.add(new Object[]{
initMemberOrderVo.getOrderNo(), initMemberOrderVo.getUid(), initMemberOrderVo.getMode(), initMemberOrderVo.getPrice(), initMemberOrderVo.getOrderNo(), initMemberOrderVo.getUid(), initMemberOrderVo.getMode(), initMemberOrderVo.getPrice(),
...@@ -498,21 +457,6 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService { ...@@ -498,21 +457,6 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
@Override @Override
public PagedResult<AdamMemberOrderSimpleVo> queryPage(String uid, int pageNo, int pageSize) { public PagedResult<AdamMemberOrderSimpleVo> queryPage(String uid, int pageNo, int pageSize) {
// Query query = Query.query(Criteria.where("uid").is(uid).and("state").in(1,5));
//
// long count = mongoTemplate.count(query, AdamMemberOrderVo.class.getSimpleName());
//
// PagedResult<AdamMemberOrderSimpleVo> pagedResult = ObjectUtil.getAdamMemberOrderSimpleVoPagedResult();
// if (count > 0) {
// query.with(PageRequest.of(pageNo - 1, pageSize, Sort.by(Sort.Direction.DESC, "createdAt")));
//
// List<AdamMemberOrderSimpleVo> voList = mongoTemplate.find(
// query, AdamMemberOrderSimpleVo.class, AdamMemberOrderVo.class.getSimpleName()
// );
//
// pagedResult.setList(voList).setTotal(count, pageSize);
// }
// return pagedResult;
// TODO: 2021/7/29 会员订单列表查取 // TODO: 2021/7/29 会员订单列表查取
PagedResult<AdamMemberOrderSimpleVo> pagedResult = ObjectUtil.getAdamMemberOrderSimpleVoPagedResult(); PagedResult<AdamMemberOrderSimpleVo> pagedResult = ObjectUtil.getAdamMemberOrderSimpleVoPagedResult();
ArrayList<AdamMemberOrderVo> orderVos = adamRdmService.getMemberOrderVosByUid(uid); ArrayList<AdamMemberOrderVo> orderVos = adamRdmService.getMemberOrderVosByUid(uid);
......
...@@ -24,8 +24,6 @@ import java.util.List; ...@@ -24,8 +24,6 @@ import java.util.List;
@Slf4j @Slf4j
@Service @Service
public class AdamRealNameServiceImpl implements IAdamRealNameService { public class AdamRealNameServiceImpl implements IAdamRealNameService {
// @Autowired
// MongoTemplate mongoTemplate;
@Autowired @Autowired
RedisUtil redisUtil; RedisUtil redisUtil;
@Autowired @Autowired
...@@ -34,10 +32,6 @@ public class AdamRealNameServiceImpl implements IAdamRealNameService { ...@@ -34,10 +32,6 @@ public class AdamRealNameServiceImpl implements IAdamRealNameService {
@Override @Override
// @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) // @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public void add(AdamRealName realName) { public void add(AdamRealName realName) {
// long s = System.currentTimeMillis();
// mongoTemplate.insert(realName, AdamRealInfoVo.class.getSimpleName());
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
List<Object> paramList = Arrays.asList( List<Object> paramList = Arrays.asList(
realName.getRealNameId(), realName.getRealNameId(),
realName.getUid(), realName.getUid(),
......
...@@ -32,8 +32,6 @@ import java.util.Map; ...@@ -32,8 +32,6 @@ import java.util.Map;
@Slf4j @Slf4j
@Service @Service
public class AdamUserInfoServiceImpl implements IAdamUserInfoService { public class AdamUserInfoServiceImpl implements IAdamUserInfoService {
// @Autowired
// MongoTemplate mongoTemplate;
@Autowired @Autowired
AdamRdmService adamRdmService; AdamRdmService adamRdmService;
@Autowired @Autowired
...@@ -49,15 +47,6 @@ public class AdamUserInfoServiceImpl implements IAdamUserInfoService { ...@@ -49,15 +47,6 @@ public class AdamUserInfoServiceImpl implements IAdamUserInfoService {
userInfoVo.setCreateAt(null); userInfoVo.setCreateAt(null);
Document updateDoc = Document.parse(JsonUtils.toJson(userInfoVo)); Document updateDoc = Document.parse(JsonUtils.toJson(userInfoVo));
updateDoc.replace("updatedAt", userInfoVo.getUpdatedAt()); updateDoc.replace("updatedAt", userInfoVo.getUpdatedAt());
// long s = System.currentTimeMillis();
// UpdateResult updateResult = mongoTemplate.getCollection(AdamUserInfoVo.class.getSimpleName()).updateOne(
// Query.query(Criteria.where("uid").is(userInfoVo.getUid())).getQueryObject(),
// new Document("$set", updateDoc)
// );
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
// if (updateResult.getModifiedCount() <= 0) {
// log.warn("Invalid update MDB.AdamUserInfoVo:{}", JsonUtils.toJson(userInfoVo));
// }
long s = System.currentTimeMillis(); long s = System.currentTimeMillis();
adamRdmService.setUserInfoVoByUid(userInfoVo.getUid(), userInfoVo); adamRdmService.setUserInfoVoByUid(userInfoVo.getUid(), userInfoVo);
...@@ -95,18 +84,6 @@ public class AdamUserInfoServiceImpl implements IAdamUserInfoService { ...@@ -95,18 +84,6 @@ public class AdamUserInfoServiceImpl implements IAdamUserInfoService {
// @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) // @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public String editMobile(String uid, String mobile) { public String editMobile(String uid, String mobile) {
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
// AdamUserInfoVo updateInfoVo = AdamUserInfoVo.getNew();
// updateInfoVo.setUpdatedAt(now);
// updateInfoVo.setMobile(mobile);
// long s = System.currentTimeMillis();
// Document doc = mongoTemplate.getCollection(AdamUserInfoVo.class.getSimpleName()).findOneAndUpdate(
// Query.query(Criteria.where("uid").is(uid)).getQueryObject(),
// new Document("$set", new Document("mobile", mobile).append("updatedAt", now)),
// new FindOneAndUpdateOptions().returnDocument(ReturnDocument.BEFORE)
// );
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
// log.debug("edit mobile - before doc:{}", JsonUtils.toJson(doc));
// AdamUserInfoVo beforeUserInfoVo = BsonUtil.toBean(doc, AdamUserInfoVo.class);
AdamUserInfoVo beforeUserInfoVo = adamRdmService.getUserInfoVoByUid(uid); AdamUserInfoVo beforeUserInfoVo = adamRdmService.getUserInfoVoByUid(uid);
long s = System.currentTimeMillis(); long s = System.currentTimeMillis();
......
...@@ -12,8 +12,6 @@ import java.util.regex.Pattern; ...@@ -12,8 +12,6 @@ import java.util.regex.Pattern;
@Slf4j @Slf4j
@Service @Service
public class AdamUserMemberServiceImpl implements IAdamUserMemberService { public class AdamUserMemberServiceImpl implements IAdamUserMemberService {
// @Autowired
// MongoTemplate mongoTemplate;
@Autowired @Autowired
AdamRdmService adamRdmService; AdamRdmService adamRdmService;
......
...@@ -45,8 +45,6 @@ import java.util.List; ...@@ -45,8 +45,6 @@ import java.util.List;
public class AdamUserServiceImpl implements IAdamUserService { public class AdamUserServiceImpl implements IAdamUserService {
@Autowired @Autowired
Environment env; Environment env;
// @Autowired
// MongoTemplate mongoTemplate;
@Autowired @Autowired
QueueUtils queueUtils; QueueUtils queueUtils;
@Autowired @Autowired
...@@ -76,10 +74,6 @@ public class AdamUserServiceImpl implements IAdamUserService { ...@@ -76,10 +74,6 @@ public class AdamUserServiceImpl implements IAdamUserService {
userInfoVo.setIsComplete(0); userInfoVo.setIsComplete(0);
userInfoVo.setQrCode("lN".concat(userInfoVo.getUid()).concat(RandomStringUtils.randomAlphanumeric(5).toUpperCase())); userInfoVo.setQrCode("lN".concat(userInfoVo.getUid()).concat(RandomStringUtils.randomAlphanumeric(5).toUpperCase()));
// long s = System.currentTimeMillis();
// mongoTemplate.insert(userInfoVo, AdamUserInfoVo.class.getSimpleName());
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
long s = System.currentTimeMillis(); long s = System.currentTimeMillis();
adamRdmService.setUidByMobile(mobile, userInfoVo.getUid()); adamRdmService.setUidByMobile(mobile, userInfoVo.getUid());
adamRdmService.setUserInfoVoByUid(userInfoVo.getUid(), userInfoVo); adamRdmService.setUserInfoVoByUid(userInfoVo.getUid(), userInfoVo);
...@@ -128,12 +122,6 @@ public class AdamUserServiceImpl implements IAdamUserService { ...@@ -128,12 +122,6 @@ public class AdamUserServiceImpl implements IAdamUserService {
userInfoVo.setQrCode("lN".concat(userInfoVo.getUid()).concat(RandomStringUtils.randomAlphanumeric(5).toUpperCase())); userInfoVo.setQrCode("lN".concat(userInfoVo.getUid()).concat(RandomStringUtils.randomAlphanumeric(5).toUpperCase()));
userInfoVo.setCreateAt(now); userInfoVo.setCreateAt(now);
// s = System.currentTimeMillis();
// mongoTemplate.insert(userInfoVo, AdamUserInfoVo.class.getSimpleName());
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
// userInfoVo.setMobile(SensitizeUtil.custom(param.getMobile(), 3, 4));
adamRdmService.setUserInfoVoByUid(userInfoVo.getUid(), userInfoVo); adamRdmService.setUserInfoVoByUid(userInfoVo.getUid(), userInfoVo);
toMqSqls.add(SqlMapping.get("adam_user.add")); toMqSqls.add(SqlMapping.get("adam_user.add"));
...@@ -147,10 +135,6 @@ public class AdamUserServiceImpl implements IAdamUserService { ...@@ -147,10 +135,6 @@ public class AdamUserServiceImpl implements IAdamUserService {
thirdPartInfoVo.setUid(userInfoVo.getUid()); thirdPartInfoVo.setUid(userInfoVo.getUid());
thirdPartInfoVo.setState(1);// 1-绑定 thirdPartInfoVo.setState(1);// 1-绑定
// s = System.currentTimeMillis();
// mongoTemplate.insert(thirdPartInfoVo, AdamThirdPartInfoVo.class.getSimpleName());
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
toMqSqls.add(SqlMapping.get("adam_third_party.add")); toMqSqls.add(SqlMapping.get("adam_third_party.add"));
initThirdPartObjs.add(new Object[]{thirdPartInfoVo.getUid(), thirdPartInfoVo.getOpenId(), thirdPartInfoVo.getAvatar(), thirdPartInfoVo.getNickname(), thirdPartInfoVo.getPlatform(), thirdPartInfoVo.getState(), thirdPartInfoVo.getCreatedAt()}); initThirdPartObjs.add(new Object[]{thirdPartInfoVo.getUid(), thirdPartInfoVo.getOpenId(), thirdPartInfoVo.getAvatar(), thirdPartInfoVo.getNickname(), thirdPartInfoVo.getPlatform(), thirdPartInfoVo.getState(), thirdPartInfoVo.getCreatedAt()});
...@@ -228,8 +212,6 @@ public class AdamUserServiceImpl implements IAdamUserService { ...@@ -228,8 +212,6 @@ public class AdamUserServiceImpl implements IAdamUserService {
bindThirdPartVo.setUid(bindUid); bindThirdPartVo.setUid(bindUid);
bindThirdPartVo.setState(1);// 1-绑定 bindThirdPartVo.setState(1);// 1-绑定
// mongoTemplate.insert(bindThirdPartVo, AdamThirdPartInfoVo.class.getSimpleName());
adamRdmService.setUidByPlatformOpenId(param.getPlatform(), param.getOpenId(), bindUid); adamRdmService.setUidByPlatformOpenId(param.getPlatform(), param.getOpenId(), bindUid);
// adamRdmService.delThirdPartVoListByUid(bindUid); // adamRdmService.delThirdPartVoListByUid(bindUid);
...@@ -252,23 +234,6 @@ public class AdamUserServiceImpl implements IAdamUserService { ...@@ -252,23 +234,6 @@ public class AdamUserServiceImpl implements IAdamUserService {
*/ */
private void unBindTpaProcess(String uid, String platform) { private void unBindTpaProcess(String uid, String platform) {
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
// AdamThirdPartInfoVo unBindThirdPartInfoVo = AdamThirdPartInfoVo.getNew();
// unBindThirdPartInfoVo.setUpdatedAt(now);
// unBindThirdPartInfoVo.setState(2);// 2-解绑
// long s = System.currentTimeMillis();
// Document doc = mongoTemplate.getCollection(AdamThirdPartInfoVo.class.getSimpleName()).findOneAndUpdate(
// Query.query(Criteria.where("uid").is(uid).and("platform").is(platform).and("state").is(1)).getQueryObject(),
// new Document("$set", new Document("state", 2).append("updatedAt", now)),
// new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
// );
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
//
// s = System.currentTimeMillis();
// if (null != doc) {
// adamRdmService.delUidByPlatformOpenId(platform, doc.getString("openId"));
// }
long s = System.currentTimeMillis(); long s = System.currentTimeMillis();
List<AdamThirdPartInfoVo> vos = adamRdmService.getThirdPartVoListByUid(uid); List<AdamThirdPartInfoVo> vos = adamRdmService.getThirdPartVoListByUid(uid);
if (!CollectionUtils.isEmpty(vos)) { if (!CollectionUtils.isEmpty(vos)) {
...@@ -320,45 +285,26 @@ public class AdamUserServiceImpl implements IAdamUserService { ...@@ -320,45 +285,26 @@ public class AdamUserServiceImpl implements IAdamUserService {
adamRdmService.delEntersVoByUid(uid); adamRdmService.delEntersVoByUid(uid);
log.debug("##RDS耗时:{}ms", System.currentTimeMillis() - s); log.debug("##RDS耗时:{}ms", System.currentTimeMillis() - s);
// DeleteResult deleteResult = mongoTemplate.remove(Query.query(Criteria.where("uid").is(uid)), AdamUserInfoVo.class.getSimpleName());
toMqSqls.add(SqlMapping.get("adam_user.close")); toMqSqls.add(SqlMapping.get("adam_user.close"));
objsUser.add(new Object[]{now, now, uid}); objsUser.add(new Object[]{now, now, uid});
/* ---------------------- 三方账号信息 */ /* ---------------------- 三方账号信息 */
if (!CollectionUtils.isEmpty(thirdPartInfoVos)) { if (!CollectionUtils.isEmpty(thirdPartInfoVos)) {
// s = System.currentTimeMillis();
// mongoTemplate.remove(Query.query(Criteria.where("uid").is(uid)), AdamThirdPartInfoVo.class.getSimpleName());
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
toMqSqls.add(SqlMapping.get("adam_third_party.close")); toMqSqls.add(SqlMapping.get("adam_third_party.close"));
objsThirdPart.add(new Object[]{now, uid}); objsThirdPart.add(new Object[]{now, uid});
} }
/* ---------------------- 用户会员信息 */ /* ---------------------- 用户会员信息 */
// s = System.currentTimeMillis();
// deleteResult = mongoTemplate.remove(Query.query(Criteria.where("uid").is(uid)), AdamUserMemberVo.class.getSimpleName());
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
// if (deleteResult.getDeletedCount() > 0) {
toMqSqls.add(SqlMapping.get("adam_user_member.close")); toMqSqls.add(SqlMapping.get("adam_user_member.close"));
objsThirdPart.add(new Object[]{now, uid}); objsThirdPart.add(new Object[]{now, uid});
// }
/* ---------------------- 收货地址信息 */ /* ---------------------- 收货地址信息 */
// s = System.currentTimeMillis();
// deleteResult = mongoTemplate.remove(Query.query(Criteria.where("uid").is(uid)), AdamAddressesVo.class.getSimpleName());
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
// if (deleteResult.getDeletedCount() > 0) {
toMqSqls.add(SqlMapping.get("adam_addresses.close")); toMqSqls.add(SqlMapping.get("adam_addresses.close"));
objsAddresses.add(new Object[]{now, now, uid}); objsAddresses.add(new Object[]{now, now, uid});
// }
/* ---------------------- 入场人信息 */ /* ---------------------- 入场人信息 */
// s = System.currentTimeMillis();
// deleteResult = mongoTemplate.remove(Query.query(Criteria.where("uid").is(uid)).getQueryObject(), AdamEnters.class.getSimpleName());
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
// if (deleteResult.getDeletedCount() > 0) {
toMqSqls.add(SqlMapping.get("adam_enters.close")); toMqSqls.add(SqlMapping.get("adam_enters.close"));
objsAddresses.add(new Object[]{now, now, uid}); objsAddresses.add(new Object[]{now, now, uid});
// }
s = System.currentTimeMillis(); s = System.currentTimeMillis();
queueUtils.sendMsgByRedis( queueUtils.sendMsgByRedis(
...@@ -373,26 +319,6 @@ public class AdamUserServiceImpl implements IAdamUserService { ...@@ -373,26 +319,6 @@ public class AdamUserServiceImpl implements IAdamUserService {
public AdamRealInfoVo identity(String uid, String name, String idCard) { public AdamRealInfoVo identity(String uid, String name, String idCard) {
AdamRealInfoVo vo = null; AdamRealInfoVo vo = null;
if (!adamRdmService.isCertification(1, idCard, name)) { if (!adamRdmService.isCertification(1, idCard, name)) {
// String respStr = null;
// try {
// LinkedMultiValueMap<String, String> paramsMap = new LinkedMultiValueMap<>();
// paramsMap.add("realName", name);
// paramsMap.add("cardNo", idCard);
// long s = System.currentTimeMillis();
// respStr = HttpUtil.postToPhpApi(env.getProperty("liquidnet.url-service.url") + PHP_API_REAL_NAME, paramsMap);
// log.debug("#PHP.API耗时:{}ms", System.currentTimeMillis() - s);
// log.debug("###PHP.API[{}].RESP:{}", PHP_API_REAL_NAME, respStr);
// Map respMap = JsonUtils.fromJson(respStr, Map.class);
// if (CollectionUtils.isEmpty(respMap) || !StringUtils.equalsIgnoreCase("OK", (String) respMap.get("message"))) {
// log.warn("PHP.API实名认证失败[uid:{},name:{},idCard:{},respStr:{}]", uid, name, idCard, respStr);
// ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("10102");
// throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
// }
// } catch (Exception e) {
// log.error("PHP.API实名认证异常[uid:{},name:{},idCard:{},respStr:{}]", uid, name, idCard, respStr, e);
// ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("10102");
// throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
// }
String respStr = IdentityUtils.aliThird(name, idCard); String respStr = IdentityUtils.aliThird(name, idCard);
JsonNode respJNode = JsonUtils.fromJson(respStr, JsonNode.class); JsonNode respJNode = JsonUtils.fromJson(respStr, JsonNode.class);
if (null == respJNode || !"0".equals(respJNode.get("error_code").asText())) { if (null == respJNode || !"0".equals(respJNode.get("error_code").asText())) {
......
adam_user.add=INSERT INTO adam_user (`uid`, mobile, `state`, is_complete, created_at) VALUES (?,?,?,?,?) adam_user.add=INSERT INTO adam_user (`uid`, mobile, `state`, is_complete, created_at) VALUES (?,?,?,?,?)
adam_user.complete=UPDATE adam_user SET is_complete=?, updated_at=? WHERE `uid`=? adam_user.complete=UPDATE adam_user SET is_complete=?, updated_at=? WHERE `uid`=?
adam_user.edit.mobile=UPDATE adam_user SET mobile=?, updated_at=? WHERE `uid`=? adam_user.edit.mobile=UPDATE adam_user SET mobile=?, updated_at=? WHERE `uid`=?
adam_user.close=UPDATE adam_user SET `state`=2, mobile=concat(mobile,curdate()), updated_at=?, closed_at=? WHERE `uid`=? adam_user.close=UPDATE adam_user SET `state`=2, mobile=concat(mobile,'_',curtime()), updated_at=?, closed_at=? WHERE `uid`=?
# ---------------------------------------------------- # ----------------------------------------------------
adam_user_info.add=INSERT INTO adam_user_info (`uid`, nickname, avatar, qr_code) VALUES (?,?,?,?) adam_user_info.add=INSERT INTO adam_user_info (`uid`, nickname, avatar, qr_code) VALUES (?,?,?,?)
...@@ -13,7 +13,7 @@ adam_real_name.add=INSERT INTO adam_real_name (real_name_id, `uid`, `type`, `nam ...@@ -13,7 +13,7 @@ adam_real_name.add=INSERT INTO adam_real_name (real_name_id, `uid`, `type`, `nam
# ---------------------------------------------------- # ----------------------------------------------------
adam_third_party.add=INSERT INTO adam_third_party (`uid`, open_id, avatar, nickname, platform, `state`, created_at) values (?,?,?,?,?,?,?) adam_third_party.add=INSERT INTO adam_third_party (`uid`, open_id, avatar, nickname, platform, `state`, created_at) values (?,?,?,?,?,?,?)
adam_third_party.unbind=UPDATE adam_third_party SET `state`=2, updated_at=? WHERE `uid`=? AND platform=? adam_third_party.unbind=UPDATE adam_third_party SET `state`=2, updated_at=? WHERE `uid`=? AND platform=?
adam_third_party.close=UPDATE adam_third_party SET `state`=2, open_id=concat(open_id, curdate()), updated_at=?, comment='close' WHERE `uid`=? adam_third_party.close=UPDATE adam_third_party SET `state`=2, updated_at=?, comment='close' WHERE `uid`=?
# ---------------------------------------------------- # ----------------------------------------------------
adam_addresses.add=INSERT INTO adam_addresses (addresses_id, `uid`, `name`, phone, province, city, county, address, is_default, `state`, created_at) VALUES (?,?,?,?,?,?,?,?,?,?,?) adam_addresses.add=INSERT INTO adam_addresses (addresses_id, `uid`, `name`, phone, province, city, county, address, is_default, `state`, created_at) VALUES (?,?,?,?,?,?,?,?,?,?,?)
......
package com.liquidnet.service.consumer.kylin.config;
import com.liquidnet.service.consumer.kylin.receiver.ConsumerSweetSqlUserRelationRdsReceiver;
import lombok.var;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.connection.stream.Consumer;
import org.springframework.data.redis.connection.stream.MapRecord;
import org.springframework.data.redis.connection.stream.ReadOffset;
import org.springframework.data.redis.connection.stream.StreamOffset;
import org.springframework.data.redis.stream.StreamMessageListenerContainer;
import org.springframework.data.redis.stream.Subscription;
import java.time.Duration;
import static com.liquidnet.service.base.constant.MQConst.SweetQueue.ARTISTS_RELATION;
@Configuration
public class ConsumerSweetSqlUserRelationRedisStreamConfig {
@Autowired
ConsumerSweetSqlUserRelationRdsReceiver consumerSweetSqlUserRelationRdsReceiver;
private StreamMessageListenerContainer<String, MapRecord<String, String, String>> buildStreamMessageListenerContainer(RedisConnectionFactory factory) {
var options = StreamMessageListenerContainer
.StreamMessageListenerContainerOptions
.builder()
.pollTimeout(Duration.ofMillis(1))
.build();
return StreamMessageListenerContainer.create(factory, options);
}
/**
* 缺票登记
*
* @param listenerContainer
* @param t
* @return
*/
private Subscription receiveSqlUserRelation(StreamMessageListenerContainer<String, MapRecord<String, String, String>> listenerContainer, int t) {
return listenerContainer.receiveAutoAck(
Consumer.from(ARTISTS_RELATION.getGroup(), ARTISTS_RELATION.name() + t),
StreamOffset.create(ARTISTS_RELATION.getKey(), ReadOffset.lastConsumed()), consumerSweetSqlUserRelationRdsReceiver
);
}
/* —————————————————————————— | —————————————————————————— | —————————————————————————— */
/* -------------------------------------------------------- | 缺票登记 */
@Bean
public Subscription subscriptionSqlUserRelation(RedisConnectionFactory factory) {
var listenerContainer = this.buildStreamMessageListenerContainer(factory);
var subscription = receiveSqlUserRelation(listenerContainer, 1);
listenerContainer.start();
return subscription;
}
@Bean
public Subscription subscriptionSqlUserRelation2(RedisConnectionFactory factory) {
var listenerContainer = this.buildStreamMessageListenerContainer(factory);
var subscription = receiveSqlUserRelation(listenerContainer, 1);
listenerContainer.start();
return subscription;
}
@Bean
public Subscription subscriptionSqlUserRelation3(RedisConnectionFactory factory) {
var listenerContainer = this.buildStreamMessageListenerContainer(factory);
var subscription = receiveSqlUserRelation(listenerContainer, 1);
listenerContainer.start();
return subscription;
}
/* -------------------------------------------------------- | */
}
package com.liquidnet.service.consumer.kylin.receiver;
import com.liquidnet.service.base.constant.MQConst;
import org.springframework.stereotype.Component;
@Component
public class ConsumerSweetSqlUserRelationRdsReceiver extends AbstractSqlRedisReceiver {
@Override
protected String getRedisStreamKey() {
return MQConst.SweetQueue.ARTISTS_RELATION.getKey();
}
@Override
protected String getRedisStreamGroup() {
return MQConst.SweetQueue.ARTISTS_RELATION.getGroup();
}
}
...@@ -209,3 +209,214 @@ CREATE TABLE `sweet_wechat_user` ...@@ -209,3 +209,214 @@ CREATE TABLE `sweet_wechat_user`
DEFAULT CHARSET utf8mb4 DEFAULT CHARSET utf8mb4
COLLATE utf8mb4_unicode_ci COLLATE utf8mb4_unicode_ci
ROW_FORMAT = DYNAMIC COMMENT '正在现场服务号关注事件储存用户信息表'; ROW_FORMAT = DYNAMIC COMMENT '正在现场服务号关注事件储存用户信息表';
-- 用户 收藏/喜欢等状态
drop TABLE if exists `sweet_user_relation`;
CREATE TABLE `sweet_user_relation`
(
`mid` bigint unsigned NOT NULL AUTO_INCREMENT,
`user_id` varchar(200) NOT NULL DEFAULT '' COMMENT '用户id',
`type` tinyint NOT NULL DEFAULT 0 COMMENT '类型 1喜欢艺人 2签售艺人',
`target_id` varchar(200) NOT NULL DEFAULT '' COMMENT '目标id',
`manual_id` varchar(200) NOT NULL DEFAULT '' COMMENT '电子手册',
`status` tinyint NOT NULL DEFAULT 0 COMMENT '1是 0否',
`created_at` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_at` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`mid`),
KEY `sweet_wechat_user_user_id` (`user_id`)
) ENGINE = InnoDB
DEFAULT CHARSET utf8mb4
COLLATE utf8mb4_unicode_ci
ROW_FORMAT = DYNAMIC COMMENT '用户 收藏/喜欢等状态';
-- 下面为MDSK表 --
-- 电子宣传手册表
drop TABLE if exists `sweet_manual_mdsk`;
CREATE TABLE `sweet_manual_mdsk`
(
`mid` bigint unsigned NOT NULL AUTO_INCREMENT,
`manual_id` varchar(200) NOT NULL DEFAULT '0' COMMENT 'manual_id',
`performance_id` varchar(200) NULL COMMENT '演出id',
`status` tinyint NOT NULL DEFAULT 1 COMMENT '0关闭 1开启',
`is_release` tinyint NOT NULL DEFAULT 1 COMMENT '0取消 1发布',
`created_at` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_at` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`mid`),
KEY `manual_id_index` (`manual_id`),
KEY `performance_id_index` (`performance_id`),
KEY `is_release_index` (`is_release`),
KEY `status_index` (`status`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8
COLLATE = utf8_unicode_ci
ROW_FORMAT = DYNAMIC COMMENT '电子宣传手册表';
-- 电子宣传手册显示内容表
drop TABLE if exists `sweet_manual_sort_mdsk`;
CREATE TABLE `sweet_manual_sort_mdsk`
(
`mid` bigint unsigned NOT NULL AUTO_INCREMENT,
`manual_id` varchar(200) NOT NULL DEFAULT '0' COMMENT 'manual_id',
`show_position` varchar(200) NULL COMMENT '显示哪个,号隔开',
`created_at` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_at` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`mid`),
KEY `manual_id_index` (`manual_id`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8
COLLATE = utf8_unicode_ci
ROW_FORMAT = DYNAMIC COMMENT '电子宣传手册显示内容表';
-- 电子宣传手册富文本表
drop TABLE if exists `sweet_richtext_mdsk`;
CREATE TABLE `sweet_richtext_mdsk`
(
`mid` bigint unsigned NOT NULL AUTO_INCREMENT,
`richtext_id` varchar(200) NOT NULL DEFAULT '0' COMMENT 'order_refund_id',
`manual_id` varchar(200) NOT NULL DEFAULT '0' COMMENT 'manual_id',
`details` longtext NULL COMMENT '富文本详情',
`local` varchar(200) NOT NULL DEFAULT '' COMMENT '经纬度 5需要',
`pic_url` varchar(200) NOT NULL DEFAULT '' COMMENT '地图图片地址 2需要',
`type` tinyint NOT NULL DEFAULT 0 COMMENT '类型 1签售时间 2现场地图 3官方大巴 4公共交通 5自驾导航坐标 6官方支持 7观众须知 8防疫指南 9观演攻略',
`status` tinyint NOT NULL DEFAULT 1 COMMENT '0关闭 1开启',
`created_at` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_at` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`mid`),
KEY `richtext_id_index` (`richtext_id`),
KEY `manual_id_index` (`manual_id`),
KEY `type_index` (`type`),
KEY `status_index` (`status`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8
COLLATE = utf8_unicode_ci
ROW_FORMAT = DYNAMIC COMMENT '电子宣传手册富文本表';
-- 电子宣传手册艺人表
drop TABLE if exists `sweet_manual_artists_mdsk`;
CREATE TABLE `sweet_manual_artists_mdsk`
(
`mid` bigint unsigned NOT NULL AUTO_INCREMENT,
`manual_relation_id` varchar(200) NOT NULL DEFAULT '0' COMMENT 'manual_relation_id',
`manual_id` varchar(200) NOT NULL DEFAULT '' COMMENT '电子宣传手册id',
`stage_id` varchar(200) NULL COMMENT '关联id',
`artists_id` varchar(200) NULL COMMENT '关联id',
`performance_start` datetime NULL COMMENT '演出开始时间',
`performance_end` datetime NULL COMMENT '演出结束时间',
`signature_start` datetime NULL COMMENT '签收开始时间',
`signature_end` datetime NULL COMMENT '签收结束时间',
`status` tinyint NOT NULL DEFAULT 1 COMMENT '0关闭 1开启',
`created_at` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_at` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`mid`),
KEY `manual_relation_id_index` (`manual_relation_id`),
KEY `manual_id_index` (`manual_id`),
KEY `stage_id_index` (`stage_id`),
KEY `artists_id_index` (`artists_id`),
KEY `status_index` (`status`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8
COLLATE = utf8_unicode_ci
ROW_FORMAT = DYNAMIC COMMENT '电子宣传手册艺人表';
-- 电子宣传手册通知表
drop TABLE if exists `sweet_manual_notify_mdsk`;
CREATE TABLE `sweet_manual_notify_mdsk`
(
`mid` bigint unsigned NOT NULL AUTO_INCREMENT,
`manual_notify_id` varchar(200) NOT NULL DEFAULT '0' COMMENT 'manual_notify_id',
`manual_id` varchar(200) NOT NULL DEFAULT '' COMMENT '电子宣传手册id',
`title` varchar(200) NOT NULL DEFAULT '' COMMENT '标题',
`content` longtext NULL COMMENT '内容',
`status` tinyint NOT NULL DEFAULT 1 COMMENT '0关闭 1开启',
`created_at` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_at` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`mid`),
KEY `manual_notify_id_index` (`manual_notify_id`),
KEY `manual_id_index` (`manual_id`),
KEY `status_index` (`status`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8
COLLATE = utf8_unicode_ci
ROW_FORMAT = DYNAMIC COMMENT '电子宣传手册通知表';
-- 电子宣传手册商铺表
drop TABLE if exists `sweet_manual_shop_mdsk`;
CREATE TABLE `sweet_manual_shop_mdsk`
(
`mid` bigint unsigned NOT NULL AUTO_INCREMENT,
`manual_shop_id` varchar(200) NOT NULL DEFAULT '0' COMMENT 'manual_shop_id',
`manual_id` varchar(200) NOT NULL DEFAULT '' COMMENT '电子宣传手册id',
`title` varchar(200) NOT NULL DEFAULT '' COMMENT '商家名称',
`pic_url` varchar(200) NOT NULL DEFAULT '' COMMENT '商家图片',
`describes` longtext NULL COMMENT '商家介绍',
`type` tinyint NOT NULL DEFAULT 1 COMMENT '1吃喝 2玩乐',
`is_recommend` tinyint NOT NULL DEFAULT 1 COMMENT '0不推荐 1推荐',
`sort` tinyint NOT NULL DEFAULT 0 COMMENT '排序字段 数字越大越靠前',
`status` tinyint NOT NULL DEFAULT 1 COMMENT '0关闭 1开启',
`created_at` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_at` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`mid`),
KEY `manual_shop_index` (`manual_shop_id`),
KEY `manual_id_index` (`manual_id`),
KEY `status_index` (`status`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8
COLLATE = utf8_unicode_ci
ROW_FORMAT = DYNAMIC COMMENT '电子宣传手册商铺表';
-- 正在现场服务号关注事件储存用户信息表
drop TABLE if exists `sweet_wechat_user_mdsk`;
CREATE TABLE `sweet_wechat_user_mdsk`
(
`mid` bigint unsigned NOT NULL AUTO_INCREMENT,
`user_id` varchar(200) NOT NULL DEFAULT '' COMMENT 'user_id',
`openId` varchar(200) NOT NULL DEFAULT '' COMMENT 'openId',
`unionId` varchar(200) NOT NULL DEFAULT '' COMMENT 'unionId',
`nickname` varchar(200) NOT NULL DEFAULT '' COMMENT '昵称',
`sexDesc` varchar(200) NOT NULL DEFAULT '' COMMENT '性别',
`sex` tinyint NOT NULL DEFAULT 0 COMMENT '性别 男1',
`headImgUrl` varchar(200) NOT NULL DEFAULT '' COMMENT '头像',
`language` varchar(200) NOT NULL DEFAULT '' COMMENT 'zh_CN',
`country` varchar(200) NOT NULL DEFAULT '' COMMENT '国家',
`province` varchar(200) NOT NULL DEFAULT '' COMMENT '省',
`city` varchar(200) NOT NULL DEFAULT '' COMMENT '市',
`subscribeTime` datetime NULL DEFAULT null COMMENT '关注时间',
`subscribeScene` varchar(200) NOT NULL DEFAULT '' COMMENT 'ADD_SCENE_SEARCH 关注方式',
`created_at` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_at` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`mid`),
KEY `sweet_wechat_user_user_id` (`user_id`)
) ENGINE = InnoDB
DEFAULT CHARSET utf8mb4
COLLATE utf8mb4_unicode_ci
ROW_FORMAT = DYNAMIC COMMENT '正在现场服务号关注事件储存用户信息表';
-- 用户 收藏/喜欢等状态
drop TABLE if exists `sweet_user_relation_mdsk`;
CREATE TABLE `sweet_user_relation_mdsk`
(
`mid` bigint unsigned NOT NULL AUTO_INCREMENT,
`user_id` varchar(200) NOT NULL DEFAULT '' COMMENT '用户id',
`type` tinyint NOT NULL DEFAULT 0 COMMENT '类型 1喜欢艺人 2签售艺人',
`target_id` varchar(200) NOT NULL DEFAULT '' COMMENT '目标id',
`manual_id` varchar(200) NOT NULL DEFAULT '' COMMENT '电子手册',
`status` tinyint NOT NULL DEFAULT 0 COMMENT '1是 0否',
`created_at` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_at` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`mid`),
KEY `sweet_wechat_user_user_id` (`user_id`)
) ENGINE = InnoDB
DEFAULT CHARSET utf8mb4
COLLATE utf8mb4_unicode_ci
ROW_FORMAT = DYNAMIC COMMENT '用户 收藏/喜欢等状态';
XADD sweet:stream:rk.artists.relation * 0 0
XGROUP CREATE sweet:stream:rk.artists.relation group.artists.relation 0
...@@ -95,7 +95,7 @@ public class MybatisPlusCodeGenerator { ...@@ -95,7 +95,7 @@ public class MybatisPlusCodeGenerator {
String resourcePath = "/Users/hujiachen/Downloads/tmp"; String resourcePath = "/Users/hujiachen/Downloads/tmp";
String directory = "com.liquidnet.service.sweet"; String directory = "com.liquidnet.service.sweet";
String[] dbTableArray = new String[]{"sweet_manual_shop"}; String[] dbTableArray = new String[]{"sweet_user_relation"};
doGenerator(resourcePath, dsc, directory, dbTableArray); doGenerator(resourcePath, dsc, directory, dbTableArray);
} }
......
package com.liquidnet.service.sweet.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 用户 收藏/喜欢等状态 前端控制器
* </p>
*
* @author liquidnet
* @since 2021-08-06
*/
@RestController
@RequestMapping("/sweet-user-relation")
public class SweetUserRelationController {
}
package com.liquidnet.service.sweet.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 用户 收藏/喜欢等状态
* </p>
*
* @author liquidnet
* @since 2021-08-06
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class SweetUserRelation implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Long mid;
/**
* 用户id
*/
private String userId;
/**
* 类型 1喜欢艺人 2签售艺人
*/
private Integer type;
/**
* 目标id
*/
private Integer targetId;
/**
* 手册id
*/
private Integer manualId;
/**
* 1是 0否
*/
private String status;
/**
* 创建时间
*/
private LocalDateTime createdAt;
/**
* 更新时间
*/
private LocalDateTime updatedAt;
}
package com.liquidnet.service.sweet.mapper;
import com.liquidnet.service.sweet.entity.SweetUserRelation;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 用户 收藏/喜欢等状态 Mapper 接口
* </p>
*
* @author liquidnet
* @since 2021-08-06
*/
public interface SweetUserRelationMapper extends BaseMapper<SweetUserRelation> {
}
package com.liquidnet.service.sweet.service;
import com.liquidnet.service.sweet.entity.SweetUserRelation;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 用户 收藏/喜欢等状态 服务类
* </p>
*
* @author liquidnet
* @since 2021-08-06
*/
public interface ISweetUserRelationService extends IService<SweetUserRelation> {
}
package com.liquidnet.service.sweet.service.impl;
import com.liquidnet.service.sweet.entity.SweetUserRelation;
import com.liquidnet.service.sweet.mapper.SweetUserRelationMapper;
import com.liquidnet.service.sweet.service.ISweetUserRelationService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 用户 收藏/喜欢等状态 服务实现类
* </p>
*
* @author liquidnet
* @since 2021-08-06
*/
@Service
public class SweetUserRelationServiceImpl extends ServiceImpl<SweetUserRelationMapper, SweetUserRelation> implements ISweetUserRelationService {
}
...@@ -28,13 +28,13 @@ import org.springframework.stereotype.Service; ...@@ -28,13 +28,13 @@ import org.springframework.stereotype.Service;
@Slf4j @Slf4j
public class SweetWechatCallbackServiceImpl { public class SweetWechatCallbackServiceImpl {
@Value("${liquidnet.wechat.zhengzai.service.appid}") @Value("${liquidnet.wechat.service.zhengzai.appid}")
private String appid; private String appid;
@Value("${liquidnet.wechat.zhengzai.service.secret}") @Value("${liquidnet.wechat.service.zhengzai.secret}")
private String secret; private String secret;
@Value("${liquidnet.wechat.zhengzai.service.token}") @Value("${liquidnet.wechat.service.zhengzai.token}")
private String token; private String token;
@Value("${liquidnet.wechat.zhengzai.service.aeskey}") @Value("${liquidnet.wechat.service.zhengzai.aeskey}")
private String aeskey; private String aeskey;
@Autowired @Autowired
......
...@@ -7,7 +7,9 @@ import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo; ...@@ -7,7 +7,9 @@ import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
import cn.binarywang.wx.miniapp.bean.WxMaUserInfo; import cn.binarywang.wx.miniapp.bean.WxMaUserInfo;
import cn.binarywang.wx.miniapp.config.WxMaConfig; import cn.binarywang.wx.miniapp.config.WxMaConfig;
import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl; import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -23,6 +25,7 @@ import java.util.Objects; ...@@ -23,6 +25,7 @@ import java.util.Objects;
* @author liquidnet * @author liquidnet
* @since 2021-07-27 * @since 2021-07-27
*/ */
@Slf4j
@Service @Service
public class SweetWechatLoginServiceImpl { public class SweetWechatLoginServiceImpl {
...@@ -42,6 +45,10 @@ public class SweetWechatLoginServiceImpl { ...@@ -42,6 +45,10 @@ public class SweetWechatLoginServiceImpl {
private String mdskSecret; private String mdskSecret;
public ResponseDto userInfo(String code, String encryptedData, String iv, Integer type) { public ResponseDto userInfo(String code, String encryptedData, String iv, Integer type) {
log.info("\n参数code:[{}] ", code);
log.info("\n参数encryptedData:[{}] ", encryptedData);
log.info("\n参数iv:[{}] ", iv);
log.info("\n参数type:[{}] ", type);
try { try {
String appId = ""; String appId = "";
String appSecret = ""; String appSecret = "";
...@@ -62,6 +69,7 @@ public class SweetWechatLoginServiceImpl { ...@@ -62,6 +69,7 @@ public class SweetWechatLoginServiceImpl {
WxMaConfig wxMaConfig = wxMaConfig(appId, appSecret); WxMaConfig wxMaConfig = wxMaConfig(appId, appSecret);
WxMaService wxMaService = wxMaService(wxMaConfig); WxMaService wxMaService = wxMaService(wxMaConfig);
WxMaJscode2SessionResult sessionInfo = wxMaService.getUserService().getSessionInfo(code); WxMaJscode2SessionResult sessionInfo = wxMaService.getUserService().getSessionInfo(code);
log.info("\nWxMaJscode2SessionResult:[{}] ", JsonUtils.toJson(sessionInfo));
if (null == sessionInfo) { if (null == sessionInfo) {
return ResponseDto.failure("login handler error"); return ResponseDto.failure("login handler error");
} }
...@@ -69,6 +77,7 @@ public class SweetWechatLoginServiceImpl { ...@@ -69,6 +77,7 @@ public class SweetWechatLoginServiceImpl {
// 解密用户信息 // 解密用户信息
WxMaUserInfo wxUserInfo = wxMaService.getUserService().getUserInfo(sessionInfo.getSessionKey(), WxMaUserInfo wxUserInfo = wxMaService.getUserService().getUserInfo(sessionInfo.getSessionKey(),
encryptedData, iv); encryptedData, iv);
log.info("\nWxMaUserInfo:[{}] ", JsonUtils.toJson(wxUserInfo));
if (null == wxUserInfo) { if (null == wxUserInfo) {
return ResponseDto.failure("wxUser not exist"); return ResponseDto.failure("wxUser not exist");
} }
...@@ -76,6 +85,7 @@ public class SweetWechatLoginServiceImpl { ...@@ -76,6 +85,7 @@ public class SweetWechatLoginServiceImpl {
// 解密手机号码信息 // 解密手机号码信息
WxMaPhoneNumberInfo wxMaPhoneNumberInfo = wxMaService.getUserService().getPhoneNoInfo(sessionInfo.getSessionKey(), WxMaPhoneNumberInfo wxMaPhoneNumberInfo = wxMaService.getUserService().getPhoneNoInfo(sessionInfo.getSessionKey(),
encryptedData, iv); encryptedData, iv);
log.info("\nWxMaPhoneNumberInfo:[{}] ", wxMaPhoneNumberInfo.toString());
if (Objects.isNull(wxMaPhoneNumberInfo) || StringUtils.isBlank(wxMaPhoneNumberInfo.getPhoneNumber())) { if (Objects.isNull(wxMaPhoneNumberInfo) || StringUtils.isBlank(wxMaPhoneNumberInfo.getPhoneNumber())) {
return ResponseDto.failure("解密手机号码信息错误"); return ResponseDto.failure("解密手机号码信息错误");
} }
...@@ -92,6 +102,8 @@ public class SweetWechatLoginServiceImpl { ...@@ -92,6 +102,8 @@ public class SweetWechatLoginServiceImpl {
return ResponseDto.success(userInfo); return ResponseDto.success(userInfo);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace();
log.info("\nprintStackTrace:[{}] ", e.toString());
return ResponseDto.failure(); return ResponseDto.failure();
} }
} }
......
...@@ -37,9 +37,9 @@ import java.util.Set; ...@@ -37,9 +37,9 @@ import java.util.Set;
@Service @Service
public class SweetWechatTemplateServiceImpl { public class SweetWechatTemplateServiceImpl {
@Value("${liquidnet.wechat.zhengzai.service.appid}") @Value("${liquidnet.wechat.service.zhengzai.appid}")
private String appid; private String appid;
@Value("${liquidnet.wechat.zhengzai.service.secret}") @Value("${liquidnet.wechat.service.zhengzai.secret}")
private String secret; private String secret;
@Value("${liquidnet.client.admin.h5Url}") @Value("${liquidnet.client.admin.h5Url}")
private String h5Url; private String h5Url;
......
...@@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; ...@@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.liquidnet.common.cache.redis.util.RedisUtil; import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.CollectionUtil; import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.DateUtil; import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import com.liquidnet.service.sweet.constant.SweetConstant; import com.liquidnet.service.sweet.constant.SweetConstant;
import com.liquidnet.service.sweet.dto.SweetManualAppletDto; import com.liquidnet.service.sweet.dto.SweetManualAppletDto;
import com.liquidnet.service.sweet.dto.SweetManualArtistList2Dto; import com.liquidnet.service.sweet.dto.SweetManualArtistList2Dto;
...@@ -16,6 +19,7 @@ import com.liquidnet.service.sweet.vo.SweetRemindVo; ...@@ -16,6 +19,7 @@ import com.liquidnet.service.sweet.vo.SweetRemindVo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.time.LocalDateTime;
import java.util.*; import java.util.*;
@Component @Component
...@@ -23,6 +27,8 @@ public class RedisDataUtils { ...@@ -23,6 +27,8 @@ public class RedisDataUtils {
@Autowired @Autowired
private RedisUtil redisUtil; private RedisUtil redisUtil;
@Autowired
private QueueUtils queueUtils;
@Autowired @Autowired
private SweetManualMapper sweetManualMapper; private SweetManualMapper sweetManualMapper;
...@@ -85,13 +91,13 @@ public class RedisDataUtils { ...@@ -85,13 +91,13 @@ public class RedisDataUtils {
//获取时间 //获取时间
SweetManualAppletDto sweetManualAppletDto = getAppletPerformance(manualId); SweetManualAppletDto sweetManualAppletDto = getAppletPerformance(manualId);
Date dateEnd=DateUtil.parse(sweetManualAppletDto.getTimeEnd(), DateUtil.DATE_SMALL_STR); Date dateEnd = DateUtil.parse(sweetManualAppletDto.getTimeEnd(), DateUtil.DATE_SMALL_STR);
Date dateStart=DateUtil.parse(sweetManualAppletDto.getTimeStart(), DateUtil.DATE_SMALL_STR); Date dateStart = DateUtil.parse(sweetManualAppletDto.getTimeStart(), DateUtil.DATE_SMALL_STR);
int intervalDay = (int) DateUtil.intervalDays(dateStart,dateEnd ); int intervalDay = (int) DateUtil.intervalDays(dateStart, dateEnd);
ArrayList<String> list = new ArrayList<>(); ArrayList<String> list = new ArrayList<>();
list.add(DateUtil.format(dateStart, DateUtil.Formatter.yyyy_MM_dd)); list.add(DateUtil.format(dateStart, DateUtil.Formatter.yyyy_MM_dd));
for (int i = 0; i < intervalDay; i++) { for (int i = 0; i < intervalDay; i++) {
list.add(DateUtil.format(DateUtil.addDay(dateStart, i+1), DateUtil.Formatter.yyyy_MM_dd)); list.add(DateUtil.format(DateUtil.addDay(dateStart, i + 1), DateUtil.Formatter.yyyy_MM_dd));
} }
//获取舞台 //获取舞台
...@@ -198,42 +204,73 @@ public class RedisDataUtils { ...@@ -198,42 +204,73 @@ public class RedisDataUtils {
redisUtil.del(SweetConstant.REDIS_KEY_SWEET_MANUAL_SORT.concat(manualId));//列表 redisUtil.del(SweetConstant.REDIS_KEY_SWEET_MANUAL_SORT.concat(manualId));//列表
} }
public void setArtistsRelationRedisVo(String uid, String artistsId,String manualId, String type) { public void setArtistsRelationRedisVo(String uid, String artistsId, String manualId, String type) {
LinkedList<String> sqls = CollectionUtil.linkedListString();
LinkedList<Object[]> sqlsDataA = CollectionUtil.linkedListObjectArr();
LocalDateTime now = LocalDateTime.now();
String redisKey = SweetConstant.REDIS_KEY_SWEET_ARTISTS_RELATION.concat(uid).concat(":manualId:").concat(manualId); String redisKey = SweetConstant.REDIS_KEY_SWEET_ARTISTS_RELATION.concat(uid).concat(":manualId:").concat(manualId);
SweetArtistsRelationVo vo = getArtistsRelationRedisVo(uid,manualId); SweetArtistsRelationVo vo = getArtistsRelationRedisVo(uid, manualId);
vo.setUid(uid); vo.setUid(uid);
if (type.equalsIgnoreCase("sign")) { if (type.equalsIgnoreCase("sign")) {
if (vo.getSignList() == null) { if (vo.getSignList() == null) {
ArrayList<String> signList = new ArrayList<>(); ArrayList<String> signList = new ArrayList<>();
signList.add(artistsId); signList.add(artistsId);
vo.setSignList(signList); vo.setSignList(signList);
sqls.add(SqlMapping.get("sweet_user_relation.insert"));
sqlsDataA.add(new Object[]{
uid, 2, artistsId, manualId, now
});
} else { } else {
if (vo.getSignList().contains(artistsId)) { if (vo.getSignList().contains(artistsId)) {
vo.getSignList().remove(artistsId); vo.getSignList().remove(artistsId);
sqls.add(SqlMapping.get("sweet_user_relation.delete"));
sqlsDataA.add(new Object[]{
uid, artistsId, manualId,2
});
} else { } else {
vo.getSignList().add(artistsId); vo.getSignList().add(artistsId);
sqls.add(SqlMapping.get("sweet_user_relation.insert"));
sqlsDataA.add(new Object[]{
uid, 2, artistsId, manualId, now
});
} }
} }
} else if (type.equalsIgnoreCase("watch")) { } else if (type.equalsIgnoreCase("watch")) {
if (vo.getSignList() == null) { if (vo.getWatchList() == null) {
ArrayList<String> watchList = new ArrayList<>(); ArrayList<String> watchList = new ArrayList<>();
watchList.add(artistsId); watchList.add(artistsId);
vo.setWatchList(watchList); vo.setWatchList(watchList);
sqls.add(SqlMapping.get("sweet_user_relation.insert"));
sqlsDataA.add(new Object[]{
uid, 1, artistsId, manualId, now
});
} else { } else {
if (vo.getWatchList().contains(artistsId)) { if (vo.getWatchList().contains(artistsId)) {
vo.getWatchList().remove(artistsId); vo.getWatchList().remove(artistsId);
sqls.add(SqlMapping.get("sweet_user_relation.delete"));
sqlsDataA.add(new Object[]{
uid, artistsId, manualId,1
});
} else { } else {
vo.getWatchList().add(artistsId); vo.getWatchList().add(artistsId);
sqls.add(SqlMapping.get("sweet_user_relation.insert"));
sqlsDataA.add(new Object[]{
uid, 1, artistsId, manualId, now
});
} }
} }
} }
redisUtil.set(redisKey, vo); redisUtil.set(redisKey, vo);
queueUtils.sendMsgByRedis(MQConst.SweetQueue.ARTISTS_RELATION.getKey(),
SqlMapping.gets(sqls, sqlsDataA));
} }
//获取 签售 //获取 签售
//获取 想看 //获取 想看
public SweetArtistsRelationVo getArtistsRelationRedisVo(String uid,String manualId) { public SweetArtistsRelationVo getArtistsRelationRedisVo(String uid, String manualId) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_ARTISTS_RELATION.concat(uid).concat(":manualId:").concat(manualId); String redisKey = SweetConstant.REDIS_KEY_SWEET_ARTISTS_RELATION.concat(uid).concat(":manualId:").concat(manualId);
Object obj = redisUtil.get(redisKey); Object obj = redisUtil.get(redisKey);
if (obj == null) { if (obj == null) {
...@@ -282,6 +319,7 @@ public class RedisDataUtils { ...@@ -282,6 +319,7 @@ public class RedisDataUtils {
String redisKey = SweetConstant.REDIS_KEY_SWEET_WECHAT_USER_INFO.concat(sweetWechatUser.getUnionId()); String redisKey = SweetConstant.REDIS_KEY_SWEET_WECHAT_USER_INFO.concat(sweetWechatUser.getUnionId());
redisUtil.set(redisKey, sweetWechatUser); redisUtil.set(redisKey, sweetWechatUser);
} }
public SweetWechatUser getSweetWechatUser(String unionid) { public SweetWechatUser getSweetWechatUser(String unionid) {
if (unionid.isEmpty()) { if (unionid.isEmpty()) {
return null; return null;
...@@ -291,10 +329,10 @@ public class RedisDataUtils { ...@@ -291,10 +329,10 @@ public class RedisDataUtils {
} }
// 艺人详情 // 艺人详情
public SweetArtists setArtistsDetails(String artistsId){ public SweetArtists setArtistsDetails(String artistsId) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_ARTISTS_DETAILS.concat(artistsId); String redisKey = SweetConstant.REDIS_KEY_SWEET_ARTISTS_DETAILS.concat(artistsId);
SweetArtists sweetArtists = sweetArtistsMapper.selectOne(Wrappers.lambdaQuery(SweetArtists.class).eq(SweetArtists::getArtistsId,artistsId).eq(SweetArtists::getStatus,1)); SweetArtists sweetArtists = sweetArtistsMapper.selectOne(Wrappers.lambdaQuery(SweetArtists.class).eq(SweetArtists::getArtistsId, artistsId).eq(SweetArtists::getStatus, 1));
redisUtil.set(redisKey,sweetArtists); redisUtil.set(redisKey, sweetArtists);
return sweetArtists; return sweetArtists;
} }
......
...@@ -19,7 +19,7 @@ import java.util.Arrays; ...@@ -19,7 +19,7 @@ import java.util.Arrays;
public class WechatSignUtils { public class WechatSignUtils {
// 与接口配置信息中的 Token 要一致 // 与接口配置信息中的 Token 要一致
@Value("${liquidnet.wechat.zhengzai.service.token}") @Value("${liquidnet.wechat.service.zhengzai.token}")
private String token; private String token;
/** /**
......
...@@ -50,5 +50,6 @@ kylin_order_ticket_entities.overtimeRefund=UPDATE kylin_order_ticket_entities SE ...@@ -50,5 +50,6 @@ kylin_order_ticket_entities.overtimeRefund=UPDATE kylin_order_ticket_entities SE
kylin_order_refund.overtimeRefund=INSERT INTO kylin_order_refunds (order_refunds_id,order_tickets_id,order_refund_code,price,price_express,status,type,applicant_id,applicant_name,applicant_at,reason,refund_cate,created_at) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?) kylin_order_refund.overtimeRefund=INSERT INTO kylin_order_refunds (order_refunds_id,order_tickets_id,order_refund_code,price,price_express,status,type,applicant_id,applicant_name,applicant_at,reason,refund_cate,created_at) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?)
kylin_order_refund_entities.overtimeRefund=INSERT INTO kylin_order_refund_entities (order_refunds_entities_id,order_refunds_id,refund_price,order_ticket_entities_id,created_at) VALUES(?,?,?,?,?) kylin_order_refund_entities.overtimeRefund=INSERT INTO kylin_order_refund_entities (order_refunds_entities_id,order_refunds_id,refund_price,order_ticket_entities_id,created_at) VALUES(?,?,?,?,?)
# ------------------------用户关系----------------------------
sweet_user_relation.insert=INSERT INTO sweet_user_relation (user_id,type,target_id,manual_id,status,created_at) VALUES (?,?,?,?,1,?)
sweet_user_relation.delete=DELETE FROM sweet_user_relation WHERE user_id = ? and target_id = ? and manual_id = ? and type = ?
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