记得上下班打卡 | git大法好,push需谨慎
Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
liquidnet-bus-v1
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
董敬伟
liquidnet-bus-v1
Commits
81620bed
Commit
81620bed
authored
Jul 19, 2022
by
张国柄
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
+admin.api:巡演券关联配置接口+实现;
parent
898ca840
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
273 additions
and
5 deletions
+273
-5
CandyMgtCouponRelateParam.java
...et/service/candy/dto/admin/CandyMgtCouponRelateParam.java
+47
-0
CandyMgtCouponAdminController.java
...troller/zhengzai/candy/CandyMgtCouponAdminController.java
+14
-4
ICandyCouponRelateAdminService.java
...hengzai/candy/service/ICandyCouponRelateAdminService.java
+25
-0
CandyCouponRelateAdminServiceImpl.java
...candy/service/impl/CandyCouponRelateAdminServiceImpl.java
+90
-0
CandyCouponRelate.java
...com/liquidnet/service/candy/entity/CandyCouponRelate.java
+59
-0
CandyCouponRelateMapper.java
...quidnet/service/candy/mapper/CandyCouponRelateMapper.java
+16
-0
CandyCouponRelateMapper.xml
...iquidnet/service/candy/mapper/CandyCouponRelateMapper.xml
+5
-0
db_ln_candy_initialdata.sql
...idnet-service-candy-impl/docu/db_ln_candy_initialdata.sql
+17
-1
No files found.
liquidnet-bus-api/liquidnet-service-candy-api/src/main/java/com/liquidnet/service/candy/dto/admin/CandyMgtCouponRelateParam.java
0 → 100644
View file @
81620bed
package
com
.
liquidnet
.
service
.
candy
.
dto
.
admin
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
javax.validation.constraints.Size
;
import
java.util.List
;
@ApiModel
(
value
=
"CandyMgtCouponRelateParam"
,
description
=
"券关联配置"
)
public
class
CandyMgtCouponRelateParam
{
@NotBlank
(
message
=
"券ID不能为空"
)
@ApiModelProperty
(
required
=
true
,
value
=
"券ID"
,
example
=
"123456789"
)
private
String
couponId
;
@NotNull
(
message
=
"适用范围不能为空"
)
@ApiModelProperty
(
required
=
true
,
value
=
"适用范围[1-巡演]"
,
allowableValues
=
"1"
)
private
Integer
scope
;
@NotNull
(
message
=
"业务ID列表不能为空"
)
@Size
(
min
=
1
,
message
=
"业务ID列表最少选择一个"
)
@ApiModelProperty
(
required
=
true
,
value
=
"业务ID"
,
dataType
=
"List"
,
example
=
"[\"IDIDIDIDIDIDID1\",\"IDIDIDIDIDIDID2\"]"
)
private
List
<
@NotBlank
(
message
=
"业务ID值不能为空"
)
String
>
idList
;
public
String
getCouponId
()
{
return
couponId
;
}
public
void
setCouponId
(
String
couponId
)
{
this
.
couponId
=
couponId
;
}
public
Integer
getScope
()
{
return
scope
;
}
public
void
setScope
(
Integer
scope
)
{
this
.
scope
=
scope
;
}
public
List
<
String
>
getIdList
()
{
return
idList
;
}
public
void
setIdList
(
List
<
String
>
idList
)
{
this
.
idList
=
idList
;
}
}
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/java/com/liquidnet/client/admin/web/controller/zhengzai/candy/CandyMgtCouponAdminController.java
View file @
81620bed
...
...
@@ -9,14 +9,12 @@ import com.liquidnet.client.admin.common.core.page.TableDataInfo;
import
com.liquidnet.client.admin.common.enums.BusinessType
;
import
com.liquidnet.client.admin.common.utils.ShiroUtils
;
import
com.liquidnet.client.admin.zhengzai.candy.service.ICandyCouponAdminService
;
import
com.liquidnet.client.admin.zhengzai.candy.service.ICandyCouponRelateAdminService
;
import
com.liquidnet.client.admin.zhengzai.candy.service.ICandyCouponRuleAdminService
;
import
com.liquidnet.client.admin.zhengzai.candy.service.ICandyMgtCouponAdminService
;
import
com.liquidnet.client.admin.zhengzai.kylin.service.impl.KylinPerformancesAdminServiceImpl
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.service.candy.dto.admin.CandyCouponRuleBuildParam
;
import
com.liquidnet.service.candy.dto.admin.CandyMgtCouponBuildParam
;
import
com.liquidnet.service.candy.dto.admin.CandyMgtCouponInfoDto
;
import
com.liquidnet.service.candy.dto.admin.CandyMgtCouponListParam
;
import
com.liquidnet.service.candy.dto.admin.*
;
import
com.liquidnet.service.candy.entity.CandyCouponRule
;
import
com.liquidnet.service.kylin.dao.PerformanceSimpleAllDao
;
import
com.liquidnet.service.kylin.service.admin.IKylinPerformancesAdminService
;
...
...
@@ -53,6 +51,8 @@ public class CandyMgtCouponAdminController extends BaseController {
private
ICandyCouponRuleAdminService
candyCouponRuleAdminService
;
@Autowired
private
IKylinPerformancesAdminService
kylinPerformancesAdminService
;
@Autowired
private
ICandyCouponRelateAdminService
candyCouponRelateAdminService
;
@RequiresPermissions
(
"candy:coupon:mgt:view"
)
@GetMapping
()
...
...
@@ -379,4 +379,14 @@ public class CandyMgtCouponAdminController extends BaseController {
//// candyCouponRuleAdminService.update(couponRuleLambdaUpdateWrapper);
// return toAjax(updateMgtCouponFlg);
// }
@ApiOperation
(
value
=
"关联配置"
)
@Log
(
title
=
"我的券包:关联配置"
,
businessType
=
BusinessType
.
INSERT
)
@RequiresPermissions
(
"candy:coupon:mgt:relate"
)
@PostMapping
(
"relate"
)
@ResponseBody
public
AjaxResult
relate
(
@RequestBody
@Validated
CandyMgtCouponRelateParam
relateParam
)
{
logger
.
info
(
"我的券包:关联配置:operator:{},relateParam:{}"
,
ShiroUtils
.
getLoginName
(),
JsonUtils
.
toJson
(
relateParam
));
return
candyCouponRelateAdminService
.
relate
(
relateParam
);
}
}
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/candy/service/ICandyCouponRelateAdminService.java
0 → 100644
View file @
81620bed
package
com
.
liquidnet
.
client
.
admin
.
zhengzai
.
candy
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.liquidnet.client.admin.common.core.domain.AjaxResult
;
import
com.liquidnet.service.candy.dto.admin.CandyMgtCouponRelateParam
;
import
com.liquidnet.service.candy.entity.CandyCouponRelate
;
/**
* <p>
* 券适用关联配置 服务类
* </p>
*
* @author liquidnet
* @since 2022-07-19
*/
public
interface
ICandyCouponRelateAdminService
extends
IService
<
CandyCouponRelate
>
{
/**
* 券适用关联配置
*
* @param couponRelateParam CandyMgtCouponRelateParam
* @return boolean
*/
AjaxResult
relate
(
CandyMgtCouponRelateParam
couponRelateParam
);
}
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/candy/service/impl/CandyCouponRelateAdminServiceImpl.java
0 → 100644
View file @
81620bed
package
com
.
liquidnet
.
client
.
admin
.
zhengzai
.
candy
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.liquidnet.client.admin.common.core.domain.AjaxResult
;
import
com.liquidnet.client.admin.common.utils.ShiroUtils
;
import
com.liquidnet.client.admin.zhengzai.candy.service.ICandyCouponAdminService
;
import
com.liquidnet.client.admin.zhengzai.candy.service.ICandyCouponRelateAdminService
;
import
com.liquidnet.common.cache.redis.util.AbstractRedisUtil
;
import
com.liquidnet.common.cache.redis.util.RedisDataSourceUtil
;
import
com.liquidnet.service.candy.dto.admin.CandyMgtCouponRelateParam
;
import
com.liquidnet.service.candy.entity.CandyCoupon
;
import
com.liquidnet.service.candy.entity.CandyCouponRelate
;
import
com.liquidnet.service.candy.mapper.CandyCouponRelateMapper
;
import
com.liquidnet.service.kylin.constant.KylinRedisConst
;
import
org.apache.commons.lang3.RandomUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* <p>
* 券适用关联配置 服务实现类
* </p>
*
* @author liquidnet
* @since 2022-07-19
*/
@Service
public
class
CandyCouponRelateAdminServiceImpl
extends
ServiceImpl
<
CandyCouponRelateMapper
,
CandyCouponRelate
>
implements
ICandyCouponRelateAdminService
{
@Autowired
private
RedisDataSourceUtil
redisDataSourceUtil
;
@Autowired
private
ICandyCouponAdminService
candyCouponAdminService
;
@Override
public
AjaxResult
relate
(
CandyMgtCouponRelateParam
couponRelateParam
)
{
String
couponId
=
couponRelateParam
.
getCouponId
();
LambdaQueryWrapper
<
CandyCoupon
>
couponLambdaQueryWrapper
=
Wrappers
.
lambdaQuery
();
couponLambdaQueryWrapper
.
eq
(
CandyCoupon:
:
getCouponId
,
couponId
);
couponLambdaQueryWrapper
.
eq
(
CandyCoupon:
:
getState
,
1
);
CandyCoupon
coupon
=
candyCouponAdminService
.
getOne
(
couponLambdaQueryWrapper
);
if
(
coupon
.
getCouType
()
!=
101
)
{
return
AjaxResult
.
warn
(
"当前操作只支持优先券类型"
);
}
String
key
;
Integer
scope
=
couponRelateParam
.
getScope
();
switch
(
scope
)
{
case
1
:
key
=
KylinRedisConst
.
COUPON_ROADSHOWS
.
concat
(
couponId
);
break
;
default
:
return
AjaxResult
.
warn
(
"适用范围无效"
);
}
AbstractRedisUtil
redisKylinUtil
=
redisDataSourceUtil
.
getRedisKylinUtil
();
List
<
String
>
valList
=
(
List
<
String
>)
redisKylinUtil
.
get
(
key
);
if
(!
CollectionUtils
.
isEmpty
(
valList
))
{
return
AjaxResult
.
warn
(
"该券已存在关联配置"
);
}
String
loginName
=
ShiroUtils
.
getLoginName
();
LocalDateTime
now
=
LocalDateTime
.
now
();
List
<
CandyCouponRelate
>
couponRelateList
=
new
ArrayList
<>();
List
<
String
>
idList
=
couponRelateParam
.
getIdList
();
for
(
String
id
:
idList
)
{
CandyCouponRelate
couponRelate
=
new
CandyCouponRelate
();
couponRelate
.
setCouponId
(
couponId
);
couponRelate
.
setBusiId
(
id
);
couponRelate
.
setScope
(
scope
);
couponRelate
.
setOperator
(
loginName
);
couponRelate
.
setCreatedAt
(
now
);
couponRelateList
.
add
(
couponRelate
);
}
if
(
this
.
saveBatch
(
couponRelateList
))
{
redisKylinUtil
.
set
(
key
,
idList
);
return
AjaxResult
.
success
();
}
return
AjaxResult
.
warn
(
"操作失败"
);
}
}
liquidnet-bus-do/liquidnet-service-candy-do/src/main/java/com/liquidnet/service/candy/entity/CandyCouponRelate.java
0 → 100644
View file @
81620bed
package
com
.
liquidnet
.
service
.
candy
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
java.time.LocalDateTime
;
import
java.io.Serializable
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
/**
* <p>
* 券适用关联配置
* </p>
*
* @author liquidnet
* @since 2022-07-19
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
public
class
CandyCouponRelate
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@TableId
(
value
=
"mid"
,
type
=
IdType
.
AUTO
)
private
Long
mid
;
/**
* ~candy_coupon.coupon_id
*/
private
String
couponId
;
/**
* 适用ID
*/
private
String
busiId
;
/**
* 适用范围[1-巡演]
*/
private
Integer
scope
;
/**
* [0-INIT|1-NORMAL|2-INVALID]
*/
private
Integer
state
;
/**
* 操作人
*/
private
String
operator
;
private
LocalDateTime
createdAt
;
private
LocalDateTime
updatedAt
;
private
String
comment
;
}
liquidnet-bus-do/liquidnet-service-candy-do/src/main/java/com/liquidnet/service/candy/mapper/CandyCouponRelateMapper.java
0 → 100644
View file @
81620bed
package
com
.
liquidnet
.
service
.
candy
.
mapper
;
import
com.liquidnet.service.candy.entity.CandyCouponRelate
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
/**
* <p>
* 券适用关联配置 Mapper 接口
* </p>
*
* @author liquidnet
* @since 2022-07-19
*/
public
interface
CandyCouponRelateMapper
extends
BaseMapper
<
CandyCouponRelate
>
{
}
liquidnet-bus-do/liquidnet-service-candy-do/src/main/resources/com/liquidnet/service/candy/mapper/CandyCouponRelateMapper.xml
0 → 100644
View file @
81620bed
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.liquidnet.service.candy.mapper.CandyCouponRelateMapper"
>
</mapper>
liquidnet-bus-service/liquidnet-service-candy/liquidnet-service-candy-impl/docu/db_ln_candy_initialdata.sql
View file @
81620bed
...
...
@@ -164,7 +164,23 @@ alter table candy_common_coupon add exclusive smallint null comment '专享标
-- >>------------------------------------------------------------------------------------|20211208券发放任务表+区分后台人为创建与系统创建标识字段
alter
table
candy_mgt_coupon
add
event_driven
tinyint
default
0
null
comment
'任务驱动[0-系统自动,1-人为创建]'
after
event_at
;
-- >>------------------------------------------------------------------------------------
-- >>------------------------------------------------------------------------------------|20220719券关联巡演
drop
table
if
exists
candy_coupon_relate
;
create
table
candy_coupon_relate
(
mid
bigint
unsigned
auto_increment
primary
key
,
coupon_id
varchar
(
64
)
not
null
comment
'~candy_coupon.coupon_id'
,
busi_id
varchar
(
64
)
comment
'适用ID'
,
scope
smallint
comment
'适用范围[1-巡演]'
,
state
tinyint
comment
'[0-INIT|1-NORMAL|2-INVALID]'
,
operator
varchar
(
64
)
not
null
comment
'操作人'
,
created_at
datetime
(
3
)
not
null
,
updated_at
datetime
(
3
),
comment
text
)
engine
InnoDB
comment
'券适用关联配置'
;
create
index
idx_ccr_coupon_id
on
candy_coupon_relate
(
coupon_id
);
-- >>------------------------------------------------------------------------------------
-- >>------------------------------------------------------------------------------------
-- >>------------------------------------------------------------------------------------
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment