记得上下班打卡 | 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 { ...@@ -25,6 +25,8 @@ public class RefundSearchParam implements Serializable {
private String orderRefundCode; private String orderRefundCode;
private String orderCode; private String orderCode;
private String getTicketType;
private Integer type;
private String status; private String status;
private List<String> statusStr; 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 { ...@@ -112,6 +112,7 @@ public class CandyCouponCodeAdminController extends BaseController {
LambdaQueryWrapper<CandyCouponCode> couponCodeLambdaQueryWrapper = Wrappers.lambdaQuery(CandyCouponCode.class); LambdaQueryWrapper<CandyCouponCode> couponCodeLambdaQueryWrapper = Wrappers.lambdaQuery(CandyCouponCode.class);
couponCodeLambdaQueryWrapper.in(CandyCouponCode::getCcode, ccodes); couponCodeLambdaQueryWrapper.in(CandyCouponCode::getCcode, ccodes);
couponCodeLambdaQueryWrapper.eq(CandyCouponCode::getCouponId, couponId); couponCodeLambdaQueryWrapper.eq(CandyCouponCode::getCouponId, couponId);
couponCodeLambdaQueryWrapper.eq(CandyCouponCode::getState, 0);
List<CandyCouponCode> list = candyCouponCodeAdminService.list(couponCodeLambdaQueryWrapper); List<CandyCouponCode> list = candyCouponCodeAdminService.list(couponCodeLambdaQueryWrapper);
List<String> ccodeUpdateList = CollectionUtil.arrayListString(); List<String> ccodeUpdateList = CollectionUtil.arrayListString();
...@@ -155,6 +156,8 @@ public class CandyCouponCodeAdminController extends BaseController { ...@@ -155,6 +156,8 @@ public class CandyCouponCodeAdminController extends BaseController {
LambdaQueryWrapper<CandyCouponCode> couponCodeLambdaQueryWrapper = Wrappers.lambdaQuery(CandyCouponCode.class); LambdaQueryWrapper<CandyCouponCode> couponCodeLambdaQueryWrapper = Wrappers.lambdaQuery(CandyCouponCode.class);
couponCodeLambdaQueryWrapper.in(CandyCouponCode::getUcouponId, ucouponIds); couponCodeLambdaQueryWrapper.in(CandyCouponCode::getUcouponId, ucouponIds);
couponCodeLambdaQueryWrapper.eq(CandyCouponCode::getCouponId, couponId); 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<CandyCouponCode> list = candyCouponCodeAdminService.list(couponCodeLambdaQueryWrapper);
List<String> ccodeUpdateList = CollectionUtil.arrayListString(); List<String> ccodeUpdateList = CollectionUtil.arrayListString();
...@@ -166,6 +169,8 @@ public class CandyCouponCodeAdminController extends BaseController { ...@@ -166,6 +169,8 @@ public class CandyCouponCodeAdminController extends BaseController {
vos.removeIf(rv -> rv.getUcouponId().equals(r.getUcouponId())); vos.removeIf(rv -> rv.getUcouponId().equals(r.getUcouponId()));
} }
redisUtil.set(uckey, vos);
ccodeUpdateList.add(r.getUcouponId()); ccodeUpdateList.add(r.getUcouponId());
}); });
......
...@@ -15,6 +15,7 @@ import com.liquidnet.service.kylin.constant.KylinTableStatusConst; ...@@ -15,6 +15,7 @@ import com.liquidnet.service.kylin.constant.KylinTableStatusConst;
import com.liquidnet.service.kylin.dao.OrderRefundDao; import com.liquidnet.service.kylin.dao.OrderRefundDao;
import com.liquidnet.service.kylin.dto.param.RefundApplyParam; import com.liquidnet.service.kylin.dto.param.RefundApplyParam;
import com.liquidnet.service.kylin.dto.param.RefundSearchParam; 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.dto.vo.returns.KylinOrderRefundsVo;
import com.liquidnet.service.kylin.service.IKylinOrderRefundsService; import com.liquidnet.service.kylin.service.IKylinOrderRefundsService;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
...@@ -55,13 +56,13 @@ public class KylinOrderRefundAdminController extends BaseController { ...@@ -55,13 +56,13 @@ public class KylinOrderRefundAdminController extends BaseController {
return prefix + "/refund"; return prefix + "/refund";
} }
@Log(title = "订单退款列表", businessType = BusinessType.DETAIL) @Log(title = "订单退款详情", businessType = BusinessType.DETAIL)
@RequiresPermissions("kylin:refund:detail") @RequiresPermissions("kylin:refund:detail")
@GetMapping(value = "/details/{orderRefundId}") @GetMapping(value = "/details/{orderRefundId}")
public String detail(@PathVariable("orderRefundId") String orderRefundId, ModelMap mmap) { public String detail(@PathVariable("orderRefundId") String orderRefundId, ModelMap mmap) {
KylinOrderRefundsVo result = null; KylinOrderRefundsAdminVo result = null;
result = kylinOrderRefundsServiceImpl.detail(orderRefundId); result = kylinOrderRefundsServiceImpl.detail(orderRefundId);
mmap.put("KylinOrderRefundsVo", result); mmap.put("KylinOrderRefundsAdminVo", result);
return prefix + "/details"; return prefix + "/details";
} }
...@@ -79,14 +80,14 @@ public class KylinOrderRefundAdminController extends BaseController { ...@@ -79,14 +80,14 @@ public class KylinOrderRefundAdminController extends BaseController {
return prefix + "/applyView"; return prefix + "/applyView";
} }
@Log(title = "订单退款列表", businessType = BusinessType.DETAIL) @Log(title = "申请退款检测详情", businessType = BusinessType.DETAIL)
@PostMapping("applyOrder") @PostMapping("applyOrder")
@ResponseBody @ResponseBody
public AjaxResult applyOrder(RefundApplyParam refundApplyParam) { public AjaxResult applyOrder(RefundApplyParam refundApplyParam) {
return kylinOrderRefundsServiceImpl.orderDetails(refundApplyParam.getOrderCode()); return kylinOrderRefundsServiceImpl.orderDetails(refundApplyParam.getOrderCode());
} }
@Log(title = "订单退款列表", businessType = BusinessType.INSERT) @Log(title = "申请退款", businessType = BusinessType.INSERT)
@RequiresPermissions("kylin:refund:apply") @RequiresPermissions("kylin:refund:apply")
@PostMapping("apply") @PostMapping("apply")
@ResponseBody @ResponseBody
...@@ -105,7 +106,7 @@ public class KylinOrderRefundAdminController extends BaseController { ...@@ -105,7 +106,7 @@ public class KylinOrderRefundAdminController extends BaseController {
} }
} }
@Log(title = "订单退款列表", businessType = BusinessType.CANCEL) @Log(title = "取消退款", businessType = BusinessType.CANCEL)
@RequiresPermissions("kylin:refund:cancel") @RequiresPermissions("kylin:refund:cancel")
@PostMapping("cancel") @PostMapping("cancel")
@ResponseBody @ResponseBody
...@@ -125,7 +126,7 @@ public class KylinOrderRefundAdminController extends BaseController { ...@@ -125,7 +126,7 @@ public class KylinOrderRefundAdminController extends BaseController {
} }
} }
@Log(title = "订单退款列表", businessType = BusinessType.REAPPLY) @Log(title = "重新提交退款", businessType = BusinessType.REAPPLY)
@RequiresPermissions("kylin:refund:reapply") @RequiresPermissions("kylin:refund:reapply")
@PostMapping("reapply") @PostMapping("reapply")
@ResponseBody @ResponseBody
...@@ -146,7 +147,7 @@ public class KylinOrderRefundAdminController extends BaseController { ...@@ -146,7 +147,7 @@ public class KylinOrderRefundAdminController extends BaseController {
} }
// 运营审核 // 运营审核
@Log(title = "订单退款列表", businessType = BusinessType.AUDIT) @Log(title = "运营审核", businessType = BusinessType.AUDIT)
@RequiresPermissions("kylin:refund:review") @RequiresPermissions("kylin:refund:review")
@PostMapping("review") @PostMapping("review")
@ResponseBody @ResponseBody
...@@ -175,7 +176,7 @@ public class KylinOrderRefundAdminController extends BaseController { ...@@ -175,7 +176,7 @@ public class KylinOrderRefundAdminController extends BaseController {
} }
// 票务审核 // 票务审核
@Log(title = "票务审核退款", businessType = BusinessType.AUDIT3) @Log(title = "票务审核", businessType = BusinessType.AUDIT3)
@RequiresPermissions("kylin:refund:ticketAudit") @RequiresPermissions("kylin:refund:ticketAudit")
@PostMapping("ticketAudit") @PostMapping("ticketAudit")
@ResponseBody @ResponseBody
...@@ -198,7 +199,7 @@ public class KylinOrderRefundAdminController extends BaseController { ...@@ -198,7 +199,7 @@ public class KylinOrderRefundAdminController extends BaseController {
} }
// 财务审核 // 财务审核
@Log(title = "订单退款列表", businessType = BusinessType.AUDIT2) @Log(title = "财务审核", businessType = BusinessType.AUDIT2)
@RequiresPermissions("kylin:refund:execute") @RequiresPermissions("kylin:refund:execute")
@PostMapping("execute") @PostMapping("execute")
@ResponseBody @ResponseBody
...@@ -240,7 +241,7 @@ public class KylinOrderRefundAdminController extends BaseController { ...@@ -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") @RequiresPermissions("kylin:refund:completed")
@PostMapping("completed") @PostMapping("completed")
@ResponseBody @ResponseBody
......
...@@ -293,8 +293,8 @@ public class PerformancesExpressController extends BaseController { ...@@ -293,8 +293,8 @@ public class PerformancesExpressController extends BaseController {
@RequiresPermissions("kylin:performancesExpress:batchPrintExpress") @RequiresPermissions("kylin:performancesExpress:batchPrintExpress")
@PostMapping("/batchPrintExpress") @PostMapping("/batchPrintExpress")
@ResponseBody @ResponseBody
public ResponseDto<KylinOrderExpressPrintVo> batchPrintExpress(@RequestParam("ids") String performanceId, @RequestParam("ticketId") String ticketId) { public ResponseDto<KylinOrderExpressPrintVo> batchPrintExpress(@RequestParam("ids") String performanceId, @RequestParam("ticketId") String ticketId, @RequestParam("printNum") Integer printNum) {
KylinOrderExpressPrintVo res = performancesExpressServiceImpl.batchPrintExpress(performanceId, ticketId); KylinOrderExpressPrintVo res = performancesExpressServiceImpl.batchPrintExpress(performanceId, ticketId, printNum);
try { try {
return ResponseDto.success(res); return ResponseDto.success(res);
} catch (Exception e) { } catch (Exception e) {
......
...@@ -9,8 +9,8 @@ liquidnet: ...@@ -9,8 +9,8 @@ liquidnet:
#host: 172.17.207.177:7001 #host: 172.17.207.177:7001
instance: instance:
prefer-ip-address: true 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-这里是配置信息基本值 # end-dev-这里是配置信息基本值
spring: spring:
......
...@@ -78,6 +78,25 @@ ...@@ -78,6 +78,25 @@
position: absolute; 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 { .ibox {
margin-bottom: 25px; margin-bottom: 25px;
background-color: #fff; background-color: #fff;
......
...@@ -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, 200], pageList: [10, 25, 50, 200, 500, 2000],
toolbar: "toolbar", toolbar: "toolbar",
loadingFontSize: 13, loadingFontSize: 13,
striped: false, striped: false,
......
...@@ -92,7 +92,7 @@ ...@@ -92,7 +92,7 @@
if (row.state === 0) { 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> '); 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) { } 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(''); return actions.join('');
} }
...@@ -113,17 +113,21 @@ ...@@ -113,17 +113,21 @@
function invalidHandler(ccode) { function invalidHandler(ccode) {
if (ccode !== null && ccode !== undefined) { if (ccode !== null && ccode !== undefined) {
var data = {"couponId":couponId,"ccodes": ccode}; $.modal.confirm("是否失效?", function() {
$.operate.submit('code/invalid', "post", "json", data); var data = {"couponId":couponId,"ccodes": ccode};
$.operate.submit('code/invalid', "post", "json", data);
});
} else { } else {
$.operate.batchProcessingForCouponCode(couponId, 1); $.operate.batchProcessingForCouponCode(couponId, 1);
} }
} }
function recoverHandler(ccode, ucouponId) { function recoverHandler(ccode, ucouponId) {
if (ccode !== null && ccode !== undefined) { if (ccode !== null && ccode !== undefined && ucouponId !== null && ucouponId !== undefined) {
var data = {"ucouponId":ucouponId,"couponId":couponId,"ccodes": ccode}; var data = {"ucouponIds": ucouponId, "couponId": couponId, "ccodes": ccode};
$.operate.submit('code/recover', "post", "json", data); $.modal.confirm("是否退回?", function() {
$.operate.submit('code/recover', "post", "json", data);
});
} }
// else { // else {
// $.operate.batchProcessingForCouponCode(couponId, 2); // $.operate.batchProcessingForCouponCode(couponId, 2);
......
...@@ -53,6 +53,12 @@ ...@@ -53,6 +53,12 @@
</select> </select>
</div> </div>
</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> </div>
</form> </form>
</div> </div>
...@@ -266,7 +272,7 @@ ...@@ -266,7 +272,7 @@
LODOP.PRINT(); LODOP.PRINT();
} }
function printExpress(performanceId, ticketId) { function printExpress(performanceId, ticketId, printNum) {
var message = "确定打印吗?"; var message = "确定打印吗?";
$.modal.confirm(message, function () { $.modal.confirm(message, function () {
try { try {
...@@ -279,7 +285,7 @@ ...@@ -279,7 +285,7 @@
} }
var data = ''; var data = '';
var ids = [performanceId]; var ids = [performanceId];
data = {"ids": ids.join(), "ticketId": ticketId}; data = {"ids": ids.join(), "ticketId": ticketId, "printNum": printNum};
var configPrint = { var configPrint = {
url: prefix + "/batchPrintExpress", url: prefix + "/batchPrintExpress",
type: "post", type: "post",
...@@ -355,7 +361,8 @@ ...@@ -355,7 +361,8 @@
shadeClose: true, shadeClose: true,
btn1: function (index, layero) { btn1: function (index, layero) {
var ticketId = layero.find('#openTicketListTplSelect').val(); var ticketId = layero.find('#openTicketListTplSelect').val();
printExpress(performanceId, ticketId); var printNum = layero.find('#printNum').val();
printExpress(performanceId, ticketId, printNum);
} }
}); });
} }
......
...@@ -18,6 +18,24 @@ ...@@ -18,6 +18,24 @@
<label>订单编号:</label> <label>订单编号:</label>
<input type="text" name="orderCode"/> <input type="text" name="orderCode"/>
</li> </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> <li>
<label>退款状态:</label> <label>退款状态:</label>
<select name="status"> <select name="status">
...@@ -114,7 +132,8 @@ ...@@ -114,7 +132,8 @@
<a class="btn btn-primary multiple disabled" onclick="execute()" shiro:hasPermission="kylin:refund:execute"> <a class="btn btn-primary multiple disabled" onclick="execute()" shiro:hasPermission="kylin:refund:execute">
财务审核 财务审核
</a> </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>
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll('确定取消选中的退款申请吗?', 'refund/cancel')" <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll('确定取消选中的退款申请吗?', 'refund/cancel')"
...@@ -225,7 +244,8 @@ ...@@ -225,7 +244,8 @@
$.operate.save(prefix + "/ticketAudit", data); $.operate.save(prefix + "/ticketAudit", data);
layer.close(index) layer.close(index)
}, },
btn2: function (index, layero) {} btn2: function (index, layero) {
}
}); });
} }
...@@ -286,6 +306,37 @@ ...@@ -286,6 +306,37 @@
field: 'orderCode', field: 'orderCode',
title: '订单编号' 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', field: 'price',
title: '退票金额' title: '退票金额'
......
...@@ -24,6 +24,7 @@ import com.liquidnet.service.kylin.dto.param.RefundCallbackParam; ...@@ -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.param.RefundSearchParam;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo; 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.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.KylinOrderRefundsVo;
import com.liquidnet.service.kylin.dto.vo.returns.RefundOrderDetailsVo; import com.liquidnet.service.kylin.dto.vo.returns.RefundOrderDetailsVo;
import com.liquidnet.service.kylin.entity.*; import com.liquidnet.service.kylin.entity.*;
...@@ -370,12 +371,13 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM ...@@ -370,12 +371,13 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM
} }
} }
public KylinOrderRefundsVo detail(String orderRefundId) { public KylinOrderRefundsAdminVo detail(String orderRefundId) {
// 退款订单数据
KylinOrderRefunds data = kylinOrderRefundsMapper.selectOne( KylinOrderRefunds data = kylinOrderRefundsMapper.selectOne(
new QueryWrapper<KylinOrderRefunds>() new QueryWrapper<KylinOrderRefunds>()
.eq("order_refunds_id", orderRefundId) .eq("order_refunds_id", orderRefundId)
); );
// 退款票种
List<KylinOrderRefundEntities> refundEntities = kylinOrderRefundsEntitiesMapper.selectList( List<KylinOrderRefundEntities> refundEntities = kylinOrderRefundsEntitiesMapper.selectList(
new QueryWrapper<KylinOrderRefundEntities>().eq("order_refunds_id", orderRefundId) new QueryWrapper<KylinOrderRefundEntities>().eq("order_refunds_id", orderRefundId)
); );
...@@ -384,8 +386,8 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM ...@@ -384,8 +386,8 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM
for (KylinOrderRefundsEntitiesDao item : entities) { for (KylinOrderRefundsEntitiesDao item : entities) {
item.setPaymentName(item.getIsPayment()); item.setPaymentName(item.getIsPayment());
} }
// 退款申请图片
KylinOrderRefundsVo kylinOrderRefundsVo = new KylinOrderRefundsVo(); KylinOrderRefundsAdminVo kylinOrderRefundsVo = KylinOrderRefundsAdminVo.getNew();
kylinOrderRefundsVo.setEntities(entities); kylinOrderRefundsVo.setEntities(entities);
BeanUtils.copyProperties(data, kylinOrderRefundsVo); BeanUtils.copyProperties(data, kylinOrderRefundsVo);
KylinOrderRefundPic kylinOrderRefundPic = kylinOrderRefundPicMapper.selectOne(new UpdateWrapper<KylinOrderRefundPic>().eq("order_refunds_id", orderRefundId)); KylinOrderRefundPic kylinOrderRefundPic = kylinOrderRefundPicMapper.selectOne(new UpdateWrapper<KylinOrderRefundPic>().eq("order_refunds_id", orderRefundId));
...@@ -395,10 +397,31 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM ...@@ -395,10 +397,31 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM
}); });
kylinOrderRefundsVo.setPicList(strList); kylinOrderRefundsVo.setPicList(strList);
} }
// 订单表
KylinOrderTickets kylinOrderTickets = kylinOrderTicketsMapper.selectOne( KylinOrderTickets kylinOrderTickets = kylinOrderTicketsMapper.selectOne(
Wrappers.lambdaQuery(KylinOrderTickets.class).eq(KylinOrderTickets::getOrderTicketsId, data.getOrderTicketsId()) 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()); kylinOrderRefundsVo.setPayType(kylinOrderTickets.getPayType());
return kylinOrderRefundsVo; return kylinOrderRefundsVo;
......
...@@ -622,13 +622,13 @@ public class PerformancesExpressServiceImpl extends ServiceImpl<KylinOrderExpres ...@@ -622,13 +622,13 @@ public class PerformancesExpressServiceImpl extends ServiceImpl<KylinOrderExpres
return kylinOrderExpressPrintVo; return kylinOrderExpressPrintVo;
} }
public KylinOrderExpressPrintVo batchPrintExpress(String performanceId, String ticketId) { public KylinOrderExpressPrintVo batchPrintExpress(String performanceId, String ticketId, Integer printNum) {
List<OrderExpressListDao> newList = new ArrayList<>(); List<OrderExpressListDao> newList = new ArrayList<>();
int count = 0; int count = 0;
int limitNum = 1000; int limitNum = 1000;
int mid = 0; int mid = 0;
do { do {
List<OrderExpressListDao> list = kylinOrderExpressMapper.selectPrintListOfPerformanceId(performanceId, ticketId, mid, limitNum); List<OrderExpressListDao> list = kylinOrderExpressMapper.selectPrintListOfPerformanceId(performanceId, ticketId, mid, limitNum, printNum);
if (!CollectionUtil.isEmpty(list)) { if (!CollectionUtil.isEmpty(list)) {
newList.addAll(list); newList.addAll(list);
......
...@@ -9,8 +9,8 @@ liquidnet: ...@@ -9,8 +9,8 @@ liquidnet:
#host: 172.17.207.177:7001 #host: 172.17.207.177:7001
instance: instance:
prefer-ip-address: true 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-这里是配置信息基本值 # end-dev-这里是配置信息基本值
......
...@@ -76,6 +76,8 @@ public class OrderRefundDao implements Serializable { ...@@ -76,6 +76,8 @@ public class OrderRefundDao implements Serializable {
private String performanceTitle; private String performanceTitle;
private String getTicketType;
private String mailno; private String mailno;
public void setStatusName(Integer status){ public void setStatusName(Integer status){
......
...@@ -23,7 +23,8 @@ public interface KylinOrderExpressMapper extends BaseMapper<KylinOrderExpress> { ...@@ -23,7 +23,8 @@ public interface KylinOrderExpressMapper extends BaseMapper<KylinOrderExpress> {
@Param("performanceId") String performanceId, @Param("performanceId") String performanceId,
@Param("ticketId") String ticketId, @Param("ticketId") String ticketId,
@Param("mid") Integer mid, @Param("mid") Integer mid,
@Param("limitNum") Integer limitNum @Param("limitNum") Integer limitNum,
@Param("printNum") Integer printNum
); );
List<KylinOrderExpress> getCanCancelExpressList( List<KylinOrderExpress> getCanCancelExpressList(
......
...@@ -38,6 +38,7 @@ ...@@ -38,6 +38,7 @@
AND a.performances_id = #{performanceId} AND a.performances_id = #{performanceId}
<if test="ticketId != ''">AND e.tickets_id = #{ticketId}</if> <if test="ticketId != ''">AND e.tickets_id = #{ticketId}</if>
AND a.mid > ${mid} AND a.mid > ${mid}
<if test="printNum != '' and printNum > 0">AND a.mid > ${printNum}</if>
</where> </where>
ORDER BY a.mid ASC ORDER BY a.mid ASC
LIMIT ${limitNum} LIMIT ${limitNum}
......
...@@ -80,7 +80,7 @@ ...@@ -80,7 +80,7 @@
</select> </select>
<select id="misRefundList" resultType="com.liquidnet.service.kylin.dao.OrderRefundDao" resultMap="misRefundListResult"> <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 (select a.*, d.mailno
from kylin_order_refunds a from kylin_order_refunds a
LEFT JOIN kylin_order_express AS d ON d.order_refunds_id = a.order_refunds_id LEFT JOIN kylin_order_express AS d ON d.order_refunds_id = a.order_refunds_id
...@@ -88,6 +88,9 @@ ...@@ -88,6 +88,9 @@
<if test="orderTicketsId!=''"> <if test="orderTicketsId!=''">
AND a.order_tickets_id = #{orderTicketsId} AND a.order_tickets_id = #{orderTicketsId}
</if> </if>
<if test="type!=''">
AND a.type = #{type}
</if>
<choose> <choose>
<when test="roleType!=''"> <when test="roleType!=''">
<if test="roleType == 1"> <if test="roleType == 1">
...@@ -126,6 +129,9 @@ ...@@ -126,6 +129,9 @@
<if test="orderCode!=''"> <if test="orderCode!=''">
AND b.order_code = #{orderCode} AND b.order_code = #{orderCode}
</if> </if>
<if test="getTicketType!=''">
AND b.get_ticket_type = #{getTicketType}
</if>
</where> </where>
</select> </select>
......
...@@ -129,7 +129,7 @@ public class AdamLoginController { ...@@ -129,7 +129,7 @@ public class AdamLoginController {
} }
AdamUserInfoVo userInfoVo = adamRdmService.getUserInfoVoByUid(uid); AdamUserInfoVo userInfoVo = adamRdmService.getUserInfoVoByUid(uid);
if (null == userInfoVo) { if (null == userInfoVo || userInfoVo.getState() == 2) {
log.warn("Cancelled mobile:{}", mobile); log.warn("Cancelled mobile:{}", mobile);
return ResponseDto.failure(ErrorMapping.get("10024")); return ResponseDto.failure(ErrorMapping.get("10024"));
} }
...@@ -169,7 +169,7 @@ public class AdamLoginController { ...@@ -169,7 +169,7 @@ public class AdamLoginController {
AdamUserInfoVo userInfoVo = toRegister ? adamUserService.register(mobile) : adamRdmService.getUserInfoVoByUid(uid); 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); log.warn("Cancelled mobile:{}", mobile);
return ResponseDto.failure(ErrorMapping.get("10024")); return ResponseDto.failure(ErrorMapping.get("10024"));
} }
...@@ -206,7 +206,7 @@ public class AdamLoginController { ...@@ -206,7 +206,7 @@ public class AdamLoginController {
AdamUserInfoVo userInfoVo = toRegister ? adamUserService.register(mobile) : adamRdmService.getUserInfoVoByUid(uid); 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); log.warn("Cancelled mobile:{}", mobile);
return ResponseDto.failure(ErrorMapping.get("10024")); return ResponseDto.failure(ErrorMapping.get("10024"));
} }
...@@ -257,6 +257,11 @@ public class AdamLoginController { ...@@ -257,6 +257,11 @@ public class AdamLoginController {
AdamUserInfoVo userInfoVo = toRegister ? adamUserService.register(wechatMobile) : adamRdmService.getUserInfoVoByUid(uid); 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) // 根据skip值,设置IsComplete(考虑到已存在用户未完善信息的情况,这里只对返回数据单独设置IsComplete)
userInfoVo.setIsComplete(1); userInfoVo.setIsComplete(1);
...@@ -285,7 +290,7 @@ public class AdamLoginController { ...@@ -285,7 +290,7 @@ public class AdamLoginController {
if (StringUtils.isEmpty(uid)) return ResponseDto.failure(ErrorMapping.get("10006")); if (StringUtils.isEmpty(uid)) return ResponseDto.failure(ErrorMapping.get("10006"));
AdamUserInfoVo userInfoVo = adamRdmService.getUserInfoVoByUid(uid); AdamUserInfoVo userInfoVo = adamRdmService.getUserInfoVoByUid(uid);
if (null == userInfoVo) { if (null == userInfoVo || userInfoVo.getState() == 2) {
log.warn("Cancelled openId:{}", parameter.getOpenId()); log.warn("Cancelled openId:{}", parameter.getOpenId());
return ResponseDto.failure(ErrorMapping.get("10024")); return ResponseDto.failure(ErrorMapping.get("10024"));
} }
......
...@@ -183,6 +183,10 @@ public class AdamRdmService { ...@@ -183,6 +183,10 @@ public class AdamRdmService {
return vo; return vo;
} }
public void delRealInfoVoByUid(String uid) {
redisUtil.del(AdamRedisConst.INFO_REAL_NAME.concat(uid));
}
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | 认证失败的<ID_TYPE+ID_NO, ID_NAME> */ /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | 认证失败的<ID_TYPE+ID_NO, ID_NAME> */
public boolean setCertificationJunk(int idType, String idNo, String idName) { public boolean setCertificationJunk(int idType, String idNo, String idName) {
...@@ -652,7 +656,7 @@ public class AdamRdmService { ...@@ -652,7 +656,7 @@ public class AdamRdmService {
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | <ORDER_NO, MEMBER_ORDER_INFO> */ /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | <ORDER_NO, MEMBER_ORDER_INFO> */
public boolean setShotMemberOrderVoByOrderNo(String orderNo, AdamMemberOrderVo vo) { 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) { public AdamMemberOrderVo getShotMemberOrderVoByOrderNo(String orderNo) {
......
...@@ -179,7 +179,7 @@ public class AdamUserServiceImpl implements IAdamUserService { ...@@ -179,7 +179,7 @@ public class AdamUserServiceImpl implements IAdamUserService {
AdamThirdPartInfoVo thirdPartVo = adamRdmService.getThirdPartVoByUidPlatform(uid, param.getPlatform()); AdamThirdPartInfoVo thirdPartVo = adamRdmService.getThirdPartVoByUidPlatform(uid, param.getPlatform());
if (null == thirdPartVo) {// 未绑定 if (null == thirdPartVo) {// 未绑定
userInfoVo = adamRdmService.getUserInfoVoByUid(uid); userInfoVo = adamRdmService.getUserInfoVoByUid(uid);
if (null == userInfoVo) { if (null == userInfoVo || userInfoVo.getState() == 2) {
log.warn("Cancelled mobile:{}", param.getMobile()); log.warn("Cancelled mobile:{}", param.getMobile());
return ResponseDto.failure(ErrorMapping.get("10024")); return ResponseDto.failure(ErrorMapping.get("10024"));
} }
...@@ -301,86 +301,88 @@ public class AdamUserServiceImpl implements IAdamUserService { ...@@ -301,86 +301,88 @@ public class AdamUserServiceImpl implements IAdamUserService {
objsMobileLocate = CollectionUtil.linkedListObjectArr(); objsMobileLocate = CollectionUtil.linkedListObjectArr();
long s = System.currentTimeMillis(); 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); log.debug("##RDS耗时:{}ms", System.currentTimeMillis() - s);
/* ---------------------- 账号基础信息 */ /* ---------------------- 账号基础信息 */
AdamUserInfoVo userInfoVoByUid = adamRdmService.getUserInfoVoByUid(uid); // AdamUserInfoVo userInfoVoByUid = adamRdmService.getUserInfoVoByUid(uid);
if (null != userInfoVoByUid) { // if (null != userInfoVoByUid) {
userInfoVoByUid.setState(2); // userInfoVoByUid.setState(2);
userInfoVoByUid.setUpdatedAt(now); // userInfoVoByUid.setUpdatedAt(now);
userInfoVoByUid.setClosedAt(now); // userInfoVoByUid.setClosedAt(now);
adamRdmService.setUserInfoVoByUid(uid, userInfoVoByUid); // adamRdmService.setUserInfoVoByUid(uid, userInfoVoByUid);
} // }
adamRdmService.delUserInfoVoByUid(uid);
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});
/* ---------------------- 三方账号信息 */ /* ---------------------- 三方账号信息 */
List<AdamThirdPartInfoVo> thirdPartInfoVos = adamRdmService.getThirdPartVoListByUid(uid); List<AdamThirdPartInfoVo> thirdPartInfoVos = adamRdmService.getThirdPartVoListByUid(uid);
if (!CollectionUtils.isEmpty(thirdPartInfoVos)) { if (!CollectionUtils.isEmpty(thirdPartInfoVos)) {
adamRdmService.delThirdPartVoListByUid(uid);
thirdPartInfoVos.forEach(r -> { thirdPartInfoVos.forEach(r -> {
r.setState(2); // r.setState(2);
r.setUpdatedAt(now); // r.setUpdatedAt(now);
adamRdmService.delUidByPlatformOpenId(r.getPlatform(), r.getOpenId()); 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")); toMqSqls.add(SqlMapping.get("adam_third_party.close"));
objsThirdPart.add(new Object[]{now, uid}); objsThirdPart.add(new Object[]{now, uid});
/* ---------------------- 用户会员信息 */ /* ---------------------- 用户会员信息 */
AdamUserMemberVo userMemberVoByUid = adamRdmService.getUserMemberVoByUid(uid); // AdamUserMemberVo userMemberVoByUid = adamRdmService.getUserMemberVoByUid(uid);
if (null != userMemberVoByUid) { // if (null != userMemberVoByUid) {
userMemberVoByUid.setState(2); // userMemberVoByUid.setState(2);
userMemberVoByUid.setUpdatedAt(now); // userMemberVoByUid.setUpdatedAt(now);
//
adamRdmService.setUserMemberVoByUid(uid, userMemberVoByUid); // adamRdmService.setUserMemberVoByUid(uid, userMemberVoByUid);
} // }
adamRdmService.delUserMemberVoByUid(uid);
adamRdmService.delMemberOrderVoByUid(uid);
toMqSqls.add(SqlMapping.get("adam_user_member.close")); toMqSqls.add(SqlMapping.get("adam_user_member.close"));
objsUserMember.add(new Object[]{now, uid}); objsUserMember.add(new Object[]{now, uid});
/* ---------------------- 用户实名信息 */ /* ---------------------- 用户实名信息 */
AdamRealInfoVo realInfoVoByUid = adamRdmService.getRealInfoVoByUid(uid); // AdamRealInfoVo realInfoVoByUid = adamRdmService.getRealInfoVoByUid(uid);
if (null != realInfoVoByUid) { // if (null != realInfoVoByUid) {
realInfoVoByUid.setState(2); // realInfoVoByUid.setState(2);
//
adamRdmService.setRealInfoVoByUid(uid, realInfoVoByUid); // adamRdmService.setRealInfoVoByUid(uid, realInfoVoByUid);
} // }
adamRdmService.delRealInfoVoByUid(uid);
toMqSqls.add(SqlMapping.get("adam_real_name.close")); toMqSqls.add(SqlMapping.get("adam_real_name.close"));
objsRealInfo.add(new Object[]{now, uid}); objsRealInfo.add(new Object[]{now, uid});
/* ---------------------- 收货地址信息 */ /* ---------------------- 收货地址信息 */
List<AdamAddressesVo> addressesVoByUid = adamRdmService.getAddressesVoByUid(uid); // List<AdamAddressesVo> addressesVoByUid = adamRdmService.getAddressesVoByUid(uid);
if (!CollectionUtils.isEmpty(addressesVoByUid)) { // if (!CollectionUtils.isEmpty(addressesVoByUid)) {
addressesVoByUid.forEach(r -> { // addressesVoByUid.forEach(r -> {
r.setState(2); // r.setState(2);
r.setUpdatedAt(now); // r.setUpdatedAt(now);
r.setDeletedAt(now); // r.setDeletedAt(now);
}); // });
//
adamRdmService.setAddressesVoByUid(uid, addressesVoByUid); // adamRdmService.setAddressesVoByUid(uid, addressesVoByUid);
} // }
adamRdmService.delAddressesVoByUid(uid);
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});
/* ---------------------- 入场人信息 */ /* ---------------------- 入场人信息 */
List<AdamEntersVo> entersVoByUid = adamRdmService.getEntersVoByUid(uid); // List<AdamEntersVo> entersVoByUid = adamRdmService.getEntersVoByUid(uid);
if (!CollectionUtils.isEmpty(entersVoByUid)) { // if (!CollectionUtils.isEmpty(entersVoByUid)) {
entersVoByUid.forEach(r -> { // entersVoByUid.forEach(r -> {
r.setState(2); // r.setState(2);
r.setUpdatedAt(now); // r.setUpdatedAt(now);
r.setDeletedAt(now); // r.setDeletedAt(now);
}); // });
//
adamRdmService.setEntersVoByUid(uid, entersVoByUid); // adamRdmService.setEntersVoByUid(uid, entersVoByUid);
} // }
adamRdmService.delEntersVoByUid(uid);
toMqSqls.add(SqlMapping.get("adam_enters.close")); toMqSqls.add(SqlMapping.get("adam_enters.close"));
objsEnters.add(new Object[]{now, now, uid}); objsEnters.add(new Object[]{now, now, uid});
......
...@@ -9,8 +9,8 @@ liquidnet: ...@@ -9,8 +9,8 @@ liquidnet:
#host: 172.17.207.177:7001 #host: 172.17.207.177:7001
instance: instance:
prefer-ip-address: true 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-这里是配置信息基本值 # end-test-这里是配置信息基本值
spring: spring:
......
...@@ -155,7 +155,7 @@ public class CandyCouponServiceImpl implements ICandyCouponService { ...@@ -155,7 +155,7 @@ public class CandyCouponServiceImpl implements ICandyCouponService {
continue; continue;
} }
} }
if (baseVo.getCouType().equals(101)) { if (baseVo.getCouType().equals(101) || baseVo.getCouType().equals(3)) {
continue; continue;
} }
if (dtoItem.getExclusive().equals(1)) { //会员券 if (dtoItem.getExclusive().equals(1)) { //会员券
...@@ -186,7 +186,7 @@ public class CandyCouponServiceImpl implements ICandyCouponService { ...@@ -186,7 +186,7 @@ public class CandyCouponServiceImpl implements ICandyCouponService {
int canUse = 0; int canUse = 0;
for (CandyUserCouponBasicDto dtoItem : dtoList) { for (CandyUserCouponBasicDto dtoItem : dtoList) {
CandyCouponVo baseVo = CouponBaseUtil.getPerformanceCouponUserVo(dtoItem, priceTotal, performanceId, timeId, ticketId); 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; continue;
} }
if (baseVo.getState().equals(1)) { //可用 if (baseVo.getState().equals(1)) { //可用
......
...@@ -9,8 +9,8 @@ liquidnet: ...@@ -9,8 +9,8 @@ liquidnet:
#host: 172.17.207.177:7001 #host: 172.17.207.177:7001
instance: instance:
prefer-ip-address: true 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-这里是配置信息基本值 # end-test-这里是配置信息基本值
spring: spring:
......
...@@ -9,8 +9,8 @@ liquidnet: ...@@ -9,8 +9,8 @@ liquidnet:
#host: 172.17.207.177:7001 #host: 172.17.207.177:7001
instance: instance:
prefer-ip-address: true 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-这里是配置信息基本值 # end-dev-这里是配置信息基本值
spring: spring:
......
...@@ -9,8 +9,8 @@ liquidnet: ...@@ -9,8 +9,8 @@ liquidnet:
#host: 172.17.207.177:7001 #host: 172.17.207.177:7001
instance: instance:
prefer-ip-address: true 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-这里是配置信息基本值 # end-test-这里是配置信息基本值
spring: spring:
......
...@@ -9,8 +9,8 @@ liquidnet: ...@@ -9,8 +9,8 @@ liquidnet:
#host: 172.17.207.177:7001 #host: 172.17.207.177:7001
instance: instance:
prefer-ip-address: true 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-这里是配置信息基本值 # end-test-这里是配置信息基本值
spring: spring:
......
...@@ -9,8 +9,8 @@ liquidnet: ...@@ -9,8 +9,8 @@ liquidnet:
#host: 172.17.207.177:7001 #host: 172.17.207.177:7001
instance: instance:
prefer-ip-address: true 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-这里是配置信息基本值 # end-test-这里是配置信息基本值
spring: spring:
......
...@@ -9,8 +9,8 @@ liquidnet: ...@@ -9,8 +9,8 @@ liquidnet:
#host: 172.17.207.177:7001 #host: 172.17.207.177:7001
instance: instance:
prefer-ip-address: true 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-这里是配置信息基本值 # end-test-这里是配置信息基本值
spring: spring:
......
...@@ -9,8 +9,8 @@ liquidnet: ...@@ -9,8 +9,8 @@ liquidnet:
#host: 172.17.207.177:7001 #host: 172.17.207.177:7001
instance: instance:
prefer-ip-address: true 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-这里是配置信息基本值 # end-dev-这里是配置信息基本值
spring: spring:
......
...@@ -9,11 +9,9 @@ liquidnet: ...@@ -9,11 +9,9 @@ liquidnet:
#host: 172.17.207.177:7001,172.17.121.158:7001,172.17.121.157:7001 #host: 172.17.207.177:7001,172.17.121.158:7001,172.17.121.157:7001
instance: instance:
prefer-ip-address: true 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-这里是配置信息基本值 # end-dev-这里是配置信息基本值
spring: spring:
profiles: profiles:
include: service-example include: service-example
\ No newline at end of file
...@@ -9,8 +9,8 @@ liquidnet: ...@@ -9,8 +9,8 @@ liquidnet:
#host: 172.17.207.177:7001 #host: 172.17.207.177:7001
instance: instance:
prefer-ip-address: true 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-这里是配置信息基本值 # end-dev-这里是配置信息基本值
......
...@@ -9,8 +9,8 @@ liquidnet: ...@@ -9,8 +9,8 @@ liquidnet:
#host: 172.17.207.177:7001 #host: 172.17.207.177:7001
instance: instance:
prefer-ip-address: true 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-这里是配置信息基本值 # end-dev-这里是配置信息基本值
......
...@@ -9,8 +9,8 @@ liquidnet: ...@@ -9,8 +9,8 @@ liquidnet:
#host: 172.17.207.177:7001 #host: 172.17.207.177:7001
instance: instance:
prefer-ip-address: true 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-这里是配置信息基本值 # end-dev-这里是配置信息基本值
......
...@@ -101,6 +101,9 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ ...@@ -101,6 +101,9 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
try { try {
if (payOrderParam.getVoucherType() != null && payOrderParam.getVoucherType().equals(3)) { if (payOrderParam.getVoucherType() != null && payOrderParam.getVoucherType().equals(3)) {
isPay = false; isPay = false;
if(payOrderParam.getNumber()>1){
return ResponseDto.failure("张数大于1不支持兑换");//参数错误
}
} }
KylinPerformanceVo performanceData = dataUtils.getPerformanceVo(payOrderParam.getPerformanceId()); KylinPerformanceVo performanceData = dataUtils.getPerformanceVo(payOrderParam.getPerformanceId());
KylinTicketTimesVo ticketTimesData = null; KylinTicketTimesVo ticketTimesData = null;
......
...@@ -9,8 +9,8 @@ liquidnet: ...@@ -9,8 +9,8 @@ liquidnet:
#host: 172.17.207.177:7001 #host: 172.17.207.177:7001
instance: instance:
prefer-ip-address: true 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-这里是配置信息基本值 # end-dev-这里是配置信息基本值
......
...@@ -9,8 +9,8 @@ liquidnet: ...@@ -9,8 +9,8 @@ liquidnet:
#host: 172.17.207.177:7001 #host: 172.17.207.177:7001
instance: instance:
prefer-ip-address: true 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-这里是配置信息基本值 # end-test-这里是配置信息基本值
......
...@@ -441,6 +441,9 @@ CREATE TABLE `sweet_wechat_user` ...@@ -441,6 +441,9 @@ CREATE TABLE `sweet_wechat_user`
ROW_FORMAT = DYNAMIC COMMENT '正在现场服务号关注事件储存用户信息表'; 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 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`; drop TABLE if exists `sweet_applet_user`;
CREATE TABLE `sweet_applet_user` CREATE TABLE `sweet_applet_user`
......
...@@ -23,6 +23,7 @@ public class SweetConstant { ...@@ -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="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_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="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_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_STAT_LIST=":StatList";
public final static String REDIS_KEY_SWEET_CITY_VOTE_CITY_CODE=":cityCode:"; public final static String REDIS_KEY_SWEET_CITY_VOTE_CITY_CODE=":cityCode:";
......
...@@ -7,12 +7,14 @@ import io.swagger.annotations.Api; ...@@ -7,12 +7,14 @@ 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 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.Valid; import javax.validation.Valid;
@Api(tags = "服务号-模版消息") @Api(tags = "服务号-模版消息")
@Slf4j
@RestController @RestController
@RequestMapping("/wechatTemplate") @RequestMapping("/wechatTemplate")
public class SweetWechatTemplateController { public class SweetWechatTemplateController {
...@@ -52,12 +54,17 @@ public class SweetWechatTemplateController { ...@@ -52,12 +54,17 @@ public class SweetWechatTemplateController {
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(type = "form", dataType = "String", name = "unionId", value = "微信unionId", required = true), @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 = "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( public ResponseDto followStatus(
@RequestParam() String unionId, @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) { if (status) {
return ResponseDto.success(1); return ResponseDto.success(1);
} else { } else {
......
...@@ -30,6 +30,16 @@ public class SweetWechatUser implements Serializable { ...@@ -30,6 +30,16 @@ public class SweetWechatUser implements Serializable {
*/ */
private String userId; private String userId;
/**
* adam_user_id
*/
private String adamUserId;
/**
* adam_phone
*/
private String adamPhone;
/** /**
* openId * openId
*/ */
......
...@@ -6,6 +6,7 @@ import com.liquidnet.commons.lang.util.CollectionUtil; ...@@ -6,6 +6,7 @@ import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.DateUtil; import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.JsonUtils; import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.constant.MQConst; import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.kylin.constant.KylinRedisConst; import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo; import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo;
...@@ -31,6 +32,7 @@ import org.springframework.util.CollectionUtils; ...@@ -31,6 +32,7 @@ import org.springframework.util.CollectionUtils;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List; import java.util.List;
/** /**
...@@ -259,7 +261,7 @@ public class SweetWechatTemplateServiceImpl { ...@@ -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; SweetWechatUser sweetWechatUser = null;
if (null == type || type <= 1) { if (null == type || type <= 1) {
sweetWechatUser = redisDataUtils.getSweetWechatUser(unionId); sweetWechatUser = redisDataUtils.getSweetWechatUser(unionId);
...@@ -268,6 +270,42 @@ public class SweetWechatTemplateServiceImpl { ...@@ -268,6 +270,42 @@ public class SweetWechatTemplateServiceImpl {
} }
if (null != sweetWechatUser && !sweetWechatUser.getUnionId().isEmpty()) { 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; return true;
} else { } else {
return false; return false;
......
...@@ -338,6 +338,21 @@ public class RedisDataUtils { ...@@ -338,6 +338,21 @@ public class RedisDataUtils {
return (String) redisUtil.get(redisKey); 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) { public SweetWechatUser getSweetWechatUser(String unionid) {
if (unionid.isEmpty()) { if (unionid.isEmpty()) {
return null; return null;
......
...@@ -9,8 +9,8 @@ liquidnet: ...@@ -9,8 +9,8 @@ liquidnet:
#host: 172.17.207.177:7001 #host: 172.17.207.177:7001
instance: instance:
prefer-ip-address: true 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-这里是配置信息基本值 # end-dev-这里是配置信息基本值
......
...@@ -45,6 +45,7 @@ sweet_answer.insert=INSERT INTO sweet_answer (answer_id,phone,answer_json,img_ur ...@@ -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.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.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 (?,?,?,?) sweet_remind.insert=INSERT INTO sweet_remind (remind_id,openId,unionId,performancesId) VALUES (?,?,?,?)
# --------------------------小程序登录记录用户解密后信息-------------------------- # --------------------------小程序登录记录用户解密后信息--------------------------
......
...@@ -38,7 +38,7 @@ eureka: ...@@ -38,7 +38,7 @@ eureka:
register-with-eureka: true #禁止自己当做服务注册 register-with-eureka: true #禁止自己当做服务注册
fetch-registry: true #屏蔽注册信息 fetch-registry: true #屏蔽注册信息
serviceUrl: 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: # instance:
# prefer-ip-address: true # prefer-ip-address: true
# instance-id: ${spring.application.name}:${server.port} # 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