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

Commit b5a5d714 authored by Tice's avatar Tice

Merge branch 'dev_merchant' into dev_merchant_tice

parents d3f76288 8c3357c7
......@@ -25,6 +25,8 @@ public class RefundSearchParam implements Serializable {
private String orderRefundCode;
private String orderCode;
private String getTicketType;
private Integer type;
private String status;
private List<String> statusStr;
......
package com.liquidnet.service.kylin.dto.vo.returns;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.kylin.dao.KylinOrderRefundsEntitiesDao;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderRefundEntitiesVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderRefundPicVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
/**
* <p>
* refund返回给前端的数据字段
* </p>
*
* @author jiangxiulong
* @since 2021-05-31 11:19 上午
*/
@Data
@ApiModel
public class KylinOrderRefundsAdminVo implements Serializable,Cloneable {
private static final long serialVersionUID = -7910948111093638877L;
@ApiModelProperty(value = "主键ID")
private String orderRefundsId;
@ApiModelProperty(value = "票务订单id")
private String orderTicketsId;
@ApiModelProperty(value = "退款编号")
private String orderRefundCode;
@ApiModelProperty(value = "批量退款id")
private String orderRefundBatchesId;
@ApiModelProperty(value = "退款中心退款编号")
private String refundCode;
@ApiModelProperty(value = "成功退款时间")
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern= DateUtil.DATE_FULL_STR)
private LocalDateTime refundAt;
@ApiModelProperty(value = "第三方退款编号")
private String refundId;
@ApiModelProperty(value = "退款失败原因")
private String refundError;
@ApiModelProperty(value = "退款票总金额")
private BigDecimal price;
@ApiModelProperty(value = "退款快递总金额")
private BigDecimal priceExpress;
@ApiModelProperty(value = "退款扣除的手续费金额")
private BigDecimal priceCharges;
@ApiModelProperty(value = "退款状态: 0请求退款 2取消退款 1审核通过 5驳回退款 7等待退款 3正在退款 4完成退款 6退款失败")
private Integer status;
private String statusName;
private Integer refundCate;
@ApiModelProperty(value = "退款差异: 0申请退款返还库存 1自动退款无法取消退款不返还库存")
private Integer type;
@ApiModelProperty(value = "退款差异: 0申请退款返还库存 1自动退款无法取消退款不返还库存")
private String typeName;
@ApiModelProperty(value = "申请人id")
private String applicantId;
@ApiModelProperty(value = "申请人名称")
private String applicantName;
@ApiModelProperty(value = "申请时间")
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern= DateUtil.DATE_FULL_STR)
private LocalDateTime applicantAt;
@ApiModelProperty(value = "退款原因")
private String reason;
@ApiModelProperty(value = "审核人id")
private String auditorId;
@ApiModelProperty(value = "审核人名称")
private String auditorName;
@ApiModelProperty(value = "审核时间")
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern= DateUtil.DATE_FULL_STR)
private LocalDateTime auditorAt;
@ApiModelProperty(value = "驳回原因")
private String reject;
@ApiModelProperty(value = "执行人id")
private String executorId;
@ApiModelProperty(value = "执行人名称")
private String executorName;
@ApiModelProperty(value = "执行时间")
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern= DateUtil.DATE_FULL_STR)
private LocalDateTime executorAt;
@ApiModelProperty(value = "回绝原因")
private String refuse;
@ApiModelProperty(value = "票务审核人id")
private String ticketAuditId;
@ApiModelProperty(value = "票务审核人名称")
private String ticketAuditName;
@ApiModelProperty(value = "票务审核时间")
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern= DateUtil.DATE_FULL_STR)
private LocalDateTime ticketAuditAt;
@ApiModelProperty(value = "票务审核备注")
private String ticketAuditRemark;
@ApiModelProperty(value = "票务/快递费/票和快递费")
private String refundType;
@ApiModelProperty(value = "添加时间")
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern= DateUtil.DATE_FULL_STR)
private LocalDateTime createdAt;
@ApiModelProperty(value = "更新时间")
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern= DateUtil.DATE_FULL_STR)
private LocalDateTime updatedAt;
List<KylinOrderRefundsEntitiesDao> entities;
private List<KylinOrderRefundEntitiesVo> orderRefundEntitiesVoList;
private List<KylinOrderRefundPicVo> orderRefundPicVos;
private List<String> picList;
private String payType;
private String getTicketType;
public void setStatus(Integer status){
try {
this.status = status;
switch (status) {
case 0:
this.statusName = "请求退款";
break;
case 1:
this.statusName = "运营审核通过";
break;
case 2:
this.statusName = "取消退款";
break;
case 3:
this.statusName = "正在退款";
break;
case 4:
this.statusName = "完成退款";
break;
case 5:
this.statusName = "运营审核驳回退款";
break;
case 6:
this.statusName = "退款失败";
break;
case 7:
this.statusName = "财务通过等待退款";
break;
case 8:
this.statusName = "财务驳回退款";
break;
default:
this.statusName = "其他";
break;
}
}catch (Exception e){
e.printStackTrace();
this.statusName = "其他";
}
}
private static final KylinOrderRefundsAdminVo obj = new KylinOrderRefundsAdminVo();
public static KylinOrderRefundsAdminVo getNew() {
try {
return (KylinOrderRefundsAdminVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new KylinOrderRefundsAdminVo();
}
}
}
......@@ -112,6 +112,7 @@ public class CandyCouponCodeAdminController extends BaseController {
LambdaQueryWrapper<CandyCouponCode> couponCodeLambdaQueryWrapper = Wrappers.lambdaQuery(CandyCouponCode.class);
couponCodeLambdaQueryWrapper.in(CandyCouponCode::getCcode, ccodes);
couponCodeLambdaQueryWrapper.eq(CandyCouponCode::getCouponId, couponId);
couponCodeLambdaQueryWrapper.eq(CandyCouponCode::getState, 0);
List<CandyCouponCode> list = candyCouponCodeAdminService.list(couponCodeLambdaQueryWrapper);
List<String> ccodeUpdateList = CollectionUtil.arrayListString();
......@@ -155,6 +156,8 @@ public class CandyCouponCodeAdminController extends BaseController {
LambdaQueryWrapper<CandyCouponCode> couponCodeLambdaQueryWrapper = Wrappers.lambdaQuery(CandyCouponCode.class);
couponCodeLambdaQueryWrapper.in(CandyCouponCode::getUcouponId, ucouponIds);
couponCodeLambdaQueryWrapper.eq(CandyCouponCode::getCouponId, couponId);
couponCodeLambdaQueryWrapper.eq(CandyCouponCode::getState, 1);
couponCodeLambdaQueryWrapper.select(CandyCouponCode::getCouponId, CandyCouponCode::getUcouponId, CandyCouponCode::getRedeemUid);
List<CandyCouponCode> list = candyCouponCodeAdminService.list(couponCodeLambdaQueryWrapper);
List<String> ccodeUpdateList = CollectionUtil.arrayListString();
......@@ -166,6 +169,8 @@ public class CandyCouponCodeAdminController extends BaseController {
vos.removeIf(rv -> rv.getUcouponId().equals(r.getUcouponId()));
}
redisUtil.set(uckey, vos);
ccodeUpdateList.add(r.getUcouponId());
});
......
......@@ -15,6 +15,7 @@ import com.liquidnet.service.kylin.constant.KylinTableStatusConst;
import com.liquidnet.service.kylin.dao.OrderRefundDao;
import com.liquidnet.service.kylin.dto.param.RefundApplyParam;
import com.liquidnet.service.kylin.dto.param.RefundSearchParam;
import com.liquidnet.service.kylin.dto.vo.returns.KylinOrderRefundsAdminVo;
import com.liquidnet.service.kylin.dto.vo.returns.KylinOrderRefundsVo;
import com.liquidnet.service.kylin.service.IKylinOrderRefundsService;
import io.swagger.annotations.ApiImplicitParam;
......@@ -55,13 +56,13 @@ public class KylinOrderRefundAdminController extends BaseController {
return prefix + "/refund";
}
@Log(title = "订单退款列表", businessType = BusinessType.DETAIL)
@Log(title = "订单退款详情", businessType = BusinessType.DETAIL)
@RequiresPermissions("kylin:refund:detail")
@GetMapping(value = "/details/{orderRefundId}")
public String detail(@PathVariable("orderRefundId") String orderRefundId, ModelMap mmap) {
KylinOrderRefundsVo result = null;
KylinOrderRefundsAdminVo result = null;
result = kylinOrderRefundsServiceImpl.detail(orderRefundId);
mmap.put("KylinOrderRefundsVo", result);
mmap.put("KylinOrderRefundsAdminVo", result);
return prefix + "/details";
}
......@@ -79,14 +80,14 @@ public class KylinOrderRefundAdminController extends BaseController {
return prefix + "/applyView";
}
@Log(title = "订单退款列表", businessType = BusinessType.DETAIL)
@Log(title = "申请退款检测详情", businessType = BusinessType.DETAIL)
@PostMapping("applyOrder")
@ResponseBody
public AjaxResult applyOrder(RefundApplyParam refundApplyParam) {
return kylinOrderRefundsServiceImpl.orderDetails(refundApplyParam.getOrderCode());
}
@Log(title = "订单退款列表", businessType = BusinessType.INSERT)
@Log(title = "申请退款", businessType = BusinessType.INSERT)
@RequiresPermissions("kylin:refund:apply")
@PostMapping("apply")
@ResponseBody
......@@ -105,7 +106,7 @@ public class KylinOrderRefundAdminController extends BaseController {
}
}
@Log(title = "订单退款列表", businessType = BusinessType.CANCEL)
@Log(title = "取消退款", businessType = BusinessType.CANCEL)
@RequiresPermissions("kylin:refund:cancel")
@PostMapping("cancel")
@ResponseBody
......@@ -125,7 +126,7 @@ public class KylinOrderRefundAdminController extends BaseController {
}
}
@Log(title = "订单退款列表", businessType = BusinessType.REAPPLY)
@Log(title = "重新提交退款", businessType = BusinessType.REAPPLY)
@RequiresPermissions("kylin:refund:reapply")
@PostMapping("reapply")
@ResponseBody
......@@ -146,7 +147,7 @@ public class KylinOrderRefundAdminController extends BaseController {
}
// 运营审核
@Log(title = "订单退款列表", businessType = BusinessType.AUDIT)
@Log(title = "运营审核", businessType = BusinessType.AUDIT)
@RequiresPermissions("kylin:refund:review")
@PostMapping("review")
@ResponseBody
......@@ -175,7 +176,7 @@ public class KylinOrderRefundAdminController extends BaseController {
}
// 票务审核
@Log(title = "票务审核退款", businessType = BusinessType.AUDIT3)
@Log(title = "票务审核", businessType = BusinessType.AUDIT3)
@RequiresPermissions("kylin:refund:ticketAudit")
@PostMapping("ticketAudit")
@ResponseBody
......@@ -198,7 +199,7 @@ public class KylinOrderRefundAdminController extends BaseController {
}
// 财务审核
@Log(title = "订单退款列表", businessType = BusinessType.AUDIT2)
@Log(title = "财务审核", businessType = BusinessType.AUDIT2)
@RequiresPermissions("kylin:refund:execute")
@PostMapping("execute")
@ResponseBody
......@@ -240,7 +241,7 @@ public class KylinOrderRefundAdminController extends BaseController {
}
// 主动完成退款 没有批量
@Log(title = "订单退款列表", businessType = BusinessType.COMPLETE_REFUND)
@Log(title = "主动完成退款", businessType = BusinessType.COMPLETE_REFUND)
@RequiresPermissions("kylin:refund:completed")
@PostMapping("completed")
@ResponseBody
......
......@@ -293,8 +293,8 @@ public class PerformancesExpressController extends BaseController {
@RequiresPermissions("kylin:performancesExpress:batchPrintExpress")
@PostMapping("/batchPrintExpress")
@ResponseBody
public ResponseDto<KylinOrderExpressPrintVo> batchPrintExpress(@RequestParam("ids") String performanceId, @RequestParam("ticketId") String ticketId) {
KylinOrderExpressPrintVo res = performancesExpressServiceImpl.batchPrintExpress(performanceId, ticketId);
public ResponseDto<KylinOrderExpressPrintVo> batchPrintExpress(@RequestParam("ids") String performanceId, @RequestParam("ticketId") String ticketId, @RequestParam("printNum") Integer printNum) {
KylinOrderExpressPrintVo res = performancesExpressServiceImpl.batchPrintExpress(performanceId, ticketId, printNum);
try {
return ResponseDto.success(res);
} catch (Exception e) {
......
......@@ -9,8 +9,8 @@ liquidnet:
#host: 172.17.207.177:7001
instance:
prefer-ip-address: true
host: eureka-test-0.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-1.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-2.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka
#host: eureka-test-0.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-1.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-2.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka
host: 192.168.193.41:7001
# end-dev-这里是配置信息基本值
spring:
......
......@@ -78,6 +78,25 @@
position: absolute;
}
.notice{
width: 50px;
height: 50px;
margin-left: 10px;
background-color: #9b9b9b;
}
.imgwid{
/*width: 100%;*/
padding: 0 20px;
/*border: #9b9b9b solid 2px;*/
overflow: auto;
height: 650px;
}
.imgwid img{
width: 100%;
}
.ibox {
margin-bottom: 25px;
background-color: #fff;
......
......@@ -47,7 +47,7 @@ var table = {
paginationLoop: false,
pageSize: 10,
pageNumber: 1,
pageList: [10, 25, 50, 200],
pageList: [10, 25, 50, 200, 500, 2000],
toolbar: "toolbar",
loadingFontSize: 13,
striped: false,
......
......@@ -92,7 +92,7 @@
if (row.state === 0) {
actions.push('<a class="btn btn-primary btn-xs ' + invalidFlag + '" href="javascript:void(0)" onclick="invalidHandler(\'' + row.ccode + '\')"><i class="fa fa-edit"></i>失效</a> ');
} else if (row.state === 1) {
actions.push('<a class="btn btn-danger btn-xs ' + recoverFlag + '" href="javascript:void(0)" onclick="recoverHandler(\'' + row.ccode + '\',' + row.ucouponId + '\')"><i class="fa fa-remove"></i>退回</a>');
actions.push('<a class="btn btn-danger btn-xs ' + recoverFlag + '" href="javascript:void(0)" onclick="recoverHandler(\'' + row.ccode + '\', \'' + row.ucouponId + '\')"><i class="fa fa-remove"></i>退回</a>');
}
return actions.join('');
}
......@@ -113,17 +113,21 @@
function invalidHandler(ccode) {
if (ccode !== null && ccode !== undefined) {
$.modal.confirm("是否失效?", function() {
var data = {"couponId":couponId,"ccodes": ccode};
$.operate.submit('code/invalid', "post", "json", data);
});
} else {
$.operate.batchProcessingForCouponCode(couponId, 1);
}
}
function recoverHandler(ccode, ucouponId) {
if (ccode !== null && ccode !== undefined) {
var data = {"ucouponId":ucouponId,"couponId":couponId,"ccodes": ccode};
if (ccode !== null && ccode !== undefined && ucouponId !== null && ucouponId !== undefined) {
var data = {"ucouponIds": ucouponId, "couponId": couponId, "ccodes": ccode};
$.modal.confirm("是否退回?", function() {
$.operate.submit('code/recover', "post", "json", data);
});
}
// else {
// $.operate.batchProcessingForCouponCode(couponId, 2);
......
......@@ -53,6 +53,12 @@
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label is-required">数量:</label>
<div class="col-sm-10">
<input class="form-control" type="text" name="printNum" id="printNum">
</div>
</div>
</div>
</form>
</div>
......@@ -266,7 +272,7 @@
LODOP.PRINT();
}
function printExpress(performanceId, ticketId) {
function printExpress(performanceId, ticketId, printNum) {
var message = "确定打印吗?";
$.modal.confirm(message, function () {
try {
......@@ -279,7 +285,7 @@
}
var data = '';
var ids = [performanceId];
data = {"ids": ids.join(), "ticketId": ticketId};
data = {"ids": ids.join(), "ticketId": ticketId, "printNum": printNum};
var configPrint = {
url: prefix + "/batchPrintExpress",
type: "post",
......@@ -355,7 +361,8 @@
shadeClose: true,
btn1: function (index, layero) {
var ticketId = layero.find('#openTicketListTplSelect').val();
printExpress(performanceId, ticketId);
var printNum = layero.find('#printNum').val();
printExpress(performanceId, ticketId, printNum);
}
});
}
......
......@@ -18,6 +18,24 @@
<label>订单编号:</label>
<input type="text" name="orderCode"/>
</li>
<li>
<label>取票方式:</label>
<select name="getTicketType">
<option value="">全部</option>
<option value="electronic">电子票</option>
<option value="express">快递票</option>
</select>
</li>
<li>
<label>申请退款类型:</label>
<select name="type">
<option value="">全部</option>
<option value="0">客服申请</option>
<option value="1">超时退款</option>
<option value="2">用户申请普通退款</option>
<option value="3">用户申请快递退款</option>
</select>
</li>
<li>
<label>退款状态:</label>
<select name="status">
......@@ -114,7 +132,8 @@
<a class="btn btn-primary multiple disabled" onclick="execute()" shiro:hasPermission="kylin:refund:execute">
财务审核
</a>
<a class="btn btn-success multiple disabled" onclick="ticketAudit()" shiro:hasPermission="kylin:refund:ticketAudit">
<a class="btn btn-success multiple disabled" onclick="ticketAudit()"
shiro:hasPermission="kylin:refund:ticketAudit">
票务审核
</a>
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll('确定取消选中的退款申请吗?', 'refund/cancel')"
......@@ -225,7 +244,8 @@
$.operate.save(prefix + "/ticketAudit", data);
layer.close(index)
},
btn2: function (index, layero) {}
btn2: function (index, layero) {
}
});
}
......@@ -286,6 +306,37 @@
field: 'orderCode',
title: '订单编号'
},
{
field: 'getTicketType',
title: '取票方式',
formatter: function (value, row, index) {
if (row.getTicketType == "electronic") {
return "电子票";
} else {
return '快递票';
}
},
},
{
field: 'type',
title: '申请退款类型',
formatter: function (value, row, index) {
switch (row.type) {
case 0:
return "客服申请";
break;
case 1:
return "超时退款";
break;
case 2:
return "用户申请普通退款";
break;
case 3:
return "用户申请快递退款";
break;
}
},
},
{
field: 'price',
title: '退票金额'
......
......@@ -24,6 +24,7 @@ import com.liquidnet.service.kylin.dto.param.RefundCallbackParam;
import com.liquidnet.service.kylin.dto.param.RefundSearchParam;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import com.liquidnet.service.kylin.dto.vo.returns.KylinOrderRefundsAdminVo;
import com.liquidnet.service.kylin.dto.vo.returns.KylinOrderRefundsVo;
import com.liquidnet.service.kylin.dto.vo.returns.RefundOrderDetailsVo;
import com.liquidnet.service.kylin.entity.*;
......@@ -370,12 +371,13 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM
}
}
public KylinOrderRefundsVo detail(String orderRefundId) {
public KylinOrderRefundsAdminVo detail(String orderRefundId) {
// 退款订单数据
KylinOrderRefunds data = kylinOrderRefundsMapper.selectOne(
new QueryWrapper<KylinOrderRefunds>()
.eq("order_refunds_id", orderRefundId)
);
// 退款票种
List<KylinOrderRefundEntities> refundEntities = kylinOrderRefundsEntitiesMapper.selectList(
new QueryWrapper<KylinOrderRefundEntities>().eq("order_refunds_id", orderRefundId)
);
......@@ -384,8 +386,8 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM
for (KylinOrderRefundsEntitiesDao item : entities) {
item.setPaymentName(item.getIsPayment());
}
KylinOrderRefundsVo kylinOrderRefundsVo = new KylinOrderRefundsVo();
// 退款申请图片
KylinOrderRefundsAdminVo kylinOrderRefundsVo = KylinOrderRefundsAdminVo.getNew();
kylinOrderRefundsVo.setEntities(entities);
BeanUtils.copyProperties(data, kylinOrderRefundsVo);
KylinOrderRefundPic kylinOrderRefundPic = kylinOrderRefundPicMapper.selectOne(new UpdateWrapper<KylinOrderRefundPic>().eq("order_refunds_id", orderRefundId));
......@@ -395,10 +397,31 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM
});
kylinOrderRefundsVo.setPicList(strList);
}
// 订单表
KylinOrderTickets kylinOrderTickets = kylinOrderTicketsMapper.selectOne(
Wrappers.lambdaQuery(KylinOrderTickets.class).eq(KylinOrderTickets::getOrderTicketsId, data.getOrderTicketsId())
);
if (kylinOrderTickets.getGetTicketType().equals("express")) {
kylinOrderRefundsVo.setGetTicketType("快递票");
} else {
kylinOrderRefundsVo.setGetTicketType("电子票");
}
String typeName = "";
switch (kylinOrderRefundsVo.getType()) {
case 0:
typeName = "客服申请";
break;
case 1:
typeName = "超时退款";
break;
case 2:
typeName = "用户申请普通退款";
break;
case 3:
typeName = "用户申请快递退款";
break;
}
kylinOrderRefundsVo.setTypeName(typeName);
kylinOrderRefundsVo.setPayType(kylinOrderTickets.getPayType());
return kylinOrderRefundsVo;
......
......@@ -622,13 +622,13 @@ public class PerformancesExpressServiceImpl extends ServiceImpl<KylinOrderExpres
return kylinOrderExpressPrintVo;
}
public KylinOrderExpressPrintVo batchPrintExpress(String performanceId, String ticketId) {
public KylinOrderExpressPrintVo batchPrintExpress(String performanceId, String ticketId, Integer printNum) {
List<OrderExpressListDao> newList = new ArrayList<>();
int count = 0;
int limitNum = 1000;
int mid = 0;
do {
List<OrderExpressListDao> list = kylinOrderExpressMapper.selectPrintListOfPerformanceId(performanceId, ticketId, mid, limitNum);
List<OrderExpressListDao> list = kylinOrderExpressMapper.selectPrintListOfPerformanceId(performanceId, ticketId, mid, limitNum, printNum);
if (!CollectionUtil.isEmpty(list)) {
newList.addAll(list);
......
......@@ -9,8 +9,8 @@ liquidnet:
#host: 172.17.207.177:7001
instance:
prefer-ip-address: true
host: eureka-test-0.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-1.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-2.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka
#host: eureka-test-0.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-1.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-2.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka
host: 192.168.193.41:7001
# end-dev-这里是配置信息基本值
......
......@@ -76,6 +76,8 @@ public class OrderRefundDao implements Serializable {
private String performanceTitle;
private String getTicketType;
private String mailno;
public void setStatusName(Integer status){
......
......@@ -23,7 +23,8 @@ public interface KylinOrderExpressMapper extends BaseMapper<KylinOrderExpress> {
@Param("performanceId") String performanceId,
@Param("ticketId") String ticketId,
@Param("mid") Integer mid,
@Param("limitNum") Integer limitNum
@Param("limitNum") Integer limitNum,
@Param("printNum") Integer printNum
);
List<KylinOrderExpress> getCanCancelExpressList(
......
......@@ -38,6 +38,7 @@
AND a.performances_id = #{performanceId}
<if test="ticketId != ''">AND e.tickets_id = #{ticketId}</if>
AND a.mid > ${mid}
<if test="printNum != '' and printNum > 0">AND a.mid > ${printNum}</if>
</where>
ORDER BY a.mid ASC
LIMIT ${limitNum}
......
......@@ -80,7 +80,7 @@
</select>
<select id="misRefundList" resultType="com.liquidnet.service.kylin.dao.OrderRefundDao" resultMap="misRefundListResult">
select t.*, b.order_code, b.performance_title from
select t.*, b.order_code, b.performance_title, b.get_ticket_type from
(select a.*, d.mailno
from kylin_order_refunds a
LEFT JOIN kylin_order_express AS d ON d.order_refunds_id = a.order_refunds_id
......@@ -88,6 +88,9 @@
<if test="orderTicketsId!=''">
AND a.order_tickets_id = #{orderTicketsId}
</if>
<if test="type!=''">
AND a.type = #{type}
</if>
<choose>
<when test="roleType!=''">
<if test="roleType == 1">
......@@ -126,6 +129,9 @@
<if test="orderCode!=''">
AND b.order_code = #{orderCode}
</if>
<if test="getTicketType!=''">
AND b.get_ticket_type = #{getTicketType}
</if>
</where>
</select>
......
......@@ -129,7 +129,7 @@ public class AdamLoginController {
}
AdamUserInfoVo userInfoVo = adamRdmService.getUserInfoVoByUid(uid);
if (null == userInfoVo) {
if (null == userInfoVo || userInfoVo.getState() == 2) {
log.warn("Cancelled mobile:{}", mobile);
return ResponseDto.failure(ErrorMapping.get("10024"));
}
......@@ -169,7 +169,7 @@ public class AdamLoginController {
AdamUserInfoVo userInfoVo = toRegister ? adamUserService.register(mobile) : adamRdmService.getUserInfoVoByUid(uid);
if (!toRegister && null == userInfoVo) {
if (!toRegister && (null == userInfoVo || userInfoVo.getState() == 2)) {
log.warn("Cancelled mobile:{}", mobile);
return ResponseDto.failure(ErrorMapping.get("10024"));
}
......@@ -206,7 +206,7 @@ public class AdamLoginController {
AdamUserInfoVo userInfoVo = toRegister ? adamUserService.register(mobile) : adamRdmService.getUserInfoVoByUid(uid);
if (!toRegister && null == userInfoVo) {
if (!toRegister && (null == userInfoVo || userInfoVo.getState() == 2)) {
log.warn("Cancelled mobile:{}", mobile);
return ResponseDto.failure(ErrorMapping.get("10024"));
}
......@@ -257,6 +257,11 @@ public class AdamLoginController {
AdamUserInfoVo userInfoVo = toRegister ? adamUserService.register(wechatMobile) : adamRdmService.getUserInfoVoByUid(uid);
if (!toRegister && (null == userInfoVo || userInfoVo.getState() == 2)) {
log.warn("Cancelled mobile:{}", wechatMobile);
return ResponseDto.failure(ErrorMapping.get("10024"));
}
// 根据skip值,设置IsComplete(考虑到已存在用户未完善信息的情况,这里只对返回数据单独设置IsComplete)
userInfoVo.setIsComplete(1);
......@@ -285,7 +290,7 @@ public class AdamLoginController {
if (StringUtils.isEmpty(uid)) return ResponseDto.failure(ErrorMapping.get("10006"));
AdamUserInfoVo userInfoVo = adamRdmService.getUserInfoVoByUid(uid);
if (null == userInfoVo) {
if (null == userInfoVo || userInfoVo.getState() == 2) {
log.warn("Cancelled openId:{}", parameter.getOpenId());
return ResponseDto.failure(ErrorMapping.get("10024"));
}
......
......@@ -183,6 +183,10 @@ public class AdamRdmService {
return vo;
}
public void delRealInfoVoByUid(String uid) {
redisUtil.del(AdamRedisConst.INFO_REAL_NAME.concat(uid));
}
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | 认证失败的<ID_TYPE+ID_NO, ID_NAME> */
public boolean setCertificationJunk(int idType, String idNo, String idName) {
......@@ -652,7 +656,7 @@ public class AdamRdmService {
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | <ORDER_NO, MEMBER_ORDER_INFO> */
public boolean setShotMemberOrderVoByOrderNo(String orderNo, AdamMemberOrderVo vo) {
return redisUtil.set(AdamRedisConst.SHOT_MEMBER_ORDER + orderNo, vo);
return redisUtil.set(AdamRedisConst.SHOT_MEMBER_ORDER + orderNo, vo, 604800);
}
public AdamMemberOrderVo getShotMemberOrderVoByOrderNo(String orderNo) {
......
......@@ -179,7 +179,7 @@ public class AdamUserServiceImpl implements IAdamUserService {
AdamThirdPartInfoVo thirdPartVo = adamRdmService.getThirdPartVoByUidPlatform(uid, param.getPlatform());
if (null == thirdPartVo) {// 未绑定
userInfoVo = adamRdmService.getUserInfoVoByUid(uid);
if (null == userInfoVo) {
if (null == userInfoVo || userInfoVo.getState() == 2) {
log.warn("Cancelled mobile:{}", param.getMobile());
return ResponseDto.failure(ErrorMapping.get("10024"));
}
......@@ -301,86 +301,88 @@ public class AdamUserServiceImpl implements IAdamUserService {
objsMobileLocate = CollectionUtil.linkedListObjectArr();
long s = System.currentTimeMillis();
// AdamUserInfoVo userInfoVo = adamRdmService.getUserInfoVoByUid(uid);
//
// adamRdmService.delUidByMobile(userInfoVo.getMobile());
// adamRdmService.delUserInfoVoByUid(uid);
// adamRdmService.delUserMemberVoByUid(uid);
// adamRdmService.delAddressesVoByUid(uid);
// adamRdmService.delEntersVoByUid(uid);
log.debug("##RDS耗时:{}ms", System.currentTimeMillis() - s);
/* ---------------------- 账号基础信息 */
AdamUserInfoVo userInfoVoByUid = adamRdmService.getUserInfoVoByUid(uid);
if (null != userInfoVoByUid) {
userInfoVoByUid.setState(2);
userInfoVoByUid.setUpdatedAt(now);
userInfoVoByUid.setClosedAt(now);
adamRdmService.setUserInfoVoByUid(uid, userInfoVoByUid);
}
// AdamUserInfoVo userInfoVoByUid = adamRdmService.getUserInfoVoByUid(uid);
// if (null != userInfoVoByUid) {
// userInfoVoByUid.setState(2);
// userInfoVoByUid.setUpdatedAt(now);
// userInfoVoByUid.setClosedAt(now);
// adamRdmService.setUserInfoVoByUid(uid, userInfoVoByUid);
// }
adamRdmService.delUserInfoVoByUid(uid);
toMqSqls.add(SqlMapping.get("adam_user.close"));
objsUser.add(new Object[]{now, now, uid});
/* ---------------------- 三方账号信息 */
List<AdamThirdPartInfoVo> thirdPartInfoVos = adamRdmService.getThirdPartVoListByUid(uid);
if (!CollectionUtils.isEmpty(thirdPartInfoVos)) {
adamRdmService.delThirdPartVoListByUid(uid);
thirdPartInfoVos.forEach(r -> {
r.setState(2);
r.setUpdatedAt(now);
// r.setState(2);
// r.setUpdatedAt(now);
if (null != r) {
adamRdmService.delUidByPlatformOpenId(r.getPlatform(), r.getOpenId());
}
});
adamRdmService.setThirdPartVoListByUid(uid, thirdPartInfoVos);
// adamRdmService.setThirdPartVoListByUid(uid, thirdPartInfoVos);
}
toMqSqls.add(SqlMapping.get("adam_third_party.close"));
objsThirdPart.add(new Object[]{now, uid});
/* ---------------------- 用户会员信息 */
AdamUserMemberVo userMemberVoByUid = adamRdmService.getUserMemberVoByUid(uid);
if (null != userMemberVoByUid) {
userMemberVoByUid.setState(2);
userMemberVoByUid.setUpdatedAt(now);
adamRdmService.setUserMemberVoByUid(uid, userMemberVoByUid);
}
// AdamUserMemberVo userMemberVoByUid = adamRdmService.getUserMemberVoByUid(uid);
// if (null != userMemberVoByUid) {
// userMemberVoByUid.setState(2);
// userMemberVoByUid.setUpdatedAt(now);
//
// adamRdmService.setUserMemberVoByUid(uid, userMemberVoByUid);
// }
adamRdmService.delUserMemberVoByUid(uid);
adamRdmService.delMemberOrderVoByUid(uid);
toMqSqls.add(SqlMapping.get("adam_user_member.close"));
objsUserMember.add(new Object[]{now, uid});
/* ---------------------- 用户实名信息 */
AdamRealInfoVo realInfoVoByUid = adamRdmService.getRealInfoVoByUid(uid);
if (null != realInfoVoByUid) {
realInfoVoByUid.setState(2);
adamRdmService.setRealInfoVoByUid(uid, realInfoVoByUid);
}
// AdamRealInfoVo realInfoVoByUid = adamRdmService.getRealInfoVoByUid(uid);
// if (null != realInfoVoByUid) {
// realInfoVoByUid.setState(2);
//
// adamRdmService.setRealInfoVoByUid(uid, realInfoVoByUid);
// }
adamRdmService.delRealInfoVoByUid(uid);
toMqSqls.add(SqlMapping.get("adam_real_name.close"));
objsRealInfo.add(new Object[]{now, uid});
/* ---------------------- 收货地址信息 */
List<AdamAddressesVo> addressesVoByUid = adamRdmService.getAddressesVoByUid(uid);
if (!CollectionUtils.isEmpty(addressesVoByUid)) {
addressesVoByUid.forEach(r -> {
r.setState(2);
r.setUpdatedAt(now);
r.setDeletedAt(now);
});
adamRdmService.setAddressesVoByUid(uid, addressesVoByUid);
}
// List<AdamAddressesVo> addressesVoByUid = adamRdmService.getAddressesVoByUid(uid);
// if (!CollectionUtils.isEmpty(addressesVoByUid)) {
// addressesVoByUid.forEach(r -> {
// r.setState(2);
// r.setUpdatedAt(now);
// r.setDeletedAt(now);
// });
//
// adamRdmService.setAddressesVoByUid(uid, addressesVoByUid);
// }
adamRdmService.delAddressesVoByUid(uid);
toMqSqls.add(SqlMapping.get("adam_addresses.close"));
objsAddresses.add(new Object[]{now, now, uid});
/* ---------------------- 入场人信息 */
List<AdamEntersVo> entersVoByUid = adamRdmService.getEntersVoByUid(uid);
if (!CollectionUtils.isEmpty(entersVoByUid)) {
entersVoByUid.forEach(r -> {
r.setState(2);
r.setUpdatedAt(now);
r.setDeletedAt(now);
});
adamRdmService.setEntersVoByUid(uid, entersVoByUid);
}
// List<AdamEntersVo> entersVoByUid = adamRdmService.getEntersVoByUid(uid);
// if (!CollectionUtils.isEmpty(entersVoByUid)) {
// entersVoByUid.forEach(r -> {
// r.setState(2);
// r.setUpdatedAt(now);
// r.setDeletedAt(now);
// });
//
// adamRdmService.setEntersVoByUid(uid, entersVoByUid);
// }
adamRdmService.delEntersVoByUid(uid);
toMqSqls.add(SqlMapping.get("adam_enters.close"));
objsEnters.add(new Object[]{now, now, uid});
......
......@@ -9,8 +9,8 @@ liquidnet:
#host: 172.17.207.177:7001
instance:
prefer-ip-address: true
host: eureka-test-0.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-1.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-2.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka
#host: eureka-test-0.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-1.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-2.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka
host: 192.168.193.41:7001
# end-test-这里是配置信息基本值
spring:
......
......@@ -155,7 +155,7 @@ public class CandyCouponServiceImpl implements ICandyCouponService {
continue;
}
}
if (baseVo.getCouType().equals(101)) {
if (baseVo.getCouType().equals(101) || baseVo.getCouType().equals(3)) {
continue;
}
if (dtoItem.getExclusive().equals(1)) { //会员券
......@@ -186,7 +186,7 @@ public class CandyCouponServiceImpl implements ICandyCouponService {
int canUse = 0;
for (CandyUserCouponBasicDto dtoItem : dtoList) {
CandyCouponVo baseVo = CouponBaseUtil.getPerformanceCouponUserVo(dtoItem, priceTotal, performanceId, timeId, ticketId);
if (baseVo.getCouType().equals(101) || baseVo.getBusiType() == 2) {
if (baseVo.getCouType().equals(101) || baseVo.getCouType().equals(3) || baseVo.getBusiType() == 2) {
continue;
}
if (baseVo.getState().equals(1)) { //可用
......
......@@ -9,8 +9,8 @@ liquidnet:
#host: 172.17.207.177:7001
instance:
prefer-ip-address: true
host: eureka-test-0.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-1.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-2.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka
#host: eureka-test-0.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-1.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-2.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka
host: 192.168.193.41:7001
# end-test-这里是配置信息基本值
spring:
......
......@@ -9,8 +9,8 @@ liquidnet:
#host: 172.17.207.177:7001
instance:
prefer-ip-address: true
host: eureka-test-0.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-1.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-2.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka
#host: eureka-test-0.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-1.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-2.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka
host: 192.168.193.41:7001
# end-dev-这里是配置信息基本值
spring:
......
......@@ -9,8 +9,8 @@ liquidnet:
#host: 172.17.207.177:7001
instance:
prefer-ip-address: true
host: eureka-test-0.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-1.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-2.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka
#host: eureka-test-0.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-1.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-2.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka
host: 192.168.193.41:7001
# end-test-这里是配置信息基本值
spring:
......
......@@ -9,8 +9,8 @@ liquidnet:
#host: 172.17.207.177:7001
instance:
prefer-ip-address: true
host: eureka-test-0.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-1.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-2.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka
#host: eureka-test-0.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-1.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-2.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka
host: 192.168.193.41:7001
# end-test-这里是配置信息基本值
spring:
......
......@@ -9,8 +9,8 @@ liquidnet:
#host: 172.17.207.177:7001
instance:
prefer-ip-address: true
host: eureka-test-0.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-1.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-2.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka
#host: eureka-test-0.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-1.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-2.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka
host: 192.168.193.41:7001
# end-test-这里是配置信息基本值
spring:
......
......@@ -9,8 +9,8 @@ liquidnet:
#host: 172.17.207.177:7001
instance:
prefer-ip-address: true
host: eureka-test-0.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-1.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-2.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka
#host: eureka-test-0.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-1.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-2.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka
host: 192.168.193.41:7001
# end-test-这里是配置信息基本值
spring:
......
......@@ -9,8 +9,8 @@ liquidnet:
#host: 172.17.207.177:7001
instance:
prefer-ip-address: true
host: eureka-test-0.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-1.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-2.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka
#host: eureka-test-0.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-1.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-2.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka
host: 192.168.193.41:7001
# end-dev-这里是配置信息基本值
spring:
......
......@@ -9,11 +9,9 @@ liquidnet:
#host: 172.17.207.177:7001,172.17.121.158:7001,172.17.121.157:7001
instance:
prefer-ip-address: true
host: eureka-test-0.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-1.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-2.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka
#host: eureka-test-0.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-1.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-2.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka
host: 192.168.193.41:7001
# end-dev-这里是配置信息基本值
spring:
profiles:
include: service-example
\ No newline at end of file
......@@ -9,8 +9,8 @@ liquidnet:
#host: 172.17.207.177:7001
instance:
prefer-ip-address: true
host: eureka-test-0.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-1.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-2.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka
#host: eureka-test-0.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-1.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-2.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka
host: 192.168.193.41:7001
# end-dev-这里是配置信息基本值
......
......@@ -9,8 +9,8 @@ liquidnet:
#host: 172.17.207.177:7001
instance:
prefer-ip-address: true
host: eureka-test-0.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-1.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-2.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka
#host: eureka-test-0.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-1.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-2.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka
host: 192.168.193.41:7001
# end-dev-这里是配置信息基本值
......
......@@ -9,8 +9,8 @@ liquidnet:
#host: 172.17.207.177:7001
instance:
prefer-ip-address: true
host: eureka-test-0.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-1.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-2.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka
#host: eureka-test-0.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-1.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-2.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka
host: 192.168.193.41:7001
# end-dev-这里是配置信息基本值
......
......@@ -101,6 +101,9 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
try {
if (payOrderParam.getVoucherType() != null && payOrderParam.getVoucherType().equals(3)) {
isPay = false;
if(payOrderParam.getNumber()>1){
return ResponseDto.failure("张数大于1不支持兑换");//参数错误
}
}
KylinPerformanceVo performanceData = dataUtils.getPerformanceVo(payOrderParam.getPerformanceId());
KylinTicketTimesVo ticketTimesData = null;
......
......@@ -9,8 +9,8 @@ liquidnet:
#host: 172.17.207.177:7001
instance:
prefer-ip-address: true
host: eureka-test-0.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-1.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-2.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka
#host: eureka-test-0.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-1.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-2.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka
host: 192.168.193.41:7001
# end-dev-这里是配置信息基本值
......
......@@ -9,8 +9,8 @@ liquidnet:
#host: 172.17.207.177:7001
instance:
prefer-ip-address: true
host: eureka-test-0.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-1.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-2.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka
#host: eureka-test-0.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-1.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-2.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka
host: 192.168.193.41:7001
# end-test-这里是配置信息基本值
......
......@@ -441,6 +441,9 @@ CREATE TABLE `sweet_wechat_user`
ROW_FORMAT = DYNAMIC COMMENT '正在现场服务号关注事件储存用户信息表';
alter table sweet_wechat_user add type tinyint NOT NULL DEFAULT 1 COMMENT '服务类型 1正在 2摩登' after user_id;
alter table sweet_wechat_user add adam_user_id varchar(200) NOT NULL DEFAULT '' COMMENT 'adam用户id' after user_id;
alter table sweet_wechat_user add adam_phone varchar(200) NOT NULL DEFAULT '' COMMENT 'adam用户手机号' after adam_user_id;
-- 小程序登录记录用户解密后信息表
drop TABLE if exists `sweet_applet_user`;
CREATE TABLE `sweet_applet_user`
......
......@@ -23,6 +23,7 @@ public class SweetConstant {
public final static String REDIS_KEY_SWEET_WECHAT_USER_INFO="sweet:wechatUser:unionId:";
public final static String REDIS_KEY_SWEET_WECHAT_USER_INFO_STR="sweet:wechatUser:unionIdStr:";
public final static String REDIS_KEY_SWEET_WECHAT_USER_UNIONID="sweet:wechatUser:openId:";
public final static String REDIS_KEY_SWEET_WECHAT_USER_UNIONID_PHONE="sweet:wechatUser:phone:";
public final static String REDIS_KEY_SWEET_ANSWER_PHONE="sweet:answer:phone:";
public final static String REDIS_KEY_SWEET_CITY_VOTE_STAT_LIST=":StatList";
public final static String REDIS_KEY_SWEET_CITY_VOTE_CITY_CODE=":cityCode:";
......
......@@ -7,12 +7,14 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
@Api(tags = "服务号-模版消息")
@Slf4j
@RestController
@RequestMapping("/wechatTemplate")
public class SweetWechatTemplateController {
......@@ -52,12 +54,17 @@ public class SweetWechatTemplateController {
@ApiImplicitParams({
@ApiImplicitParam(type = "form", dataType = "String", name = "unionId", value = "微信unionId", required = true),
@ApiImplicitParam(type = "form", dataType = "Integer", name = "type", value = "type 1正在 2摩登", required = false),
@ApiImplicitParam(type = "form", dataType = "String", name = "userId", value = "正在用户ID", required = false),
@ApiImplicitParam(type = "form", dataType = "String", name = "phone", value = "正在用户手机号", required = false),
})
public ResponseDto followStatus(
@RequestParam() String unionId,
@RequestParam(defaultValue = "1") Integer type
@RequestParam(defaultValue = "1") Integer type,
@RequestParam(defaultValue = "") String userId,
@RequestParam(defaultValue = "") String phone
) {
boolean status = sweetTemplateService.followStatus(unionId, type);
log.info("followStatus参数 [unionId:{},type:{},userId:{},phone:{}]", unionId, type, userId, phone);
boolean status = sweetTemplateService.followStatus(unionId, type, userId, phone);
if (status) {
return ResponseDto.success(1);
} else {
......
......@@ -30,6 +30,16 @@ public class SweetWechatUser implements Serializable {
*/
private String userId;
/**
* adam_user_id
*/
private String adamUserId;
/**
* adam_phone
*/
private String adamPhone;
/**
* openId
*/
......
......@@ -6,6 +6,7 @@ import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo;
......@@ -31,6 +32,7 @@ import org.springframework.util.CollectionUtils;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
/**
......@@ -259,7 +261,7 @@ public class SweetWechatTemplateServiceImpl {
}
}
public boolean followStatus(String unionId, Integer type) {
public boolean followStatus(String unionId, Integer type, String userId, String phone) {
SweetWechatUser sweetWechatUser = null;
if (null == type || type <= 1) {
sweetWechatUser = redisDataUtils.getSweetWechatUser(unionId);
......@@ -268,6 +270,42 @@ public class SweetWechatTemplateServiceImpl {
}
if (null != sweetWechatUser && !sweetWechatUser.getUnionId().isEmpty()) {
// 同步手机号
String oldAdamUserId = sweetWechatUser.getAdamUserId();
String oldAdamPhone = sweetWechatUser.getAdamPhone();
if (null == oldAdamUserId) {
oldAdamUserId = "";
}
if (null == oldAdamPhone) {
oldAdamPhone = "";
}
if ((!phone.isEmpty() || !userId.isEmpty()) && (oldAdamUserId.isEmpty() || oldAdamPhone.isEmpty())) {
if (phone.isEmpty()) {
phone = oldAdamPhone;
} else {
redisDataUtils.setUnionIdByPhone(phone, unionId);
}
if (userId.isEmpty()) {
userId = oldAdamUserId;
}
sweetWechatUser.setAdamPhone(phone);
sweetWechatUser.setAdamUserId(userId);
if (null == type || type <= 1) {
redisDataUtils.setSweetWechatUser(sweetWechatUser);
} else if (type == 2) {
redisDataUtils.setSweetWechatUserModernsky(sweetWechatUser);
}
LinkedList<String> sqls = CollectionUtil.linkedListString();
LinkedList<Object[]> sqlsDataA = CollectionUtil.linkedListObjectArr();
sqls.add(SqlMapping.get("sweet_user.update2"));
LocalDateTime now = LocalDateTime.now();
sqlsDataA.add(new Object[]{
userId, phone, now, unionId, type
});
queueUtils.sendMsgByRedis(MQConst.SweetQueue.SWEET_USER_INSERT_DRAW.getKey(),
SqlMapping.gets(sqls, sqlsDataA));
}
return true;
} else {
return false;
......
......@@ -338,6 +338,21 @@ public class RedisDataUtils {
return (String) redisUtil.get(redisKey);
}
public String getUnionIdByPhone(String phone) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_WECHAT_USER_UNIONID_PHONE.concat(phone);
Object obj = redisUtil.get(redisKey);
if (null == obj) {
return "";
} else {
return (String) redisUtil.get(redisKey);
}
}
public void setUnionIdByPhone(String phone, String unionId) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_WECHAT_USER_UNIONID_PHONE.concat(phone);
redisUtil.set(redisKey, unionId);
}
public SweetWechatUser getSweetWechatUser(String unionid) {
if (unionid.isEmpty()) {
return null;
......
......@@ -9,8 +9,8 @@ liquidnet:
#host: 172.17.207.177:7001
instance:
prefer-ip-address: true
host: eureka-test-0.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-1.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-2.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka
#host: eureka-test-0.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-1.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka,eureka-test-2.eureka-test-svc.zhengzai-test:7001/eureka-server/eureka
host: 192.168.193.41:7001
# end-dev-这里是配置信息基本值
......
......@@ -45,6 +45,7 @@ sweet_answer.insert=INSERT INTO sweet_answer (answer_id,phone,answer_json,img_ur
# --------------------------关注/取消服务号的用户信息--------------------------
sweet_user.insert=INSERT INTO sweet_wechat_user (user_id,type,openId,unionId,nickname,sexDesc,sex,headImgUrl,language,country,province,city,subscribeTime,subscribeScene) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?)
sweet_user.update=UPDATE sweet_wechat_user SET is_cancel = ?, updated_at = ? WHERE unionId = ? and type = ?
sweet_user.update2=UPDATE sweet_wechat_user SET adam_user_id = ?, adam_phone = ?, updated_at = ? WHERE unionId = ? and type = ?
# --------------------------提醒记录--------------------------
sweet_remind.insert=INSERT INTO sweet_remind (remind_id,openId,unionId,performancesId) VALUES (?,?,?,?)
# --------------------------小程序登录记录用户解密后信息--------------------------
......
......@@ -38,7 +38,7 @@ eureka:
register-with-eureka: true #禁止自己当做服务注册
fetch-registry: true #屏蔽注册信息
serviceUrl:
defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@eureka-test-0.eureka-test-svc.zhengzai-test:7001${server.servlet.context-path}/eureka,http://${spring.security.user.name}:${spring.security.user.password}@eureka-test-1.eureka-test-svc.zhengzai-test:7001${server.servlet.context-path}/eureka,http://${spring.security.user.name}:${spring.security.user.password}@eureka-test-2.eureka-test-svc.zhengzai-test:7001${server.servlet.context-path}/eureka
defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@eureka-test-0.eureka-test-svc.zhengzai-test:7001${server.servlet.context-path}/eureka
# instance:
# prefer-ip-address: true
# instance-id: ${spring.application.name}:${server.port}
......
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