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

Commit ab6e19b4 authored by 张禹's avatar 张禹

Merge branch 'pre' into 'master'

Pre

See merge request !291
parents 6b4ae519 c217d115
......@@ -105,5 +105,7 @@ public class KylinRedisConst {
public static final String COUPON_COUNT = "kylin:coupon:count:";//$key + $uid:$performance_id
public static final String MEMBER_COUNT = "kylin:member:count:";//$key + $uid:$performance_id
//订单关联 Ar激活码
public static final String ORDER_AR_CODE = "kylin:ar:order:";//$key + $orderId
}
......@@ -70,4 +70,7 @@ public interface IKylinOrderTicketsService {
//退款撤回
ResponseDto<Boolean> orderRefundWithdraw(String orderRefundsId);
//获取 订单Ar激活码
ResponseDto<List<String>> getOrderArCode(String orderId);
}
......@@ -122,8 +122,8 @@ public class LocalAdminController extends BaseController
return storePrefix + "/placingOrder/activityList";
}
@GetMapping("/addNewActivity")
public String addNewActivity()
{
public String addNewActivity(ModelMap mmap) {
mmap.put("platformUrl", platformUrl);
return storePrefix + "/placingOrder/addNewActivity";
}
@GetMapping("/activityStoreList")
......
......@@ -55,7 +55,7 @@ public class GoblinSelfZhengzaiController extends BaseController {
@RequestParam(value = "createdAt", required = false) String ct) {
LocalDateTime now = LocalDateTime.now();
PageHelper.startPage(page, size);
List<GoblinSelfMarketingDto> list = goblinZhengzaiMarketService.zhengzaiList(page, size,purchaseName, status, st, et, ct).getData();
List<GoblinSelfMarketingDto> list = goblinZhengzaiMarketService.zhengzaiList(page, size, purchaseName, status, st, et, ct).getData();
for (GoblinSelfMarketingDto item : list) {
if (item.getStatus() != 7) {
if (now.isBefore(item.getStartTime())) {
......@@ -94,9 +94,8 @@ public class GoblinSelfZhengzaiController extends BaseController {
@ApiOperation("修改活动-正在下单")
@ApiResponse(code = 200, message = "接口返回对象参数")
@ResponseBody
public ResponseDto<String> purchasingUpdate(GoblinStoreZhengzaiParam goblinStoreZhengzaiParam) {
goblinZhengzaiMarketService.zhengzaiUpdate(goblinStoreZhengzaiParam.getMarketId(), goblinStoreZhengzaiParam.getName(), goblinStoreZhengzaiParam.getPerformanceId(), goblinStoreZhengzaiParam.getPerformanceImg(), goblinStoreZhengzaiParam.getStartTime(), goblinStoreZhengzaiParam.getEndTime());
return ResponseDto.success();
public ResponseDto<Boolean> purchasingUpdate(GoblinStoreZhengzaiParam goblinStoreZhengzaiParam) {
return goblinZhengzaiMarketService.zhengzaiUpdate(goblinStoreZhengzaiParam.getMarketId(), goblinStoreZhengzaiParam.getName(), goblinStoreZhengzaiParam.getPerformanceId(), goblinStoreZhengzaiParam.getPerformanceImg(), goblinStoreZhengzaiParam.getStartTime(), goblinStoreZhengzaiParam.getEndTime());
}
@PostMapping("zhengzai/details")
......@@ -111,12 +110,24 @@ public class GoblinSelfZhengzaiController extends BaseController {
@PostMapping("zhengzai/store")
@ApiOperation("活动详情-正在下单-新增店铺")
@ApiOperation("活动详情-正在下单-新增/修改店铺")
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<Boolean> purchasingStore(@RequestBody List<GoblinInsertZhengzaiParam> params) {
return goblinZhengzaiMarketService.zhengzaiStore(params);
}
@PostMapping("zhengzai/store/del")
@ApiOperation("活动详情-正在下单-删除店铺")
@ApiResponse(code = 200, message = "接口返回对象参数")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "marketId", value = "活动id", example = "1"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "storeId", value = "店铺id", example = "0"),
})
public ResponseDto<Boolean> zhengzaiDelStore(@RequestParam(value = "marketId") @Valid String marketId,
@RequestParam(value = "storeId") @Valid String storeId) {
return goblinZhengzaiMarketService.zhengzaiDelStore(marketId, storeId);
}
// @PostMapping("zhengzai/store/update")
// @ApiOperation("活动详情-正在下单-修改店铺")
// @ApiResponse(code = 200, message = "接口返回对象参数")
......
......@@ -3,9 +3,13 @@
<head>
<th:block th:include="include :: header('新增活动')" />
<th:block th:include="include :: select2-css" />
<th:block th:include="include :: bootstrap-fileinput-css" />
<link rel="stylesheet" href="">
<style>
input {
height: 34PX;
line-height: 34PX;
}
.required {
font-style: normal;
color: red;
......@@ -56,6 +60,18 @@
line-height: 45px;
padding-left: 60px;
}
.form-control,.layui-input {
height: 34PX;
line-height: 34PX;
}
.kv-upload-progress {
display: none !important;
}
.ibox-content .imgBox {
max-width: 350px;
max-height: 180px;
}
</style>
</head>
<body>
......@@ -81,6 +97,22 @@
<!-- /btn-group 11 -->
</div>
</div>
<div class="basis_data ibox-content" style="border: none;display: flex;">
<span>
<em class="required">*</em>
演出图片:
</span>
<div>
<img id="viewImg" class="imgBox" src="" alt="">
<div class="form-group">
<div class="file-loading">
<input id="fileinput" type="file" name="file" data-browse-on-zone-click="true" data-theme="fas">
</div>
<span style="color: #ccc; font-size: 12px;">适配图片尺寸:660*344</span>
</div>
</div>
</div>
<div class="basis_data">
<span>
<em class="required">*</em>
......@@ -105,7 +137,7 @@
</span>
<div class="activityStore">
<button class="btn btn-primary" onclick="addItem()" style="margin-bottom: 12px;">新增</button>
<div class="activityStore_item" id="activityStore_item" data-newTag="1">
<div class="activityStore_item activityStore_item_first" id="activityStore_item1" data-newTag="1">
<div class="input-group" style="margin-right: 12px;">
<input type="text" class="form-control storeList item1" placeholder="搜索店铺名称">
<div class="input-group-btn">
......@@ -114,7 +146,7 @@
</div>
</div>
<input type="text" class="layui-input form-control timeSp" id="startTime" autocomplete="off" placeholder="配置活动时间">
<button type="button" class="btn btn-danger" onclick="delItem('1')">删除</button>
</div>
</div>
......@@ -126,6 +158,7 @@
</div>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: bootstrap-fileinput-js" />
<th:block th:include="include :: bootstrap-suggest-js" />
</body>
<script th:inline="javascript">
......@@ -133,7 +166,7 @@
var prefix2 = ctx + "local";
let marketId = '';
let editDatas = 0;
let performanceImg = '';
var platformUrl = [[${platformUrl}]];
$(function() {
let name = 'id';
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
......@@ -153,8 +186,8 @@
common ();
if (r) {
marketId = unescape(r[2]);
$(".editDisabled").attr('disabled', true);
$(".editshow").hide()
// $(".editDisabled").attr('disabled', true);
// $(".editshow").hide()
let data = {
marketId
}
......@@ -165,17 +198,43 @@
let { data } = res[1];
editDatas = data.length;
$("#selectShow").val(basisData.data.name);
$("#selectShow").attr('data-id', basisData.data.performanceId);
$("#viewImg").attr('src', basisData.data.performanceImg);
$("#startTime").val(basisData.data.startTime);
$("#endTime").val(basisData.data.endTime);
$(".content_item").show();
$(".add_footer").show();
$("#activityStore_item").remove();
$(".activityStore_item_first").remove();
data.forEach((item,index)=>{
addItem(item)
})
})
}
$("#fileinput").fileinput({
'theme': 'explorer-fas',
// 'uploadUrl': "https://devplatform.zhengzai.tv/platform/basicServices/alOss/upload",
'uploadUrl': platformUrl + "/platform/basicServices/alOss/upload",
"uploadExtraData": {
"pathName" : "banner",
"buckType" : 1
},
autoReplace: true,
showCaption: false,
showPreview: false,
showRemove: false,
showUpload: false,
showCancel: false,
showClose: false,
autoReplace: true,
dropZoneTitle: "请上传文件",
maxFileCount: 1
}).on("filebatchselected", function (event, files) { //默认上传
$(this).fileinput("upload");
})
.on("fileuploaded", function (event, data) { //上传回调事件
let showPicture = 'https://img.zhengzai.tv/' + data.response.data.ossPath;
$("#viewImg").attr('src', showPicture)
})
})
function common () {
......@@ -195,8 +254,6 @@
return json;
}
}).on('onSetSelectValue', function (e, result, selectedRawData) {
console.log(e, result, selectedRawData)
performanceImg = selectedRawData.imgPoster;
});
$(".storeList").bsSuggest({
idField: 'storeId',
......@@ -221,7 +278,7 @@
count++;
let body = '';
if (item) {
body+=`<div class="activityStore_item" data-newTag="">
body+=`<div class="activityStore_item" id="activityStore_item${count}" data-newTag="">
<div class="input-group" style="margin-right: 12px;">
<input type="text" class="form-control storeList item${count} itemDisabled" data-id="${item.storeId}" value="${item.storeName}" placeholder="搜索店铺名称">
<div class="input-group-btn">
......@@ -230,9 +287,11 @@
</div>
</div>
<input type="text" class="layui-input form-control timeSp startTime${count} itemDisabled" id="startTime" value="${item.showTime}" autocomplete="off" placeholder="配置活动时间">
<button type="button" class="btn btn-danger" onclick="delItem('${count}')">删除</button>
</div>`
} else {
body+=`<div class="activityStore_item" data-newTag="1">
body+=`<div class="activityStore_item" id="activityStore_item${count}" data-newTag="1">
<div class="input-group" style="margin-right: 12px;">
<input type="text" class="form-control storeList item${count}" placeholder="搜索店铺名称">
<div class="input-group-btn">
......@@ -241,11 +300,12 @@
</div>
</div>
<input type="text" class="layui-input form-control timeSp startTime${count}" id="startTime" autocomplete="off" placeholder="配置活动时间">
<button type="button" class="btn btn-danger" onclick="delItem('${count}')">删除</button>
</div>`
}
$(".activityStore").append(body)
common ()
$(".itemDisabled").attr('disabled', true);
// $(".itemDisabled").attr('disabled', true);
layui.use('laydate', function(){
var laydate = layui.laydate;
//执行一个laydate实例
......@@ -255,25 +315,63 @@
});
});
}
function delItem (num) {
let domData = $(".activityStore_item");
let arr = [];
Array.prototype.forEach.call(domData,function(item,index){
if (!item.getAttribute('data-id')) {
arr.push(item)
}
})
if (arr.length < 2) return layer.msg('最少保留一个店铺!')
$.modal.loading("请稍等...");
// console.log(domData.length)
console.log(document.querySelector('#activityStore_item'+num+'').querySelector('.storeList').getAttribute('data-id'), '????')
let storeId = document.querySelector('#activityStore_item'+num+'').querySelector('.storeList').getAttribute('data-id');
if (!document.querySelector('#activityStore_item'+num+'').getAttribute('data-newTag')) {
let data = {};
data.marketId = marketId;
data.storeId = storeId;
console.log(data, 'dsasadasd')
promiseMethods('/goblin/marketing/zhengzai/store/del','post',data).then(res => {
$.modal.closeLoading();
if (res.code == 0) {
$('#activityStore_item'+num+'').remove();
layer.msg('修改活动成功,请配置活动对应店铺!')
} else {
layer.msg(res.message)
}
})
} else {
$('#activityStore_item'+num+'').remove();
$.modal.closeLoading();
};
}
function nextBtn (params) {
if (!$("#selectShow").attr('data-id')) {
return layer.msg('请选择演出进行创建!')
}
if (!$("#viewImg").attr('src')) {
return layer.msg('请上传演出图片!')
}
if (!$("#endTime").val() || !$("#startTime").val()) {
return layer.msg('请输入必填项!')
return layer.msg('请将有效期输入完整!')
}
let data = {
endTime: $("#endTime").val(),
startTime: $("#startTime").val(),
name: $("#selectShow").val(),
performanceId: $("#selectShow").attr('data-id'),
performanceImg
performanceImg: $("#viewImg").attr('src')
} // endTime
if (marketId) {
data.marketId = marketId;
promiseMethods('/goblin/marketing/zhengzai/change','post',data).then(res => {
if (res.code == 0) {
layer.msg('修改活动成功,请配置活动对应店铺!')
} else {
layer.msg(res.message)
}
})
......@@ -284,6 +382,8 @@
layer.msg('添加活动成功,请配置活动对应店铺!')
$(".content_item").show();
$(".add_footer").show();
} else {
layer.msg(res.message)
}
})
}
......@@ -296,7 +396,9 @@
let domData = $(".activityStore_item");
let flag = false;
Array.prototype.forEach.call(domData,function(item,index){
console.log(item)
obj['marketId'] = marketId;
obj['showTime'] = item.querySelector('.timeSp').value;
obj['storeId'] = item.querySelector('.storeList').getAttribute('data-id');
if (!item.querySelector('.timeSp').value || !item.querySelector('.storeList').getAttribute('data-id')) {
......
......@@ -101,6 +101,13 @@ public interface IGoblinZhengzaiMarketService {
*/
ResponseDto<Boolean> zhengzaiStore(List<GoblinInsertZhengzaiParam> params);
/**
* 删除正在下单 可参与活动店铺
*
* @return
*/
ResponseDto<Boolean> zhengzaiDelStore(String marketId ,String storeId);
/**
* 编辑正在下单 可参与活动店铺
*
......
......@@ -119,11 +119,17 @@ public class GoblinZhengzaiMarketServiceImpl implements IGoblinZhengzaiMarketSer
@Override
public ResponseDto<String> zhengzaiInsert(String purchaseName, String performanceId, String img, String st, String et) {
int count = goblinSelfMarketingMapper.selectCount(Wrappers.lambdaUpdate(GoblinSelfMarketing.class).eq(GoblinSelfMarketing::getPerformanceId, performanceId).eq(GoblinSelfMarketing::getDelFlag, 0));
if (count > 0) {
return ResponseDto.failure("该演出已关联活动");
}
GoblinSelfMarketing selfMarketing = GoblinSelfMarketing.getNew();
String SelfMarketId = IDGenerator.nextTimeId2();
selfMarketing.setSelfMarketId(SelfMarketId);
selfMarketing.setName(purchaseName);
selfMarketing.setPerformanceId(performanceId);
selfMarketing.setPerformanceImg(img);
selfMarketing.setType(GoblinStatusConst.MarketingStatus.SELF_TYPE_ZHENGZAI.getValue());
selfMarketing.setStartTime(LocalDateTime.parse(st, DTF_YMD_HMS));
selfMarketing.setEndTime(LocalDateTime.parse(et, DTF_YMD_HMS));
......@@ -147,9 +153,19 @@ public class GoblinZhengzaiMarketServiceImpl implements IGoblinZhengzaiMarketSer
@Override
public ResponseDto<Boolean> zhengzaiUpdate(String marketId, String purchaseName, String performanceId, String img, String st, String et) {
// GoblinSelfMarketingVo data =goblinRedisUtils.getSelfMarket(marketId);
// if(data.getPerformanceId().equals(performanceId)){
//
// }else {
int count = goblinSelfMarketingMapper.selectCount(Wrappers.lambdaUpdate(GoblinSelfMarketing.class).eq(GoblinSelfMarketing::getPerformanceId, performanceId).ne(GoblinSelfMarketing::getSelfMarketId,marketId).eq(GoblinSelfMarketing::getDelFlag, 0));
if (count > 0) {
return ResponseDto.failure("该演出已关联活动");
}
// }
GoblinSelfMarketing selfMarketing = GoblinSelfMarketing.getNew();
selfMarketing.setSelfMarketId(marketId);
selfMarketing.setName(purchaseName);
selfMarketing.setPerformanceImg(img);
selfMarketing.setType(GoblinStatusConst.MarketingStatus.SELF_TYPE_ZHENGZAI.getValue());
selfMarketing.setStartTime(LocalDateTime.parse(st, DTF_YMD_HMS));
selfMarketing.setEndTime(LocalDateTime.parse(et, DTF_YMD_HMS));
......@@ -173,7 +189,7 @@ public class GoblinZhengzaiMarketServiceImpl implements IGoblinZhengzaiMarketSer
@Override
public ResponseDto<GoblinSelfMarketingVo> zhengzaiDetails(String marketId) {
GoblinSelfMarketing bean = goblinSelfMarketingMapper.selectOne(Wrappers.lambdaUpdate(GoblinSelfMarketing.getNew()).eq(GoblinSelfMarketing::getSelfMarketId, marketId));
GoblinSelfMarketing bean = goblinSelfMarketingMapper.selectOne(Wrappers.lambdaUpdate(GoblinSelfMarketing.getNew()).eq(GoblinSelfMarketing::getSelfMarketId, marketId).eq(GoblinSelfMarketing::getDelFlag, 0));
GoblinSelfMarketingVo vo = GoblinSelfMarketingVo.getNew();
BeanUtils.copyProperties(bean, vo);
vo.setStartTime(DateUtil.Formatter.yyyyMMddHHmmss.format(bean.getStartTime()));
......@@ -209,6 +225,7 @@ public class GoblinZhengzaiMarketServiceImpl implements IGoblinZhengzaiMarketSer
entity.setSelfMarketId(marketId);
entity.setStoreId(storeId);
entity.setShowTime(LocalDateTime.parse(showTime, DTF_YMD_HMS));
entity.setCreatedAt(LocalDateTime.now());
if (goblinRedisUtils.getZhengzaiRelation(storeId).contains(marketId)) {
return ResponseDto.failure("禁止重复添加");
}
......@@ -264,6 +281,28 @@ public class GoblinZhengzaiMarketServiceImpl implements IGoblinZhengzaiMarketSer
return ResponseDto.success();
}
@Override
public ResponseDto<Boolean> zhengzaiDelStore(String marketId, String storeId) {
try {
GoblinMarketingZhengzaiRelation entity = GoblinMarketingZhengzaiRelation.getNew();
entity.setDelTag(1);
entity.setUpdatedAt(LocalDateTime.now());
entity.setStoreId(storeId);
entity.setSelfMarketId(marketId);
//mysql
goblinMarketingZhengzaiRelationMapper.update(entity, Wrappers.lambdaUpdate(GoblinMarketingZhengzaiRelation.getNew()).eq(GoblinMarketingZhengzaiRelation::getSelfMarketId, marketId).eq(GoblinMarketingZhengzaiRelation::getStoreId, storeId));
//mongo
goblinMongoUtils.delZhengzaiRelation(marketId, storeId);
//redis
goblinRedisUtils.delZhengzaiRelation(marketId, storeId);
goblinRedisUtils.delStoreSelfRelation(marketId, storeId);
return ResponseDto.success();
} catch (Exception e) {
e.printStackTrace();
return ResponseDto.failure("删除失败");
}
}
@Override
public ResponseDto<Boolean> zhengzaiStoreUpdate(List<GoblinInsertZhengzaiParam> params) {
for (GoblinInsertZhengzaiParam item : params) {
......
......@@ -45,6 +45,21 @@ public class GoblinRedisUtils {
redisDataSourceUtil.getRedisGoblinUtil().del(redisKey);
}
/**
* 删除店铺活动
*
* @param selfMarketId
*/
public GoblinSelfMarketingVo getSelfMarket(String selfMarketId) {
String redisKey = GoblinRedisConst.REDIS_GOBLIN_SELF_MARKET.concat(selfMarketId);
Object obj = redisDataSourceUtil.getRedisGoblinUtil().get(redisKey);
if(obj==null){
return GoblinSelfMarketingVo.getNew();
}else{
return (GoblinSelfMarketingVo) obj;
}
}
/**
* 正在下单 可参加商户
*
......
......@@ -3,6 +3,7 @@ package com.liquidnet.client.admin.zhengzai.kylin.utils;
import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.zhengzai.kylin.dto.OrderOutLineVo;
import com.liquidnet.common.cache.redis.util.RedisDataSourceUtil;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.dto.vo.KylinExpressModuleVo;
import com.liquidnet.service.kylin.dto.vo.admin.OrderRefundAddress;
......@@ -504,4 +505,30 @@ public class DataUtils {
return (String) obj;
}
}
//删除 订单Ar激活码
public void delOrderArCode(String orderId){
String rdk = KylinRedisConst.ORDER_AR_CODE.concat(orderId);
redisDataSourceUtil.getRedisKylinUtil().del(rdk);
}
//添加 订单Ar激活码
public void addOrderArCode(String orderId,String arCode){
String rdk = KylinRedisConst.ORDER_AR_CODE.concat(orderId);
List<String> data = getOrderArCode(orderId);
data.add(arCode);
redisDataSourceUtil.getRedisKylinUtil().set(rdk,data);
}
//获取 订单Ar激活码
public List<String> getOrderArCode(String orderId){
String rdk = KylinRedisConst.ORDER_AR_CODE.concat(orderId);
Object obj = redisDataSourceUtil.getRedisKylinUtil().get(rdk);
if(obj==null){
return CollectionUtil.arrayListString();
}else{
return (List<String>) obj;
}
}
}
......@@ -36,6 +36,11 @@ public class GoblinSelfMarketing implements Serializable, Cloneable {
*/
private String performanceId;
/**
* 演出id
*/
private String performanceImg;
/**
* 营销名称
*/
......
......@@ -50,8 +50,8 @@ from goblin_self_marketing as a
inner join goblin_marketing_zhengzai_relation as b on a.self_market_id = b.self_market_id
inner join goblin_store_info as c on c.store_id = b.store_id
left join goblin_marketing_zhengzai as d on d.store_id = b.store_id and d.self_market_id = b.self_market_id
where a.self_market_id = #{marketId}
GROUP BY b.store_id
where a.self_market_id = #{marketId} and b.del_tag = 0
GROUP BY b.store_id ORDER BY b.created_at asc
</select>
<select id="getZhengzaiStoreDetails" resultMap="goblinZhengzaiStoreDetailsDtoResult">
......@@ -69,10 +69,9 @@ GROUP BY b.store_id
select
gsm.mid,gsm.name,gsm.performance_id,gsm.performance_img,gsm.created_at,gsm.updated_at,gsm.type,gsm.status,gsm.start_time,gsm.end_time,gsm.self_market_id,gsm.describes,count(gmzr.store_id)
as 'store_count'
from goblin_self_marketing as gsm left join goblin_marketing_zhengzai_relation gmzr on gsm.self_market_id =
gmzr.self_market_id
from goblin_self_marketing as gsm left join goblin_marketing_zhengzai_relation gmzr on gsm.self_market_id = gmzr.self_market_id and gmzr.del_tag !=1
<where>
del_flag = 0
gsm.del_flag = 0
<if test="purchaseName != null and purchaseName!=''">and gsm.name like concat('%', #{purchaseName}, '%')
'%'
</if>
......
......@@ -98,9 +98,9 @@ public class AdamUserServiceImpl implements IAdamUserService {
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
toMqSqls.add(SqlMapping.get("adam_user.add"));
initUserObjs.add(new Object[]{userInfoVo.getUid(), userInfoVo.getMobile(), userInfoVo.getState(), 0, now});
initUserObjs.add(new Object[]{userInfoVo.getUid(), userInfoVo.getMobile(), userInfoVo.getState(), userInfoVo.getIsComplete(), now});
toMqSqls.add(SqlMapping.get("adam_user_info.add"));
initUserInfoObjs.add(new Object[]{userInfoVo.getUid(), userInfoVo.getNickname(), null, userInfoVo.getQrCode()});
initUserInfoObjs.add(new Object[]{userInfoVo.getUid(), userInfoVo.getNickname(), userInfoVo.getAvatar(), userInfoVo.getBackground(), userInfoVo.getQrCode()});
s = System.currentTimeMillis();
queueUtils.sendMsgByRedis(MQConst.AdamQueue.SQL_UREGISTER.getKey(),
......@@ -154,9 +154,9 @@ public class AdamUserServiceImpl implements IAdamUserService {
adamRdmService.setUserInfoVoByUid(registerUid, userInfoVo);
toMqSqls.add(SqlMapping.get("adam_user.add"));
initUserObjs.add(new Object[]{registerUid, userInfoVo.getMobile(), userInfoVo.getState(), 0, now});
initUserObjs.add(new Object[]{registerUid, userInfoVo.getMobile(), userInfoVo.getState(), userInfoVo.getIsComplete(), now});
toMqSqls.add(SqlMapping.get("adam_user_info.add"));
initUserInfoObjs.add(new Object[]{registerUid, userInfoVo.getNickname(), userInfoVo.getAvatar(), userInfoVo.getQrCode()});
initUserInfoObjs.add(new Object[]{registerUid, userInfoVo.getNickname(), userInfoVo.getAvatar(), userInfoVo.getBackground(), userInfoVo.getQrCode()});
AdamThirdPartInfoVo thirdPartInfoVo = AdamThirdPartInfoVo.getNew();
BeanUtils.copyProperties(param, thirdPartInfoVo);
......
......@@ -5,7 +5,7 @@ adam_user.edit.mobile=UPDATE adam_user SET mobile=?, updated_at=? WHERE `uid`=?
adam_user.close=UPDATE adam_user SET `state`=2, updated_at=?, closed_at=? WHERE `uid`=?
# ----------------------------------------------------
adam_user_info.add=INSERT INTO adam_user_info (`uid`, nickname, avatar, qr_code) VALUES (?,?,?,?)
adam_user_info.add=INSERT INTO adam_user_info (`uid`, nickname, avatar, background, qr_code) VALUES (?,?,?,?,?)
adam_user_info.edit=UPDATE adam_user_info SET nickname=?, sex=?, birthday=?, area=?, signature=?, avatar=?, background=?, tag_me=? WHERE uid=?
adam_user_info.update_by_member=UPDATE adam_user_info SET birthday=?, area=? WHERE uid=?
adam_user_info.update_qr_code=UPDATE adam_user_info SET qr_code=? WHERE uid=?
......
......@@ -1087,25 +1087,7 @@ public class GoblinStoreMgtGoodsController {
return ResponseDto.failure(ErrorMapping.get("149010"));
}
if (goodsInfoVo.getSpuType() == 0) {
return ResponseDto.failure(ErrorCode.HTTP_PARAM_ERROR.getCode(), "无效操作,该商品非数字藏品");
}
if ("23".contains(mgtDigitalGoodsAddSkuParam.getWatchType())) {
if (StringUtils.isBlank(mgtDigitalGoodsAddSkuParam.getSkuWatchPic())) {
return ResponseDto.failure(ErrorCode.HTTP_PARAM_ERROR.getCode(), "展示预览图不能为空");
}
} else {
mgtDigitalGoodsAddSkuParam.setSkuWatchPic(null);
}
BigDecimal hitRatio = mgtDigitalGoodsAddSkuParam.getHitRatio();
if (null != hitRatio && hitRatio.scale() > 2) {
return ResponseDto.failure(ErrorCode.HTTP_PARAM_ERROR.getCode(), "概率值只支持小数点后两位");
}
if (goblinMongoUtils.countMgtGoodsSkuInfoVo(mgtDigitalGoodsAddSkuParam.getName(), 1) > 0) {
return ResponseDto.failure(ErrorMapping.get("149018"));
}
JsonNode priceVNode = goblinRedisUtils.getIosProducts().get(mgtDigitalGoodsAddSkuParam.getProductId());
if (null == priceVNode) {
return ResponseDto.failure(ErrorCode.HTTP_PARAM_ERROR.getCode(), "无效的IOS商品ID");
return ResponseDto.failure(ErrorCode.HTTP_PARAM_ERROR.getCode(), "该商品非数字藏品");
}
String unbox = mgtDigitalGoodsAddSkuParam.getUnbox();
boolean notUnboxFlg = StringUtils.isEmpty(unbox) || unbox.equals("0");
......@@ -1132,10 +1114,31 @@ public class GoblinStoreMgtGoodsController {
// }
// }
} else {// 盲盒校验
if (CollectionUtils.isEmpty(goodsInfoVo.getSkuIdList())) {
return ResponseDto.failure(ErrorCode.HTTP_PARAM_ERROR.getCode(), "请先添加SKU");
}
if (StringUtils.isEmpty(mgtDigitalGoodsAddSkuParam.getOpeningTime())) {
return ResponseDto.failure(ErrorCode.HTTP_PARAM_ERROR.getCode(), "盲盒开启时间不能为空");
}
}
if ("23".contains(mgtDigitalGoodsAddSkuParam.getWatchType())) {
if (StringUtils.isBlank(mgtDigitalGoodsAddSkuParam.getSkuWatchPic())) {
return ResponseDto.failure(ErrorCode.HTTP_PARAM_ERROR.getCode(), "展示预览图不能为空");
}
} else {
mgtDigitalGoodsAddSkuParam.setSkuWatchPic(null);
}
BigDecimal hitRatio = mgtDigitalGoodsAddSkuParam.getHitRatio();
if (null != hitRatio && hitRatio.scale() > 2) {
return ResponseDto.failure(ErrorCode.HTTP_PARAM_ERROR.getCode(), "概率值只支持小数点后两位");
}
if (goblinMongoUtils.countMgtGoodsSkuInfoVo(mgtDigitalGoodsAddSkuParam.getName(), 1) > 0) {
return ResponseDto.failure(ErrorMapping.get("149018"));
}
JsonNode priceVNode = goblinRedisUtils.getIosProducts().get(mgtDigitalGoodsAddSkuParam.getProductId());
if (null == priceVNode) {
return ResponseDto.failure(ErrorCode.HTTP_PARAM_ERROR.getCode(), "无效的IOS商品ID");
}
if ("3".equals(mgtDigitalGoodsAddSkuParam.getShelvesHandle()) && StringUtils.isEmpty(mgtDigitalGoodsAddSkuParam.getShelvesTime())) {
return ResponseDto.failure(ErrorCode.HTTP_PARAM_ERROR.getCode(), "请指定预约上架时间");
}
......
......@@ -160,6 +160,13 @@ public class KylinOrderTicketsController {
return orderTicketsService.orderTransferBack(orderId);
}
@GetMapping("orderArCode")
@ApiOperation("获取订单Ar激活码")
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<List<String>> orderArCode(@RequestParam(value = "orderId") String orderId) {
return orderTicketsService.getOrderArCode(orderId);
}
/*@GetMapping("toOrderRefundDetails")
@ApiOperation("想要退款订单详情")
@ApiResponse(code = 200, message = "接口返回对象参数")
......
......@@ -198,7 +198,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
orderTicketVo = dataUtils.getTransferOrder(uid);
}
if(!SuperAccountUtils.isSuperAccount(uid,orderTicketVo.getUserId())){
if (!SuperAccountUtils.isSuperAccount(uid, orderTicketVo.getUserId())) {
return null;
}
// if (uid.equals("809406") || uid.equals("773650")) {
......@@ -404,7 +404,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
public ResponseDto<Boolean> supplementEnter(String orderId, String enterList) {
String uid = CurrentUtil.getCurrentUid();
KylinOrderTicketVo orderTicketVo = dataUtils.getOrderTicketVo(orderId);
if(!SuperAccountUtils.isSuperAccount(uid,orderTicketVo.getUserId())){
if (!SuperAccountUtils.isSuperAccount(uid, orderTicketVo.getUserId())) {
return ResponseDto.failure(ErrorMapping.get("20003"));
}
// if (uid.equals("809406") || uid.equals("773650")) {
......@@ -1018,7 +1018,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
KylinPerformanceVo performanceVo = dataUtils.getPerformanceVo(orderTicketVo.getPerformanceId());
List<KylinOrderRefundsVo> kylinOrderRefundsVoBaseList = dataUtils.getOrderRefundVoByOrderId(orderTicketVo.getOrderTicketsId());
if(!SuperAccountUtils.isSuperAccount(uid,orderTicketVo.getUserId())){
if (!SuperAccountUtils.isSuperAccount(uid, orderTicketVo.getUserId())) {
return ResponseDto.failure(ErrorMapping.get("20003"));
}
......@@ -1066,7 +1066,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
KylinOrderTicketVo orderTicketVo = dataUtils.getOrderTicketVo(orderId);
KylinPerformanceVo performanceVo = dataUtils.getPerformanceVo(orderTicketVo.getPerformanceId());
if(!SuperAccountUtils.isSuperAccount(uid,orderTicketVo.getUserId())){
if (!SuperAccountUtils.isSuperAccount(uid, orderTicketVo.getUserId())) {
return ResponseDto.failure(ErrorMapping.get("20003"));
}
......@@ -1101,7 +1101,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
KylinOrderTicketVo orderTicketVo = dataUtils.getOrderTicketVo(orderId);
List<KylinOrderRefundsVo> kylinOrderRefundsVoBaseList = dataUtils.getOrderRefundVoByOrderId(orderTicketVo.getOrderTicketsId());
if(!SuperAccountUtils.isSuperAccount(uid,orderTicketVo.getUserId())){
if (!SuperAccountUtils.isSuperAccount(uid, orderTicketVo.getUserId())) {
return "无权查看";
}
......@@ -1341,4 +1341,14 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
}
}
@Override
public ResponseDto<List<String>> getOrderArCode(String orderId) {
KylinOrderTicketVo orderTicketVo = dataUtils.getOrderTicketVo(orderId);
String uid = CurrentUtil.getCurrentUid();
if (!SuperAccountUtils.isSuperAccount(uid, orderTicketVo.getUserId())) {
return ResponseDto.failure("无权查看");
}
return ResponseDto.success(dataUtils.getOrderArCode(orderId));
}
}
......@@ -1425,4 +1425,29 @@ public class DataUtils {
return false;
}
}
//删除 订单Ar激活码
public void delOrderArCode(String orderId){
String rdk = KylinRedisConst.ORDER_AR_CODE.concat(orderId);
redisUtil.del(rdk);
}
//添加 订单Ar激活码
public void addOrderArCode(String orderId,String arCode){
String rdk = KylinRedisConst.ORDER_AR_CODE.concat(orderId);
List<String> data = getOrderArCode(orderId);
data.add(arCode);
redisUtil.set(rdk,data);
}
//获取 订单Ar激活码
public List<String> getOrderArCode(String orderId){
String rdk = KylinRedisConst.ORDER_AR_CODE.concat(orderId);
Object obj = redisUtil.get(rdk);
if(obj==null){
return CollectionUtil.arrayListString();
}else{
return (List<String>) obj;
}
}
}
......@@ -49,8 +49,12 @@ public class SweetPerformanceServiceImpl extends ServiceImpl<SweetPerformanceMap
Environment environment;
@Override
public ResponseDto<Boolean> add(String performanceId, String performanceName, String arName, String picOne, String picTwo, String arUrl, String timeStart, String timeEnd,String fileSize) {
public ResponseDto<Boolean> add(String performanceId, String performanceName, String arName, String picOne, String picTwo, String arUrl, String timeStart, String timeEnd, String fileSize) {
try {
int count = sweetPerformanceMapper.selectCount(Wrappers.lambdaUpdate(SweetPerformanceShow.class).eq(SweetPerformanceShow::getPerformanceId, performanceId));
if (count > 0) {
return ResponseDto.failure("该演出已关联活动");
}
String offlineUrl = goblinUrl + "/goblin/inner/ar/data"; //离线地址
SweetPerformanceShow show = SweetPerformanceShow.getNew();
show.setArId(IDGenerator.nextTimeId2());
......@@ -63,8 +67,8 @@ public class SweetPerformanceServiceImpl extends ServiceImpl<SweetPerformanceMap
show.setStatus(0);
show.setOfflineUrl(offlineUrl);
show.setFileSize(fileSize);
show.setTimeStart(LocalDateTime.parse(timeStart,DTF_YMD_HMS));
show.setTimeEnd(LocalDateTime.parse(timeEnd,DTF_YMD_HMS));
show.setTimeStart(LocalDateTime.parse(timeStart, DTF_YMD_HMS));
show.setTimeEnd(LocalDateTime.parse(timeEnd, DTF_YMD_HMS));
//redis
List<SweetPerformanceShow> performanceARList = redisUtils.getPerformanceAR();
performanceARList.add(show);
......@@ -82,6 +86,11 @@ public class SweetPerformanceServiceImpl extends ServiceImpl<SweetPerformanceMap
@Override
public ResponseDto<Boolean> change(SweetPerformanceShowParam show) {
try {
int count = sweetPerformanceMapper.selectCount(Wrappers.lambdaUpdate(SweetPerformanceShow.class).eq(SweetPerformanceShow::getPerformanceId, show.getPerformanceId()).ne(SweetPerformanceShow::getArId, show.getArId()));
if (count > 0) {
return ResponseDto.failure("该演出已关联活动");
}
String id = show.getArId();
//修改redis
List<SweetPerformanceShow> performanceARList = redisUtils.getPerformanceAR();
......
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