diff --git a/admin-hanhai-vue/src/views/system/HotelCouponList.vue b/admin-hanhai-vue/src/views/system/HotelCouponList.vue new file mode 100644 index 0000000..d9d28cf --- /dev/null +++ b/admin-hanhai-vue/src/views/system/HotelCouponList.vue @@ -0,0 +1,221 @@ + + + + \ No newline at end of file diff --git a/admin-hanhai-vue/src/views/system/HotelShopList.vue b/admin-hanhai-vue/src/views/system/HotelShopList.vue index 226c305..b046f86 100644 --- a/admin-hanhai-vue/src/views/system/HotelShopList.vue +++ b/admin-hanhai-vue/src/views/system/HotelShopList.vue @@ -68,12 +68,23 @@ - 编辑 + +
+ 通过 + + 不通过 + + +
+ 更多 + + 编辑 + 详情 @@ -99,6 +110,7 @@ import { mixinDevice } from '@/utils/mixin' import { JeecgListMixin } from '@/mixins/JeecgListMixin' import HotelShopModal from './modules/HotelShopModal' + import {httpAction} from "@api/manage"; export default { name: 'HotelShopList', @@ -207,6 +219,7 @@ deleteBatch: "/hotelshop/hotelShop/deleteBatch", exportXlsUrl: "/hotelshop/hotelShop/exportXls", importExcelUrl: "hotelshop/hotelShop/importExcel", + auditUrl: "/hotelshop/hotelShop/audit" }, dictOptions:{}, @@ -227,7 +240,7 @@ getSuperFieldList(){ let fieldList=[]; fieldList.push({type:'string',value:'name',text:'商铺名',dictCode:''}) - fieldList.push({type:'string',value:'userId',text:'userId',dictCode:''}) + fieldList.push({type:'string',value:'userId',text:'用户编号',dictCode:''}) fieldList.push({type:'string',value:'userName',text:'店主名',dictCode:''}) fieldList.push({type:'string',value:'phone',text:'手机号',dictCode:''}) fieldList.push({type:'string',value:'latitude',text:'latitude',dictCode:''}) @@ -235,6 +248,23 @@ fieldList.push({type:'string',value:'address',text:'地址',dictCode:''}) fieldList.push({type:'int',value:'delFlag',text:'delFlag',dictCode:''}) this.superFieldList = fieldList + }, + handleAudit(e,obj){ + let param = { + id:obj.id, + audit:e + } + console.log(e,obj) + httpAction(this.url.auditUrl,param,'post').then((res)=>{ + if(res.success){ + this.$message.success(res.message); + this.$emit('ok'); + }else{ + this.$message.warning(res.message); + } + }).finally(() => { + this.loadData(1) + }) } } } diff --git a/admin-hanhai-vue/src/views/system/RefundOrderList.vue b/admin-hanhai-vue/src/views/system/RefundOrderList.vue new file mode 100644 index 0000000..9362cc0 --- /dev/null +++ b/admin-hanhai-vue/src/views/system/RefundOrderList.vue @@ -0,0 +1,254 @@ + + + + \ No newline at end of file diff --git a/admin-hanhai-vue/src/views/system/ReplaceOrderList.vue b/admin-hanhai-vue/src/views/system/ReplaceOrderList.vue new file mode 100644 index 0000000..950065b --- /dev/null +++ b/admin-hanhai-vue/src/views/system/ReplaceOrderList.vue @@ -0,0 +1,254 @@ + + + + \ No newline at end of file diff --git a/admin-hanhai-vue/src/views/system/WashOrderList.vue b/admin-hanhai-vue/src/views/system/WashOrderList.vue new file mode 100644 index 0000000..d3216f2 --- /dev/null +++ b/admin-hanhai-vue/src/views/system/WashOrderList.vue @@ -0,0 +1,285 @@ + + + + \ No newline at end of file diff --git a/admin-hanhai-vue/src/views/system/modules/HotelCouponForm.vue b/admin-hanhai-vue/src/views/system/modules/HotelCouponForm.vue new file mode 100644 index 0000000..e5e8705 --- /dev/null +++ b/admin-hanhai-vue/src/views/system/modules/HotelCouponForm.vue @@ -0,0 +1,149 @@ + + + \ No newline at end of file diff --git a/admin-hanhai-vue/src/views/system/modules/HotelCouponModal.Style#Drawer.vue b/admin-hanhai-vue/src/views/system/modules/HotelCouponModal.Style#Drawer.vue new file mode 100644 index 0000000..298c557 --- /dev/null +++ b/admin-hanhai-vue/src/views/system/modules/HotelCouponModal.Style#Drawer.vue @@ -0,0 +1,84 @@ + + + + + \ No newline at end of file diff --git a/admin-hanhai-vue/src/views/system/modules/HotelCouponModal.vue b/admin-hanhai-vue/src/views/system/modules/HotelCouponModal.vue new file mode 100644 index 0000000..1e12f68 --- /dev/null +++ b/admin-hanhai-vue/src/views/system/modules/HotelCouponModal.vue @@ -0,0 +1,60 @@ + + + \ No newline at end of file diff --git a/admin-hanhai-vue/src/views/system/modules/WashOrderForm.vue b/admin-hanhai-vue/src/views/system/modules/WashOrderForm.vue new file mode 100644 index 0000000..2d4e7c7 --- /dev/null +++ b/admin-hanhai-vue/src/views/system/modules/WashOrderForm.vue @@ -0,0 +1,99 @@ + + + \ No newline at end of file diff --git a/admin-hanhai-vue/src/views/system/modules/WashOrderModal.Style#Drawer.vue b/admin-hanhai-vue/src/views/system/modules/WashOrderModal.Style#Drawer.vue new file mode 100644 index 0000000..f06de0a --- /dev/null +++ b/admin-hanhai-vue/src/views/system/modules/WashOrderModal.Style#Drawer.vue @@ -0,0 +1,84 @@ + + + + + \ No newline at end of file diff --git a/admin-hanhai-vue/src/views/system/modules/WashOrderModal.vue b/admin-hanhai-vue/src/views/system/modules/WashOrderModal.vue new file mode 100644 index 0000000..e57d3ac --- /dev/null +++ b/admin-hanhai-vue/src/views/system/modules/WashOrderModal.vue @@ -0,0 +1,66 @@ + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-api/jeecg-system-cloud-api/target/jeecg-system-cloud-api-3.2.0.jar b/jeecg-boot-base/jeecg-boot-base-api/jeecg-system-cloud-api/target/jeecg-system-cloud-api-3.2.0.jar index 059202c..4a08719 100644 Binary files a/jeecg-boot-base/jeecg-boot-base-api/jeecg-system-cloud-api/target/jeecg-system-cloud-api-3.2.0.jar and b/jeecg-boot-base/jeecg-boot-base-api/jeecg-system-cloud-api/target/jeecg-system-cloud-api-3.2.0.jar differ diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java index 16cb891..cc35d67 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java @@ -80,6 +80,8 @@ public class ShiroConfig { filterChainDefinitionMap.put("/login/login", "anon");//分类接口 filterChainDefinitionMap.put("/conf/customer", "anon");//分类接口 filterChainDefinitionMap.put("/order/notify", "anon");//支付回调接口 + filterChainDefinitionMap.put("/user/custom", "anon");//支付回调接口 + filterChainDefinitionMap.put("/order/replace/notify", "anon");//支付回调接口 filterChainDefinitionMap.put("/sys/oss/file/upload", "anon"); //图片上传验证放开 filterChainDefinitionMap.put("/sys/common/upload", "anon"); //图片上传验证放开 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 3e19358..c5aab40 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 @@ -5,6 +5,7 @@ import java.util.List; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Update; import org.jeecg.modules.hanHaiMember.entity.HanHaiMember; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.jeecg.modules.hanHaiMember.resp.MyUserResp; @@ -35,4 +36,12 @@ public interface HanHaiMemberMapper extends BaseMapper { */ ShopIndexResp getShopIndex(@Param("userId") String userId,@Param("shopId") String shopId); + /** + * 修改用户id + * @param oldId + * @param newId + * @return + */ + Integer updateUserId(@Param("oldId") String oldId,@Param("newId") String newId); + } diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/mapper/xml/HanHaiMemberMapper.xml b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/mapper/xml/HanHaiMemberMapper.xml index fcaf936..28e546b 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/mapper/xml/HanHaiMemberMapper.xml +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/mapper/xml/HanHaiMemberMapper.xml @@ -9,10 +9,14 @@ + + UPDATE han_hai_member SET id = #{newId} WHERE id = #{oldId} + + \ No newline at end of file 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 d39a12e..efe0779 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 @@ -19,4 +19,12 @@ public interface IHanHaiMemberService extends IService { IPage getMyUser(Page page, String shopId); ShopIndexResp getShopIndex(String userId, String shopId); + + /** + * 修改用户id + * @param oldId 老id + * @param newId 新id + * @return + */ + Integer updateUserId(@Param("oldId") String oldId,@Param("newId") String newId); } 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 2c0997a..8274486 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 @@ -30,4 +30,9 @@ public class HanHaiMemberServiceImpl extends ServiceImpl { + @Autowired + private IHotelCouponService hotelCouponService; + + /** + * 分页列表查询 + * + * @param hotelCoupon + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "hotel_coupon-分页列表查询") + @ApiOperation(value="hotel_coupon-分页列表查询", notes="hotel_coupon-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(HotelCoupon hotelCoupon, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(hotelCoupon, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = hotelCouponService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param hotelCoupon + * @return + */ + @AutoLog(value = "hotel_coupon-添加") + @ApiOperation(value="hotel_coupon-添加", notes="hotel_coupon-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody HotelCoupon hotelCoupon) { + hotelCouponService.save(hotelCoupon); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param hotelCoupon + * @return + */ + @AutoLog(value = "hotel_coupon-编辑") + @ApiOperation(value="hotel_coupon-编辑", notes="hotel_coupon-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody HotelCoupon hotelCoupon) { + hotelCouponService.updateById(hotelCoupon); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "hotel_coupon-通过id删除") + @ApiOperation(value="hotel_coupon-通过id删除", notes="hotel_coupon-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + hotelCouponService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "hotel_coupon-批量删除") + @ApiOperation(value="hotel_coupon-批量删除", notes="hotel_coupon-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.hotelCouponService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "hotel_coupon-通过id查询") + @ApiOperation(value="hotel_coupon-通过id查询", notes="hotel_coupon-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + HotelCoupon hotelCoupon = hotelCouponService.getById(id); + if(hotelCoupon==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(hotelCoupon); + } + + /** + * 导出excel + * + * @param request + * @param hotelCoupon + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, HotelCoupon hotelCoupon) { + return super.exportXls(request, hotelCoupon, HotelCoupon.class, "hotel_coupon"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, HotelCoupon.class); + } + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcoupon/entity/HotelCoupon.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcoupon/entity/HotelCoupon.java new file mode 100644 index 0000000..cfe030f --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcoupon/entity/HotelCoupon.java @@ -0,0 +1,87 @@ +package org.jeecg.modules.hotelcoupon.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.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +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: hotel_coupon + * @Author: jeecg-boot + * @Date: 2024-10-14 + * @Version: V1.0 + */ +@Data +@TableName("hotel_coupon") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="hotel_coupon对象", description="hotel_coupon") +public class HotelCoupon implements Serializable { + private static final long serialVersionUID = 1L; + + /**id*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "id") + private java.lang.String id; + /**优惠券名*/ + @Excel(name = "优惠券名", width = 15) + @ApiModelProperty(value = "优惠券名") + private java.lang.String name; + /**图片*/ + @Excel(name = "图片", width = 15) + @ApiModelProperty(value = "图片") + private java.lang.String pic; + /**券额*/ + @Excel(name = "券额", width = 15) + @ApiModelProperty(value = "券额") + private java.math.BigDecimal price; + /**满多少金额*/ + @Excel(name = "满多少金额", width = 15) + @ApiModelProperty(value = "满多少金额") + private java.math.BigDecimal conditionPrice; + /**说明*/ + @Excel(name = "说明", width = 15) + @ApiModelProperty(value = "说明") + private java.lang.String info; + /**优惠券结束时间*/ + @Excel(name = "优惠券结束时间", width = 20, format = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "优惠券结束时间") + private java.util.Date endTime; + /**类型 0指定时间 1单次*/ + @Excel(name = "类型 0指定时间 1单次", width = 15, dicCode = "coupon_type") + @Dict(dicCode = "coupon_type") + @ApiModelProperty(value = "类型 0指定时间 1单次") + private java.lang.Integer type; + /**是否删除*/ + @Excel(name = "是否删除", width = 15, dicCode = "is_delete") + @Dict(dicCode = "is_delete") + @ApiModelProperty(value = "是否删除") + private java.lang.Integer delFlag; + /**createTime*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "createTime") + private java.util.Date createTime; + /**updateTime*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "updateTime") + private java.util.Date updateTime; + /**使用类型 0押金 1租金 2水洗*/ + @Dict(dicCode = "coupon_use_type") + private Integer useType; +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcoupon/mapper/HotelCouponMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcoupon/mapper/HotelCouponMapper.java new file mode 100644 index 0000000..0e5406b --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcoupon/mapper/HotelCouponMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.hotelcoupon.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.hotelcoupon.entity.HotelCoupon; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: hotel_coupon + * @Author: jeecg-boot + * @Date: 2024-10-14 + * @Version: V1.0 + */ +public interface HotelCouponMapper extends BaseMapper { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcoupon/mapper/xml/HotelCouponMapper.xml b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcoupon/mapper/xml/HotelCouponMapper.xml new file mode 100644 index 0000000..742372b --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcoupon/mapper/xml/HotelCouponMapper.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/hotelcoupon/service/IHotelCouponService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcoupon/service/IHotelCouponService.java new file mode 100644 index 0000000..baa060f --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcoupon/service/IHotelCouponService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.hotelcoupon.service; + +import org.jeecg.modules.hotelcoupon.entity.HotelCoupon; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: hotel_coupon + * @Author: jeecg-boot + * @Date: 2024-10-14 + * @Version: V1.0 + */ +public interface IHotelCouponService extends IService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcoupon/service/impl/HotelCouponServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcoupon/service/impl/HotelCouponServiceImpl.java new file mode 100644 index 0000000..508bb64 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcoupon/service/impl/HotelCouponServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.hotelcoupon.service.impl; + +import org.jeecg.modules.hotelcoupon.entity.HotelCoupon; +import org.jeecg.modules.hotelcoupon.mapper.HotelCouponMapper; +import org.jeecg.modules.hotelcoupon.service.IHotelCouponService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: hotel_coupon + * @Author: jeecg-boot + * @Date: 2024-10-14 + * @Version: V1.0 + */ +@Service +public class HotelCouponServiceImpl extends ServiceImpl implements IHotelCouponService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcoupon/vue/HotelCouponList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcoupon/vue/HotelCouponList.vue new file mode 100644 index 0000000..e7f0420 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcoupon/vue/HotelCouponList.vue @@ -0,0 +1,216 @@ + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcoupon/vue/modules/HotelCouponForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcoupon/vue/modules/HotelCouponForm.vue new file mode 100644 index 0000000..ed732fb --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcoupon/vue/modules/HotelCouponForm.vue @@ -0,0 +1,144 @@ + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcoupon/vue/modules/HotelCouponModal.Style#Drawer.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcoupon/vue/modules/HotelCouponModal.Style#Drawer.vue new file mode 100644 index 0000000..298c557 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcoupon/vue/modules/HotelCouponModal.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/hotelcoupon/vue/modules/HotelCouponModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcoupon/vue/modules/HotelCouponModal.vue new file mode 100644 index 0000000..1e12f68 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcoupon/vue/modules/HotelCouponModal.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/hotelcoupon/vue3/HotelCoupon.api.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcoupon/vue3/HotelCoupon.api.ts new file mode 100644 index 0000000..b0f282e --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcoupon/vue3/HotelCoupon.api.ts @@ -0,0 +1,61 @@ +import {defHttp} from '/@/utils/http/axios'; +import {Modal} from 'ant-design-vue'; + +enum Api { + list = '/hotelcoupon/hotelCoupon/list', + save='/hotelcoupon/hotelCoupon/add', + edit='/hotelcoupon/hotelCoupon/edit', + deleteOne = '/hotelcoupon/hotelCoupon/delete', + deleteBatch = '/hotelcoupon/hotelCoupon/deleteBatch', + importExcel = '/hotelcoupon/hotelCoupon/importExcel', + exportXls = '/hotelcoupon/hotelCoupon/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/hotelcoupon/vue3/HotelCoupon.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcoupon/vue3/HotelCoupon.data.ts new file mode 100644 index 0000000..758e3ac --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcoupon/vue3/HotelCoupon.data.ts @@ -0,0 +1,108 @@ +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: 'name' + }, + { + title: '图片', + align:"center", + dataIndex: 'pic', + customRender:render.renderAvatar, + }, + { + title: '券额', + align:"center", + dataIndex: 'price' + }, + { + title: '满多少金额', + align:"center", + dataIndex: 'conditionPrice' + }, + { + title: '说明', + align:"center", + dataIndex: 'info', + slots: { customRender: 'htmlSlot' }, + }, + { + title: '优惠券结束时间', + align:"center", + dataIndex: 'endTime' + }, + { + title: '类型 0指定时间 1单次', + align:"center", + dataIndex: 'type_dictText' + }, + { + title: '是否删除', + align:"center", + dataIndex: 'delFlag_dictText' + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '优惠券名', + field: 'name', + component: 'Input', + }, + { + label: '图片', + field: 'pic', + component: 'JImageUpload', + componentProps:{ + }, + }, + { + label: '券额', + field: 'price', + component: 'InputNumber', + }, + { + label: '满多少金额', + field: 'conditionPrice', + component: 'InputNumber', + }, + { + label: '说明', + field: 'info', + component: 'JCodeEditor', //TODO String后缀暂未添加 + }, + { + label: '优惠券结束时间', + field: 'endTime', + component: 'Input', + }, + { + label: '类型 0指定时间 1单次', + field: 'type', + component: 'JDictSelectTag', + componentProps:{ + dictCode:"coupon_type" + }, + }, + { + label: '是否删除', + field: 'delFlag', + component: 'JDictSelectTag', + componentProps:{ + dictCode:"is_delete" + }, + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入是否删除!'}, + ]; + }, + }, +]; diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcoupon/vue3/HotelCouponList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcoupon/vue3/HotelCouponList.vue new file mode 100644 index 0000000..961ad3e --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcoupon/vue3/HotelCouponList.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/hotelcoupon/vue3/components/HotelCouponModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcoupon/vue3/components/HotelCouponModal.vue new file mode 100644 index 0000000..29324db --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcoupon/vue3/components/HotelCouponModal.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/hotelcouponlog/controller/HotelCouponLogController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcouponlog/controller/HotelCouponLogController.java new file mode 100644 index 0000000..fbcb611 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcouponlog/controller/HotelCouponLogController.java @@ -0,0 +1,171 @@ +package org.jeecg.modules.hotelcouponlog.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.hotelcouponlog.entity.HotelCouponLog; +import org.jeecg.modules.hotelcouponlog.service.IHotelCouponLogService; + +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: hotel_coupon_log + * @Author: jeecg-boot + * @Date: 2024-10-14 + * @Version: V1.0 + */ +@Api(tags="hotel_coupon_log") +@RestController +@RequestMapping("/hotelcouponlog/hotelCouponLog") +@Slf4j +public class HotelCouponLogController extends JeecgController { + @Autowired + private IHotelCouponLogService hotelCouponLogService; + + /** + * 分页列表查询 + * + * @param hotelCouponLog + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "hotel_coupon_log-分页列表查询") + @ApiOperation(value="hotel_coupon_log-分页列表查询", notes="hotel_coupon_log-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(HotelCouponLog hotelCouponLog, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(hotelCouponLog, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = hotelCouponLogService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param hotelCouponLog + * @return + */ + @AutoLog(value = "hotel_coupon_log-添加") + @ApiOperation(value="hotel_coupon_log-添加", notes="hotel_coupon_log-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody HotelCouponLog hotelCouponLog) { + hotelCouponLogService.save(hotelCouponLog); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param hotelCouponLog + * @return + */ + @AutoLog(value = "hotel_coupon_log-编辑") + @ApiOperation(value="hotel_coupon_log-编辑", notes="hotel_coupon_log-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody HotelCouponLog hotelCouponLog) { + hotelCouponLogService.updateById(hotelCouponLog); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "hotel_coupon_log-通过id删除") + @ApiOperation(value="hotel_coupon_log-通过id删除", notes="hotel_coupon_log-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + hotelCouponLogService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "hotel_coupon_log-批量删除") + @ApiOperation(value="hotel_coupon_log-批量删除", notes="hotel_coupon_log-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.hotelCouponLogService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "hotel_coupon_log-通过id查询") + @ApiOperation(value="hotel_coupon_log-通过id查询", notes="hotel_coupon_log-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + HotelCouponLog hotelCouponLog = hotelCouponLogService.getById(id); + if(hotelCouponLog==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(hotelCouponLog); + } + + /** + * 导出excel + * + * @param request + * @param hotelCouponLog + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, HotelCouponLog hotelCouponLog) { + return super.exportXls(request, hotelCouponLog, HotelCouponLog.class, "hotel_coupon_log"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, HotelCouponLog.class); + } + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcouponlog/entity/HotelCouponLog.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcouponlog/entity/HotelCouponLog.java new file mode 100644 index 0000000..9564eef --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcouponlog/entity/HotelCouponLog.java @@ -0,0 +1,97 @@ +package org.jeecg.modules.hotelcouponlog.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.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +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: hotel_coupon_log + * @Author: jeecg-boot + * @Date: 2024-10-14 + * @Version: V1.0 + */ +@Data +@TableName("hotel_coupon_log") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="hotel_coupon_log对象", description="hotel_coupon_log") +public class HotelCouponLog implements Serializable { + private static final long serialVersionUID = 1L; + + /**id*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "id") + private java.lang.String id; + /**优惠券编号*/ + @Excel(name = "优惠券编号", width = 15) + @ApiModelProperty(value = "优惠券编号") + private java.lang.String couponId; + /**用户编号*/ + @Excel(name = "用户编号", width = 15) + @ApiModelProperty(value = "用户编号") + private java.lang.String userId; + /**优惠券名*/ + @Excel(name = "优惠券名", width = 15) + @ApiModelProperty(value = "优惠券名") + private java.lang.String couponName; + /**图片*/ + @Excel(name = "图片", width = 15) + @ApiModelProperty(value = "图片") + private java.lang.String pic; + /**券额*/ + @Excel(name = "券额", width = 15) + @ApiModelProperty(value = "券额") + private java.math.BigDecimal price; + /**满足多少金额*/ + @Excel(name = "满足多少金额", width = 15) + @ApiModelProperty(value = "满足多少金额") + private java.math.BigDecimal conditionPrice; + /**结束时间*/ + @Excel(name = "结束时间", width = 20, format = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "结束时间") + private java.util.Date endTime; + /**类型 0指定时间 1单次使用*/ + @Excel(name = "类型 0指定时间 1单次使用", width = 15, dicCode = "coupon_type") + @Dict(dicCode = "coupon_type") + @ApiModelProperty(value = "类型 0指定时间 1单次使用") + private java.lang.Integer type; + /**状态 0未使用 1已使用*/ + @Excel(name = "状态 0未使用 1已使用", width = 15, dicCode = "coupon_log_status") + @Dict(dicCode = "coupon_log_status") + @ApiModelProperty(value = "状态 0未使用 1已使用") + private java.lang.Integer status; + /**是否删除*/ + @Excel(name = "是否删除", width = 15, dicCode = "is_delete") + @Dict(dicCode = "is_delete") + @ApiModelProperty(value = "是否删除") + private java.lang.Integer delFlag; + /**创建时间*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建时间") + private java.util.Date createTime; + /**修改时间*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "修改时间") + private java.util.Date updateTime; + /**使用类型 0押金 1租金 2水洗*/ + @Dict(dicCode = "coupon_use_type") + private Integer useType; + private String orderLogId; +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcouponlog/mapper/HotelCouponLogMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcouponlog/mapper/HotelCouponLogMapper.java new file mode 100644 index 0000000..b5fab92 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcouponlog/mapper/HotelCouponLogMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.hotelcouponlog.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.hotelcouponlog.entity.HotelCouponLog; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: hotel_coupon_log + * @Author: jeecg-boot + * @Date: 2024-10-14 + * @Version: V1.0 + */ +public interface HotelCouponLogMapper extends BaseMapper { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcouponlog/mapper/xml/HotelCouponLogMapper.xml b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcouponlog/mapper/xml/HotelCouponLogMapper.xml new file mode 100644 index 0000000..a80a9f0 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcouponlog/mapper/xml/HotelCouponLogMapper.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/hotelcouponlog/service/IHotelCouponLogService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcouponlog/service/IHotelCouponLogService.java new file mode 100644 index 0000000..f42446c --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcouponlog/service/IHotelCouponLogService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.hotelcouponlog.service; + +import org.jeecg.modules.hotelcouponlog.entity.HotelCouponLog; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: hotel_coupon_log + * @Author: jeecg-boot + * @Date: 2024-10-14 + * @Version: V1.0 + */ +public interface IHotelCouponLogService extends IService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcouponlog/service/impl/HotelCouponLogServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcouponlog/service/impl/HotelCouponLogServiceImpl.java new file mode 100644 index 0000000..8c89749 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcouponlog/service/impl/HotelCouponLogServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.hotelcouponlog.service.impl; + +import org.jeecg.modules.hotelcouponlog.entity.HotelCouponLog; +import org.jeecg.modules.hotelcouponlog.mapper.HotelCouponLogMapper; +import org.jeecg.modules.hotelcouponlog.service.IHotelCouponLogService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: hotel_coupon_log + * @Author: jeecg-boot + * @Date: 2024-10-14 + * @Version: V1.0 + */ +@Service +public class HotelCouponLogServiceImpl extends ServiceImpl implements IHotelCouponLogService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcouponlog/vue/HotelCouponLogList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcouponlog/vue/HotelCouponLogList.vue new file mode 100644 index 0000000..e956c8e --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcouponlog/vue/HotelCouponLogList.vue @@ -0,0 +1,232 @@ + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcouponlog/vue/modules/HotelCouponLogForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcouponlog/vue/modules/HotelCouponLogForm.vue new file mode 100644 index 0000000..9d1c2cc --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcouponlog/vue/modules/HotelCouponLogForm.vue @@ -0,0 +1,163 @@ + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcouponlog/vue/modules/HotelCouponLogModal.Style#Drawer.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcouponlog/vue/modules/HotelCouponLogModal.Style#Drawer.vue new file mode 100644 index 0000000..304ad04 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcouponlog/vue/modules/HotelCouponLogModal.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/hotelcouponlog/vue/modules/HotelCouponLogModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcouponlog/vue/modules/HotelCouponLogModal.vue new file mode 100644 index 0000000..1432440 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcouponlog/vue/modules/HotelCouponLogModal.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/hotelcouponlog/vue3/HotelCouponLog.api.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcouponlog/vue3/HotelCouponLog.api.ts new file mode 100644 index 0000000..3be3936 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcouponlog/vue3/HotelCouponLog.api.ts @@ -0,0 +1,61 @@ +import {defHttp} from '/@/utils/http/axios'; +import {Modal} from 'ant-design-vue'; + +enum Api { + list = '/hotelcouponlog/hotelCouponLog/list', + save='/hotelcouponlog/hotelCouponLog/add', + edit='/hotelcouponlog/hotelCouponLog/edit', + deleteOne = '/hotelcouponlog/hotelCouponLog/delete', + deleteBatch = '/hotelcouponlog/hotelCouponLog/deleteBatch', + importExcel = '/hotelcouponlog/hotelCouponLog/importExcel', + exportXls = '/hotelcouponlog/hotelCouponLog/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/hotelcouponlog/vue3/HotelCouponLog.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcouponlog/vue3/HotelCouponLog.data.ts new file mode 100644 index 0000000..83881c1 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcouponlog/vue3/HotelCouponLog.data.ts @@ -0,0 +1,135 @@ +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: 'couponId' + }, + { + title: '用户编号', + align:"center", + dataIndex: 'userId' + }, + { + title: '优惠券名', + align:"center", + dataIndex: 'couponName' + }, + { + title: '图片', + align:"center", + dataIndex: 'pic', + customRender:render.renderAvatar, + }, + { + title: '券额', + align:"center", + dataIndex: 'price' + }, + { + title: '满足多少金额', + align:"center", + dataIndex: 'conditionPrice' + }, + { + title: '结束时间', + align:"center", + dataIndex: 'endTime' + }, + { + title: '类型 0指定时间 1单次使用', + align:"center", + dataIndex: 'type_dictText' + }, + { + title: '状态 0未使用 1已使用', + align:"center", + dataIndex: 'status_dictText' + }, + { + title: '是否删除', + align:"center", + dataIndex: 'delFlag_dictText' + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '优惠券编号', + field: 'couponId', + component: 'Input', + }, + { + label: '用户编号', + field: 'userId', + component: 'Input', + }, + { + label: '优惠券名', + field: 'couponName', + component: 'Input', + }, + { + label: '图片', + field: 'pic', + component: 'JImageUpload', + componentProps:{ + }, + }, + { + label: '券额', + field: 'price', + component: 'InputNumber', + }, + { + label: '满足多少金额', + field: 'conditionPrice', + component: 'InputNumber', + }, + { + label: '结束时间', + field: 'endTime', + component: 'Input', + }, + { + label: '类型 0指定时间 1单次使用', + field: 'type', + component: 'JDictSelectTag', + componentProps:{ + dictCode:"coupon_type" + }, + }, + { + label: '状态 0未使用 1已使用', + field: 'status', + component: 'JDictSelectTag', + componentProps:{ + dictCode:"coupon_log_status" + }, + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入状态 0未使用 1已使用!'}, + ]; + }, + }, + { + label: '是否删除', + field: 'delFlag', + component: 'JDictSelectTag', + componentProps:{ + dictCode:"is_delete" + }, + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入是否删除!'}, + ]; + }, + }, +]; diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcouponlog/vue3/HotelCouponLogList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcouponlog/vue3/HotelCouponLogList.vue new file mode 100644 index 0000000..0991f3e --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcouponlog/vue3/HotelCouponLogList.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/hotelcouponlog/vue3/components/HotelCouponLogModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcouponlog/vue3/components/HotelCouponLogModal.vue new file mode 100644 index 0000000..923b30f --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelcouponlog/vue3/components/HotelCouponLogModal.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/hotelorder/controller/HotelOrderController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelorder/controller/HotelOrderController.java index 8c72670..70dfd55 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelorder/controller/HotelOrderController.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelorder/controller/HotelOrderController.java @@ -1,5 +1,6 @@ package org.jeecg.modules.hotelorder.controller; +import java.math.BigDecimal; import java.util.Arrays; import java.util.List; import java.util.Map; @@ -7,12 +8,22 @@ import java.util.stream.Collectors; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; +import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.jeecg.common.api.vo.Result; +import org.jeecg.common.exception.JeecgBootException; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.hotelbalancelog.entity.HotelBalanceLog; +import org.jeecg.modules.hotelbalancelog.service.IHotelBalanceLogService; +import org.jeecg.modules.hotelconf.service.IHotelConfService; +import org.jeecg.modules.hotelleaselog.entity.HotelLeaseLog; +import org.jeecg.modules.hotelleaselog.service.IHotelLeaseLogService; +import org.jeecg.modules.hotelmemberaccount.entity.HotelMemberAccount; +import org.jeecg.modules.hotelmemberaccount.service.IHotelMemberAccountService; import org.jeecg.modules.hotelorder.entity.HotelOrder; +import org.jeecg.modules.hotelorder.req.DamageAuditReq; import org.jeecg.modules.hotelorder.service.IHotelOrderService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -20,6 +31,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.extern.slf4j.Slf4j; +import org.jeecg.modules.hotelshop.entity.HotelShop; +import org.jeecg.modules.hotelshop.service.IHotelShopService; import org.jeecgframework.poi.excel.ExcelImportUtil; import org.jeecgframework.poi.excel.def.NormalExcelConstants; import org.jeecgframework.poi.excel.entity.ExportParams; @@ -27,6 +40,7 @@ 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.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; @@ -49,6 +63,16 @@ import org.jeecg.common.aspect.annotation.AutoLog; public class HotelOrderController extends JeecgController { @Autowired private IHotelOrderService hotelOrderService; + @Resource + private IHotelShopService hotelShopService; + @Resource + private IHotelMemberAccountService hotelMemberAccountService; + @Resource + private IHotelConfService hotelConfService; + @Resource + private IHotelBalanceLogService hotelBalanceLogService; + @Resource + private IHotelLeaseLogService hotelLeaseLogService; /** * 分页列表查询 @@ -71,6 +95,75 @@ public class HotelOrderController extends JeecgController pageList = hotelOrderService.page(page, queryWrapper); return Result.OK(pageList); } + + /** + * 水洗分页列表查询 + * + * @param hotelOrder + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "hotel_order-分页列表查询") + @ApiOperation(value="水洗分页列表查询", notes="水洗分页列表查询") + @GetMapping(value = "/wash/list") + public Result> queryPageWashList(HotelOrder hotelOrder, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(hotelOrder, req.getParameterMap()); + queryWrapper.eq("type",1); + Page page = new Page(pageNo, pageSize); + IPage pageList = hotelOrderService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 换货分页列表查询 + * + * @param hotelOrder + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "hotel_order-分页列表查询") + @ApiOperation(value="换货分页列表查询", notes="换货分页列表查询") + @GetMapping(value = "/replace/list") + public Result> queryPageReplaceList(HotelOrder hotelOrder, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(hotelOrder, req.getParameterMap()); + queryWrapper.eq("type",2); + Page page = new Page(pageNo, pageSize); + IPage pageList = hotelOrderService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 退货分页列表查询 + * + * @param hotelOrder + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "hotel_order-分页列表查询") + @ApiOperation(value="退货分页列表查询", notes="退货分页列表查询") + @GetMapping(value = "/refund/list") + public Result> queryPageRefundList(HotelOrder hotelOrder, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(hotelOrder, req.getParameterMap()); + queryWrapper.eq("type",3); + Page page = new Page(pageNo, pageSize); + IPage pageList = hotelOrderService.page(page, queryWrapper); + return Result.OK(pageList); + } /** * 添加 @@ -168,4 +261,131 @@ public class HotelOrderController extends JeecgController damageAudit(@RequestBody HotelOrder hotelOrder3) { + HotelOrder hotelOrder = new HotelOrder(); + hotelOrder.setId(hotelOrder3.getId()); + + HotelLeaseLog hotelLeaseLog = hotelLeaseLogService.lambdaQuery() + .eq(HotelLeaseLog::getDelFlag, 0) + .eq(HotelLeaseLog::getId, hotelOrder3.getLeaseId()) + .one(); + + HotelShop hotelShop = hotelShopService.lambdaQuery() + .eq(HotelShop::getDelFlag, 0) + .eq(HotelShop::getUserId, hotelOrder3.getShopId()) + .one(); + HotelLeaseLog hotelLeaseLog2 = new HotelLeaseLog(); + if(hotelOrder3.getAudit() == 0){ + if(hotelOrder3.getNum() > hotelOrder3.getRefundNum()){ + hotelOrder.setStatus(6); + + + + hotelLeaseLog2.setUserId(hotelLeaseLog.getUserId()); + hotelLeaseLog2.setShopId(hotelLeaseLog.getShopId()); + hotelLeaseLog2.setOrderId(hotelLeaseLog.getOrderId()); + hotelLeaseLog2.setGoodsId(hotelLeaseLog.getGoodsId()); + hotelLeaseLog2.setSkuId(hotelLeaseLog.getSkuId()); + hotelLeaseLog2.setGoodsName(hotelLeaseLog.getGoodsName()); + hotelLeaseLog2.setGoodsPic(hotelLeaseLog.getGoodsPic()); + hotelLeaseLog2.setSku(hotelLeaseLog.getSku()); + hotelLeaseLog2.setStatus(1); + hotelLeaseLog2.setNum(hotelOrder3.getRefundNum()); + hotelLeaseLog2.setPrice(hotelLeaseLog.getPrice()); + hotelLeaseLog2.setCategoryId(hotelLeaseLog.getCategoryId()); + hotelLeaseLogService.save(hotelLeaseLog2); + + HotelLeaseLog hotelLeaseLog1 = new HotelLeaseLog(); + hotelLeaseLog1.setId(hotelLeaseLog.getId()); + hotelLeaseLog1.setNum(hotelLeaseLog.getNum()-hotelOrder3.getRefundNum()); + hotelLeaseLogService.updateById(hotelLeaseLog1); + + + + + + }else{ + + + HotelMemberAccount hotelMemberAccount = hotelMemberAccountService.lambdaQuery() + .eq(HotelMemberAccount::getDelFlag, 0) + .eq(HotelMemberAccount::getUserId, hotelShop.getUserId()) + .one(); + + + BigDecimal platformServiceRate = new BigDecimal(hotelConfService.getConf("platformServiceRate")); + BigDecimal platformServicePrice = hotelOrder.getOrderPay().multiply(platformServiceRate); + BigDecimal shopPrice = hotelOrder.getOrderPay().multiply(hotelShop.getRate()); + BigDecimal price = hotelMemberAccount.getShopBalance().add(shopPrice); + + + HotelMemberAccount hotelMemberAccount1 = new HotelMemberAccount(); + hotelMemberAccount1.setId(hotelMemberAccount.getId()); + hotelMemberAccount1.setShopBalance(price); + hotelMemberAccountService.updateById(hotelMemberAccount1); + + + HotelBalanceLog hotelBalanceLog = new HotelBalanceLog(); + hotelBalanceLog.setUserId(hotelShop.getUserId()); + hotelBalanceLog.setBalance(shopPrice); + hotelBalanceLog.setUserBalance(hotelMemberAccount.getShopBalance()); + hotelBalanceLog.setType(2); + hotelBalanceLog.setTitle("佣金到账"); + hotelBalanceLog.setPayType(1); + hotelBalanceLog.setPlatformServicePrice(platformServicePrice); + hotelBalanceLog.setOrderId(hotelOrder3.getId()); + hotelBalanceLogService.save(hotelBalanceLog); + + + + HotelLeaseLog hotelLeaseLog1 = new HotelLeaseLog(); + hotelLeaseLog1.setId(hotelLeaseLog.getId()); + hotelLeaseLog1.setStatus(1); + hotelLeaseLogService.updateById(hotelLeaseLog1); + + + hotelOrder.setStatus(15); + } + + HotelOrder hotelOrder1 = new HotelOrder(); + hotelOrder1.setReason(hotelOrder3.getReason()); + hotelOrder1.setRefundNum(hotelOrder3.getRefundNum()); + hotelOrder1.setReasonPrice(hotelOrder3.getReasonPrice()); + hotelOrder1.setType(2); + hotelOrder1.setReasonInfo(hotelOrder3.getReasonInfo()); + hotelOrder1.setReasonPic(hotelOrder3.getReasonPic()); + hotelOrder1.setReasonPhone(hotelOrder3.getReasonPhone()); + hotelOrder1.setUserId(hotelOrder3.getUserId()); + hotelOrder1.setShopId(hotelLeaseLog.getShopId()); + hotelOrder1.setGoodsId(hotelLeaseLog.getGoodsId()); + hotelOrder1.setGoodsName(hotelLeaseLog.getGoodsName()); + hotelOrder1.setSkuId(hotelLeaseLog.getSkuId()); + hotelOrder1.setSku(hotelLeaseLog.getSku()); + hotelOrder1.setPic(hotelLeaseLog.getGoodsPic()); + hotelOrder1.setStatus(7); + hotelOrder1.setLeaseId(hotelOrder3.getNum() > hotelOrder3.getRefundNum()?hotelLeaseLog2.getId():hotelLeaseLog.getId()); + hotelOrder1.setUserName(hotelShop.getUserName()); + hotelOrder1.setUserPhone(hotelShop.getPhone()); + hotelOrder1.setUserAddress(hotelShop.getAddress()); + hotelOrder1.setShopId(hotelShop.getUserId()); + hotelOrderService.save(hotelOrder1); + + }else{ + hotelOrder.setStatus(5); + } + hotelOrderService.updateById(hotelOrder); + return Result.OK("编辑成功!"); + } + } diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelorder/entity/HotelOrder.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelorder/entity/HotelOrder.java index 64b3413..dcae5d0 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelorder/entity/HotelOrder.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelorder/entity/HotelOrder.java @@ -111,7 +111,7 @@ public class HotelOrder implements Serializable { @ApiModelProperty(value = "状态 \n" + "租赁订单:0待支付 1待发货 2待收货 \n" + "水洗订单:3待支付 4水洗店接单 5水洗店检查\n" + - "6开始清洗 \n" + + "6开始清洗 16 待平台审核\n" + "换货订单:7待回收 8待发货 9平台待收货\n" + "10平台检查损失待用户支付\n" + "退货订单:11待回收 12待发货 13平台待收货\n" + @@ -175,5 +175,7 @@ public class HotelOrder implements Serializable { private String LeaseId; @TableField(exist = false) private List hotelOrderFlows; + @TableField(exist = false) + private Integer audit; } diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelorder/req/DamageAuditReq.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelorder/req/DamageAuditReq.java new file mode 100644 index 0000000..4a14e4e --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelorder/req/DamageAuditReq.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.hotelorder.req; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.jeecg.modules.hotelorder.entity.HotelOrder; + +@Data +public class DamageAuditReq { + + /**审核 0通过 1不通过*/ + private Integer audit; + private HotelOrder hotelOrder; + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshop/controller/HotelShopController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshop/controller/HotelShopController.java index 9124ab0..653046d 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshop/controller/HotelShopController.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshop/controller/HotelShopController.java @@ -22,6 +22,7 @@ import org.jeecg.modules.hanHaiMember.service.IHanHaiMemberService; import org.jeecg.modules.hotelmemberaccount.entity.HotelMemberAccount; import org.jeecg.modules.hotelmemberaccount.service.IHotelMemberAccountService; import org.jeecg.modules.hotelshop.entity.HotelShop; +import org.jeecg.modules.hotelshop.req.AuditShopReq; import org.jeecg.modules.hotelshop.service.IHotelShopService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -29,6 +30,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.extern.slf4j.Slf4j; +import org.jeecg.modules.hotelshoplog.entity.HotelShopLog; +import org.jeecg.modules.hotelshoplog.service.IHotelShopLogService; import org.jeecgframework.poi.excel.ExcelImportUtil; import org.jeecgframework.poi.excel.def.NormalExcelConstants; import org.jeecgframework.poi.excel.entity.ExportParams; @@ -62,6 +65,8 @@ public class HotelShopController extends JeecgController audit(@RequestBody AuditShopReq auditShopReq) { + HotelShop hotelShop = hotelShopService.lambdaQuery() + .eq(HotelShop::getId, auditShopReq.getId()) + .one(); + + HanHaiMember haiMember = hanHaiMemberService.lambdaQuery() + .eq(HanHaiMember::getId, hotelShop.getUserId()) + .one(); + + HotelMemberAccount hotelMemberAccount1 = hotelMemberAccountService.lambdaQuery() + .eq(HotelMemberAccount::getDelFlag, 0) + .eq(HotelMemberAccount::getUserId, haiMember.getId()) + .one(); + + HotelShop hotelShop1 = new HotelShop(); + hotelShop1.setId(hotelShop.getId()); + if(auditShopReq.getAudit() == 0){ + String uid = IdWorker.getIdStr(); + hotelShop1.setUserId(uid); + hotelShop1.setNewId(uid); + hotelShop1.setStatus(1); + + hanHaiMemberService.updateUserId(haiMember.getId(),uid); + HotelMemberAccount hotelMemberAccount = new HotelMemberAccount(); + hotelMemberAccount.setId(hotelMemberAccount1.getId()); + hotelMemberAccount.setUserId(uid); + hotelMemberAccountService.updateById(hotelMemberAccount); + + HotelShopLog hotelShopLog = new HotelShopLog(); + hotelShopLog.setOldId(haiMember.getId()); + hotelShopLog.setNewId(uid); + hotelShopLog.setShopId(hotelShop.getId()); + hotelShopLogService.save(hotelShopLog); + + }else{ + hotelShop1.setStatus(2); + } + hotelShopService.updateById(hotelShop1); + return Result.OK("成功!"); + } } diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshop/entity/HotelShop.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshop/entity/HotelShop.java index 40e5327..c82eff5 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshop/entity/HotelShop.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshop/entity/HotelShop.java @@ -99,4 +99,8 @@ public class HotelShop implements Serializable { private BigDecimal rate; @TableField(exist = false) private String password; + /**酒店用户id*/ + private String oldId; + /**水洗店用户id*/ + private String newId; } diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshop/req/AuditShopReq.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshop/req/AuditShopReq.java new file mode 100644 index 0000000..bc4507f --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshop/req/AuditShopReq.java @@ -0,0 +1,13 @@ +package org.jeecg.modules.hotelshop.req; + +import lombok.Data; + +@Data +public class AuditShopReq { + + /**店铺id*/ + private String id; + /**0审核通过 1审核不通过*/ + private Integer audit; + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshoplog/controller/HotelShopLogController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshoplog/controller/HotelShopLogController.java new file mode 100644 index 0000000..a3f6a15 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshoplog/controller/HotelShopLogController.java @@ -0,0 +1,171 @@ +package org.jeecg.modules.hotelshoplog.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.hotelshoplog.entity.HotelShopLog; +import org.jeecg.modules.hotelshoplog.service.IHotelShopLogService; + +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: hotel_shop_log + * @Author: jeecg-boot + * @Date: 2024-10-12 + * @Version: V1.0 + */ +@Api(tags="hotel_shop_log") +@RestController +@RequestMapping("/hotelshoplog/hotelShopLog") +@Slf4j +public class HotelShopLogController extends JeecgController { + @Autowired + private IHotelShopLogService hotelShopLogService; + + /** + * 分页列表查询 + * + * @param hotelShopLog + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "hotel_shop_log-分页列表查询") + @ApiOperation(value="hotel_shop_log-分页列表查询", notes="hotel_shop_log-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(HotelShopLog hotelShopLog, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(hotelShopLog, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = hotelShopLogService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param hotelShopLog + * @return + */ + @AutoLog(value = "hotel_shop_log-添加") + @ApiOperation(value="hotel_shop_log-添加", notes="hotel_shop_log-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody HotelShopLog hotelShopLog) { + hotelShopLogService.save(hotelShopLog); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param hotelShopLog + * @return + */ + @AutoLog(value = "hotel_shop_log-编辑") + @ApiOperation(value="hotel_shop_log-编辑", notes="hotel_shop_log-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody HotelShopLog hotelShopLog) { + hotelShopLogService.updateById(hotelShopLog); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "hotel_shop_log-通过id删除") + @ApiOperation(value="hotel_shop_log-通过id删除", notes="hotel_shop_log-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + hotelShopLogService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "hotel_shop_log-批量删除") + @ApiOperation(value="hotel_shop_log-批量删除", notes="hotel_shop_log-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.hotelShopLogService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "hotel_shop_log-通过id查询") + @ApiOperation(value="hotel_shop_log-通过id查询", notes="hotel_shop_log-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + HotelShopLog hotelShopLog = hotelShopLogService.getById(id); + if(hotelShopLog==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(hotelShopLog); + } + + /** + * 导出excel + * + * @param request + * @param hotelShopLog + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, HotelShopLog hotelShopLog) { + return super.exportXls(request, hotelShopLog, HotelShopLog.class, "hotel_shop_log"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, HotelShopLog.class); + } + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshoplog/entity/HotelShopLog.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshoplog/entity/HotelShopLog.java new file mode 100644 index 0000000..78d2c59 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshoplog/entity/HotelShopLog.java @@ -0,0 +1,65 @@ +package org.jeecg.modules.hotelshoplog.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.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +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: hotel_shop_log + * @Author: jeecg-boot + * @Date: 2024-10-12 + * @Version: V1.0 + */ +@Data +@TableName("hotel_shop_log") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="hotel_shop_log对象", description="hotel_shop_log") +public class HotelShopLog implements Serializable { + private static final long serialVersionUID = 1L; + + /**id*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "id") + private java.lang.String id; + /**老用户id*/ + @Excel(name = "老用户id", width = 15) + @ApiModelProperty(value = "老用户id") + private java.lang.String oldId; + /**新用户Id*/ + @Excel(name = "新用户Id", width = 15) + @ApiModelProperty(value = "新用户Id") + private java.lang.String newId; + /**水洗店id*/ + @Excel(name = "水洗店id", width = 15) + @ApiModelProperty(value = "水洗店id") + private java.lang.String shopId; + /**是否删除*/ + @Excel(name = "是否删除", width = 15, dicCode = "is_delete") + @Dict(dicCode = "is_delete") + @ApiModelProperty(value = "是否删除") + private java.lang.Integer delFlag; + /**createTime*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "createTime") + private java.util.Date createTime; + /**updateTime*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "updateTime") + private java.util.Date updateTime; +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshoplog/mapper/HotelShopLogMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshoplog/mapper/HotelShopLogMapper.java new file mode 100644 index 0000000..b88503b --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshoplog/mapper/HotelShopLogMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.hotelshoplog.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.hotelshoplog.entity.HotelShopLog; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: hotel_shop_log + * @Author: jeecg-boot + * @Date: 2024-10-12 + * @Version: V1.0 + */ +public interface HotelShopLogMapper extends BaseMapper { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshoplog/mapper/xml/HotelShopLogMapper.xml b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshoplog/mapper/xml/HotelShopLogMapper.xml new file mode 100644 index 0000000..823b63b --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshoplog/mapper/xml/HotelShopLogMapper.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/hotelshoplog/service/IHotelShopLogService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshoplog/service/IHotelShopLogService.java new file mode 100644 index 0000000..b45db64 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshoplog/service/IHotelShopLogService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.hotelshoplog.service; + +import org.jeecg.modules.hotelshoplog.entity.HotelShopLog; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: hotel_shop_log + * @Author: jeecg-boot + * @Date: 2024-10-12 + * @Version: V1.0 + */ +public interface IHotelShopLogService extends IService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshoplog/service/impl/HotelShopLogServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshoplog/service/impl/HotelShopLogServiceImpl.java new file mode 100644 index 0000000..6bdb5ee --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshoplog/service/impl/HotelShopLogServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.hotelshoplog.service.impl; + +import org.jeecg.modules.hotelshoplog.entity.HotelShopLog; +import org.jeecg.modules.hotelshoplog.mapper.HotelShopLogMapper; +import org.jeecg.modules.hotelshoplog.service.IHotelShopLogService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: hotel_shop_log + * @Author: jeecg-boot + * @Date: 2024-10-12 + * @Version: V1.0 + */ +@Service +public class HotelShopLogServiceImpl extends ServiceImpl implements IHotelShopLogService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshoplog/vue/HotelShopLogList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshoplog/vue/HotelShopLogList.vue new file mode 100644 index 0000000..885f26b --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshoplog/vue/HotelShopLogList.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/hotelshoplog/vue/modules/HotelShopLogForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshoplog/vue/modules/HotelShopLogForm.vue new file mode 100644 index 0000000..de4a73b --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshoplog/vue/modules/HotelShopLogForm.vue @@ -0,0 +1,120 @@ + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshoplog/vue/modules/HotelShopLogModal.Style#Drawer.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshoplog/vue/modules/HotelShopLogModal.Style#Drawer.vue new file mode 100644 index 0000000..40d86a6 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshoplog/vue/modules/HotelShopLogModal.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/hotelshoplog/vue/modules/HotelShopLogModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshoplog/vue/modules/HotelShopLogModal.vue new file mode 100644 index 0000000..7eefa6f --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshoplog/vue/modules/HotelShopLogModal.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/hotelshoplog/vue3/HotelShopLog.api.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshoplog/vue3/HotelShopLog.api.ts new file mode 100644 index 0000000..c449109 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshoplog/vue3/HotelShopLog.api.ts @@ -0,0 +1,61 @@ +import {defHttp} from '/@/utils/http/axios'; +import {Modal} from 'ant-design-vue'; + +enum Api { + list = '/hotelshoplog/hotelShopLog/list', + save='/hotelshoplog/hotelShopLog/add', + edit='/hotelshoplog/hotelShopLog/edit', + deleteOne = '/hotelshoplog/hotelShopLog/delete', + deleteBatch = '/hotelshoplog/hotelShopLog/deleteBatch', + importExcel = '/hotelshoplog/hotelShopLog/importExcel', + exportXls = '/hotelshoplog/hotelShopLog/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/hotelshoplog/vue3/HotelShopLog.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshoplog/vue3/HotelShopLog.data.ts new file mode 100644 index 0000000..2e2f1d5 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshoplog/vue3/HotelShopLog.data.ts @@ -0,0 +1,56 @@ +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: '老用户id', + align:"center", + dataIndex: 'oldId' + }, + { + title: '新用户Id', + align:"center", + dataIndex: 'newId' + }, + { + title: '水洗店id', + align:"center", + dataIndex: 'shopId' + }, + { + title: '是否删除', + align:"center", + dataIndex: 'delFlag_dictText' + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '老用户id', + field: 'oldId', + component: 'Input', + }, + { + label: '新用户Id', + field: 'newId', + component: 'Input', + }, + { + label: '水洗店id', + field: 'shopId', + component: 'Input', + }, + { + label: '是否删除', + field: 'delFlag', + component: 'JDictSelectTag', + componentProps:{ + dictCode:"is_delete" + }, + }, +]; diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshoplog/vue3/HotelShopLogList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshoplog/vue3/HotelShopLogList.vue new file mode 100644 index 0000000..701f3e2 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshoplog/vue3/HotelShopLogList.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/hotelshoplog/vue3/components/HotelShopLogModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshoplog/vue3/components/HotelShopLogModal.vue new file mode 100644 index 0000000..3f0963e --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshoplog/vue3/components/HotelShopLogModal.vue @@ -0,0 +1,58 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/target/classes/org/jeecg/config/shiro/ShiroConfig.class b/jeecg-boot-base/jeecg-boot-base-core/target/classes/org/jeecg/config/shiro/ShiroConfig.class index d6af4af..f77cfc1 100644 Binary files a/jeecg-boot-base/jeecg-boot-base-core/target/classes/org/jeecg/config/shiro/ShiroConfig.class and b/jeecg-boot-base/jeecg-boot-base-core/target/classes/org/jeecg/config/shiro/ShiroConfig.class differ diff --git a/jeecg-boot-base/jeecg-boot-base-core/target/classes/org/jeecg/modules/hanHaiMember/mapper/HanHaiMemberMapper.class b/jeecg-boot-base/jeecg-boot-base-core/target/classes/org/jeecg/modules/hanHaiMember/mapper/HanHaiMemberMapper.class index 7e67865..de94076 100644 Binary files a/jeecg-boot-base/jeecg-boot-base-core/target/classes/org/jeecg/modules/hanHaiMember/mapper/HanHaiMemberMapper.class and b/jeecg-boot-base/jeecg-boot-base-core/target/classes/org/jeecg/modules/hanHaiMember/mapper/HanHaiMemberMapper.class differ diff --git a/jeecg-boot-base/jeecg-boot-base-core/target/classes/org/jeecg/modules/hanHaiMember/mapper/xml/HanHaiMemberMapper.xml b/jeecg-boot-base/jeecg-boot-base-core/target/classes/org/jeecg/modules/hanHaiMember/mapper/xml/HanHaiMemberMapper.xml index fcaf936..28e546b 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/target/classes/org/jeecg/modules/hanHaiMember/mapper/xml/HanHaiMemberMapper.xml +++ b/jeecg-boot-base/jeecg-boot-base-core/target/classes/org/jeecg/modules/hanHaiMember/mapper/xml/HanHaiMemberMapper.xml @@ -9,10 +9,14 @@ + + UPDATE han_hai_member SET id = #{newId} WHERE id = #{oldId} + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/target/classes/org/jeecg/modules/hanHaiMember/service/IHanHaiMemberService.class b/jeecg-boot-base/jeecg-boot-base-core/target/classes/org/jeecg/modules/hanHaiMember/service/IHanHaiMemberService.class index c9527d2..09398f9 100644 Binary files a/jeecg-boot-base/jeecg-boot-base-core/target/classes/org/jeecg/modules/hanHaiMember/service/IHanHaiMemberService.class and b/jeecg-boot-base/jeecg-boot-base-core/target/classes/org/jeecg/modules/hanHaiMember/service/IHanHaiMemberService.class differ diff --git a/jeecg-boot-base/jeecg-boot-base-core/target/classes/org/jeecg/modules/hanHaiMember/service/impl/HanHaiMemberServiceImpl.class b/jeecg-boot-base/jeecg-boot-base-core/target/classes/org/jeecg/modules/hanHaiMember/service/impl/HanHaiMemberServiceImpl.class index a035f68..8ea5780 100644 Binary files a/jeecg-boot-base/jeecg-boot-base-core/target/classes/org/jeecg/modules/hanHaiMember/service/impl/HanHaiMemberServiceImpl.class and b/jeecg-boot-base/jeecg-boot-base-core/target/classes/org/jeecg/modules/hanHaiMember/service/impl/HanHaiMemberServiceImpl.class differ diff --git a/jeecg-boot-base/jeecg-boot-base-core/target/jeecg-boot-base-core-3.2.0.jar b/jeecg-boot-base/jeecg-boot-base-core/target/jeecg-boot-base-core-3.2.0.jar index e99938c..ef94f3f 100644 Binary files a/jeecg-boot-base/jeecg-boot-base-core/target/jeecg-boot-base-core-3.2.0.jar and b/jeecg-boot-base/jeecg-boot-base-core/target/jeecg-boot-base-core-3.2.0.jar differ diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/coupon/controller/CouponController.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/coupon/controller/CouponController.java new file mode 100644 index 0000000..dfe0126 --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/coupon/controller/CouponController.java @@ -0,0 +1,13 @@ +package org.jeecg.modules.xcx.coupon.controller; + +import io.swagger.annotations.Api; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Api(tags = "优惠券接口") +@Slf4j +@RestController +@RequestMapping("/coupon") +public class CouponController { +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/coupon/req/CouponPageReq.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/coupon/req/CouponPageReq.java new file mode 100644 index 0000000..6bdfbb5 --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/coupon/req/CouponPageReq.java @@ -0,0 +1,12 @@ +package org.jeecg.modules.xcx.coupon.req; + +import lombok.Data; + +@Data +public class CouponPageReq { + + private Integer pageNo = 1; + private Integer pageSize = 10; + private String token; + +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/coupon/service/ICouponService.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/coupon/service/ICouponService.java new file mode 100644 index 0000000..e122439 --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/coupon/service/ICouponService.java @@ -0,0 +1,16 @@ +package org.jeecg.modules.xcx.coupon.service; + +import org.jeecg.common.api.vo.Result; +import org.jeecg.modules.xcx.coupon.req.CouponPageReq; + +public interface ICouponService { + + + /** + * 优惠券分页接口 + * @param couponPageReq + * @return + */ + Result couponPage(CouponPageReq couponPageReq); + +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/coupon/service/impl/CouponServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/coupon/service/impl/CouponServiceImpl.java new file mode 100644 index 0000000..7b66424 --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/coupon/service/impl/CouponServiceImpl.java @@ -0,0 +1,39 @@ +package org.jeecg.modules.xcx.coupon.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.jeecg.config.shiro.ShiroRealm; +import org.jeecg.modules.hanHaiMember.entity.HanHaiMember; +import org.jeecg.modules.hotelcouponlog.entity.HotelCouponLog; +import org.jeecg.modules.hotelcouponlog.service.IHotelCouponLogService; +import org.jeecg.modules.xcx.coupon.req.CouponPageReq; +import org.jeecg.modules.xcx.coupon.service.ICouponService; +import org.jeecgframework.codegenerate.a.a; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +@Slf4j +@Service +public class CouponServiceImpl implements ICouponService { + + @Resource + private IHotelCouponLogService hotelCouponLogService; + @Resource + private ShiroRealm shiroRealm; + + @Override + public Result couponPage(CouponPageReq couponPageReq) { + HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiAccount(couponPageReq.getToken()); + Page page = new Page<>(couponPageReq.getPageNo(), couponPageReq.getPageSize()); + Page hotelCouponLogPage = hotelCouponLogService.lambdaQuery() + .eq(HotelCouponLog::getDelFlag, 0) + .eq(HotelCouponLog::getStatus, 0) + .eq(HotelCouponLog::getUserId, hanHaiMember.getId()) + .orderByDesc(HotelCouponLog::getCreateTime) + .page(page); + + return Result.OK(hotelCouponLogPage); + } +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/goods/req/JoinShoppingCartReq.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/goods/req/JoinShoppingCartReq.java index 5a6024e..27c00c4 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/goods/req/JoinShoppingCartReq.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/goods/req/JoinShoppingCartReq.java @@ -12,6 +12,8 @@ public class JoinShoppingCartReq { @ApiModelProperty(value = "规格id") private String skuId; private String token; + @ApiModelProperty(value = "数量") + private Integer num = 1; } diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/goods/service/impl/GoodsServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/goods/service/impl/GoodsServiceImpl.java index 7060403..9fa2c06 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/goods/service/impl/GoodsServiceImpl.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/goods/service/impl/GoodsServiceImpl.java @@ -132,11 +132,11 @@ public class GoodsServiceImpl implements IGoodsService { hotelShoppingCat.setGoodsId(hotelGoods.getId()); hotelShoppingCat.setSkuId(hotelGoodsSku.getId()); hotelShoppingCat.setUserId(hanHaiMember.getId()); - hotelShoppingCat.setNum(1); + hotelShoppingCat.setNum(joinShoppingCartReq.getNum()); hotelShoppingCatService.save(hotelShoppingCat); }else{ hotelShoppingCat.setId(hotelShoppingCat1.getId()); - hotelShoppingCat.setNum(hotelShoppingCat1.getNum() + 1); + hotelShoppingCat.setNum(hotelShoppingCat1.getNum() + joinShoppingCartReq.getNum()); hotelShoppingCatService.updateById(hotelShoppingCat1); } diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/order/controller/OrderController.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/order/controller/OrderController.java index f6c5b28..52736e3 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/order/controller/OrderController.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/order/controller/OrderController.java @@ -88,4 +88,18 @@ public class OrderController { return orderService.confirmAcceptOrder(confirmAcceptOrderReq); } + + @ApiOperation(value = "换货支付") + @PostMapping("/replace/pay") + public Result replaceOrderPay(HttpServletRequest request,ReplaceOrderPayReq replaceOrderPayReq){ + replaceOrderPayReq.setToken(TokenUtils.getTokenByRequest(request)); + return orderService.replaceOrderPay(replaceOrderPayReq); + } + + + @PostMapping("/replace/notify") + public Object replaceOrderNotify(String requestBody){ + return orderService.replaceOrderNotify(requestBody); + } + } diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/order/req/ConfirmAcceptOrderReq.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/order/req/ConfirmAcceptOrderReq.java index 63ab541..a288dc2 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/order/req/ConfirmAcceptOrderReq.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/order/req/ConfirmAcceptOrderReq.java @@ -2,6 +2,7 @@ package org.jeecg.modules.xcx.order.req; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import lombok.Value; @Data public class ConfirmAcceptOrderReq { @@ -10,8 +11,21 @@ public class ConfirmAcceptOrderReq { /**订单id*/ @ApiModelProperty(value = "订单id") private String id; - /**0确认接单 0确认 1不确认*/ - @ApiModelProperty(value = "0确认接单 0确认 1不确认") + /**0确认接单 1确认正常 2破损上报*/ + @ApiModelProperty(value = "0确认接单 1确认正常 2破损上报") private Integer flag = 0; + /**商品id*/ + @ApiModelProperty(value = "商品id") + private String goodsId; + /**退货数量*/ + @ApiModelProperty(value = "退货数量") + private Integer num; + /**详细说明*/ + @ApiModelProperty(value = "详细说明") + private String info; + /**图片、视频*/ + @ApiModelProperty(value = "图片、视频") + private String pic; + } diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/order/req/OrderPageReq.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/order/req/OrderPageReq.java index fcb60ef..d6423f2 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/order/req/OrderPageReq.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/order/req/OrderPageReq.java @@ -12,7 +12,7 @@ public class OrderPageReq { @ApiModelProperty(value = "订单类型 0租赁 1水洗 2破损 3退货") private Integer type; @ApiModelProperty(value = "用户Id") - private String userId; + private String uid; private String token; } diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/order/req/OrderPayReq.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/order/req/OrderPayReq.java index 25d27f9..e0318a6 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/order/req/OrderPayReq.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/order/req/OrderPayReq.java @@ -8,6 +8,8 @@ public class OrderPayReq { @ApiModelProperty(value = "orderLogId") private String id; + @ApiModelProperty(value = "优惠券id") + private String couponId; private String token; } diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/order/req/ReplaceOrderPayReq.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/order/req/ReplaceOrderPayReq.java new file mode 100644 index 0000000..77ee31d --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/order/req/ReplaceOrderPayReq.java @@ -0,0 +1,12 @@ +package org.jeecg.modules.xcx.order.req; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class ReplaceOrderPayReq { + + private String token; + @ApiModelProperty(value = "订单id") + private String id; +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/order/service/IOrderService.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/order/service/IOrderService.java index 93f05e4..a62e452 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/order/service/IOrderService.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/order/service/IOrderService.java @@ -82,4 +82,19 @@ public interface IOrderService { * @return */ Result cancelOrder(CancelOrderReq cancelOrderReq); + + + /** + * 换货订单支付接口 + * @param replaceOrderPayReq + * @return + */ + Result replaceOrderPay(ReplaceOrderPayReq replaceOrderPayReq); + + /** + * 换货订单支付回调 + * @param requestBody + * @return + */ + Object replaceOrderNotify(String requestBody); } diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/order/service/impl/OrderServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/order/service/impl/OrderServiceImpl.java index 1754bfa..d68f233 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/order/service/impl/OrderServiceImpl.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/order/service/impl/OrderServiceImpl.java @@ -27,6 +27,8 @@ import org.jeecg.modules.hotelcategory.entity.HotelCategory; import org.jeecg.modules.hotelcategory.service.IHotelCategoryService; import org.jeecg.modules.hotelconf.entity.HotelConf; import org.jeecg.modules.hotelconf.service.IHotelConfService; +import org.jeecg.modules.hotelcouponlog.entity.HotelCouponLog; +import org.jeecg.modules.hotelcouponlog.service.IHotelCouponLogService; import org.jeecg.modules.hotelgoods.entity.HotelGoods; import org.jeecg.modules.hotelgoods.service.IHotelGoodsService; import org.jeecg.modules.hotelgoodssku.entity.HotelGoodsSku; @@ -83,6 +85,8 @@ public class OrderServiceImpl implements IOrderService { private IHotelConfService hotelConfService; @Value("${weixin.orderNotifyUrl}") private String orderNotifyUrl; + @Value("${weixin.replaceOrderNotifyUrl}") + private String replaceOrderNotifyUrl; @Resource private IHotelOrderLogService hotelOrderLogService; @Resource @@ -95,6 +99,8 @@ public class OrderServiceImpl implements IOrderService { private IHotelCategoryService hotelCategoryService; @Resource private IHotelOrderFlowService hotelOrderFlowService; + @Resource + private IHotelCouponLogService hotelCouponLogService; @@ -104,19 +110,23 @@ public class OrderServiceImpl implements IOrderService { Page page = new Page<>(orderPageReq.getPageNo(), orderPageReq.getPageSize()); LambdaQueryChainWrapper queryChainWrapper = hotelOrderService.lambdaQuery(); queryChainWrapper.eq(HotelOrder::getDelFlag , 0); - if(StringUtils.isBlank(orderPageReq.getUserId())){ + if(StringUtils.isBlank(orderPageReq.getUid())){ queryChainWrapper.and(ew->ew.eq(HotelOrder::getUserId,hanHaiMember.getId()).or().eq(HotelOrder::getShopId,hanHaiMember.getId())); }else{ + HotelShop hotelShop = hotelShopService.lambdaQuery() + .eq(HotelShop::getDelFlag, 0) + .eq(HotelShop::getUserId, hanHaiMember.getId()) + .one(); HanHaiMember haiMember = hanHaiMemberService.lambdaQuery() - .eq(HanHaiMember::getId, orderPageReq.getUserId()) - .eq(HanHaiMember::getShopId, hanHaiMember.getId()) + .eq(HanHaiMember::getId, orderPageReq.getUid()) + .eq(HanHaiMember::getShopId, hotelShop.getId()) .one(); if(haiMember == null){ throw new JeecgBootException("数据错误,请刷新重试"); } - queryChainWrapper.eq(HotelOrder::getUserId,orderPageReq.getUserId()); + queryChainWrapper.eq(HotelOrder::getUserId,orderPageReq.getUid()); } @@ -518,6 +528,28 @@ public class OrderServiceImpl implements IOrderService { .eq(HotelOrderLog::getIsPay, 0) .one(); + HotelCouponLog hotelCouponLog = hotelCouponLogService.lambdaQuery() + .eq(HotelCouponLog::getDelFlag, 0) + .eq(HotelCouponLog::getUserId, hanHaiMember.getId()) + .eq(HotelCouponLog::getId, orderPayReq.getCouponId()) + .one(); + + HttpServletRequest req = SpringContextUtils.getHttpServletRequest(); + BigDecimal multiply = BigDecimal.ZERO; + + if(hotelCouponLog != null){ + if(hotelOrderLog.getOrderPay().compareTo(hotelCouponLog.getConditionPrice()) >= 0){ + multiply = hotelOrderLog.getOrderPay().subtract(hotelCouponLog.getPrice()); + + HotelCouponLog hotelCouponLog1 = new HotelCouponLog(); + hotelCouponLog1.setId(hotelCouponLog.getId()); + hotelCouponLog1.setOrderLogId(hotelOrderLog.getId()); + hotelCouponLogService.updateById(hotelCouponLog1); + + } + } + + multiply = multiply.multiply(new BigDecimal(100)); // HotelOrder hotelOrder = hotelOrderService.lambdaQuery() // .eq(HotelOrder::getDelFlag, 0) // .eq(HotelOrder::getId, orderPayReq.getId()) @@ -528,8 +560,7 @@ public class OrderServiceImpl implements IOrderService { // .eq(HotelGoods::getId, hotelOrder.getGoodsId()) // .one(); - HttpServletRequest req = SpringContextUtils.getHttpServletRequest(); - BigDecimal multiply = hotelOrderLog.getOrderPay().multiply(new BigDecimal(100)); + Object order = mpWxPayService.createOrder("酒店桌布", oConvertUtils.getIpAddrByRequest(req), hotelOrderLog.getId(), multiply.intValue(), hotelOrderLog.getId(), hanHaiMember.getAppletOpenid(),orderNotifyUrl,"{}"); return Result.OK(order); @@ -538,6 +569,11 @@ public class OrderServiceImpl implements IOrderService { @Override public Object orderNotify(String requestBody) { WxPayOrderNotifyResult notify = mpWxPayService.notify(requestBody); + //对比outTradeNo进行业务处理 + if (notify == null){ + //会继续通知 + return "FAIL"; + } String outTradeNo = notify.getOutTradeNo(); System.err.println(outTradeNo); HotelOrderLog hotelOrderLog = hotelOrderLogService.lambdaQuery() @@ -555,6 +591,20 @@ public class OrderServiceImpl implements IOrderService { System.err.println("订单未找到"); return "FAIL"; } + HotelCouponLog hotelCouponLog = hotelCouponLogService.lambdaQuery() + .eq(HotelCouponLog::getDelFlag, 0) + .eq(HotelCouponLog::getStatus, 0) + .eq(HotelCouponLog::getOrderLogId, hotelOrderLog.getId()) + .one(); + + if(hotelCouponLog != null){ + HotelCouponLog hotelCouponLog1 = new HotelCouponLog(); + hotelCouponLog1.setId(hotelCouponLog.getId()); + hotelCouponLog1.setStatus(1); + hotelCouponLogService.updateById(hotelCouponLog1); + } + + List hotelOrders = new ArrayList<>(); ArrayList hotelLeaseLogs = new ArrayList<>(); Integer type = 0; @@ -642,11 +692,7 @@ public class OrderServiceImpl implements IOrderService { hotelOrderService.updateBatchById(hotelOrders); - //对比outTradeNo进行业务处理 - if (notify == null){ - //会继续通知 - return "FAIL"; - } + //不再通知该结果 return "SUCCESS"; } @@ -804,6 +850,22 @@ public class OrderServiceImpl implements IOrderService { break; } + }else if(confirmAcceptOrderReq.getFlag() == 2){/*破损换布流程*/ + HotelShop hotelShop = hotelShopService.lambdaQuery() + .eq(HotelShop::getDelFlag, 0) + .eq(HotelShop::getStatus, 1) + .eq(HotelShop::getUserId, hanHaiMember.getId()) + .one(); + + if(hotelShop == null){ + throw new JeecgBootException("数据错误"); + } + hotelOrder1.setStatus(16); + hotelOrder1.setReason("破损换布"); + hotelOrder1.setRefundNum(confirmAcceptOrderReq.getNum()); + hotelOrder1.setReasonInfo(confirmAcceptOrderReq.getInfo()); + hotelOrder1.setReasonPic(confirmAcceptOrderReq.getPic()); + hotelOrder1.setReasonPhone(hotelShop.getPhone()); } @@ -827,6 +889,68 @@ public class OrderServiceImpl implements IOrderService { return null; } + @Override + public Result replaceOrderPay(ReplaceOrderPayReq replaceOrderPayReq) { + HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiAccount(replaceOrderPayReq.getToken()); + + HotelOrder hotelOrder = hotelOrderService.lambdaQuery() + .eq(HotelOrder::getDelFlag, 0) + .eq(HotelOrder::getType, 2) + .eq(HotelOrder::getStatus, 10) + .eq(HotelOrder::getUserId,hanHaiMember.getId()) + .eq(HotelOrder::getId, replaceOrderPayReq.getId()) + .one(); + + if(hotelOrder == null){ + throw new JeecgBootException("数据错误,请稍后重试"); + } + + HttpServletRequest req = SpringContextUtils.getHttpServletRequest(); + BigDecimal multiply = hotelOrder.getReasonPrice().multiply(new BigDecimal(100)); + Object order = mpWxPayService.createOrder("酒店桌布换货", oConvertUtils.getIpAddrByRequest(req), hotelOrder.getId(), multiply.intValue(), hotelOrder.getId(), hanHaiMember.getAppletOpenid(),replaceOrderNotifyUrl,"{}"); + + return Result.OK(order); + } + + @Override + public Object replaceOrderNotify(String requestBody) { + WxPayOrderNotifyResult notify = mpWxPayService.notify(requestBody); + //对比outTradeNo进行业务处理 + if (notify == null){ + //会继续通知 + return "FAIL"; + } + String outTradeNo = notify.getOutTradeNo(); + System.err.println(outTradeNo); + HotelOrder hotelOrder = hotelOrderService.lambdaQuery() + .eq(HotelOrder::getDelFlag, 0) + .eq(HotelOrder::getId, outTradeNo) + .one(); + + if(hotelOrder.getStatus() == 15){ + return "SUCCESS"; + } + + HotelOrder hotelOrder2 = new HotelOrder(); + hotelOrder2.setId(hotelOrder.getId()); + hotelOrder2.setStatus(15); + hotelOrderService.updateById(hotelOrder2); + + HotelLeaseLog hotelLeaseLog = hotelLeaseLogService.lambdaQuery() + .eq(HotelLeaseLog::getDelFlag, 0) + .eq(HotelLeaseLog::getId, hotelOrder.getId()) + .one(); + + HotelLeaseLog hotelLeaseLog2 = new HotelLeaseLog(); + hotelLeaseLog2.setId(hotelLeaseLog.getId()); + hotelLeaseLog2.setStatus(0); + hotelLeaseLogService.updateById(hotelLeaseLog2); + + + //不再通知该结果 + return "SUCCESS"; + } + public Object testPay(String id){ HotelOrder hotelOrder = hotelOrderService.lambdaQuery() .eq(HotelOrder::getDelFlag, 0) diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/shop/controller/ShopController.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/shop/controller/ShopController.java index a1afb21..46a2079 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/shop/controller/ShopController.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/shop/controller/ShopController.java @@ -77,4 +77,11 @@ public class ShopController { bindWxReq.setToken(TokenUtils.getTokenByRequest(request)); return shopService.bindWx(bindWxReq); } + + @ApiOperation(value = "修改店铺信息") + @PostMapping("/edit/info") + public Result editShopInfo(HttpServletRequest request, EditShopInfoReq editShopInfoReq){ + editShopInfoReq.setToken(TokenUtils.getTokenByRequest(request)); + return shopService.editShopInfo(editShopInfoReq); + } } diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/shop/req/ApplyShopReq.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/shop/req/ApplyShopReq.java index a9856a3..ac7a759 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/shop/req/ApplyShopReq.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/shop/req/ApplyShopReq.java @@ -21,6 +21,7 @@ public class ApplyShopReq { private String address; private String password; private String token; + private String pic; } diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/shop/req/EditShopInfoReq.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/shop/req/EditShopInfoReq.java new file mode 100644 index 0000000..4bb8dc4 --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/shop/req/EditShopInfoReq.java @@ -0,0 +1,15 @@ +package org.jeecg.modules.xcx.shop.req; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class EditShopInfoReq { + + private String token; + @ApiModelProperty(value = "店铺图像") + private String pic; + @ApiModelProperty(value = "店铺名") + private String name; + +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/shop/service/IShopService.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/shop/service/IShopService.java index 02963b8..cfe7150 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/shop/service/IShopService.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/shop/service/IShopService.java @@ -63,4 +63,11 @@ public interface IShopService { Result bindWx(BindWxReq bindWxReq); + /** + * 修改店铺信息 + * @param editShopInfoReq + * @return + */ + Result editShopInfo(EditShopInfoReq editShopInfoReq); + } diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/shop/service/impl/ShopServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/shop/service/impl/ShopServiceImpl.java index 6547c46..7ba5dda 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/shop/service/impl/ShopServiceImpl.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/shop/service/impl/ShopServiceImpl.java @@ -100,6 +100,7 @@ public class ShopServiceImpl implements IShopService { String encrypt = PasswordUtil.encrypt(applyShopReq.getPassword(), applyShopReq.getPhone(), salt); HanHaiMember hanHaiMember1 = new HanHaiMember(); hanHaiMember1.setId(hanHaiMember.getId()); + hanHaiMember1.setPhone(applyShopReq.getPhone()); hanHaiMember1.setPassword(encrypt); hanHaiMember1.setPasswordSalt(salt); hanHaiMemberService.updateById(hanHaiMember1); @@ -113,6 +114,8 @@ public class ShopServiceImpl implements IShopService { hotelShop1.setLongitude(applyShopReq.getLongitude()); hotelShop1.setAddress(applyShopReq.getAddress()); hotelShop1.setStatus(0); + hotelShop1.setOldId(hanHaiMember.getId()); + hotelShop1.setPic(applyShopReq.getPic()); hotelShopService.save(hotelShop1); return Result.OK(); @@ -134,7 +137,7 @@ public class ShopServiceImpl implements IShopService { if(applyWithdrawalReq.getMoney() == null || applyWithdrawalReq.getMoney().compareTo(BigDecimal.ZERO) <= 0){ throw new JeecgBootException("请填写正确的提现金额"); } - if(applyWithdrawalReq.getMoney().compareTo(hotelMemberAccount.getShopBalance()) == -1){ + if(applyWithdrawalReq.getMoney().compareTo(hotelMemberAccount.getShopBalance()) == 1){ throw new JeecgBootException("提现金额不能大于余额"); } if(StringUtils.isBlank(applyWithdrawalReq.getName())){ @@ -169,7 +172,7 @@ public class ShopServiceImpl implements IShopService { hotelBalanceLog.setBankCard(applyWithdrawalReq.getBankCard()); hotelBalanceLog.setBankAddress(applyWithdrawalReq.getBankAddress()); hotelBalanceLogService.save(hotelBalanceLog); - return null; + return Result.OK(); } @Override @@ -213,7 +216,7 @@ public class ShopServiceImpl implements IShopService { if(hotelShop == null){ return Result.OK(); } - ShopIndexResp shopIndex = hanHaiMemberService.getShopIndex(hanHaiMember.getId(), hotelShop.getId()); + ShopIndexResp shopIndex = hanHaiMemberService.getShopIndex(hotelShop.getUserId(), hotelShop.getId()); return Result.OK(shopIndex); } @@ -283,4 +286,27 @@ public class ShopServiceImpl implements IShopService { return Result.OK(); } + @Override + public Result editShopInfo(EditShopInfoReq editShopInfoReq) { + HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiAccount(editShopInfoReq.getToken()); + + HotelShop hotelShop = hotelShopService.lambdaQuery() + .eq(HotelShop::getDelFlag, 0) + .eq(HotelShop::getUserId, hanHaiMember.getId()) + .one(); + + HotelShop hotelShop1 = new HotelShop(); + hotelShop1.setId(hotelShop.getId()); + if(StringUtils.isNotBlank(editShopInfoReq.getPic())){ + hotelShop1.setPic(editShopInfoReq.getPic()); + } + if(StringUtils.isNotBlank(editShopInfoReq.getName())){ + hotelShop1.setName(editShopInfoReq.getName()); + } + + hotelShopService.updateById(hotelShop1); + + return Result.OK(); + } + } diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/user/controller/UserController.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/user/controller/UserController.java index 52a0fb5..5005313 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/user/controller/UserController.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/user/controller/UserController.java @@ -45,5 +45,11 @@ public class UserController { return userService.myLeasePage(myLeasePageReq); } + @ApiOperation(value = "客服") + @GetMapping("/custom") + public Result getCustom(){ + return userService.getCustom(); + } + } diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/user/service/IUserService.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/user/service/IUserService.java index f6c91de..b7093c4 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/user/service/IUserService.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/user/service/IUserService.java @@ -28,4 +28,10 @@ public interface IUserService { */ Result myLeasePage(MyLeasePageReq myLeasePageReq); + /** + * 获取客服 + * @return + */ + Result getCustom(); + } diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/user/service/impl/LoginServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/user/service/impl/LoginServiceImpl.java index ae9fe32..d358fda 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/user/service/impl/LoginServiceImpl.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/user/service/impl/LoginServiceImpl.java @@ -165,8 +165,12 @@ public class LoginServiceImpl implements ILoginService { HotelShop hotelShop = hotelShopService.lambdaQuery() .eq(HotelShop::getDelFlag, 0) + .eq(HotelShop::getStatus,1) .eq(HotelShop::getUserId, hanHaiMember.getId()) .one(); + if(hotelShop == null){ + throw new JeecgBootException("您还不是水洗店,无法使用账号密码登录!"); + } hanHaiMember.setShop(hotelShop); String token = JwtUtil.sign(hanHaiMember.getPhone(), hanHaiMember.getPassword()); redisUtil.set(CommonConstant.PREFIX_USER_TOKEN + token, token); diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/user/service/impl/UserServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/user/service/impl/UserServiceImpl.java index d717409..36a3a23 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/user/service/impl/UserServiceImpl.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/user/service/impl/UserServiceImpl.java @@ -7,6 +7,7 @@ import org.jeecg.common.api.vo.Result; import org.jeecg.config.shiro.ShiroRealm; import org.jeecg.modules.hanHaiMember.entity.HanHaiMember; import org.jeecg.modules.hanHaiMember.service.IHanHaiMemberService; +import org.jeecg.modules.hotelconf.service.IHotelConfService; import org.jeecg.modules.hotelleaselog.entity.HotelLeaseLog; import org.jeecg.modules.hotelleaselog.service.IHotelLeaseLogService; import org.jeecg.modules.hotelmemberaccount.entity.HotelMemberAccount; @@ -19,6 +20,8 @@ import org.jeecg.modules.xcx.user.service.IUserService; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.HashMap; +import java.util.Map; @Service public class UserServiceImpl implements IUserService { @@ -33,6 +36,8 @@ public class UserServiceImpl implements IUserService { private IHotelLeaseLogService hotelLeaseLogService; @Resource private IHotelShopService hotelShopService; + @Resource + private IHotelConfService hotelConfService; @Override public Result getUserInfo(String token) { @@ -85,4 +90,12 @@ public class UserServiceImpl implements IUserService { return Result.OK(hotelLeaseLogPage); } + + @Override + public Result getCustom() { + Map map = new HashMap<>(); + String customerService = hotelConfService.getConf("customerService"); + map.put("phone",customerService); + return Result.OK(map); + } } 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 b91bd11..46b04f8 100644 --- a/jeecg-boot-module-system/src/main/resources/application-dev.yml +++ b/jeecg-boot-module-system/src/main/resources/application-dev.yml @@ -134,7 +134,7 @@ spring: # connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000 datasource: master: - url: jdbc:mysql://127.0.0.1:3306/hotel-api?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai&autoReconnect=true&failOverReadOnly=false + url: jdbc:mysql://124.220.65.222:3306/hotel-api?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai&autoReconnect=true&failOverReadOnly=false username: root password: m`A_E+`m driver-class-name: com.mysql.cj.jdbc.Driver @@ -147,7 +147,7 @@ spring: #redis 配置 redis: database: 0 - host: 127.0.0.1 + host: 124.220.65.222 lettuce: pool: max-active: -1 #最大连接数据库连接数,设 -1 为没有限制 @@ -333,4 +333,5 @@ third-app: weixin: mpAppId: wxad5b3d20a75974c0 mpAppSecret: 3b60a80c8e673986dd42f3cd6f2cf6b1 - orderNotifyUrl: https://hotel.java996.icu/hotel/order/notify \ No newline at end of file + orderNotifyUrl: https://hotel.java996.icu/hotel/order/notify + replaceOrderNotifyUrl: https://hotel.java996.icu/hotel/order/replace/notify \ No newline at end of file diff --git a/jeecg-boot-module-system/src/main/resources/application-pord.yml b/jeecg-boot-module-system/src/main/resources/application-pord.yml index 3615b65..73a0c5d 100644 --- a/jeecg-boot-module-system/src/main/resources/application-pord.yml +++ b/jeecg-boot-module-system/src/main/resources/application-pord.yml @@ -1,5 +1,5 @@ server: - port: 8000 + port: 8081 tomcat: max-swallow-size: -1 error: @@ -169,6 +169,7 @@ mybatis-plus: # 默认数据库表下划线命名 table-underline: true configuration: + # 这个配置会将执行的sql打印出来,在开发或测试的时候可以用 # log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 返回类型为Map,显示null对应的字段 @@ -330,5 +331,6 @@ third-app: agent-id: ?? weixin: - mpAppId: wx15be4225a7e41a1e - mpAppSecret: 0fdb77429ffdf206c151af76a663041c \ No newline at end of file + mpAppId: wxad5b3d20a75974c0 + mpAppSecret: 3b60a80c8e673986dd42f3cd6f2cf6b1 + orderNotifyUrl: https://hotel.java996.icu/hotel/order/notify \ No newline at end of file