diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/controller/HanHaiMemberController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/controller/HanHaiMemberController.java index 3aa21a6..e8605e1 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/controller/HanHaiMemberController.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/controller/HanHaiMemberController.java @@ -39,7 +39,7 @@ import org.jeecg.common.aspect.annotation.AutoLog; /** * @Description: han_hai_member * @Author: jeecg-boot - * @Date: 2025-03-25 + * @Date: 2025-05-18 * @Version: V1.0 */ @Api(tags="han_hai_member") diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/entity/HanHaiMember.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/entity/HanHaiMember.java index ec553c0..71692c5 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/entity/HanHaiMember.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/entity/HanHaiMember.java @@ -20,7 +20,7 @@ import lombok.experimental.Accessors; /** * @Description: han_hai_member * @Author: jeecg-boot - * @Date: 2025-03-25 + * @Date: 2025-05-18 * @Version: V1.0 */ @Data diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/mapper/HanHaiMemberMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/mapper/HanHaiMemberMapper.java index f4f17d3..cc825d2 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/mapper/HanHaiMemberMapper.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/mapper/HanHaiMemberMapper.java @@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** * @Description: han_hai_member * @Author: jeecg-boot - * @Date: 2025-03-25 + * @Date: 2025-05-18 * @Version: V1.0 */ public interface HanHaiMemberMapper extends BaseMapper { diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/service/IHanHaiMemberService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/service/IHanHaiMemberService.java index 3214647..68edecb 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/service/IHanHaiMemberService.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/service/IHanHaiMemberService.java @@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService; /** * @Description: han_hai_member * @Author: jeecg-boot - * @Date: 2025-03-25 + * @Date: 2025-05-18 * @Version: V1.0 */ public interface IHanHaiMemberService extends IService { diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/service/impl/HanHaiMemberServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/service/impl/HanHaiMemberServiceImpl.java index aa5c373..7efc4df 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/service/impl/HanHaiMemberServiceImpl.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/service/impl/HanHaiMemberServiceImpl.java @@ -10,7 +10,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; /** * @Description: han_hai_member * @Author: jeecg-boot - * @Date: 2025-03-25 + * @Date: 2025-05-18 * @Version: V1.0 */ @Service diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/controller/MassageOrderController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/controller/MassageOrderController.java index fcdf11e..c67ee1f 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/controller/MassageOrderController.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/controller/MassageOrderController.java @@ -39,7 +39,7 @@ import org.jeecg.common.aspect.annotation.AutoLog; /** * @Description: 订单信息表 * @Author: jeecg-boot - * @Date: 2025-05-17 + * @Date: 2025-05-18 * @Version: V1.0 */ @Api(tags="订单信息表") diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/entity/MassageOrder.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/entity/MassageOrder.java index c4fae78..99927f3 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/entity/MassageOrder.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/entity/MassageOrder.java @@ -22,7 +22,7 @@ import lombok.experimental.Accessors; /** * @Description: 订单信息表 * @Author: jeecg-boot - * @Date: 2025-05-17 + * @Date: 2025-05-18 * @Version: V1.0 */ @Data @@ -62,6 +62,10 @@ public class MassageOrder implements Serializable { @Excel(name = "实付款", width = 15) @ApiModelProperty(value = "实付款") private java.math.BigDecimal amount; + /**优惠金额*/ + @Excel(name = "优惠金额", width = 15) + @ApiModelProperty(value = "优惠金额") + private java.math.BigDecimal discountAmount; /**付款时间*/ @Excel(name = "付款时间", width = 15) @ApiModelProperty(value = "付款时间") @@ -75,6 +79,10 @@ public class MassageOrder implements Serializable { @Dict(dictTable = "massage_shop", dicText = "shop", dicCode = "id") @ApiModelProperty(value = "核销门店id") private java.lang.String shopId; + /**关联用户优惠券id*/ + @Excel(name = "关联用户优惠券id", width = 15) + @ApiModelProperty(value = "关联用户优惠券id") + private java.lang.String userVouchersId; /**关联项目id*/ @Excel(name = "关联项目id", width = 15, dictTable = "massage_item", dicText = "title", dicCode = "id") @Dict(dictTable = "massage_item", dicText = "title", dicCode = "id") diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/mapper/MassageOrderMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/mapper/MassageOrderMapper.java index d7cc0a4..99d767c 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/mapper/MassageOrderMapper.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/mapper/MassageOrderMapper.java @@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** * @Description: 订单信息表 * @Author: jeecg-boot - * @Date: 2025-05-17 + * @Date: 2025-05-18 * @Version: V1.0 */ public interface MassageOrderMapper extends BaseMapper { diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/service/IMassageOrderService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/service/IMassageOrderService.java index 5ee84b2..04b5577 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/service/IMassageOrderService.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/service/IMassageOrderService.java @@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService; /** * @Description: 订单信息表 * @Author: jeecg-boot - * @Date: 2025-05-17 + * @Date: 2025-05-18 * @Version: V1.0 */ public interface IMassageOrderService extends IService { diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/service/impl/MassageOrderServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/service/impl/MassageOrderServiceImpl.java index 29acc80..1ddcaaa 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/service/impl/MassageOrderServiceImpl.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/service/impl/MassageOrderServiceImpl.java @@ -10,7 +10,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; /** * @Description: 订单信息表 * @Author: jeecg-boot - * @Date: 2025-05-17 + * @Date: 2025-05-18 * @Version: V1.0 */ @Service diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/vue/MassageOrderList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/vue/MassageOrderList.vue index 3b739aa..b93b82d 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/vue/MassageOrderList.vue +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/vue/MassageOrderList.vue @@ -137,6 +137,11 @@ align:"center", dataIndex: 'amount' }, + { + title:'优惠金额', + align:"center", + dataIndex: 'discountAmount' + }, { title:'付款时间', align:"center", @@ -152,6 +157,11 @@ align:"center", dataIndex: 'shopId_dictText' }, + { + title:'关联用户优惠券id', + align:"center", + dataIndex: 'userVouchersId' + }, { title:'关联项目id', align:"center", @@ -204,9 +214,11 @@ fieldList.push({type:'string',value:'status',text:'状态',dictCode:'massage_status'}) fieldList.push({type:'datetime',value:'validTime',text:'有效时间'}) fieldList.push({type:'BigDecimal',value:'amount',text:'实付款',dictCode:''}) + fieldList.push({type:'BigDecimal',value:'discountAmount',text:'优惠金额',dictCode:''}) fieldList.push({type:'datetime',value:'payTime',text:'付款时间'}) fieldList.push({type:'datetime',value:'useTime',text:'核销时间'}) fieldList.push({type:'string',value:'shopId',text:'核销门店id',dictCode:"massage_shop,shop,id"}) + fieldList.push({type:'string',value:'userVouchersId',text:'关联用户优惠券id',dictCode:''}) fieldList.push({type:'string',value:'itemId',text:'关联项目id',dictCode:"massage_item,title,id"}) fieldList.push({type:'string',value:'userId',text:'关联用户id',dictCode:"han_hai_member,nick_name,id"}) fieldList.push({type:'string',value:'isDel',text:'是否删除',dictCode:'is_del'}) diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/vue/modules/MassageOrderForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/vue/modules/MassageOrderForm.vue index 945f329..d666913 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/vue/modules/MassageOrderForm.vue +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/vue/modules/MassageOrderForm.vue @@ -18,6 +18,11 @@ + + + + + @@ -33,6 +38,11 @@ + + + + + diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/vue3/MassageOrder.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/vue3/MassageOrder.data.ts index 811c320..9321abc 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/vue3/MassageOrder.data.ts +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageOrder/vue3/MassageOrder.data.ts @@ -19,6 +19,11 @@ export const columns: BasicColumn[] = [ align:"center", dataIndex: 'amount' }, + { + title: '优惠金额', + align:"center", + dataIndex: 'discountAmount' + }, { title: '付款时间', align:"center", @@ -34,6 +39,11 @@ export const columns: BasicColumn[] = [ align:"center", dataIndex: 'shopId_dictText' }, + { + title: '关联用户优惠券id', + align:"center", + dataIndex: 'userVouchersId' + }, { title: '关联项目id', align:"center", @@ -73,6 +83,11 @@ export const formSchema: FormSchema[] = [ field: 'amount', component: 'InputNumber', }, + { + label: '优惠金额', + field: 'discountAmount', + component: 'InputNumber', + }, { label: '付款时间', field: 'payTime', @@ -91,6 +106,11 @@ export const formSchema: FormSchema[] = [ dictCode:"massage_shop,shop,id" }, }, + { + label: '关联用户优惠券id', + field: 'userVouchersId', + component: 'Input', + }, { label: '关联项目id', field: 'itemId', diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipCombo/controller/MassageVipComboController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipCombo/controller/MassageVipComboController.java index 8c53fe8..480010e 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipCombo/controller/MassageVipComboController.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipCombo/controller/MassageVipComboController.java @@ -39,7 +39,7 @@ import org.jeecg.common.aspect.annotation.AutoLog; /** * @Description: 会员充值套餐表 * @Author: jeecg-boot - * @Date: 2025-03-19 + * @Date: 2025-05-18 * @Version: V1.0 */ @Api(tags="会员充值套餐表") diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipCombo/entity/MassageVipCombo.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipCombo/entity/MassageVipCombo.java index 4088ecd..f7aa832 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipCombo/entity/MassageVipCombo.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipCombo/entity/MassageVipCombo.java @@ -20,7 +20,7 @@ import lombok.experimental.Accessors; /** * @Description: 会员充值套餐表 * @Author: jeecg-boot - * @Date: 2025-03-19 + * @Date: 2025-05-18 * @Version: V1.0 */ @Data @@ -64,4 +64,16 @@ public class MassageVipCombo implements Serializable { @Excel(name = "排序编号", width = 15) @ApiModelProperty(value = "排序编号") private java.lang.Integer orderNo; + /**价格图标*/ + @Excel(name = "价格图标", width = 15) + @ApiModelProperty(value = "价格图标") + private java.lang.String imagePrice; + /**会员图标*/ + @Excel(name = "会员图标", width = 15) + @ApiModelProperty(value = "会员图标") + private java.lang.String imageVip; + /**持续时长(月)*/ + @Excel(name = "持续时长(月)", width = 15) + @ApiModelProperty(value = "持续时长(月)") + private java.lang.Integer month; } diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipCombo/mapper/MassageVipComboMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipCombo/mapper/MassageVipComboMapper.java index a79f17e..5244aed 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipCombo/mapper/MassageVipComboMapper.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipCombo/mapper/MassageVipComboMapper.java @@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** * @Description: 会员充值套餐表 * @Author: jeecg-boot - * @Date: 2025-03-19 + * @Date: 2025-05-18 * @Version: V1.0 */ public interface MassageVipComboMapper extends BaseMapper { diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipCombo/service/IMassageVipComboService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipCombo/service/IMassageVipComboService.java index 651e963..1dfd7e2 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipCombo/service/IMassageVipComboService.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipCombo/service/IMassageVipComboService.java @@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService; /** * @Description: 会员充值套餐表 * @Author: jeecg-boot - * @Date: 2025-03-19 + * @Date: 2025-05-18 * @Version: V1.0 */ public interface IMassageVipComboService extends IService { diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipCombo/service/impl/MassageVipComboServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipCombo/service/impl/MassageVipComboServiceImpl.java index e3f4fe9..65ee9fe 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipCombo/service/impl/MassageVipComboServiceImpl.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipCombo/service/impl/MassageVipComboServiceImpl.java @@ -10,7 +10,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; /** * @Description: 会员充值套餐表 * @Author: jeecg-boot - * @Date: 2025-03-19 + * @Date: 2025-05-18 * @Version: V1.0 */ @Service diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipCombo/vue/MassageVipComboList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipCombo/vue/MassageVipComboList.vue index 90ee559..a636bf6 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipCombo/vue/MassageVipComboList.vue +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipCombo/vue/MassageVipComboList.vue @@ -142,6 +142,23 @@ align:"center", dataIndex: 'orderNo' }, + { + title:'价格图标', + align:"center", + dataIndex: 'imagePrice', + scopedSlots: {customRender: 'imgSlot'} + }, + { + title:'会员图标', + align:"center", + dataIndex: 'imageVip', + scopedSlots: {customRender: 'imgSlot'} + }, + { + title:'持续时长(月)', + align:"center", + dataIndex: 'month' + }, { title: '操作', dataIndex: 'action', @@ -180,6 +197,9 @@ fieldList.push({type:'BigDecimal',value:'price',text:'价格',dictCode:''}) fieldList.push({type:'string',value:'type',text:'类型',dictCode:'vip_type'}) fieldList.push({type:'int',value:'orderNo',text:'排序编号',dictCode:''}) + fieldList.push({type:'Text',value:'imagePrice',text:'价格图标',dictCode:''}) + fieldList.push({type:'Text',value:'imageVip',text:'会员图标',dictCode:''}) + fieldList.push({type:'int',value:'month',text:'持续时长(月)',dictCode:''}) this.superFieldList = fieldList } } diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipCombo/vue/modules/MassageVipComboForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipCombo/vue/modules/MassageVipComboForm.vue index e5df494..4b42337 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipCombo/vue/modules/MassageVipComboForm.vue +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipCombo/vue/modules/MassageVipComboForm.vue @@ -23,6 +23,21 @@ + + + + + + + + + + + + + + + diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipCombo/vue3/MassageVipCombo.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipCombo/vue3/MassageVipCombo.data.ts index 112f9b5..5652832 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipCombo/vue3/MassageVipCombo.data.ts +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipCombo/vue3/MassageVipCombo.data.ts @@ -24,6 +24,23 @@ export const columns: BasicColumn[] = [ align:"center", dataIndex: 'orderNo' }, + { + title: '价格图标', + align:"center", + dataIndex: 'imagePrice', + customRender:render.renderAvatar, + }, + { + title: '会员图标', + align:"center", + dataIndex: 'imageVip', + customRender:render.renderAvatar, + }, + { + title: '持续时长(月)', + align:"center", + dataIndex: 'month' + }, ]; //查询数据 export const searchFormSchema: FormSchema[] = [ @@ -53,4 +70,23 @@ export const formSchema: FormSchema[] = [ field: 'orderNo', component: 'InputNumber', }, + { + label: '价格图标', + field: 'imagePrice', + component: 'JImageUpload', + componentProps:{ + }, + }, + { + label: '会员图标', + field: 'imageVip', + component: 'JImageUpload', + componentProps:{ + }, + }, + { + label: '持续时长(月)', + field: 'month', + component: 'InputNumber', + }, ]; diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipInfo/controller/MassageVipInfoController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipInfo/controller/MassageVipInfoController.java new file mode 100644 index 0000000..10d9929 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipInfo/controller/MassageVipInfoController.java @@ -0,0 +1,171 @@ +package org.jeecg.modules.massageVipInfo.controller; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.massageVipInfo.entity.MassageVipInfo; +import org.jeecg.modules.massageVipInfo.service.IMassageVipInfoService; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; + +import org.jeecgframework.poi.excel.ExcelImportUtil; +import org.jeecgframework.poi.excel.def.NormalExcelConstants; +import org.jeecgframework.poi.excel.entity.ExportParams; +import org.jeecgframework.poi.excel.entity.ImportParams; +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; +import org.jeecg.common.system.base.controller.JeecgController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.servlet.ModelAndView; +import com.alibaba.fastjson.JSON; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.jeecg.common.aspect.annotation.AutoLog; + + /** + * @Description: 会员信息表 + * @Author: jeecg-boot + * @Date: 2025-05-18 + * @Version: V1.0 + */ +@Api(tags="会员信息表") +@RestController +@RequestMapping("/massageVipInfo/massageVipInfo") +@Slf4j +public class MassageVipInfoController extends JeecgController { + @Autowired + private IMassageVipInfoService massageVipInfoService; + + /** + * 分页列表查询 + * + * @param massageVipInfo + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "会员信息表-分页列表查询") + @ApiOperation(value="会员信息表-分页列表查询", notes="会员信息表-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(MassageVipInfo massageVipInfo, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(massageVipInfo, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = massageVipInfoService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param massageVipInfo + * @return + */ + @AutoLog(value = "会员信息表-添加") + @ApiOperation(value="会员信息表-添加", notes="会员信息表-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody MassageVipInfo massageVipInfo) { + massageVipInfoService.save(massageVipInfo); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param massageVipInfo + * @return + */ + @AutoLog(value = "会员信息表-编辑") + @ApiOperation(value="会员信息表-编辑", notes="会员信息表-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody MassageVipInfo massageVipInfo) { + massageVipInfoService.updateById(massageVipInfo); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "会员信息表-通过id删除") + @ApiOperation(value="会员信息表-通过id删除", notes="会员信息表-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + massageVipInfoService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "会员信息表-批量删除") + @ApiOperation(value="会员信息表-批量删除", notes="会员信息表-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.massageVipInfoService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "会员信息表-通过id查询") + @ApiOperation(value="会员信息表-通过id查询", notes="会员信息表-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + MassageVipInfo massageVipInfo = massageVipInfoService.getById(id); + if(massageVipInfo==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(massageVipInfo); + } + + /** + * 导出excel + * + * @param request + * @param massageVipInfo + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, MassageVipInfo massageVipInfo) { + return super.exportXls(request, massageVipInfo, MassageVipInfo.class, "会员信息表"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, MassageVipInfo.class); + } + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipInfo/entity/MassageVipInfo.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipInfo/entity/MassageVipInfo.java new file mode 100644 index 0000000..54e8062 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipInfo/entity/MassageVipInfo.java @@ -0,0 +1,75 @@ +package org.jeecg.modules.massageVipInfo.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.util.Date; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.jeecg.modules.massageItem.entity.MassageItem; +import org.jeecg.modules.massageVipCombo.entity.MassageVipCombo; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.jeecg.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * @Description: 会员信息表 + * @Author: jeecg-boot + * @Date: 2025-05-18 + * @Version: V1.0 + */ +@Data +@TableName("massage_vip_info") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="massage_vip_info对象", description="会员信息表") +public class MassageVipInfo implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private java.lang.String id; + /**创建人*/ + @ApiModelProperty(value = "创建人") + private java.lang.String createBy; + /**创建日期*/ + @ApiModelProperty(value = "创建日期") + private java.util.Date createTime; + /**更新人*/ + @ApiModelProperty(value = "更新人") + private java.lang.String updateBy; + /**更新日期*/ + @ApiModelProperty(value = "更新日期") + private java.util.Date updateTime; + /**会员名称*/ + @Excel(name = "会员名称", width = 15) + @ApiModelProperty(value = "会员名称") + private java.lang.String vipTitle; + /**关联会员套餐id*/ + @Excel(name = "关联会员套餐id", width = 15, dictTable = "massage_vip_combo", dicText = "title", dicCode = "id") + @Dict(dictTable = "massage_vip_combo", dicText = "title", dicCode = "id") + @ApiModelProperty(value = "关联会员套餐id") + private java.lang.String comboId; + /**关联用户id*/ + @Excel(name = "关联用户id", width = 15, dictTable = "han_hai_member", dicText = "nick_name", dicCode = "id") + @Dict(dictTable = "han_hai_member", dicText = "nick_name", dicCode = "id") + @ApiModelProperty(value = "关联用户id") + private java.lang.String userId; + /**会员到期时间*/ + @Excel(name = "会员到期时间", width = 15) + @ApiModelProperty(value = "会员到期时间") + private java.util.Date validTime; + + //会员套餐信息 + @TableField(exist = false) + MassageVipCombo massageVipCombo; +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipInfo/mapper/MassageVipInfoMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipInfo/mapper/MassageVipInfoMapper.java new file mode 100644 index 0000000..efb9cbc --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipInfo/mapper/MassageVipInfoMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.massageVipInfo.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.massageVipInfo.entity.MassageVipInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 会员信息表 + * @Author: jeecg-boot + * @Date: 2025-05-18 + * @Version: V1.0 + */ +public interface MassageVipInfoMapper extends BaseMapper { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipInfo/mapper/xml/MassageVipInfoMapper.xml b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipInfo/mapper/xml/MassageVipInfoMapper.xml new file mode 100644 index 0000000..616b168 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipInfo/mapper/xml/MassageVipInfoMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipInfo/service/IMassageVipInfoService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipInfo/service/IMassageVipInfoService.java new file mode 100644 index 0000000..5280026 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipInfo/service/IMassageVipInfoService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.massageVipInfo.service; + +import org.jeecg.modules.massageVipInfo.entity.MassageVipInfo; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 会员信息表 + * @Author: jeecg-boot + * @Date: 2025-05-18 + * @Version: V1.0 + */ +public interface IMassageVipInfoService extends IService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipInfo/service/impl/MassageVipInfoServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipInfo/service/impl/MassageVipInfoServiceImpl.java new file mode 100644 index 0000000..895369d --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipInfo/service/impl/MassageVipInfoServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.massageVipInfo.service.impl; + +import org.jeecg.modules.massageVipInfo.entity.MassageVipInfo; +import org.jeecg.modules.massageVipInfo.mapper.MassageVipInfoMapper; +import org.jeecg.modules.massageVipInfo.service.IMassageVipInfoService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 会员信息表 + * @Author: jeecg-boot + * @Date: 2025-05-18 + * @Version: V1.0 + */ +@Service +public class MassageVipInfoServiceImpl extends ServiceImpl implements IMassageVipInfoService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipInfo/vue/MassageVipInfoList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipInfo/vue/MassageVipInfoList.vue new file mode 100644 index 0000000..ecc2d31 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipInfo/vue/MassageVipInfoList.vue @@ -0,0 +1,190 @@ + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipInfo/vue/modules/MassageVipInfoForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipInfo/vue/modules/MassageVipInfoForm.vue new file mode 100644 index 0000000..f7e3594 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipInfo/vue/modules/MassageVipInfoForm.vue @@ -0,0 +1,119 @@ + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipInfo/vue/modules/MassageVipInfoModal.Style#Drawer.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipInfo/vue/modules/MassageVipInfoModal.Style#Drawer.vue new file mode 100644 index 0000000..d7eba5c --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipInfo/vue/modules/MassageVipInfoModal.Style#Drawer.vue @@ -0,0 +1,84 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipInfo/vue/modules/MassageVipInfoModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipInfo/vue/modules/MassageVipInfoModal.vue new file mode 100644 index 0000000..cfdfe71 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipInfo/vue/modules/MassageVipInfoModal.vue @@ -0,0 +1,60 @@ + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipInfo/vue3/MassageVipInfo.api.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipInfo/vue3/MassageVipInfo.api.ts new file mode 100644 index 0000000..bf64b78 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipInfo/vue3/MassageVipInfo.api.ts @@ -0,0 +1,61 @@ +import {defHttp} from '/@/utils/http/axios'; +import {Modal} from 'ant-design-vue'; + +enum Api { + list = '/massageVipInfo/massageVipInfo/list', + save='/massageVipInfo/massageVipInfo/add', + edit='/massageVipInfo/massageVipInfo/edit', + deleteOne = '/massageVipInfo/massageVipInfo/delete', + deleteBatch = '/massageVipInfo/massageVipInfo/deleteBatch', + importExcel = '/massageVipInfo/massageVipInfo/importExcel', + exportXls = '/massageVipInfo/massageVipInfo/exportXls', +} +/** + * 导出api + * @param params + */ +export const getExportUrl = Api.exportXls; +/** + * 导入api + */ +export const getImportUrl = Api.importExcel; +/** + * 列表接口 + * @param params + */ +export const list = (params) => + defHttp.get({url: Api.list, params}); + +/** + * 删除单个 + */ +export const deleteOne = (params,handleSuccess) => { + return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); +} +/** + * 批量删除 + * @param params + */ +export const batchDelete = (params, handleSuccess) => { + Modal.confirm({ + title: '确认删除', + content: '是否删除选中数据', + okText: '确认', + cancelText: '取消', + onOk: () => { + return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); + } + }); +} +/** + * 保存或者更新 + * @param params + */ +export const saveOrUpdate = (params, isUpdate) => { + let url = isUpdate ? Api.edit : Api.save; + return defHttp.post({url: url, params}); +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipInfo/vue3/MassageVipInfo.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipInfo/vue3/MassageVipInfo.data.ts new file mode 100644 index 0000000..51803fe --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipInfo/vue3/MassageVipInfo.data.ts @@ -0,0 +1,59 @@ +import {BasicColumn} from '/@/components/Table'; +import {FormSchema} from '/@/components/Table'; +import { rules} from '/@/utils/helper/validator'; +import { render } from '/@/utils/common/renderUtils'; +//列表数据 +export const columns: BasicColumn[] = [ + { + title: '会员名称', + align:"center", + dataIndex: 'vipTitle' + }, + { + title: '关联会员套餐id', + align:"center", + dataIndex: 'comboId_dictText' + }, + { + title: '关联用户id', + align:"center", + dataIndex: 'userId_dictText' + }, + { + title: '会员到期时间', + align:"center", + dataIndex: 'validTime' + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '会员名称', + field: 'vipTitle', + component: 'Input', + }, + { + label: '关联会员套餐id', + field: 'comboId', + component: 'JDictSelectTag', + componentProps:{ + dictCode:"massage_vip_combo,title,id" + }, + }, + { + label: '关联用户id', + field: 'userId', + component: 'JDictSelectTag', + componentProps:{ + dictCode:"han_hai_member,nick_name,id" + }, + }, + { + label: '会员到期时间', + field: 'validTime', + component: 'Input', + }, +]; diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipInfo/vue3/MassageVipInfoList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipInfo/vue3/MassageVipInfoList.vue new file mode 100644 index 0000000..0865c79 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipInfo/vue3/MassageVipInfoList.vue @@ -0,0 +1,162 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipInfo/vue3/components/MassageVipInfoModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipInfo/vue3/components/MassageVipInfoModal.vue new file mode 100644 index 0000000..cfadff2 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVipInfo/vue3/components/MassageVipInfoModal.vue @@ -0,0 +1,58 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/controller/MassageVouchersUserController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/controller/MassageVouchersUserController.java index 030729f..ef39e5d 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/controller/MassageVouchersUserController.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/controller/MassageVouchersUserController.java @@ -39,7 +39,7 @@ import org.jeecg.common.aspect.annotation.AutoLog; /** * @Description: 用户所持有的优惠券信息表 * @Author: jeecg-boot - * @Date: 2025-03-19 + * @Date: 2025-05-18 * @Version: V1.0 */ @Api(tags="用户所持有的优惠券信息表") diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/entity/MassageVouchersUser.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/entity/MassageVouchersUser.java index 14e14f5..c0c9cff 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/entity/MassageVouchersUser.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/entity/MassageVouchersUser.java @@ -5,10 +5,13 @@ import java.io.UnsupportedEncodingException; import java.util.Date; import java.math.BigDecimal; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import com.fasterxml.jackson.annotation.JsonFormat; +import org.jeecg.modules.hanHaiMember.entity.HanHaiMember; +import org.jeecg.modules.massageVipCombo.entity.MassageVipCombo; import org.springframework.format.annotation.DateTimeFormat; import org.jeecgframework.poi.excel.annotation.Excel; import org.jeecg.common.aspect.annotation.Dict; @@ -20,7 +23,7 @@ import lombok.experimental.Accessors; /** * @Description: 用户所持有的优惠券信息表 * @Author: jeecg-boot - * @Date: 2025-03-19 + * @Date: 2025-05-18 * @Version: V1.0 */ @Data @@ -57,14 +60,31 @@ public class MassageVouchersUser implements Serializable { @Dict(dicCode = "vouchers_type") @ApiModelProperty(value = "优惠券类型") private java.lang.String type; + /**优惠金额*/ + @Excel(name = "优惠金额", width = 15) + @ApiModelProperty(value = "优惠金额") + private java.math.BigDecimal discountAmount; /**使用状态*/ @Excel(name = "使用状态", width = 15, dicCode = "vouchers_status") @Dict(dicCode = "vouchers_status") @ApiModelProperty(value = "使用状态") private java.lang.String status; + /**使用门店*/ + @Excel(name = "使用门店", width = 15, dictTable = "massage_shop", dicText = "shop", dicCode = "id") + @Dict(dictTable = "massage_shop", dicText = "shop", dicCode = "id") + @ApiModelProperty(value = "使用门店") + private java.lang.String useShop; + /**使用时间*/ + @Excel(name = "使用时间", width = 15) + @ApiModelProperty(value = "使用时间") + private java.util.Date useTime; /**关联用户id*/ @Excel(name = "关联用户id", width = 15, dictTable = "han_hai_member", dicText = "nick_name", dicCode = "id") @Dict(dictTable = "han_hai_member", dicText = "nick_name", dicCode = "id") @ApiModelProperty(value = "关联用户id") private java.lang.String userId; + + //用户信息 + @TableField(exist = false) + HanHaiMember member; } diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/mapper/MassageVouchersUserMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/mapper/MassageVouchersUserMapper.java index 843e42e..225d81c 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/mapper/MassageVouchersUserMapper.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/mapper/MassageVouchersUserMapper.java @@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** * @Description: 用户所持有的优惠券信息表 * @Author: jeecg-boot - * @Date: 2025-03-19 + * @Date: 2025-05-18 * @Version: V1.0 */ public interface MassageVouchersUserMapper extends BaseMapper { diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/service/IMassageVouchersUserService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/service/IMassageVouchersUserService.java index d83000a..d5a30c6 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/service/IMassageVouchersUserService.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/service/IMassageVouchersUserService.java @@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService; /** * @Description: 用户所持有的优惠券信息表 * @Author: jeecg-boot - * @Date: 2025-03-19 + * @Date: 2025-05-18 * @Version: V1.0 */ public interface IMassageVouchersUserService extends IService { diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/service/impl/MassageVouchersUserServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/service/impl/MassageVouchersUserServiceImpl.java index 2bd740d..00b3e5c 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/service/impl/MassageVouchersUserServiceImpl.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/service/impl/MassageVouchersUserServiceImpl.java @@ -10,7 +10,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; /** * @Description: 用户所持有的优惠券信息表 * @Author: jeecg-boot - * @Date: 2025-03-19 + * @Date: 2025-05-18 * @Version: V1.0 */ @Service diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/vue/MassageVouchersUserList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/vue/MassageVouchersUserList.vue index 39adadb..ff5682c 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/vue/MassageVouchersUserList.vue +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/vue/MassageVouchersUserList.vue @@ -132,11 +132,26 @@ align:"center", dataIndex: 'type_dictText' }, + { + title:'优惠金额', + align:"center", + dataIndex: 'discountAmount' + }, { title:'使用状态', align:"center", dataIndex: 'status_dictText' }, + { + title:'使用门店', + align:"center", + dataIndex: 'useShop_dictText' + }, + { + title:'使用时间', + align:"center", + dataIndex: 'useTime' + }, { title:'关联用户id', align:"center", @@ -178,7 +193,10 @@ let fieldList=[]; fieldList.push({type:'string',value:'vouchersId',text:'关联优惠券id',dictCode:"massage_vouchers,title,id"}) fieldList.push({type:'string',value:'type',text:'优惠券类型',dictCode:'vouchers_type'}) + fieldList.push({type:'BigDecimal',value:'discountAmount',text:'优惠金额',dictCode:''}) fieldList.push({type:'string',value:'status',text:'使用状态',dictCode:'vouchers_status'}) + fieldList.push({type:'string',value:'useShop',text:'使用门店',dictCode:"massage_shop,shop,id"}) + fieldList.push({type:'datetime',value:'useTime',text:'使用时间'}) fieldList.push({type:'string',value:'userId',text:'关联用户id',dictCode:"han_hai_member,nick_name,id"}) this.superFieldList = fieldList } diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/vue/modules/MassageVouchersUserForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/vue/modules/MassageVouchersUserForm.vue index 3f5accb..49b7f6e 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/vue/modules/MassageVouchersUserForm.vue +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/vue/modules/MassageVouchersUserForm.vue @@ -13,11 +13,26 @@ + + + + + + + + + + + + + + + diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/vue3/MassageVouchersUser.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/vue3/MassageVouchersUser.data.ts index fa338dd..69d858a 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/vue3/MassageVouchersUser.data.ts +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/massageVouchersUser/vue3/MassageVouchersUser.data.ts @@ -14,11 +14,26 @@ export const columns: BasicColumn[] = [ align:"center", dataIndex: 'type_dictText' }, + { + title: '优惠金额', + align:"center", + dataIndex: 'discountAmount' + }, { title: '使用状态', align:"center", dataIndex: 'status_dictText' }, + { + title: '使用门店', + align:"center", + dataIndex: 'useShop_dictText' + }, + { + title: '使用时间', + align:"center", + dataIndex: 'useTime' + }, { title: '关联用户id', align:"center", @@ -46,6 +61,11 @@ export const formSchema: FormSchema[] = [ dictCode:"vouchers_type" }, }, + { + label: '优惠金额', + field: 'discountAmount', + component: 'InputNumber', + }, { label: '使用状态', field: 'status', @@ -54,6 +74,19 @@ export const formSchema: FormSchema[] = [ dictCode:"vouchers_status" }, }, + { + label: '使用门店', + field: 'useShop', + component: 'JDictSelectTag', + componentProps:{ + dictCode:"massage_shop,shop,id" + }, + }, + { + label: '使用时间', + field: 'useTime', + component: 'Input', + }, { label: '关联用户id', field: 'userId', diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/massageController/OrderController.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/massageController/OrderController.java index a1954ed..db71a6c 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/massageController/OrderController.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/massageController/OrderController.java @@ -53,6 +53,13 @@ public class OrderController { return orderService.cancelOrder(token, orderId); } + //删除订单 + @ApiOperation(value="订单-删除订单", notes="订单-删除订单") + @RequestMapping(value = "/deleteOrder", method = {RequestMethod.POST}) + public Result deleteOrder(@RequestHeader("X-Access-Token") String token, String orderId){ + return orderService.deleteOrder(token, orderId); + } + //支付订单 @ApiOperation(value="订单-支付订单", notes="支付方式(payType):0-微信支付 1-余额支付") @RequestMapping(value = "/payOrder", method = {RequestMethod.POST}) @@ -77,8 +84,15 @@ public class OrderController { //核销订单列表 @ApiOperation(value="订单-核销订单列表", notes="订单-核销订单列表") @RequestMapping(value = "/overOrderList", method = {RequestMethod.POST}) - public Result overOrderList(@RequestHeader("X-Access-Token") String token, PageBean pageBean){ - return orderService.overOrderList(token, pageBean); + public Result overOrderList(@RequestHeader("X-Access-Token") String token, String userTime, PageBean pageBean){ + return orderService.overOrderList(token, userTime, pageBean); + } + + //核销订单列表 + @ApiOperation(value="订单-核销代金券列表", notes="订单-核销代金券列表") + @RequestMapping(value = "/useVouchersList", method = {RequestMethod.POST}) + public Result useVouchersList(@RequestHeader("X-Access-Token") String token, String useTime, PageBean pageBean){ + return orderService.useVouchersList(token, useTime, pageBean); } //支付回调 diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/OrderService.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/OrderService.java index 6bb3b00..0ce548a 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/OrderService.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/OrderService.java @@ -22,6 +22,9 @@ public interface OrderService { //取消订单 public Result cancelOrder(String token, String orderId); + //删除订单 + public Result deleteOrder(String token, String orderId); + //支付订单 public Result payOrder(String token, String orderId, String payType); @@ -32,7 +35,10 @@ public interface OrderService { public Result rollbackOrder(String token, String orderId); //核销订单列表 - public Result overOrderList(String token, PageBean pageBean); + public Result overOrderList(String token, String useTime, PageBean pageBean); + + //核销代金券列表 + public Result useVouchersList(String token, String useTime, PageBean pageBean); //支付回调 Object payOrderNotify(String requestBody); diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/OrderServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/OrderServiceImpl.java index cdb5c30..f9a0ca4 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/OrderServiceImpl.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/OrderServiceImpl.java @@ -21,6 +21,8 @@ import org.jeecg.modules.massageRefund.entity.MassageRefund; import org.jeecg.modules.massageRefund.service.IMassageRefundService; import org.jeecg.modules.massageShop.entity.MassageShop; import org.jeecg.modules.massageShop.service.IMassageShopService; +import org.jeecg.modules.massageVouchersUser.entity.MassageVouchersUser; +import org.jeecg.modules.massageVouchersUser.service.IMassageVouchersUserService; import org.jeecg.modules.pay.MpWxPayService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -53,6 +55,9 @@ public class OrderServiceImpl implements OrderService { //门店信息 @Resource private IMassageShopService massageShopService; + //门店信息 + @Resource + private IMassageVouchersUserService massageVouchersUserService; /******************************************************************************************************************/ //查看订单列表 @@ -80,6 +85,8 @@ public class OrderServiceImpl implements OrderService { //订单状态 query.eq(MassageOrder::getStatus, massageOrder.getStatus()); } + //订单删除状态为未删除 + query.eq(MassageOrder::getIsDel, 0); //订单所属 query.eq(MassageOrder::getUserId, hanHaiMember.getId()); //按照排序编号升序排列 @@ -228,6 +235,33 @@ public class OrderServiceImpl implements OrderService { } } + //取消订单 + @Override + public Result deleteOrder(String token, String orderId){ + //权限验证 + HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); + + try{ + //查询订单是否存在 + MassageOrder massageOrder = massageOrderService + .lambdaQuery() + .eq(MassageOrder::getId, orderId) + .eq(MassageOrder::getUserId, hanHaiMember.getId()) + .one(); + if(null == massageOrder){ + return Result.error("订单不存在,请检查订单编号:"+orderId); + } + + //修改删除状态为已删除 + massageOrder.setIsDel("1"); + massageOrderService.updateById(massageOrder); + return Result.OK("操作成功"); + }catch (Exception e){ + e.printStackTrace(); + return Result.error("操作失败"); + } + } + //支付订单 @Override public Result payOrder(String token, String orderId, String payType) { @@ -362,11 +396,68 @@ public class OrderServiceImpl implements OrderService { } } + //核销代金券列表 + @Override + public Result useVouchersList(String token, String useTime, PageBean pageBean) { + //权限验证 + HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); + //HanHaiMember hanHaiMember = hanHaiMemberService.getById("1919044608477175810"); + //返回信息 + String massege = ""; + //分页信息 + Page page = null; + //查询信息 + LambdaQueryChainWrapper query = null; + //返回信息 + Page pageList = null; + + try{ + //查询用户店铺信息 + MassageShop shop = massageShopService + .lambdaQuery() + .eq(MassageShop::getUserId, hanHaiMember.getId()) + .one(); + if(null == shop){ + return Result.error("该用户没有关联店铺信息,核销代金券列表查询失败"); + } + + //分页 + page = new Page(pageBean.getPageNo(), pageBean.getPageSize()); + query = massageVouchersUserService + .lambdaQuery(); + + //核销时间 + if(StringUtils.isNotEmpty(useTime)){ + query.like(MassageVouchersUser::getUseTime, useTime); + } + //核销店铺id + query.eq(MassageVouchersUser::getUseShop, shop.getId()); + //按照创建时间降序排列 + query.orderByDesc(MassageVouchersUser::getCreateTime); + + //获取用户信息 + pageList = query.page(page); + if(null == pageList){ + return Result.OK("核销代金券列表为空", pageList); + } + for (MassageVouchersUser record : pageList.getRecords()) { + HanHaiMember member = hanHaiMemberService.getById(record.getUserId()); + record.setMember(member); + } + + return Result.OK("核销订单列表", pageList); + }catch (Exception e){ + e.printStackTrace(); + return Result.error("核销订单列表查询失败"); + } + } + //核销订单列表 @Override - public Result overOrderList(String token, PageBean pageBean) { + public Result overOrderList(String token, String userTime, PageBean pageBean) { //权限验证 HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); + //HanHaiMember hanHaiMember = hanHaiMemberService.getById("1919044608477175810"); //返回信息 String massege = ""; //分页信息 @@ -390,6 +481,10 @@ public class OrderServiceImpl implements OrderService { page = new Page(pageBean.getPageNo(), pageBean.getPageSize()); query = massageOrderService .lambdaQuery(); + //核销时间 + if(StringUtils.isNotEmpty(userTime)){ + query.like(MassageOrder::getUseTime, userTime); + } //核销店铺id query.eq(MassageOrder::getShopId, shop.getId()); //按照创建时间降序排列 diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/ShopServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/ShopServiceImpl.java index 15f640d..5fb1940 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/ShopServiceImpl.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/ShopServiceImpl.java @@ -8,6 +8,7 @@ import org.jeecg.config.shiro.ShiroRealm; import org.jeecg.modules.apiBean.PageBean; import org.jeecg.modules.apiService.ShopService; import org.jeecg.modules.hanHaiMember.entity.HanHaiMember; +import org.jeecg.modules.hanHaiMember.service.IHanHaiMemberService; import org.jeecg.modules.massageShop.entity.MassageShop; import org.jeecg.modules.massageShop.service.IMassageShopService; import org.springframework.stereotype.Service; @@ -22,6 +23,9 @@ public class ShopServiceImpl implements ShopService { private ShiroRealm shiroRealm; //商家信息 @Resource + private IHanHaiMemberService hanHaiMemberService; + //商家信息 + @Resource private IMassageShopService massageShopService; /******************************************************************************************************************/ @@ -80,6 +84,12 @@ public class ShopServiceImpl implements ShopService { .eq(MassageShop::getUserId, hanHaiMember.getId()) .one(); + //商家审核通过,修改用户商户状态 + if("1".equals(one.getStatus())){ + hanHaiMember.setIsMerchants("1"); + hanHaiMemberService.updateById(hanHaiMember); + } + return Result.OK("商家详情", one); }catch (Exception e){ e.printStackTrace(); @@ -124,9 +134,6 @@ public class ShopServiceImpl implements ShopService { } } - - - }catch (Exception e){ e.printStackTrace(); return Result.error("商家信息添加失败"); @@ -142,19 +149,37 @@ public class ShopServiceImpl implements ShopService { String massege = ""; try{ - //执行修改操作 - boolean result = massageShopService.updateById(massageShop); - - //判断是否新增成功 - if(result){ - return Result.OK("商家信息修改成功"); + //判断用户是否已增加过商家信息 + MassageShop one = massageShopService + .lambdaQuery() + .eq(MassageShop::getUserId, hanHaiMember.getId()) + .one(); + if(null == one){ + //执行新增操作 + massageShop.setUserId(hanHaiMember.getId()); + boolean result = massageShopService.save(massageShop); + //判断是否新增成功 + if(result){ + return Result.OK("商家信息添加成功"); + }else { + return Result.OK("商家信息添加失败"); + } }else { - return Result.OK("商家信息修改失败"); + //执行修改操作 + massageShop.setId(one.getId()); + boolean result = massageShopService.updateById(massageShop); + + //判断是否新增成功 + if(result){ + return Result.OK("商家信息修改成功"); + }else { + return Result.OK("商家信息修改失败"); + } } }catch (Exception e){ e.printStackTrace(); - return Result.error("商家信息修改失败"); + return Result.error("商家信息添加失败"); } } diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/UserInfoServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/UserInfoServiceImpl.java index 974a74c..ac41f8d 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/UserInfoServiceImpl.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/UserInfoServiceImpl.java @@ -8,6 +8,10 @@ import org.jeecg.modules.hanHaiMember.entity.HanHaiMember; import org.jeecg.modules.hanHaiMember.service.IHanHaiMemberService; import org.jeecg.modules.massageShop.entity.MassageShop; import org.jeecg.modules.massageShop.service.IMassageShopService; +import org.jeecg.modules.massageVipCombo.entity.MassageVipCombo; +import org.jeecg.modules.massageVipCombo.service.IMassageVipComboService; +import org.jeecg.modules.massageVipInfo.entity.MassageVipInfo; +import org.jeecg.modules.massageVipInfo.service.IMassageVipInfoService; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -26,6 +30,12 @@ public class UserInfoServiceImpl implements UserInfoService { //门店信息 @Resource private IMassageShopService massageShopService; + //vip信息 + @Resource + private IMassageVipInfoService massageVipInfoService; + //vip套餐信息 + @Resource + private IMassageVipComboService massageVipComboService; /******************************************************************************************************************/ //查询个人信息 @@ -75,6 +85,7 @@ public class UserInfoServiceImpl implements UserInfoService { public Result getUserCenterData(String token){ //权限验证 HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); + //HanHaiMember hanHaiMember = hanHaiMemberService.getById("1919044608477175810"); //返回信息 Map map = new HashMap(); @@ -97,6 +108,16 @@ public class UserInfoServiceImpl implements UserInfoService { map.put("shop", shop); } + //Vip信息 + MassageVipInfo vipInfo = massageVipInfoService + .lambdaQuery() + .eq(MassageVipInfo::getUserId, hanHaiMember.getId()) + .one(); + //vip套餐信息 + MassageVipCombo combo = massageVipComboService.getById(vipInfo.getComboId()); + vipInfo.setMassageVipCombo(combo); + map.put("vipInfo", vipInfo); + //推广佣金 //优惠券 diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/VipServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/VipServiceImpl.java index 9458d3a..920e16f 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/VipServiceImpl.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/VipServiceImpl.java @@ -16,6 +16,8 @@ import org.jeecg.modules.hanHaiMember.service.IHanHaiMemberService; import org.jeecg.modules.massageOrder.entity.MassageOrder; import org.jeecg.modules.massageVipCombo.entity.MassageVipCombo; import org.jeecg.modules.massageVipCombo.service.IMassageVipComboService; +import org.jeecg.modules.massageVipInfo.entity.MassageVipInfo; +import org.jeecg.modules.massageVipInfo.service.IMassageVipInfoService; import org.jeecg.modules.massageVipRecord.entity.MassageVipRecord; import org.jeecg.modules.massageVipRecord.service.IMassageVipRecordService; import org.jeecg.modules.pay.MpWxPayService; @@ -24,6 +26,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.math.BigDecimal; +import java.util.Date; @Slf4j @Service @@ -44,6 +47,9 @@ public class VipServiceImpl implements VipService { //会员充值记录信息 @Resource private IMassageVipRecordService massageVipRecordService; + //会员信息 + @Resource + private IMassageVipInfoService massageVipInfoService; /******************************************************************************************************************/ //会员中心-充值套餐 @Override @@ -63,11 +69,7 @@ public class VipServiceImpl implements VipService { query = massageVipComboService .lambdaQuery(); - //组装查询条件 - if(StringUtils.isNotBlank(vipCombo.getType())){ - query.eq(MassageVipCombo::getType, vipCombo.getType()); - } - + query.eq(MassageVipCombo::getType, "0"); //按照排序编号升序排列 query.orderByAsc(MassageVipCombo::getOrderNo); @@ -99,6 +101,26 @@ public class VipServiceImpl implements VipService { vipRecord.setAmount(combo.getPrice()); massageVipRecordService.save(vipRecord); + //创建会员信息 + //新增/修改用户会员信息 + MassageVipInfo info = massageVipInfoService + .lambdaQuery() + .eq(MassageVipInfo::getUserId, hanHaiMember.getId()) + .one(); + if(null == info){ + //新增会员信息 + MassageVipInfo vipInfo = new MassageVipInfo(); + vipInfo.setUserId(hanHaiMember.getId()); + vipInfo.setComboId(comoId); + vipInfo.setVipTitle(combo.getTitle()); + vipInfo.setValidTime(CommonUtils.getCurrentTime()); + massageVipInfoService.save(vipInfo); + }else { + //修改会员信息 + info.setComboId(combo.getId()); + massageVipInfoService.updateById(info); + } + //吊起微信支付 BigDecimal price = vipRecord.getAmount();//价格 String productName = vipRecord.getTitle();//服务名称 @@ -137,6 +159,23 @@ public class VipServiceImpl implements VipService { record.setStatus("1");//订单状态 record.setPayTime(CommonUtils.getCurrentTime());//订单支付时间 massageVipRecordService.updateById(record); + + //修改会员时间 + //获取当前会员信息 + MassageVipInfo info = massageVipInfoService + .lambdaQuery() + .eq(MassageVipInfo::getUserId, record.getUserId()) + .one(); + //获取会员套餐信息 + MassageVipCombo combo = massageVipComboService.getById(info.getComboId()); + + Date oldTime = info.getValidTime(); + int addTime = combo.getMonth(); + + //在当前有效期基础上增加时长 + Date newTime = CommonUtils.getValidTime(oldTime, addTime); + info.setValidTime(newTime); + massageVipInfoService.updateById(info); } } @@ -146,4 +185,8 @@ public class VipServiceImpl implements VipService { } return null; } + + public void getValidTime(Date oldTime, int month){ + + } } diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/VouchersServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/VouchersServiceImpl.java index 04f4e35..6890ace 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/VouchersServiceImpl.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/VouchersServiceImpl.java @@ -101,6 +101,7 @@ public class VouchersServiceImpl implements VouchersService { .lambdaQuery(); //组装查询条件 + query.eq(MassageShop::getStatus, "1"); //按照创建时间降序排列 query.orderByDesc(MassageShop::getCreateTime); diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiUtils/CommonUtils.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiUtils/CommonUtils.java index 3d35258..9fb708a 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiUtils/CommonUtils.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiUtils/CommonUtils.java @@ -1,6 +1,7 @@ package org.jeecg.modules.apiUtils; import java.text.SimpleDateFormat; +import java.util.Calendar; import java.util.Date; public class CommonUtils { @@ -15,8 +16,20 @@ public class CommonUtils { return now; } + //获取延长时间 + public static Date getValidTime(Date oldTime, int month){ + // 创建Calendar实例 + Calendar cal = Calendar.getInstance(); + cal.setTime(oldTime); // 设置当前时间 + + // 在当前时间基础上加n个月 + cal.add(Calendar.MONTH, month); + Date newTime = cal.getTime(); + return newTime; + } + public static void main(String[] args) { - System.out.println(getCurrentTime()); + System.out.println(getValidTime(getCurrentTime(), 3)); } } diff --git a/jeecg-boot-module-system/src/main/resources/application-dev.yml b/jeecg-boot-module-system/src/main/resources/application-dev.yml index 19a19c8..e31fff9 100644 --- a/jeecg-boot-module-system/src/main/resources/application-dev.yml +++ b/jeecg-boot-module-system/src/main/resources/application-dev.yml @@ -196,7 +196,7 @@ jeecg : secretKey: x8dqo1vIyXTLkPSnIC3E8evWzojjuD endpoint: oss-cn-beijing.aliyuncs.com bucketName: yurangongfang - staticDomain: https://img.yurangongfang.com + staticDomain: https://img.yurangongfang.com/ # ElasticSearch 6设置 elasticsearch: cluster-name: jeecg-ES