增加了套餐包类目区分
This commit is contained in:
parent
633c21bff8
commit
f1ffb08941
@ -5,6 +5,7 @@ import cn.com.tenlion.operator.pojo.vos.packageorder.PackageOrderWriteoffVO;
|
|||||||
import ink.wgink.annotation.CheckRequestBodyAnnotation;
|
import ink.wgink.annotation.CheckRequestBodyAnnotation;
|
||||||
import ink.wgink.common.base.DefaultBaseController;
|
import ink.wgink.common.base.DefaultBaseController;
|
||||||
import ink.wgink.common.component.SecurityComponent;
|
import ink.wgink.common.component.SecurityComponent;
|
||||||
|
import ink.wgink.exceptions.SaveException;
|
||||||
import ink.wgink.interfaces.consts.ISystemConstant;
|
import ink.wgink.interfaces.consts.ISystemConstant;
|
||||||
import ink.wgink.pojo.ListPage;
|
import ink.wgink.pojo.ListPage;
|
||||||
import ink.wgink.pojo.result.ErrorResult;
|
import ink.wgink.pojo.result.ErrorResult;
|
||||||
@ -42,7 +43,7 @@ public class PackageOrderController extends DefaultBaseController {
|
|||||||
@ApiOperation(value = "购买套餐包-订单", notes = "购买套餐包-订单接口")
|
@ApiOperation(value = "购买套餐包-订单", notes = "购买套餐包-订单接口")
|
||||||
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
|
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
|
||||||
@PostMapping("buy/{infoId}")
|
@PostMapping("buy/{infoId}")
|
||||||
public SuccessResultData<String> save(@PathVariable String infoId) {
|
public SuccessResultData<String> save(@PathVariable String infoId) throws Exception {
|
||||||
try{
|
try{
|
||||||
PackageOrderAppVO vo = new PackageOrderAppVO();
|
PackageOrderAppVO vo = new PackageOrderAppVO();
|
||||||
vo.setUserId(securityComponent.getCurrentUser().getUserId());
|
vo.setUserId(securityComponent.getCurrentUser().getUserId());
|
||||||
|
@ -21,6 +21,8 @@ public class PackageInfoAppDTO {
|
|||||||
private String packageName;
|
private String packageName;
|
||||||
@ApiModelProperty(name = "packageType", value = "类型 MATERIAL 写材料 . ALL 全托管")
|
@ApiModelProperty(name = "packageType", value = "类型 MATERIAL 写材料 . ALL 全托管")
|
||||||
private String packageType;
|
private String packageType;
|
||||||
|
@ApiModelProperty(name = "packageCatalog", value = "类目")
|
||||||
|
private String packageCatalog;
|
||||||
@ApiModelProperty(name = "packageMode", value = "可购买次数 single(每个用户可购买1次), all(不限)")
|
@ApiModelProperty(name = "packageMode", value = "可购买次数 single(每个用户可购买1次), all(不限)")
|
||||||
private String packageMode;
|
private String packageMode;
|
||||||
@ApiModelProperty(name = "packageOriginalPrice", value = "原价/单位分")
|
@ApiModelProperty(name = "packageOriginalPrice", value = "原价/单位分")
|
||||||
@ -40,6 +42,14 @@ public class PackageInfoAppDTO {
|
|||||||
@ApiModelProperty(name = "createTime", value = "")
|
@ApiModelProperty(name = "createTime", value = "")
|
||||||
private String createTime;
|
private String createTime;
|
||||||
|
|
||||||
|
public String getPackageCatalog() {
|
||||||
|
return packageCatalog == null ? "" : packageCatalog.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPackageCatalog(String packageCatalog) {
|
||||||
|
this.packageCatalog = packageCatalog;
|
||||||
|
}
|
||||||
|
|
||||||
public String getPackageExpire() {
|
public String getPackageExpire() {
|
||||||
return packageExpire == null ? "" : packageExpire.trim();
|
return packageExpire == null ? "" : packageExpire.trim();
|
||||||
}
|
}
|
||||||
|
@ -29,6 +29,8 @@ public class PackageInfoDTO {
|
|||||||
private String packageType;
|
private String packageType;
|
||||||
@ApiModelProperty(name = "packageMode", value = "可购买次数 single(每个用户可购买1次), infinite(不限)")
|
@ApiModelProperty(name = "packageMode", value = "可购买次数 single(每个用户可购买1次), infinite(不限)")
|
||||||
private String packageMode;
|
private String packageMode;
|
||||||
|
@ApiModelProperty(name = "packageCatalog", value = "类目")
|
||||||
|
private String packageCatalog;
|
||||||
@ApiModelProperty(name = "packageOriginalPrice", value = "原价/单位分")
|
@ApiModelProperty(name = "packageOriginalPrice", value = "原价/单位分")
|
||||||
private Integer packageOriginalPrice;
|
private Integer packageOriginalPrice;
|
||||||
@ApiModelProperty(name = "packageMoney", value = "套餐价/单位分")
|
@ApiModelProperty(name = "packageMoney", value = "套餐价/单位分")
|
||||||
@ -70,6 +72,14 @@ public class PackageInfoDTO {
|
|||||||
@ApiModelProperty(name = "userList", value = "")
|
@ApiModelProperty(name = "userList", value = "")
|
||||||
List<RelatedUserDTO> userList = new ArrayList<>();
|
List<RelatedUserDTO> userList = new ArrayList<>();
|
||||||
|
|
||||||
|
public String getPackageCatalog() {
|
||||||
|
return packageCatalog == null ? "" : packageCatalog.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPackageCatalog(String packageCatalog) {
|
||||||
|
this.packageCatalog = packageCatalog;
|
||||||
|
}
|
||||||
|
|
||||||
public String getPackageExpire() {
|
public String getPackageExpire() {
|
||||||
return packageExpire == null ? "" : packageExpire.trim();
|
return packageExpire == null ? "" : packageExpire.trim();
|
||||||
}
|
}
|
||||||
|
@ -29,6 +29,8 @@ public class PackageInfoVO {
|
|||||||
@ApiModelProperty(name = "packageType", value = "类型写材料 . 全托管等的枚举名")
|
@ApiModelProperty(name = "packageType", value = "类型写材料 . 全托管等的枚举名")
|
||||||
@CheckEmptyAnnotation(name = "类型")
|
@CheckEmptyAnnotation(name = "类型")
|
||||||
private String packageType;
|
private String packageType;
|
||||||
|
@ApiModelProperty(name = "packageCatalog", value = "类目")
|
||||||
|
private String packageCatalog;
|
||||||
@ApiModelProperty(name = "packageMode", value = "可购买次数 single(每个用户可购买1次), infinite(不限)")
|
@ApiModelProperty(name = "packageMode", value = "可购买次数 single(每个用户可购买1次), infinite(不限)")
|
||||||
@CheckEmptyAnnotation(name = "限制")
|
@CheckEmptyAnnotation(name = "限制")
|
||||||
private String packageMode;
|
private String packageMode;
|
||||||
@ -69,6 +71,14 @@ public class PackageInfoVO {
|
|||||||
@ApiModelProperty(name = "userList", value = "")
|
@ApiModelProperty(name = "userList", value = "")
|
||||||
List<RelatedUserVO> userList = new ArrayList<>();
|
List<RelatedUserVO> userList = new ArrayList<>();
|
||||||
|
|
||||||
|
public String getPackageCatalog() {
|
||||||
|
return packageCatalog == null ? "" : packageCatalog.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPackageCatalog(String packageCatalog) {
|
||||||
|
this.packageCatalog = packageCatalog;
|
||||||
|
}
|
||||||
|
|
||||||
public Integer getPackageExpire() {
|
public Integer getPackageExpire() {
|
||||||
return packageExpire == null ? 0 : packageExpire;
|
return packageExpire == null ? 0 : packageExpire;
|
||||||
}
|
}
|
||||||
|
@ -180,7 +180,7 @@ public interface IPackageOrderService {
|
|||||||
*/
|
*/
|
||||||
SuccessResultList<List<PackageOrderDTO>> listPage(ListPage page);
|
SuccessResultList<List<PackageOrderDTO>> listPage(ListPage page);
|
||||||
|
|
||||||
List<PackageOrderDTO> listByUserAndInfo(String packageInfoId, String userId);
|
List<PackageOrderDTO> listByUserAndInfo(String packageCatalog, String packageInfoId, String userId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 套餐包-订单统计
|
* 套餐包-订单统计
|
||||||
|
@ -182,9 +182,11 @@ public class PackageOrderServiceImpl extends DefaultBaseService implements IPack
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<PackageOrderDTO> listByUserAndInfo(String packageInfoId, String userId) {
|
public List<PackageOrderDTO> listByUserAndInfo(String packageCatalog, String packageInfoId, String userId) {
|
||||||
Map<String, Object> params = super.getHashMap(2);
|
Map<String, Object> params = super.getHashMap(2);
|
||||||
params.put("packageInfoId", packageInfoId);
|
params.put("packageInfoId", packageInfoId);
|
||||||
|
if(!StringUtils.isEmpty(packageCatalog))
|
||||||
|
params.put("packageCatalog", packageCatalog);
|
||||||
params.put("notCheckStatus", "不校验删除状态");
|
params.put("notCheckStatus", "不校验删除状态");
|
||||||
params.put("userId", userId);
|
params.put("userId", userId);
|
||||||
return packageOrderDao.list(params);
|
return packageOrderDao.list(params);
|
||||||
@ -205,19 +207,10 @@ public class PackageOrderServiceImpl extends DefaultBaseService implements IPack
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
PackageInfoAppDTO infoAppDTO = orderDTO.getPackageInfoAppDTO();
|
PackageInfoAppDTO infoAppDTO = orderDTO.getPackageInfoAppDTO();
|
||||||
// 仅限购买1次的
|
|
||||||
if(infoAppDTO.getPackageMode().equals("single")) {
|
// 校验是否可以购买
|
||||||
List<PackageOrderDTO> list = listByUserAndInfo(orderDTO.getPackageInfoId(), orderDTO.getCreator());
|
checkPay(infoAppDTO, orderDTO);
|
||||||
Boolean exists = false;
|
|
||||||
for(PackageOrderDTO dto : list) {
|
|
||||||
if(dto.getPackagePayStatus().equals("1")) {
|
|
||||||
exists = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (exists) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/**
|
/**
|
||||||
* 1. 更改到账时间 , 状态
|
* 1. 更改到账时间 , 状态
|
||||||
*/
|
*/
|
||||||
@ -241,19 +234,10 @@ public class PackageOrderServiceImpl extends DefaultBaseService implements IPack
|
|||||||
throw new SaveException("该套餐订单已购买");
|
throw new SaveException("该套餐订单已购买");
|
||||||
}
|
}
|
||||||
PackageInfoAppDTO infoAppDTO = orderDTO.getPackageInfoAppDTO();
|
PackageInfoAppDTO infoAppDTO = orderDTO.getPackageInfoAppDTO();
|
||||||
// 仅限购买1次的
|
|
||||||
if(infoAppDTO.getPackageMode().equals("single")) {
|
// 校验是否可以购买
|
||||||
List<PackageOrderDTO> list = listByUserAndInfo(orderDTO.getPackageInfoId(), orderDTO.getCreator());
|
checkPay(infoAppDTO, orderDTO);
|
||||||
Boolean exists = false;
|
|
||||||
for(PackageOrderDTO dto : list) {
|
|
||||||
if(dto.getPackagePayStatus().equals("1")) {
|
|
||||||
exists = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (exists) {
|
|
||||||
throw new SaveException("该套餐只允许购买一次");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/**
|
/**
|
||||||
* 1. 更改到账时间 , 状态
|
* 1. 更改到账时间 , 状态
|
||||||
*/
|
*/
|
||||||
@ -366,6 +350,36 @@ public class PackageOrderServiceImpl extends DefaultBaseService implements IPack
|
|||||||
}
|
}
|
||||||
return accessToken;
|
return accessToken;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void checkPay(PackageInfoAppDTO infoAppDTO, PackageOrderDTO orderDTO) {
|
||||||
|
// 仅限购买1次的
|
||||||
|
if(infoAppDTO.getPackageMode().equals("single")) {
|
||||||
|
List<PackageOrderDTO> list = listByUserAndInfo("", orderDTO.getPackageInfoId(), orderDTO.getCreator());
|
||||||
|
|
||||||
|
Boolean exists = false;
|
||||||
|
for(PackageOrderDTO dto : list) {
|
||||||
|
if(dto.getPackagePayStatus().equals("1")) {
|
||||||
|
exists = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (exists) {
|
||||||
|
throw new SaveException("该套餐只允许购买一次");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 仅限同類目购买1次的
|
||||||
|
if(infoAppDTO.getPackageMode().equals("catalog_single")) {
|
||||||
|
List<PackageOrderDTO> list = listByUserAndInfo(infoAppDTO.getPackageCatalog(), orderDTO.getPackageInfoId(), orderDTO.getCreator());
|
||||||
|
Boolean exists = false;
|
||||||
|
for(PackageOrderDTO dto : list) {
|
||||||
|
if(dto.getPackagePayStatus().equals("1")) {
|
||||||
|
exists = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (exists) {
|
||||||
|
throw new SaveException("该类套餐只允许购买一次");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@Autowired
|
@Autowired
|
||||||
private SystemApiPathProperties apiPathProperties;
|
private SystemApiPathProperties apiPathProperties;
|
||||||
@Override
|
@Override
|
||||||
@ -383,19 +397,9 @@ public class PackageOrderServiceImpl extends DefaultBaseService implements IPack
|
|||||||
throw new SaveException("该套餐订单已购买");
|
throw new SaveException("该套餐订单已购买");
|
||||||
}
|
}
|
||||||
PackageInfoAppDTO infoAppDTO = orderDTO.getPackageInfoAppDTO();
|
PackageInfoAppDTO infoAppDTO = orderDTO.getPackageInfoAppDTO();
|
||||||
// 仅限购买1次的
|
|
||||||
if(infoAppDTO.getPackageMode().equals("single")) {
|
// 校验是否可以购买
|
||||||
List<PackageOrderDTO> list = listByUserAndInfo(orderDTO.getPackageInfoId(), orderDTO.getCreator());
|
checkPay(infoAppDTO, orderDTO);
|
||||||
Boolean exists = false;
|
|
||||||
for(PackageOrderDTO dto : list) {
|
|
||||||
if(dto.getPackagePayStatus().equals("1")) {
|
|
||||||
exists = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (exists) {
|
|
||||||
throw new SaveException("该套餐只允许购买一次");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 扣钱
|
* 扣钱
|
||||||
|
@ -529,6 +529,14 @@
|
|||||||
t1.recharge_remark
|
t1.recharge_remark
|
||||||
FROM
|
FROM
|
||||||
operator_account_recharge t1
|
operator_account_recharge t1
|
||||||
|
LEFT JOIN
|
||||||
|
sys_user t2
|
||||||
|
ON
|
||||||
|
t1.account_id = t2.user_id
|
||||||
|
LEFT JOIN
|
||||||
|
user_info t3
|
||||||
|
ON
|
||||||
|
t2.user_id = t3.user_id
|
||||||
WHERE
|
WHERE
|
||||||
t1.is_delete = 0
|
t1.is_delete = 0
|
||||||
<if test="accountId != null and accountId != ''">
|
<if test="accountId != null and accountId != ''">
|
||||||
@ -552,6 +560,12 @@
|
|||||||
<if test="keywords != null and keywords != ''">
|
<if test="keywords != null and keywords != ''">
|
||||||
AND (
|
AND (
|
||||||
<!-- 这里添加其他条件 -->
|
<!-- 这里添加其他条件 -->
|
||||||
|
t2.user_name LIKE CONCAT('%', #{keywords}, '%')
|
||||||
|
OR
|
||||||
|
t2.user_username LIKE CONCAT('%', #{keywords}, '%')
|
||||||
|
OR
|
||||||
|
t3.user_info_name LIKE CONCAT('%', #{keywords}, '%')
|
||||||
|
OR
|
||||||
t1.recharge_check_remark LIKE CONCAT('%', #{keywords}, '%')
|
t1.recharge_check_remark LIKE CONCAT('%', #{keywords}, '%')
|
||||||
)
|
)
|
||||||
</if>
|
</if>
|
||||||
@ -589,6 +603,14 @@
|
|||||||
SUM(recharge_money)
|
SUM(recharge_money)
|
||||||
FROM
|
FROM
|
||||||
operator_account_recharge t1
|
operator_account_recharge t1
|
||||||
|
LEFT JOIN
|
||||||
|
sys_user t2
|
||||||
|
ON
|
||||||
|
t1.account_id = t2.user_id
|
||||||
|
LEFT JOIN
|
||||||
|
user_info t3
|
||||||
|
ON
|
||||||
|
t2.user_id = t3.user_id
|
||||||
WHERE
|
WHERE
|
||||||
t1.is_delete = 0
|
t1.is_delete = 0
|
||||||
<if test="accountId != null and accountId != ''">
|
<if test="accountId != null and accountId != ''">
|
||||||
@ -612,6 +634,12 @@
|
|||||||
<if test="keywords != null and keywords != ''">
|
<if test="keywords != null and keywords != ''">
|
||||||
AND (
|
AND (
|
||||||
<!-- 这里添加其他条件 -->
|
<!-- 这里添加其他条件 -->
|
||||||
|
t2.user_name LIKE CONCAT('%', #{keywords}, '%')
|
||||||
|
OR
|
||||||
|
t2.user_username LIKE CONCAT('%', #{keywords}, '%')
|
||||||
|
OR
|
||||||
|
t3.user_info_name LIKE CONCAT('%', #{keywords}, '%')
|
||||||
|
OR
|
||||||
t1.recharge_check_remark LIKE CONCAT('%', #{keywords}, '%')
|
t1.recharge_check_remark LIKE CONCAT('%', #{keywords}, '%')
|
||||||
)
|
)
|
||||||
</if>
|
</if>
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
<result column="package_name" property="packageName"/>
|
<result column="package_name" property="packageName"/>
|
||||||
<result column="package_expire" property="packageExpire"/>
|
<result column="package_expire" property="packageExpire"/>
|
||||||
<result column="package_type" property="packageType"/>
|
<result column="package_type" property="packageType"/>
|
||||||
|
<result column="package_catalog" property="packageCatalog"/>
|
||||||
<result column="package_mode" property="packageMode"/>
|
<result column="package_mode" property="packageMode"/>
|
||||||
<result column="package_original_price" property="packageOriginalPrice"/>
|
<result column="package_original_price" property="packageOriginalPrice"/>
|
||||||
<result column="package_money" property="packageMoney"/>
|
<result column="package_money" property="packageMoney"/>
|
||||||
@ -23,6 +24,7 @@
|
|||||||
<result column="package_name" property="packageName"/>
|
<result column="package_name" property="packageName"/>
|
||||||
<result column="package_expire" property="packageExpire"/>
|
<result column="package_expire" property="packageExpire"/>
|
||||||
<result column="package_type" property="packageType"/>
|
<result column="package_type" property="packageType"/>
|
||||||
|
<result column="package_catalog" property="packageCatalog"/>
|
||||||
<result column="package_mode" property="packageMode"/>
|
<result column="package_mode" property="packageMode"/>
|
||||||
<result column="package_original_price" property="packageOriginalPrice"/>
|
<result column="package_original_price" property="packageOriginalPrice"/>
|
||||||
<result column="package_money" property="packageMoney"/>
|
<result column="package_money" property="packageMoney"/>
|
||||||
@ -104,6 +106,7 @@
|
|||||||
package_name,
|
package_name,
|
||||||
package_expire,
|
package_expire,
|
||||||
package_type,
|
package_type,
|
||||||
|
package_catalog,
|
||||||
package_mode,
|
package_mode,
|
||||||
package_original_price,
|
package_original_price,
|
||||||
package_money,
|
package_money,
|
||||||
@ -129,6 +132,7 @@
|
|||||||
#{packageName},
|
#{packageName},
|
||||||
#{packageExpire},
|
#{packageExpire},
|
||||||
#{packageType},
|
#{packageType},
|
||||||
|
#{packageCatalog},
|
||||||
#{packageMode},
|
#{packageMode},
|
||||||
#{packageOriginalPrice},
|
#{packageOriginalPrice},
|
||||||
#{packageMoney},
|
#{packageMoney},
|
||||||
@ -246,6 +250,7 @@
|
|||||||
<if test="packageOrder != null">
|
<if test="packageOrder != null">
|
||||||
package_order = #{packageOrder},
|
package_order = #{packageOrder},
|
||||||
</if>
|
</if>
|
||||||
|
package_catalog = #{packageCatalog},
|
||||||
package_description = #{packageDescription},
|
package_description = #{packageDescription},
|
||||||
gmt_modified = #{gmtModified},
|
gmt_modified = #{gmtModified},
|
||||||
modifier = #{modifier},
|
modifier = #{modifier},
|
||||||
@ -261,6 +266,7 @@
|
|||||||
t1.package_expire,
|
t1.package_expire,
|
||||||
t1.package_type,
|
t1.package_type,
|
||||||
t1.package_mode,
|
t1.package_mode,
|
||||||
|
t1.package_catalog,
|
||||||
t1.package_original_price,
|
t1.package_original_price,
|
||||||
t1.package_money,
|
t1.package_money,
|
||||||
t1.package_count,
|
t1.package_count,
|
||||||
@ -366,6 +372,7 @@
|
|||||||
t1.package_expire,
|
t1.package_expire,
|
||||||
t1.package_name,
|
t1.package_name,
|
||||||
t1.package_type,
|
t1.package_type,
|
||||||
|
t1.package_catalog,
|
||||||
t1.package_mode,
|
t1.package_mode,
|
||||||
t1.package_original_price,
|
t1.package_original_price,
|
||||||
t1.package_money,
|
t1.package_money,
|
||||||
@ -407,6 +414,14 @@
|
|||||||
(
|
(
|
||||||
t1.package_mode = 'single' AND t1.package_limit_users = '' AND 1 > (SELECT COUNT(1) FROM operator_package_order t2 WHERE t1.package_info_id = t2.package_info_id AND t2.package_pay_status = '1' AND t2.creator = #{userId})
|
t1.package_mode = 'single' AND t1.package_limit_users = '' AND 1 > (SELECT COUNT(1) FROM operator_package_order t2 WHERE t1.package_info_id = t2.package_info_id AND t2.package_pay_status = '1' AND t2.creator = #{userId})
|
||||||
)
|
)
|
||||||
|
OR
|
||||||
|
(
|
||||||
|
t1.package_mode = 'catalog_single' AND t1.package_limit_users != '' AND t1.package_limit_users LIKE CONCAT('%', #{userId} ,'%') AND 1 > (SELECT COUNT(1) FROM operator_package_order t2 LEFT JOIN operator_package_info t3 ON t2.package_info_id = t3.package_info_id WHERE t3.package_catalog = t1.package_catalog AND t2.package_pay_status = '1' AND t2.creator = #{userId})
|
||||||
|
)
|
||||||
|
OR
|
||||||
|
(
|
||||||
|
t1.package_mode = 'catalog_single' AND t1.package_limit_users = '' AND 1 > (SELECT COUNT(1) FROM operator_package_order t2 LEFT JOIN operator_package_info t3 ON t2.package_info_id = t3.package_info_id WHERE t1.package_catalog = t3.package_catalog AND t2.package_pay_status = '1' AND t2.creator = #{userId})
|
||||||
|
)
|
||||||
)
|
)
|
||||||
ORDER BY t1.package_order , t1.package_onlien_time DESC
|
ORDER BY t1.package_order , t1.package_onlien_time DESC
|
||||||
</select>
|
</select>
|
||||||
@ -417,6 +432,7 @@
|
|||||||
t1.package_expire,
|
t1.package_expire,
|
||||||
t1.package_name,
|
t1.package_name,
|
||||||
t1.package_type,
|
t1.package_type,
|
||||||
|
t1.package_catalog,
|
||||||
t1.package_mode,
|
t1.package_mode,
|
||||||
t1.package_original_price,
|
t1.package_original_price,
|
||||||
t1.package_money,
|
t1.package_money,
|
||||||
@ -496,7 +512,7 @@
|
|||||||
#{packageInfoIds[${index}]}
|
#{packageInfoIds[${index}]}
|
||||||
</foreach>
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
ORDER BY t1.package_order , t1.create_time DESC
|
ORDER BY t1.package_status DESC, t1.package_order , t1.create_time DESC
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!-- 套餐包列表 -->
|
<!-- 套餐包列表 -->
|
||||||
|
@ -345,7 +345,13 @@
|
|||||||
AND t1.package_pay_status = #{packagePayStatus}
|
AND t1.package_pay_status = #{packagePayStatus}
|
||||||
</if>
|
</if>
|
||||||
<if test="packageInfoId != null and packageInfoId != ''">
|
<if test="packageInfoId != null and packageInfoId != ''">
|
||||||
AND t1.package_info_id = #{packageInfoId}
|
AND
|
||||||
|
(
|
||||||
|
t1.package_info_id = #{packageInfoId}
|
||||||
|
<if test="packageCatalog != null and packageCatalog != ''">
|
||||||
|
OR t4.package_catalog = #{packageCatalog}
|
||||||
|
</if>
|
||||||
|
)
|
||||||
</if>
|
</if>
|
||||||
<if test="packageType != null and packageType != ''">
|
<if test="packageType != null and packageType != ''">
|
||||||
AND t4.package_type = #{packageType}
|
AND t4.package_type = #{packageType}
|
||||||
|
@ -21,6 +21,9 @@
|
|||||||
<div class="layui-card-body">
|
<div class="layui-card-body">
|
||||||
<form class="layui-form layui-form-pane" lay-filter="dataForm">
|
<form class="layui-form layui-form-pane" lay-filter="dataForm">
|
||||||
<div class="test-table-reload-btn" style="margin-bottom: 10px;">
|
<div class="test-table-reload-btn" style="margin-bottom: 10px;">
|
||||||
|
<div class="layui-inline">
|
||||||
|
<input type="text" id="keywords" class="layui-input search-item" placeholder="输入关键字">
|
||||||
|
</div>
|
||||||
<div class="layui-inline">
|
<div class="layui-inline">
|
||||||
<input type="text" style="cursor: pointer" id="startTime" class="layui-input search-item" placeholder="开始时间" readonly>
|
<input type="text" style="cursor: pointer" id="startTime" class="layui-input search-item" placeholder="开始时间" readonly>
|
||||||
</div>
|
</div>
|
||||||
@ -204,6 +207,7 @@
|
|||||||
// 修复:使用正确的选择器获取单选按钮的值
|
// 修复:使用正确的选择器获取单选按钮的值
|
||||||
var orderMode = $('input[name="orderMode"]:checked').val();
|
var orderMode = $('input[name="orderMode"]:checked').val();
|
||||||
var data = {
|
var data = {
|
||||||
|
keywords: $('#keywords').val(),
|
||||||
startTime: $('#startTime').val(),
|
startTime: $('#startTime').val(),
|
||||||
orderMode: orderMode,
|
orderMode: orderMode,
|
||||||
endTime: $('#endTime').val(),
|
endTime: $('#endTime').val(),
|
||||||
|
@ -126,12 +126,15 @@
|
|||||||
return rowData;
|
return rowData;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{field: 'packageMode', width: 180, title: '限制', align:'center',
|
{field: 'packageMode', width: 200, title: '限制', align:'center',
|
||||||
templet: function(row) {
|
templet: function(row) {
|
||||||
var rowData = row[this.field];
|
var rowData = row[this.field];
|
||||||
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
|
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
|
||||||
return '-';
|
return '-';
|
||||||
}
|
}
|
||||||
|
if(rowData == 'catalog_single') {
|
||||||
|
return '<b>同类目每个用户可购买1次</b>';
|
||||||
|
}
|
||||||
if(rowData == 'single') {
|
if(rowData == 'single') {
|
||||||
return '<b>每个用户可购买1次</b>';
|
return '<b>每个用户可购买1次</b>';
|
||||||
}
|
}
|
||||||
|
@ -56,8 +56,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="layui-col-xs6">
|
<div class="layui-col-xs6">
|
||||||
<div class="layui-form-item" pane="">
|
<div class="layui-form-item" pane="">
|
||||||
<label class="layui-form-label">限制<span style="color: red">*</span></label>
|
<label class="layui-form-label">购买限制<span style="color: red">*</span></label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
|
<input type="radio" name="packageMode" value="catalog_single" title="同类目下每个用户可购买1次" >
|
||||||
<input type="radio" name="packageMode" value="single" title="每个用户可购买1次" >
|
<input type="radio" name="packageMode" value="single" title="每个用户可购买1次" >
|
||||||
<input type="radio" name="packageMode" value="all" title="不限制" >
|
<input type="radio" name="packageMode" value="all" title="不限制" >
|
||||||
</div>
|
</div>
|
||||||
@ -98,7 +99,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>-->
|
</div>-->
|
||||||
<div class="layui-col-xs6">
|
<div class="layui-col-xs3">
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<label class="layui-form-label">排序</label>
|
<label class="layui-form-label">排序</label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
@ -106,6 +107,20 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="layui-col-xs3">
|
||||||
|
<div class="layui-form-item" >
|
||||||
|
<label class="layui-form-label">类目</label>
|
||||||
|
<div class="layui-input-block layui-form" id="packageCatalogSelectTemplateBox" lay-filter="packageCatalogSelectTemplateBox"></div>
|
||||||
|
<script id="packageCatalogSelectTemplate" type="text/html">
|
||||||
|
<select id="packageCatalog" name="packageCatalog">
|
||||||
|
<option value="">请选择</option>
|
||||||
|
{{# for(var i = 0, item; item = d[i++];) { }}
|
||||||
|
<option value="{{item.dataId}}">{{item.dataName}}</option>
|
||||||
|
{{# } }}
|
||||||
|
</select>
|
||||||
|
</script>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-form-item layui-form-text">
|
<div class="layui-form-item layui-form-text">
|
||||||
<label class="layui-form-label"><button type="button" class="layui-btn layui-btn-sm selectUserAPI" style="margin-top: -5px;margin-left: -12px;" >选择套餐定向用户群</button></label>
|
<label class="layui-form-label"><button type="button" class="layui-btn layui-btn-sm selectUserAPI" style="margin-top: -5px;margin-left: -12px;" >选择套餐定向用户群</button></label>
|
||||||
@ -167,6 +182,23 @@
|
|||||||
var wangEditorObj = {};
|
var wangEditorObj = {};
|
||||||
var viewerObj = {};
|
var viewerObj = {};
|
||||||
|
|
||||||
|
function initPackageTypSelect(value) {
|
||||||
|
top.restAjax.get(top.restAjax.path('app/data/listbyparentidrelease/74533f1f-96c9-48c2-9e79-73c5194224c7', []), {}, null, function(code, data, args) {
|
||||||
|
console.log(data);
|
||||||
|
laytpl(document.getElementById('packageCatalogSelectTemplate').innerHTML).render(data, function(html) {
|
||||||
|
document.getElementById('packageCatalogSelectTemplateBox').innerHTML = html;
|
||||||
|
});
|
||||||
|
form.render('select', 'packageCatalogSelectTemplateBox');
|
||||||
|
|
||||||
|
var selectObj = {};
|
||||||
|
selectObj['packageCatalog'] = value;
|
||||||
|
form.val('dataForm', selectObj);
|
||||||
|
}, function(code, data) {
|
||||||
|
top.dialog.msg(data.msg);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
initPackageTypSelect("");
|
||||||
|
|
||||||
var selectedUsers = [];
|
var selectedUsers = [];
|
||||||
var selectedUserIds = "";
|
var selectedUserIds = "";
|
||||||
$(document).on("click", ".selectUserAPI", function(data) {
|
$(document).on("click", ".selectUserAPI", function(data) {
|
||||||
@ -174,7 +206,7 @@
|
|||||||
top.dialog.dialogData.selectedUsers = selectedUsers;
|
top.dialog.dialogData.selectedUsers = selectedUsers;
|
||||||
top.layer.open({
|
top.layer.open({
|
||||||
type: 2,
|
type: 2,
|
||||||
title: "选择优惠券发放用户",
|
title: "选择套餐包定向用户",
|
||||||
closeBtn: 1,
|
closeBtn: 1,
|
||||||
area: ['90%', '90%'],
|
area: ['90%', '90%'],
|
||||||
shadeClose: false,
|
shadeClose: false,
|
||||||
|
@ -55,8 +55,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="layui-col-xs6">
|
<div class="layui-col-xs6">
|
||||||
<div class="layui-form-item" pane="">
|
<div class="layui-form-item" pane="">
|
||||||
<label class="layui-form-label">限制<span style="color: red">*</span></label>
|
<label class="layui-form-label">购买限制<span style="color: red">*</span></label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
|
<input type="radio" name="packageMode" value="catalog_single" title="同类目下每个用户可购买1次" >
|
||||||
<input type="radio" name="packageMode" value="single" title="每个用户可购买1次" >
|
<input type="radio" name="packageMode" value="single" title="每个用户可购买1次" >
|
||||||
<input type="radio" name="packageMode" value="all" title="不限制" >
|
<input type="radio" name="packageMode" value="all" title="不限制" >
|
||||||
</div>
|
</div>
|
||||||
@ -97,7 +98,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>-->
|
</div>-->
|
||||||
<div class="layui-col-xs6">
|
<div class="layui-col-xs3">
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<label class="layui-form-label">排序</label>
|
<label class="layui-form-label">排序</label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
@ -105,6 +106,20 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="layui-col-xs3">
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">类目</label>
|
||||||
|
<div class="layui-input-block layui-form" id="packageCatalogSelectTemplateBox" lay-filter="packageCatalogSelectTemplateBox"></div>
|
||||||
|
<script id="packageCatalogSelectTemplate" type="text/html">
|
||||||
|
<select id="packageCatalog" name="packageCatalog">
|
||||||
|
<option value="">请选择</option>
|
||||||
|
{{# for(var i = 0, item; item = d[i++];) { }}
|
||||||
|
<option value="{{item.dataId}}">{{item.dataName}}</option>
|
||||||
|
{{# } }}
|
||||||
|
</select>
|
||||||
|
</script>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-form-item layui-form-text">
|
<div class="layui-form-item layui-form-text">
|
||||||
<label class="layui-form-label"><button type="button" class="layui-btn layui-btn-sm selectUserAPI" style="margin-top: -5px;margin-left: -12px;" >选择套餐定向用户群</button></label>
|
<label class="layui-form-label"><button type="button" class="layui-btn layui-btn-sm selectUserAPI" style="margin-top: -5px;margin-left: -12px;" >选择套餐定向用户群</button></label>
|
||||||
@ -167,6 +182,23 @@
|
|||||||
var viewerObj = {};
|
var viewerObj = {};
|
||||||
var packageInfoId = top.restAjax.params(window.location.href).packageInfoId;
|
var packageInfoId = top.restAjax.params(window.location.href).packageInfoId;
|
||||||
|
|
||||||
|
|
||||||
|
function initPackageTypSelect(value) {
|
||||||
|
top.restAjax.get(top.restAjax.path('app/data/listbyparentidrelease/74533f1f-96c9-48c2-9e79-73c5194224c7', []), {}, null, function(code, data, args) {
|
||||||
|
console.log(data);
|
||||||
|
laytpl(document.getElementById('packageCatalogSelectTemplate').innerHTML).render(data, function(html) {
|
||||||
|
document.getElementById('packageCatalogSelectTemplateBox').innerHTML = html;
|
||||||
|
});
|
||||||
|
form.render('select', 'packageCatalogSelectTemplateBox');
|
||||||
|
|
||||||
|
var selectObj = {};
|
||||||
|
selectObj['packageCatalog'] = value;
|
||||||
|
form.val('dataForm', selectObj);
|
||||||
|
}, function(code, data) {
|
||||||
|
top.dialog.msg(data.msg);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
var selectedUsers = [];
|
var selectedUsers = [];
|
||||||
var selectedUserIds = "";
|
var selectedUserIds = "";
|
||||||
$(document).on("click", ".selectUserAPI", function(data) {
|
$(document).on("click", ".selectUserAPI", function(data) {
|
||||||
@ -174,7 +206,7 @@
|
|||||||
top.dialog.dialogData.selectedUsers = selectedUsers;
|
top.dialog.dialogData.selectedUsers = selectedUsers;
|
||||||
top.layer.open({
|
top.layer.open({
|
||||||
type: 2,
|
type: 2,
|
||||||
title: "选择优惠券发放用户",
|
title: "选择套餐包定向用户",
|
||||||
closeBtn: 1,
|
closeBtn: 1,
|
||||||
area: ['90%', '90%'],
|
area: ['90%', '90%'],
|
||||||
shadeClose: false,
|
shadeClose: false,
|
||||||
@ -217,7 +249,7 @@
|
|||||||
for(var i in data) {
|
for(var i in data) {
|
||||||
dataFormData[i] = data[i] +'';
|
dataFormData[i] = data[i] +'';
|
||||||
}
|
}
|
||||||
|
initPackageTypSelect(data.packageCatalog);
|
||||||
selectedUsers = data.userList;
|
selectedUsers = data.userList;
|
||||||
var phones = "";
|
var phones = "";
|
||||||
$("#phone").val(phones);
|
$("#phone").val(phones);
|
||||||
|
Loading…
Reference in New Issue
Block a user