| | |
| | | |
| | | String BIRTHDAY_BEYOND = "不能选择未来的日期作为生日"; |
| | | |
| | | String BIRTHDAY_CARD_ERROR = "生日活动已关闭"; |
| | | |
| | | String COUPON_GET_ERROR = "该优惠券不可领取"; |
| | | |
| | | String COUPON_GET_ALL = "该优惠券已领取完"; |
New file |
| | |
| | | package com.ruoyi.system.api.domain.dto; |
| | | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * @ClassName MerVerifyMemberCouponDto |
| | | * @Description TODO |
| | | * @Author jqs |
| | | * @Date 2023/8/15 11:18 |
| | | * @Version 1.0 |
| | | */ |
| | | @Data |
| | | public class MerVerifyMemberCouponDto { |
| | | |
| | | @ApiModelProperty(value = "优惠券id") |
| | | private String couponId; |
| | | |
| | | @ApiModelProperty(value = "商户id") |
| | | private Long shopId; |
| | | |
| | | } |
| | |
| | | package com.ruoyi.system.api.domain.vo; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | |
| | | private BigDecimal discountPercent; |
| | | |
| | | @ApiModelProperty(value="有效开始时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date validStartTime; |
| | | |
| | | @ApiModelProperty(value="使用有效期") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date deadlineTime; |
| | | |
| | | @ApiModelProperty(value="使用范围1.全场2.指定商品") |
| | |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.system.api.domain.dto.BirthdayGiftSendDto; |
| | | import com.ruoyi.system.api.domain.dto.MerBaseDto; |
| | | import com.ruoyi.system.api.domain.dto.MerVerifyMemberCouponDto; |
| | | import com.ruoyi.system.api.domain.vo.AppMemberCouponVo; |
| | | import com.ruoyi.system.api.domain.vo.MerVerifyCouponGetVo; |
| | | import com.ruoyi.system.api.service.RemoteCouponService; |
| | |
| | | return R.fail("回退优惠券失败" + throwable.getMessage()); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public R sureMemberCoupon(MerVerifyMemberCouponDto merVerifyMemberCouponDto) { |
| | | return R.fail("确认核销优惠券失败" + throwable.getMessage()); |
| | | } |
| | | }; |
| | | } |
| | | |
| | |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.system.api.domain.dto.BirthdayGiftSendDto; |
| | | import com.ruoyi.system.api.domain.dto.MerBaseDto; |
| | | import com.ruoyi.system.api.domain.dto.MerVerifyMemberCouponDto; |
| | | import com.ruoyi.system.api.domain.vo.AppMemberCouponVo; |
| | | import com.ruoyi.system.api.domain.vo.MerVerifyCouponGetVo; |
| | | import com.ruoyi.system.api.factory.RemoteCouponFallbackFactory; |
| | |
| | | |
| | | /** |
| | | * 通过userid获取用户优惠 |
| | | * @param userId |
| | | * @param merBaseDto |
| | | * @return |
| | | */ |
| | | @PostMapping("/coupon/listVoMemberCouponByUserId") |
| | |
| | | */ |
| | | @PostMapping("/coupon/backMemberCoupon") |
| | | public R backMemberCoupon(@RequestBody String memberCouponIds); |
| | | |
| | | |
| | | /** |
| | | * @description 确认核销优惠券 |
| | | * @author jqs |
| | | * @date 2023/8/15 11:37 |
| | | * @param merVerifyMemberCouponDto |
| | | * @return R |
| | | */ |
| | | @PostMapping("/coupon/verifyMemberCoupon") |
| | | public R sureMemberCoupon(@RequestBody MerVerifyMemberCouponDto merVerifyMemberCouponDto); |
| | | } |
| | |
| | | /** |
| | | * 缓存有效期,默认720(分钟) |
| | | */ |
| | | public final static long EXPIRATION = 720; |
| | | public final static long EXPIRATION = 1440; |
| | | |
| | | /** |
| | | * 缓存刷新时间,默认120(分钟) |
| | |
| | | @ApiModelProperty(value = "用户id") |
| | | private Long userId; |
| | | |
| | | @Excel(name = "用户名称", width = 30) |
| | | @Excel(name = "用户名称", width = 30, sort = 1) |
| | | @ApiModelProperty(value = "用户名称") |
| | | private String nickName; |
| | | @Excel(name = "用户电话", width = 30) |
| | | @Excel(name = "用户电话", width = 30, sort = 2) |
| | | @ApiModelProperty(value = "用户电话") |
| | | private String mobile; |
| | | @Excel(name = "浏览时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") |
| | | @Excel(name = "浏览时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 3) |
| | | @ApiModelProperty(value = "浏览时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date createTime; |
| | | @Excel(name = "是否下单", width = 30) |
| | | @Excel(name = "是否下单", width = 30, sort = 4) |
| | | @ApiModelProperty(value = "是否下单") |
| | | private String orderFlag; |
| | | } |
| | |
| | | @ApiModelProperty(value = "商品id") |
| | | private String goodsId; |
| | | |
| | | @Excel(name = "商品名称", width = 30) |
| | | @Excel(name = "商品名称", width = 30, sort = 1) |
| | | @ApiModelProperty(value = "商品名称") |
| | | private String goodsName; |
| | | |
| | | @Excel(name = "商品简介", width = 30) |
| | | @Excel(name = "商品简介", width = 30, sort = 2) |
| | | @ApiModelProperty(value = "商品简介") |
| | | private String goodsIntroduction; |
| | | |
| | | @Excel(name = "商品分类", width = 30) |
| | | @Excel(name = "商品分类", width = 30, sort = 3) |
| | | @ApiModelProperty(value = "商品分类") |
| | | private String goodsClass; |
| | | |
| | | @Excel(name = "商品标签", width = 30) |
| | | @Excel(name = "商品标签", width = 30, sort = 5) |
| | | @ApiModelProperty(value = "商品标签") |
| | | private String goodsTags; |
| | | |
| | |
| | | @ApiModelProperty(value = "商品图片") |
| | | private String goodsPicture; |
| | | |
| | | @Excel(name = "商品类型", width = 30) |
| | | @Excel(name = "商品类型", width = 30, sort = 4) |
| | | @ApiModelProperty(value = "商品类型1周期2服务3体验4单品") |
| | | private String goodsType; |
| | | |
| | | @Excel(name = "商品建议售价", width = 30) |
| | | @Excel(name = "商品建议售价", width = 30, sort = 6) |
| | | @ApiModelProperty(value = "商品建议售价") |
| | | @JsonSerialize(using = ToStringSerializer.class) |
| | | private BigDecimal suggestSalesPrice;; |
| | | |
| | | @Excel(name = "最低售价", width = 30) |
| | | @Excel(name = "最低售价", width = 30, sort = 7) |
| | | @ApiModelProperty(value = "最低售价") |
| | | @JsonSerialize(using = ToStringSerializer.class) |
| | | private BigDecimal mininumPrice;; |
| | | |
| | | @Excel(name = "销量", width = 30) |
| | | @Excel(name = "销量", width = 30, sort = 8) |
| | | @ApiModelProperty(value = "销量") |
| | | private Integer buyNumCount; |
| | | |
| | | @Excel(name = "销售额", width = 30) |
| | | @Excel(name = "销售额", width = 30, sort = 9) |
| | | @ApiModelProperty(value = "销售额") |
| | | @JsonSerialize(using = ToStringSerializer.class) |
| | | private BigDecimal buyMoneyTotal; |
| | | |
| | | @Excel(name = "是否推荐", width = 30) |
| | | @Excel(name = "是否推荐", width = 30, sort = 10) |
| | | @ApiModelProperty(value = "是否推荐") |
| | | private String recommendFlag; |
| | | |
| | | @Excel(name = "商品状态", width = 30) |
| | | @Excel(name = "商品状态", width = 30, sort = 11) |
| | | @ApiModelProperty(value = "商品状态") |
| | | private String goodsStatus; |
| | | |
| | | @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") |
| | | @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 12) |
| | | @ApiModelProperty(value = "创建时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date createTime; |
| | |
| | | goodsDetail = new String(decodedBytes, StandardCharsets.UTF_8); |
| | | goods.setGoodsDetail(goodsDetail); |
| | | } |
| | | goods.setRecommendFlag(mgtGoodsEditDto.getRecommendFlag()); |
| | | goods.setRecommendFlag(0); |
| | | goods.setGoodsNurses(mgtGoodsEditDto.getGoodsNurses()); |
| | | goods.setGoodsTags(mgtGoodsEditDto.getGoodsTags()); |
| | | this.saveOrUpdate(goods); |
| | |
| | | MgtGoodsEditInfoVo mgtGoodsEditInfoVo = new MgtGoodsEditInfoVo(); |
| | | Goods goods = this.getById(mgtBaseGetDto.getId()); |
| | | BeanUtils.copyProperties(goods,mgtGoodsEditInfoVo); |
| | | if(goods.getSubscriptionFlag()==0){ |
| | | mgtGoodsEditInfoVo.setSubscription(null); |
| | | } |
| | | List<GoodsFile> goodsFileList = goodsFileService.listByGoodsId(goods.getGoodsId()); |
| | | if(goodsFileList!=null&&!goodsFileList.isEmpty()){ |
| | | StringJoiner goodsBannersSj = new StringJoiner(","); |
| | |
| | | import com.ruoyi.member.service.member.MemberCouponService; |
| | | import com.ruoyi.system.api.domain.dto.BirthdayGiftSendDto; |
| | | import com.ruoyi.system.api.domain.dto.MerBaseDto; |
| | | import com.ruoyi.system.api.domain.dto.MerVerifyMemberCouponDto; |
| | | import com.ruoyi.system.api.domain.vo.AppMemberCouponVo; |
| | | import com.ruoyi.system.api.domain.vo.MerVerifyCouponGetVo; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | |
| | | return R.ok(); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * @description 使用优惠券 |
| | | * @description 确认核销优惠券 |
| | | * @author jqs |
| | | * @date 2023/8/15 11:37 |
| | | * @param merVerifyMemberCouponDto |
| | | * @return R |
| | | */ |
| | | @PostMapping("/verifyMemberCoupon") |
| | | public R sureMemberCoupon(@RequestBody MerVerifyMemberCouponDto merVerifyMemberCouponDto){ |
| | | memberCouponService.sureMemberCoupon(merVerifyMemberCouponDto.getCouponId(),merVerifyMemberCouponDto.getShopId()); |
| | | return R.ok(); |
| | | } |
| | | |
| | | /** |
| | | * @description 回退优惠券 |
| | | * @author jqs |
| | | * @date 2023/7/13 19:38 |
| | | * @param memberCouponIds |
New file |
| | |
| | | package com.ruoyi.member.domain.dto; |
| | | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * @ClassName MemberSelectCouponDto |
| | | * @Description TODO |
| | | * @Author jqs |
| | | * @Date 2023/8/14 11:53 |
| | | * @Version 1.0 |
| | | */ |
| | | @Data |
| | | public class MemberSelectCouponDto { |
| | | |
| | | @ApiModelProperty(value = "商品id") |
| | | private String goodsId; |
| | | |
| | | @ApiModelProperty(value = "会员选择优惠券id") |
| | | private String memberCouponId; |
| | | |
| | | } |
| | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @ClassName MerGoodsCouponListDto |
| | | * @Description TODO |
| | |
| | | @ApiModelProperty(value = "会员用户id") |
| | | private Long memberUserId; |
| | | |
| | | @ApiModelProperty(value = "会员用户id") |
| | | @ApiModelProperty(value = "商品id") |
| | | private String goodsId; |
| | | |
| | | @ApiModelProperty(value = "购买数量") |
| | | private Integer buyNum; |
| | | |
| | | @ApiModelProperty(value = "商品售价") |
| | | private BigDecimal salesPrice; |
| | | |
| | | @ApiModelProperty(value = "已选优惠券表") |
| | | private List<MemberSelectCouponDto> goodsCpuponList; |
| | | } |
| | |
| | | @Data |
| | | public class MgtMemberBrowsePageVo { |
| | | |
| | | @Excel(name = "浏览类型", width = 30) |
| | | @Excel(name = "浏览类型", width = 30, sort = 1) |
| | | @ApiModelProperty(value = "浏览类型1鸿瑞学堂2营销活动3商城商品4关于鸿瑞堂5申请加盟") |
| | | private String browseType; |
| | | |
| | | @Excel(name = "浏览名称", width = 30) |
| | | @Excel(name = "浏览名称", width = 30, sort = 2) |
| | | @ApiModelProperty(value = "浏览名称") |
| | | private String browseName; |
| | | |
| | | @Excel(name = "浏览时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") |
| | | @ApiModelProperty(value = "浏览时间") |
| | | @Excel(name = "停留时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 3) |
| | | @ApiModelProperty(value = "停留时间") |
| | | private String browseTime; |
| | | |
| | | @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") |
| | | @ApiModelProperty(value = "创建时间") |
| | | @Excel(name = "浏览时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 4) |
| | | @ApiModelProperty(value = "浏览时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date createTime; |
| | | } |
| | |
| | | @ApiModelProperty(value = "记录id") |
| | | private Long recordId; |
| | | |
| | | @Excel(name = "变动时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") |
| | | @Excel(name = "变动时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 1) |
| | | @ApiModelProperty(value = "变动时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date createTime; |
| | | |
| | | @Excel(name = "变动积分", width = 30) |
| | | @Excel(name = "变动积分", width = 30, sort = 3) |
| | | @ApiModelProperty(value = "变动积分") |
| | | private Integer changeIntegral; |
| | | |
| | | @Excel(name = "剩余积分", width = 30) |
| | | @Excel(name = "剩余积分", width = 30, sort = 4) |
| | | @ApiModelProperty(value = "剩余积分") |
| | | private Integer surpIntegral; |
| | | |
| | | @Excel(name = "变动理由", width = 30) |
| | | @Excel(name = "变动理由", width = 30, sort = 2) |
| | | @ApiModelProperty(value = "变动理由") |
| | | private String changeReason; |
| | | } |
| | |
| | | public class MgtMemberPageVo { |
| | | |
| | | @ApiModelProperty(value = "会员id") |
| | | @Excel(name = "会员id", width = 30) |
| | | private String memberId; |
| | | |
| | | @ApiModelProperty(value = "用户id") |
| | | @Excel(name = "用户id", width = 30) |
| | | @Excel(name = "用户id", width = 30, sort = 1) |
| | | private Long userId; |
| | | |
| | | @ApiModelProperty(value = "会员编号") |
| | |
| | | private String memberNo; |
| | | |
| | | @ApiModelProperty(value = "用户姓名") |
| | | @Excel(name = "用户姓名", width = 30) |
| | | @Excel(name = "用户姓名", width = 30, sort = 3) |
| | | private String realName; |
| | | |
| | | @ApiModelProperty(value = "用户昵称") |
| | | @Excel(name = "用户昵称", width = 30) |
| | | @Excel(name = "用户昵称", width = 30, sort = 2) |
| | | private String nickName; |
| | | |
| | | @ApiModelProperty(value = "用户手机") |
| | | @Excel(name = "用户手机", width = 30) |
| | | @Excel(name = "用户手机", width = 30, sort = 4) |
| | | private String mobile; |
| | | |
| | | @ApiModelProperty(value = "用户性别") |
| | | @Excel(name = "用户性别", width = 30) |
| | | @Excel(name = "用户性别", width = 30, sort = 5) |
| | | private String gender; |
| | | |
| | | @ApiModelProperty(value = "用户年龄") |
| | | @Excel(name = "用户年龄", width = 30) |
| | | @Excel(name = "用户年龄", width = 30, sort = 6) |
| | | private Integer age; |
| | | |
| | | @ApiModelProperty(value = "活跃度") |
| | | @Excel(name = "活跃度", width = 30) |
| | | @Excel(name = "活跃度", width = 30, sort = 7) |
| | | private String activeness; |
| | | |
| | | @ApiModelProperty(value = "用户标签 多个,隔开") |
| | | @Excel(name = "用户标签", width = 30) |
| | | @Excel(name = "用户标签", width = 30, sort = 8) |
| | | private String memberTags; |
| | | |
| | | @ApiModelProperty(value = "所属地区") |
| | | @Excel(name = "所属地区", width = 30) |
| | | @Excel(name = "所属地区", width = 30, sort = 9) |
| | | private String belongDistrict; |
| | | |
| | | @ApiModelProperty(value = "是否成为会员") |
| | | @Excel(name = "是否成为会员", width = 30) |
| | | @Excel(name = "是否成为会员", width = 30, sort = 10) |
| | | private String memberFlag; |
| | | |
| | | @ApiModelProperty(value = "注册时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @Excel(name = "注册时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") |
| | | @Excel(name = "注册时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 11) |
| | | private Date createTime; |
| | | |
| | | @ApiModelProperty(value = "最近消费时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @Excel(name = "最近消费时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") |
| | | @Excel(name = "最近消费时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 12) |
| | | private Date lastPayTime; |
| | | |
| | | @ApiModelProperty(value = "客户类型") |
| | | @Excel(name = "客户类型", width = 30) |
| | | @Excel(name = "客户类型", width = 30, sort = 13) |
| | | private String goodsType; |
| | | |
| | | @ApiModelProperty(value = "关联商户名称") |
| | | @Excel(name = "关联商户名称", width = 30) |
| | | @Excel(name = "关联商户名称", width = 30, sort = 14) |
| | | private String relationShopName; |
| | | |
| | | @ApiModelProperty(value = "积分") |
| | | @Excel(name = "积分", width = 30) |
| | | @Excel(name = "积分", width = 30, sort = 15) |
| | | private Integer integral; |
| | | |
| | | @ApiModelProperty(value = "推荐人") |
| | | @Excel(name = "推荐人", width = 30) |
| | | @Excel(name = "推荐人", width = 30, sort = 16) |
| | | private String referrer; |
| | | |
| | | @ApiModelProperty(value = "会员来源") |
| | | @Excel(name = "会员来源", width = 30) |
| | | @Excel(name = "会员来源", width = 30, sort = 17) |
| | | private String memberFrom; |
| | | |
| | | @ApiModelProperty(value = "消费总金额") |
| | | @Excel(name = "消费总金额", width = 30) |
| | | @Excel(name = "消费总金额", width = 30, sort = 18) |
| | | private BigDecimal totalPayMoney; |
| | | |
| | | @ApiModelProperty(value = "活动参与次数") |
| | | @Excel(name = "活动参与次数", width = 30) |
| | | @Excel(name = "活动参与次数", width = 30, sort = 19) |
| | | private Integer activityTotal; |
| | | |
| | | @ApiModelProperty(value = "头像") |
| | |
| | | |
| | | @ApiModelProperty(value = "建议id") |
| | | private Long suggestId; |
| | | @Excel(name = "用户姓名", width = 30) |
| | | @Excel(name = "用户姓名", width = 30, sort = 2) |
| | | @ApiModelProperty(value = "用户姓名") |
| | | private String userRealName; |
| | | @Excel(name = "用户昵称", width = 30) |
| | | @Excel(name = "用户昵称", width = 30, sort = 1) |
| | | @ApiModelProperty(value = "用户昵称") |
| | | private String userNickName; |
| | | @Excel(name = "用户性别", width = 30) |
| | | @Excel(name = "用户性别", width = 30, sort = 3) |
| | | @ApiModelProperty(value = "用户性别") |
| | | private String gender; |
| | | @Excel(name = "用户手机", width = 30) |
| | | @Excel(name = "用户手机", width = 30, sort = 4) |
| | | @ApiModelProperty(value = "用户手机") |
| | | private String userMobile; |
| | | @Excel(name = "建议类型", width = 30) |
| | | @Excel(name = "建议类型", width = 30, sort = 5) |
| | | @ApiModelProperty(value = "建议类型1.平台2.门店") |
| | | private String suggestType; |
| | | @Excel(name = "建议内容", width = 30) |
| | | @Excel(name = "建议内容", width = 30, sort = 6) |
| | | @ApiModelProperty(value = "建议内容") |
| | | private String suggestContent; |
| | | @Excel(name = "平台回复内容", width = 30) |
| | | @Excel(name = "平台回复内容", width = 30, sort = 8) |
| | | @ApiModelProperty(value = "平台回复内容") |
| | | private String replayContent; |
| | | @Excel(name = "商户回复内容", width = 30) |
| | | @Excel(name = "商户回复内容", width = 30, sort = 7) |
| | | @ApiModelProperty(value = "商户回复内容") |
| | | private String shopReplayContent; |
| | | @Excel(name = "建议状态", width = 30) |
| | | @Excel(name = "建议状态", width = 30, sort = 9) |
| | | @ApiModelProperty(value = "建议状态") |
| | | private String suggestStatus; |
| | | @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") |
| | | @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 10) |
| | | @ApiModelProperty(value = "创建时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date createTime; |
| | | @Excel(name = "回复人姓名", width = 30) |
| | | @Excel(name = "平台回复人", width = 30, sort = 11) |
| | | @ApiModelProperty(value = "回复人姓名") |
| | | private String replayUserName; |
| | | @Excel(name = "回复时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") |
| | | @Excel(name = "平台回复时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 13) |
| | | @ApiModelProperty(value = "回复时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date replayTime; |
| | | @Excel(name = "平台响应时间", width = 30) |
| | | @Excel(name = "平台响应时间", width = 30, sort = 15) |
| | | @ApiModelProperty(value = "平台响应时间") |
| | | private String responseTime; |
| | | @ApiModelProperty(value = "商户id") |
| | |
| | | @Excel(name = "商户名", width = 30) |
| | | @ApiModelProperty(value = "商户名") |
| | | private String shopName; |
| | | @Excel(name = "商户回复人姓名", width = 30) |
| | | @Excel(name = "商户回复人", width = 30, sort = 12) |
| | | @ApiModelProperty(value = "商户回复人姓名") |
| | | private String shopReplayUserName; |
| | | @Excel(name = "商户回复时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") |
| | | @Excel(name = "商户回复时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 14) |
| | | @ApiModelProperty(value = "商户回复时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date shopReplayTime; |
| | | @Excel(name = "商户响应时间", width = 30) |
| | | @Excel(name = "商户响应时间", width = 30, sort = 16) |
| | | @ApiModelProperty(value = "商户响应时间") |
| | | private String shopResponseTime; |
| | | @Excel(name = "建议标签", width = 30) |
| | | @Excel(name = "建议标签", width = 30, sort = 17) |
| | | @ApiModelProperty(value = "建议标签") |
| | | private String suggestTags; |
| | | |
| | |
| | | * @return List<MerMemberCouponVo> |
| | | */ |
| | | List<MerMemberCouponVo> listMerShopGoodsMemberCoupon(@Param("param") MerGoodsCouponListDto merGoodsCouponListDto); |
| | | |
| | | /** |
| | | * @description 确认核销优惠券 |
| | | * @author jqs |
| | | * @date 2023/8/15 11:21 |
| | | * @param memberCouponId |
| | | * @param shopId |
| | | * @return void |
| | | */ |
| | | void sureMemberCoupon(@Param("memberCouponId")String memberCouponId,@Param("shopId")Long shopId); |
| | | } |
| | |
| | | memberCoupon.setDelFlag(0); |
| | | memberCoupon.setCouponId(coupon.getCouponId()); |
| | | memberCoupon.setUserId(userId); |
| | | memberCoupon.setShopId(coupon.getShopId()); |
| | | //memberCoupon.setShopId(coupon.getShopId()); |
| | | memberCoupon.setCouponType(coupon.getCouponType()); |
| | | memberCoupon.setCouponStatus(coupon.getCouponStatus()); |
| | | memberCoupon.setCouponName(coupon.getCouponName()); |
| | |
| | | memberCoupon.setDelFlag(0); |
| | | memberCoupon.setCouponId(coupon.getCouponId()); |
| | | memberCoupon.setUserId(userId); |
| | | memberCoupon.setShopId(coupon.getShopId()); |
| | | if(coupon.getCouponFrom()==2){ |
| | | memberCoupon.setShopId(coupon.getShopId()); |
| | | } |
| | | memberCoupon.setCouponType(coupon.getCouponType()); |
| | | memberCoupon.setCouponStatus(coupon.getCouponStatus()); |
| | | memberCoupon.setCouponName(coupon.getCouponName()); |
| | |
| | | memberCoupon.setDelFlag(0); |
| | | memberCoupon.setCouponId(couponId); |
| | | memberCoupon.setUserId(userId); |
| | | memberCoupon.setShopId(shopId); |
| | | if(coupon.getCouponFrom()==2){ |
| | | memberCoupon.setShopId(shopId); |
| | | } |
| | | memberCoupon.setCouponType(coupon.getCouponType()); |
| | | memberCoupon.setCouponStatus(coupon.getCouponStatus()); |
| | | memberCoupon.setCouponName(coupon.getCouponName()); |
| | |
| | | import com.ruoyi.common.core.exception.ServiceException; |
| | | import com.ruoyi.common.core.utils.StringUtils; |
| | | import com.ruoyi.member.domain.dto.AppMemberCouponPageDto; |
| | | import com.ruoyi.member.domain.dto.MemberSelectCouponDto; |
| | | import com.ruoyi.member.domain.dto.MerGoodsCouponListDto; |
| | | import com.ruoyi.member.domain.vo.AppMemberCouponPageVo; |
| | | import com.ruoyi.member.mapper.member.MemberCouponMapper; |
| | |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.math.BigDecimal; |
| | | import java.util.*; |
| | | import java.util.function.Function; |
| | | import java.util.stream.Collectors; |
| | |
| | | */ |
| | | @Override |
| | | public List<MerMemberCouponVo> listMerShopGoodsMemberCoupon(MerGoodsCouponListDto merGoodsCouponListDto){ |
| | | return memberCouponMapper.listMerShopGoodsMemberCoupon(merGoodsCouponListDto); |
| | | List<MerMemberCouponVo> merMemberCouponVoList = memberCouponMapper.listMerShopGoodsMemberCoupon(merGoodsCouponListDto); |
| | | if(merMemberCouponVoList!=null&&merMemberCouponVoList.size()>0){ |
| | | List<MemberSelectCouponDto> goodsCpuponList = merGoodsCouponListDto.getGoodsCpuponList(); |
| | | List<String> selectCouponList = new ArrayList<>(); |
| | | Map<String, String> selectCouponMap = new HashMap<>(); |
| | | Boolean checkSelect = false; |
| | | if(merGoodsCouponListDto.getGoodsCpuponList()!=null&&merGoodsCouponListDto.getGoodsCpuponList().size()>0) { |
| | | for (MemberSelectCouponDto couponDto : goodsCpuponList) { |
| | | selectCouponList.add(couponDto.getMemberCouponId()); |
| | | selectCouponMap.put(couponDto.getMemberCouponId(), couponDto.getGoodsId()); |
| | | } |
| | | checkSelect = true; |
| | | } |
| | | Iterator<MerMemberCouponVo> iterator = merMemberCouponVoList.iterator(); |
| | | while (iterator.hasNext()) { |
| | | MerMemberCouponVo couponVo = iterator.next(); |
| | | log.debug("couponVo"+couponVo.toString()); |
| | | if(checkSelect){ |
| | | if (selectCouponList.contains(couponVo.getMemberCouponId()) && selectCouponMap.containsKey(couponVo.getMemberCouponId())) { |
| | | String goodsId = selectCouponMap.get(couponVo.getMemberCouponId()); |
| | | if (!merGoodsCouponListDto.getGoodsId().equals(goodsId)) { |
| | | iterator.remove(); |
| | | continue; |
| | | } |
| | | } |
| | | } |
| | | if(merGoodsCouponListDto.getBuyNum()!=null&&merGoodsCouponListDto.getSalesPrice()!=null){ |
| | | if(couponVo.getCouponType()==1){ |
| | | BigDecimal goodsMoney = merGoodsCouponListDto.getSalesPrice().multiply(new BigDecimal(merGoodsCouponListDto.getBuyNum().toString())); |
| | | if(goodsMoney.compareTo(couponVo.getMoneyThreshold())<0){ |
| | | iterator.remove(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | return merMemberCouponVoList; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * @description 确认核销优惠券 |
| | | * @author jqs |
| | | * @date 2023/8/15 11:21 |
| | | * @param memberCouponId |
| | | * @param shopId |
| | | * @return void |
| | | */ |
| | | @Override |
| | | public void sureMemberCoupon(String memberCouponId,Long shopId){ |
| | | memberCouponMapper.sureMemberCoupon(memberCouponId, shopId); |
| | | } |
| | | } |
| | |
| | | */ |
| | | void useMemberCoupon(String memberCouponIds); |
| | | |
| | | |
| | | /** |
| | | * @description 使用优惠券 |
| | | * @author jqs |
| | |
| | | * @return List<MerMemberCouponVo> |
| | | */ |
| | | List<MerMemberCouponVo> listMerShopGoodsMemberCoupon(MerGoodsCouponListDto merGoodsCouponListDto); |
| | | |
| | | /** |
| | | * @description 确认核销优惠券 |
| | | * @author jqs |
| | | * @date 2023/8/15 11:21 |
| | | * @param memberCouponId |
| | | * @param shopId |
| | | * @return void |
| | | */ |
| | | void sureMemberCoupon(String memberCouponId,Long shopId); |
| | | } |
| | |
| | | </if> |
| | | ORDER BY tuc.receive_time DESC |
| | | </select> |
| | | |
| | | <update id="sureMemberCoupon"> |
| | | UPDATE t_member_coupon SET coupon_status = 2,shop_id = #{shopId} |
| | | WHERE del_flag = 0 AND coupon_status = 1 AND id = #{memberCouponId} |
| | | </update> |
| | | </mapper> |
| | |
| | | @ApiModelProperty(value = "商品类型1周期2服务3体验4单品") |
| | | private Integer goodsType; |
| | | |
| | | @ApiModelProperty(value = "商品标签") |
| | | private String goodsTag; |
| | | |
| | | @ApiModelProperty(value = "商品图片") |
| | | private String goodsPicture; |
| | | |
| | |
| | | @ApiModelProperty(value = "商品简介") |
| | | private String goodsIntroduction; |
| | | |
| | | @ApiModelProperty(value = "商品标签") |
| | | private String goodsTag; |
| | | |
| | | @ApiModelProperty(value = "商品类型1周期2服务3体验4单品") |
| | | private Integer goodsType; |
| | | |
| | |
| | | @ApiModelProperty(value="订单id") |
| | | private String orderId; |
| | | |
| | | @Excel(name = "订单编号", width = 30) |
| | | @Excel(name = "订单号", width = 30, sort = 1) |
| | | @ApiModelProperty(value="订单编号") |
| | | private String orderNo; |
| | | |
| | | @Excel(name = "秒杀活动", width = 30) |
| | | @Excel(name = "所属秒杀活动", width = 30, sort = 2) |
| | | @ApiModelProperty(value="秒杀活动") |
| | | private String activityName; |
| | | |
| | | @ApiModelProperty(value = "用户id") |
| | | private Long userId; |
| | | |
| | | @Excel(name = "用户昵称", width = 30) |
| | | @Excel(name = "用户昵称", width = 30, sort = 3) |
| | | @ApiModelProperty(value = "用户昵称") |
| | | private String nickName; |
| | | |
| | | @Excel(name = "用户姓名", width = 30) |
| | | @Excel(name = "用户姓名", width = 30, sort = 4) |
| | | @ApiModelProperty(value = "用户姓名") |
| | | private String userName; |
| | | |
| | | @Excel(name = "用户电话", width = 30) |
| | | @Excel(name = "手机号", width = 30, sort = 5) |
| | | @ApiModelProperty(value = "用户电话") |
| | | private String userMobile; |
| | | |
| | | @Excel(name = "商品名称", width = 30) |
| | | @Excel(name = "商品信息", width = 30, sort = 6) |
| | | @ApiModelProperty(value="商品名称") |
| | | private String goodsName; |
| | | |
| | | @Excel(name = "秒杀价格", width = 30) |
| | | @Excel(name = "秒杀价格", width = 30, sort = 7) |
| | | @ApiModelProperty(value = "秒杀价格") |
| | | @JsonSerialize(using = ToStringSerializer.class) |
| | | private BigDecimal activityPrice; |
| | | |
| | | @Excel(name = "购买数量", width = 30) |
| | | @Excel(name = "购买数量", width = 30, sort = 8) |
| | | @ApiModelProperty(value="购买数量") |
| | | private Integer buyNum; |
| | | |
| | | @Excel(name = "订单金额", width = 30) |
| | | @Excel(name = "订单金额", width = 30, sort = 9) |
| | | @ApiModelProperty(value="订单金额") |
| | | @JsonSerialize(using = ToStringSerializer.class) |
| | | private BigDecimal orderMoney; |
| | |
| | | @JsonSerialize(using = ToStringSerializer.class) |
| | | private BigDecimal receivableMoney; |
| | | |
| | | @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") |
| | | @Excel(name = "订单提交时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 10) |
| | | @ApiModelProperty(value="创建时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date createTime; |
| | | |
| | | @Excel(name = "订单实际支付金额", width = 30) |
| | | @Excel(name = "已支付金额", width = 30, sort = 11) |
| | | @ApiModelProperty(value="订单实际支付金额") |
| | | @JsonSerialize(using = ToStringSerializer.class) |
| | | private BigDecimal payMoney; |
| | | |
| | | @Excel(name = "订单未支付金额", width = 30) |
| | | @Excel(name = "剩余未付", width = 30, sort = 12) |
| | | @ApiModelProperty(value="订单未支付金额") |
| | | @JsonSerialize(using = ToStringSerializer.class) |
| | | private BigDecimal unPaidMoney; |
| | |
| | | @ApiModelProperty(value="核销店铺id") |
| | | private Long shopId; |
| | | |
| | | @Excel(name = "核销店铺", width = 30) |
| | | @Excel(name = "核销店铺", width = 30, sort = 13) |
| | | @ApiModelProperty(value="核销店铺") |
| | | private String shopName; |
| | | |
| | | @Excel(name = "核销时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") |
| | | @Excel(name = "核销时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 14) |
| | | @ApiModelProperty(value="核销时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date verifyTime; |
| | |
| | | @ApiModelProperty(value = "订单id") |
| | | private String orderId; |
| | | |
| | | @Excel(name = "订单编号", width = 30) |
| | | @Excel(name = "订单编号", width = 30, sort = 1) |
| | | @ApiModelProperty(value="订单编号") |
| | | private String orderNo; |
| | | |
| | | @Excel(name = "核销门店", width = 30) |
| | | @Excel(name = "核销门店", width = 30, sort = 3) |
| | | @ApiModelProperty(value="核销门店") |
| | | private String shopName; |
| | | |
| | | @Excel(name = "商品信息", width = 30) |
| | | @Excel(name = "商品信息", width = 30, sort = 4) |
| | | @ApiModelProperty(value="商品信息") |
| | | private String goodsInfo; |
| | | |
| | | @Excel(name = "订单状态", width = 30) |
| | | @Excel(name = "订单状态", width = 30, sort = 10) |
| | | @ApiModelProperty(value = "订单状态0.已取消1.待支付2.待核销3.已完成") |
| | | private String orderStatus; |
| | | |
| | | @Excel(name = "订单总价", width = 30) |
| | | @Excel(name = "订单总价", width = 30, sort = 5) |
| | | @ApiModelProperty(value = "订单总价") |
| | | @JsonSerialize(using = ToStringSerializer.class) |
| | | private BigDecimal orderMoney; |
| | | |
| | | @Excel(name = "优惠券抵扣", width = 30) |
| | | @Excel(name = "优惠券抵扣", width = 30, sort = 7) |
| | | @ApiModelProperty(value = "优惠券抵扣") |
| | | @JsonSerialize(using = ToStringSerializer.class) |
| | | private BigDecimal discountMoney; |
| | | |
| | | @Excel(name = "应收金额", width = 30) |
| | | @Excel(name = "应收金额", width = 30, sort = 6) |
| | | @ApiModelProperty(value="应收金额") |
| | | @JsonSerialize(using = ToStringSerializer.class) |
| | | private BigDecimal receivableMoney; |
| | |
| | | @JsonSerialize(using = ToStringSerializer.class) |
| | | private BigDecimal payMoney; |
| | | |
| | | @Excel(name = "订单实收金额", width = 30) |
| | | @Excel(name = "订单实收金额", width = 30, sort = 8) |
| | | @ApiModelProperty(value = "实收金额") |
| | | @JsonSerialize(using = ToStringSerializer.class) |
| | | private BigDecimal receiveMoney; |
| | |
| | | @JsonSerialize(using = ToStringSerializer.class) |
| | | private BigDecimal unPaidMoney; |
| | | |
| | | @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") |
| | | @Excel(name = "订单时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 9) |
| | | @ApiModelProperty(value="创建时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date createTime; |
| | | |
| | | @Excel(name = "订单来源", width = 30) |
| | | @Excel(name = "订单来源", width = 30, sort = 2) |
| | | @ApiModelProperty(value="订单来源") |
| | | private String orderFromDesc; |
| | | |
| | |
| | | @ApiModelProperty(value="服务类型1.周期2.服务3.体验") |
| | | private Integer serviceType; |
| | | |
| | | @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") |
| | | @Excel(name = "服务时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 1) |
| | | @ApiModelProperty(value="创建时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date createTime; |
| | | |
| | | @Excel(name = "服务商户id", width = 30) |
| | | @ApiModelProperty(value="服务商户id") |
| | | private Long shopId; |
| | | |
| | | @Excel(name = "服务商户", width = 30) |
| | | @Excel(name = "服务商户", width = 30, sort = 2) |
| | | @ApiModelProperty(value="服务商户") |
| | | private String shopName; |
| | | |
| | | @Excel(name = "服务商品名称", width = 30) |
| | | @Excel(name = "服务商品名称", width = 30, sort = 3) |
| | | @ApiModelProperty(value="服务商品名称") |
| | | private String consumerGoodsName; |
| | | |
| | | @Excel(name = "服务次数", width = 30) |
| | | @Excel(name = "服务次数", width = 30, sort = 4) |
| | | @ApiModelProperty(value="服务次数") |
| | | private Integer serviceNum; |
| | | |
| | | @Excel(name = "剩余次数", width = 30) |
| | | @Excel(name = "剩余次数", width = 30, sort = 5) |
| | | @ApiModelProperty(value="剩余次数") |
| | | private Integer surpNum; |
| | | } |
| | |
| | | @ApiModelProperty(value="订单id") |
| | | private String orderId; |
| | | |
| | | @Excel(name = "订单编号", width = 30) |
| | | @Excel(name = "订单号", width = 30, sort = 1) |
| | | @ApiModelProperty(value="订单编号") |
| | | private String orderNo; |
| | | |
| | | @ApiModelProperty(value = "用户id") |
| | | private Long userId; |
| | | |
| | | @Excel(name = "客户信息", width = 30) |
| | | @Excel(name = "客户信息", width = 30, sort = 2) |
| | | @ApiModelProperty(value = "客户信息") |
| | | private String userInfo; |
| | | |
| | | @ApiModelProperty(value="订单商品列表") |
| | | private List<MgtOrderGoodsPageVo> mgtOrderGoodsPageVoList; |
| | | |
| | | @Excel(name = "商品信息", width = 30) |
| | | @Excel(name = "商品信息", width = 30, sort = 3) |
| | | @ApiModelProperty(value="商品信息") |
| | | private String goodsInfo; |
| | | |
| | | @Excel(name = "订单金额", width = 30) |
| | | @Excel(name = "订单金额", width = 30, sort = 4) |
| | | @ApiModelProperty(value="订单金额") |
| | | @JsonSerialize(using = ToStringSerializer.class) |
| | | private BigDecimal orderMoney; |
| | | |
| | | @Excel(name = "优惠金额", width = 30) |
| | | @Excel(name = "优惠金额", width = 30, sort = 5) |
| | | @ApiModelProperty(value="优惠金额") |
| | | @JsonSerialize(using = ToStringSerializer.class) |
| | | private BigDecimal discountMoney; |
| | | |
| | | @Excel(name = "应付金额", width = 30) |
| | | @Excel(name = "应收金额", width = 30, sort = 6) |
| | | @ApiModelProperty(value="应付金额") |
| | | @JsonSerialize(using = ToStringSerializer.class) |
| | | private BigDecimal receivableMoney; |
| | | |
| | | @Excel(name = "订单实际支付金额", width = 30) |
| | | @Excel(name = "订单实收金额", width = 30, sort = 7) |
| | | @ApiModelProperty(value="订单实际支付金额") |
| | | @JsonSerialize(using = ToStringSerializer.class) |
| | | private BigDecimal payMoney; |
| | | |
| | | @Excel(name = "订单来源", width = 30) |
| | | @Excel(name = "订单来源", width = 30, sort = 8) |
| | | @ApiModelProperty(value="订单来源") |
| | | private String orderFrom; |
| | | |
| | |
| | | @ApiModelProperty(value="订单id") |
| | | private String orderId; |
| | | |
| | | @Excel(name = "订单编号", width = 30) |
| | | @Excel(name = "订单号", width = 30, sort = 1) |
| | | @ApiModelProperty(value="订单编号") |
| | | private String orderNo; |
| | | |
| | | @ApiModelProperty(value = "用户id") |
| | | private Long userId; |
| | | |
| | | @Excel(name = "用户昵称", width = 30) |
| | | @Excel(name = "用户昵称", width = 30, sort = 2) |
| | | @ApiModelProperty(value = "用户昵称") |
| | | private String nickName; |
| | | |
| | | @Excel(name = "用户姓名", width = 30) |
| | | @Excel(name = "用户姓名", width = 30, sort = 3) |
| | | @ApiModelProperty(value = "用户姓名") |
| | | private String userName; |
| | | |
| | |
| | | @ApiModelProperty(value="订单商品列表") |
| | | private List<MgtOrderGoodsPageVo> mgtOrderGoodsPageVoList; |
| | | |
| | | @Excel(name = "商品信息", width = 30) |
| | | @Excel(name = "商品信息", width = 30, sort = 4) |
| | | @ApiModelProperty(value="商品信息") |
| | | private String goodsInfo; |
| | | |
| | | @Excel(name = "订单金额", width = 30) |
| | | @Excel(name = "订单金额", width = 30, sort = 5) |
| | | @ApiModelProperty(value="订单金额") |
| | | @JsonSerialize(using = ToStringSerializer.class) |
| | | private BigDecimal orderMoney; |
| | | |
| | | @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") |
| | | @Excel(name = "订单提交时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 8) |
| | | @ApiModelProperty(value="创建时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date createTime; |
| | | |
| | | @Excel(name = "优惠金额", width = 30) |
| | | @Excel(name = "优惠金额", width = 30, sort = 6) |
| | | @ApiModelProperty(value="优惠金额") |
| | | @JsonSerialize(using = ToStringSerializer.class) |
| | | private BigDecimal discountMoney; |
| | | |
| | | @Excel(name = "应付金额", width = 30) |
| | | @Excel(name = "应付金额", width = 30, sort = 7) |
| | | @ApiModelProperty(value="应付金额") |
| | | @JsonSerialize(using = ToStringSerializer.class) |
| | | private BigDecimal receivableMoney; |
| | | |
| | | @Excel(name = "订单实际支付金额", width = 30) |
| | | @Excel(name = "订单已付金额", width = 30, sort = 9) |
| | | @ApiModelProperty(value="订单实际支付金额") |
| | | @JsonSerialize(using = ToStringSerializer.class) |
| | | private BigDecimal payMoney; |
| | | |
| | | @Excel(name = "订单未支付金额", width = 30) |
| | | @Excel(name = "剩余金额", width = 30, sort = 10) |
| | | @ApiModelProperty(value="订单未支付金额") |
| | | @JsonSerialize(using = ToStringSerializer.class) |
| | | private BigDecimal unPaidMoney; |
| | | |
| | | @Excel(name = "订单来源", width = 30) |
| | | @Excel(name = "订单来源", width = 30, sort = 11) |
| | | @ApiModelProperty(value="订单来源") |
| | | private String orderFrom; |
| | | |
| | | @ApiModelProperty(value="核销店铺id") |
| | | private Long shopId; |
| | | |
| | | @Excel(name = "核销店铺", width = 30) |
| | | @Excel(name = "核销店铺", width = 30, sort = 12) |
| | | @ApiModelProperty(value="核销店铺") |
| | | private String shopName; |
| | | |
| | | @Excel(name = "核销时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") |
| | | @Excel(name = "核销时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 13) |
| | | @ApiModelProperty(value="核销时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date verifyTime; |
| | |
| | | .collect(Collectors.toMap(Goods::getGoodsId, Function.identity())); |
| | | Boolean haveDeposit = false; |
| | | for (Goods goods : goodsList) { |
| | | if (goods.getSubscription() != null && goods.getSubscription().compareTo(BigDecimal.ZERO) > 0) { |
| | | if (goods.getSubscriptionFlag()==1&&goods.getSubscription() != null && goods.getSubscription().compareTo(BigDecimal.ZERO) > 0) { |
| | | haveDeposit = true; |
| | | } |
| | | } |
| | |
| | | appSureOrderGoodsVo.setGoodsName(goods.getGoodsName()); |
| | | appSureOrderGoodsVo.setGoodsIntroduction(goods.getGoodsIntroduction()); |
| | | appSureOrderGoodsVo.setGoodsType(goods.getGoodsType()); |
| | | appSureOrderGoodsVo.setGoodsTag(goods.getGoodsTags()); |
| | | // 获取商品图片 |
| | | goodsFile = remoteGoodsService.getGoodsFile(goodsId).getData(); |
| | | appSureOrderGoodsVo.setGoodsPicture(goodsFile.getFileUrl()); |
| | |
| | | appSureOrderGoodsVo.setGoodsTotalPrice(goodsTotalPrice); |
| | | appSureOrderGoodsVo.setCouponDiscount(discountMoney); |
| | | appSureOrderGoodsVo.setGoodsRealPrice(goodsRealPrice); |
| | | // 获取商品押金 |
| | | // 获取商品订金 |
| | | goodsDeposit = goods.getSubscription(); |
| | | if (goodsDeposit != null && goodsDeposit.compareTo(BigDecimal.ZERO) > 0) { |
| | | if (goods.getSubscriptionFlag()==1 && goodsDeposit != null && goodsDeposit.compareTo(BigDecimal.ZERO) > 0) { |
| | | goodsDeposit = goodsDeposit.multiply(buyNumBig); |
| | | } else { |
| | | if (haveDeposit) { |
| | |
| | | appPanicBuyVo.setGoodsName(goods.getGoodsName()); |
| | | appPanicBuyVo.setGoodsIntroduction(goods.getGoodsIntroduction()); |
| | | appPanicBuyVo.setGoodsType(goods.getGoodsType()); |
| | | appPanicBuyVo.setGoodsTag(goods.getGoodsTags()); |
| | | //商品图片 |
| | | goodsFile = remoteGoodsService.getGoodsFile(goodsId).getData(); |
| | | appPanicBuyVo.setGoodsPicture(goodsFile.getFileUrl()); |
| | |
| | | public MerVerifyOrderVo verifyOrder(String orderId, Long shopId) { |
| | | // 创建返回对象 |
| | | MerVerifyOrderVo merVerifyOrderVo = new MerVerifyOrderVo(); |
| | | if(orderId.contains("+")){ |
| | | orderId = orderId.substring(0, orderId.indexOf("+")); |
| | | } |
| | | // 根据订单ID获取订单信息 |
| | | Order order = this.getById(orderId); |
| | | if (order.getOrderStatus() != 2) { |
| | |
| | | @Transactional |
| | | public MerVerifyCouponVo sureVerifyCoupon(MerVerifyCouponDto merVerifyCouponDto) { |
| | | MerVerifyCouponGetVo verifyCouponGetVo = remoteCouponService.getVerifyCoupon(merVerifyCouponDto.getMemberCouponId()).getData(); |
| | | MemberCoupon memberCoupon = verifyCouponGetVo.getMemberCoupon(); |
| | | ShopRelUserVo shopRelUserVo = remoteShopService.getShopByUserId(merVerifyCouponDto.getUserId()).getData(); |
| | | if (!shopRelUserVo.getShopId().equals(verifyCouponGetVo.getMemberCoupon().getShopId())) { |
| | | throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR); |
| | | Long userId = verifyCouponGetVo.getUserId(); |
| | | Long shopId = shopRelUserVo.getShopId(); |
| | | Shop shop = remoteShopService.getShop(shopId).getData(); |
| | | // 调用remoteMemberService的getMember方法获取Member对象 |
| | | Member member = remoteMemberService.getMember(userId).getData(); |
| | | //如果是商户优惠券,验证商户一致 |
| | | if (memberCoupon.getCouponFrom() == 2 && !memberCoupon.getShopId().equals(shopId)) { |
| | | if(!memberCoupon.getShopId().equals(member.getRelationShopId())){ |
| | | throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR); |
| | | } |
| | | if(memberCoupon.getShopId().equals(shopId)){ |
| | | throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR); |
| | | } |
| | | } |
| | | //如果是平台优惠券,当用户绑定商户时验证商户一致 |
| | | if (memberCoupon.getCouponFrom() == 1 && member.getBindingFlag() == 1) { |
| | | if(!memberCoupon.getShopId().equals(member.getRelationShopId())){ |
| | | throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR); |
| | | } |
| | | if(memberCoupon.getShopId().equals(shopId)){ |
| | | throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR); |
| | | } |
| | | } |
| | | memberCoupon.setShopId(shopId); |
| | | // 创建MerVerifyCouponVo对象 |
| | | MerVerifyCouponVo merVerifyCouponVo = new MerVerifyCouponVo(); |
| | | // 调用remoteCouponService的getVerifyCoupon方法获取MerVerifyCouponGetVo对象 |
| | | List<Goods> goodsList = verifyCouponGetVo.getGoodsList(); |
| | | Long userId = verifyCouponGetVo.getUserId(); |
| | | // 调用remoteMemberService的getMember方法获取Member对象 |
| | | Member member = remoteMemberService.getMember(userId).getData(); |
| | | merVerifyCouponVo.setUserName(member.getRealName()); |
| | | merVerifyCouponVo.setUserMobile(member.getMobile()); |
| | | merVerifyCouponVo.setCouponFrom(verifyCouponGetVo.getCouponFrom()); |
| | | merVerifyCouponVo.setCouponName(verifyCouponGetVo.getMemberCoupon().getCouponName()); |
| | | merVerifyCouponVo.setCreateTime(verifyCouponGetVo.getMemberCoupon().getReceiveTime()); |
| | | merVerifyCouponVo.setCouponName(memberCoupon.getCouponName()); |
| | | merVerifyCouponVo.setCreateTime(memberCoupon.getReceiveTime()); |
| | | // 将goodsList转换为MerCouponGoodsListVo列表,并设置相应属性 |
| | | List<MerCouponGoodsListVo> merCouponGoodsList = goodsList.stream() |
| | | .map(goods -> { |
| | |
| | | .collect(Collectors.toList()); |
| | | // 设置merVerifyCouponVo的goodsList属性为merCouponGoodsList |
| | | merVerifyCouponVo.setGoodsList(merCouponGoodsList); |
| | | MemberCoupon memberCoupon = verifyCouponGetVo.getMemberCoupon(); |
| | | //生成服务 |
| | | ConsumerGoods consumerGoods; |
| | | String consumerGoodsId; |
| | |
| | | consumerGoods.setSourceFrom(1); |
| | | consumerGoodsList.add(consumerGoods); |
| | | } |
| | | remoteCouponService.useMemberCoupon(memberCoupon.getId()); |
| | | MerVerifyMemberCouponDto merVerifyMemberCouponDto = new MerVerifyMemberCouponDto(); |
| | | merVerifyMemberCouponDto.setCouponId(memberCoupon.getId()); |
| | | merVerifyMemberCouponDto.setShopId(shopId); |
| | | remoteCouponService.sureMemberCoupon(merVerifyMemberCouponDto); |
| | | consumerGoodsService.saveBatchConsumerGoods(consumerGoodsList); |
| | | if (member.getBindingFlag() != 1) { |
| | | AppMemberBindingDto appMemberBindingDto = new AppMemberBindingDto(); |
| | | appMemberBindingDto.setBindingFlag(1); |
| | | appMemberBindingDto.setShopId(shop.getShopId()); |
| | | appMemberBindingDto.setShopName(shop.getShopName()); |
| | | appMemberBindingDto.setUserId(memberCoupon.getUserId()); |
| | | remoteMemberService.updateMemberBinding(appMemberBindingDto); |
| | | } |
| | | merVerifyCouponVo.setVerifyStatus(2); |
| | | return merVerifyCouponVo; |
| | | } |
| | |
| | | throw new ServiceException(AppErrorConstant.COUPON_USED); |
| | | } |
| | | ShopRelUserVo shopRelUserVo = remoteShopService.getShopByUserId(merVerifyPrizeDto.getUserId()).getData(); |
| | | Shop shop = remoteShopService.getShop(shopRelUserVo.getShopId()).getData(); |
| | | Long shopId = shopRelUserVo.getShopId(); |
| | | Shop shop = remoteShopService.getShop(shopId).getData(); |
| | | //平台奖品判断 |
| | | if (memberGiftRecord.getGiftFrom() == 1) { |
| | | BirthdayCard birthdayCard = remoteMemberService.getBirthdayCard().getData(); |
| | | if(birthdayCard!=null){ |
| | | //判断生日活动状态 |
| | | if(birthdayCard!=null&&birthdayCard.getCardStatus()==1){ |
| | | shop = remoteShopService.getShop(shopId).getData(); |
| | | //判断指定区域全部店铺 |
| | | if(birthdayCard.getAreaFlag()==2&&birthdayCard.getShopFlag()==1&&!StringUtils.checkString(birthdayCard.getDesignatedArea(),shop.getShopCityCode())){ |
| | | throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR); |
| | | } |
| | | //判断指定店铺 |
| | | if(birthdayCard.getShopFlag()==2&&!StringUtils.checkString(birthdayCard.getApplicableShop(),shop.getShopId().toString())){ |
| | | if(birthdayCard.getShopFlag()==2&&!StringUtils.checkString(birthdayCard.getApplicableShop(),shopId.toString())){ |
| | | throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR); |
| | | } |
| | | }else{ |
| | | throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR); |
| | | throw new ServiceException(AppErrorConstant.BIRTHDAY_CARD_ERROR); |
| | | } |
| | | } |
| | | if (memberGiftRecord.getGiftFrom() == 2 && !memberGiftRecord.getShopId().equals(shop.getShopId())) { |
| | | //商户奖品判断 |
| | | if (memberGiftRecord.getGiftFrom() == 2 && !memberGiftRecord.getShopId().equals(shopId)) { |
| | | throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR); |
| | | } |
| | | Member member = remoteMemberService.getMember(memberGiftRecord.getUserId()).getData(); |
| | | if(member.getBindingFlag()==0){ |
| | | //绑定用户 |
| | | if(shop==null){ |
| | | shop = remoteShopService.getShop(shop.getShopId()).getData(); |
| | | } |
| | | AppMemberBindingDto appMemberBindingDto = new AppMemberBindingDto(); |
| | | appMemberBindingDto.setBindingFlag(1); |
| | | appMemberBindingDto.setShopId(shop.getShopId()); |
| | | appMemberBindingDto.setShopName(shop.getShopName()); |
| | | appMemberBindingDto.setUserId(memberGiftRecord.getUserId()); |
| | | remoteMemberService.updateMemberBinding(appMemberBindingDto); |
| | | } |
| | | |
| | | merVerifyAwardVo.setUserName(member.getRealName()); |
| | | merVerifyAwardVo.setUserMobile(member.getMobile()); |
| | | if (memberGiftRecord.getGiftFrom() == 1) { |
| | |
| | | if (member.getBindingFlag() != 1) { |
| | | AppMemberBindingDto appMemberBindingDto = new AppMemberBindingDto(); |
| | | appMemberBindingDto.setBindingFlag(1); |
| | | appMemberBindingDto.setShopId(merVerifyPrizeDto.getShopId()); |
| | | appMemberBindingDto.setShopId(shop.getShopId()); |
| | | appMemberBindingDto.setShopName(shop.getShopName()); |
| | | appMemberBindingDto.setUserId(merVerifyPrizeDto.getUserId()); |
| | | appMemberBindingDto.setUserId(memberGiftRecord.getUserId()); |
| | | remoteMemberService.updateMemberBinding(appMemberBindingDto); |
| | | } |
| | | merVerifyAwardVo.setPrizeId(merVerifyPrizeDto.getPrizeId()); |
| | |
| | | } else if (couponStatus != 1) { |
| | | throw new ServiceException(AppErrorConstant.COUPON_NO_FIND); |
| | | } |
| | | Long userId = verifyCouponGetVo.getUserId(); |
| | | Member member = remoteMemberService.getMember(userId).getData(); |
| | | //如果是商户优惠券,验证商户一致 |
| | | if (memberCoupon.getCouponFrom() == 2 && !memberCoupon.getShopId().equals(shopId)) { |
| | | throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR); |
| | | if(!memberCoupon.getShopId().equals(member.getRelationShopId())){ |
| | | throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR); |
| | | } |
| | | if(memberCoupon.getShopId().equals(shopId)){ |
| | | throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR); |
| | | } |
| | | } |
| | | //如果是平台优惠券 |
| | | if (memberCoupon.getCouponFrom() == 1 && memberCoupon.getShopId() == null) { |
| | | memberCoupon.setShopId(shopId); |
| | | //如果是平台优惠券,当用户绑定商户时验证商户一致 |
| | | if (memberCoupon.getCouponFrom() == 1 && member.getBindingFlag() == 1) { |
| | | if(!memberCoupon.getShopId().equals(member.getRelationShopId())){ |
| | | throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR); |
| | | } |
| | | if(memberCoupon.getShopId().equals(shopId)){ |
| | | throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR); |
| | | } |
| | | } |
| | | List<Goods> goodsList = verifyCouponGetVo.getGoodsList(); |
| | | Long userId = verifyCouponGetVo.getUserId(); |
| | | // 调用remoteMemberService的getMember方法获取Member对象 |
| | | Member member = remoteMemberService.getMember(userId).getData(); |
| | | merVerifyCouponVo.setUserName(member.getRealName()); |
| | | merVerifyCouponVo.setUserMobile(member.getMobile()); |
| | | merVerifyCouponVo.setCouponFrom(verifyCouponGetVo.getCouponFrom()); |
| | |
| | | } |
| | | Shop shop = null; |
| | | Member member = remoteMemberService.getMember(memberGiftRecord.getUserId()).getData(); |
| | | //判断是否在绑定店铺核销 |
| | | if(member.getBindingFlag()==1){ |
| | | if(!member.getRelationShopId().equals(shopId)){ |
| | | throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR); |
| | | } |
| | | } |
| | | //平台奖品判断 |
| | | if (memberGiftRecord.getGiftFrom() == 1) { |
| | | BirthdayCard birthdayCard = remoteMemberService.getBirthdayCard().getData(); |
| | | if(birthdayCard!=null){ |
| | | //判断生日活动状态 |
| | | if(birthdayCard!=null&&birthdayCard.getCardStatus()==1){ |
| | | shop = remoteShopService.getShop(shopId).getData(); |
| | | //判断指定区域全部店铺 |
| | | if(birthdayCard.getAreaFlag()==2&&birthdayCard.getShopFlag()==1&&!StringUtils.checkString(birthdayCard.getDesignatedArea(),shop.getShopCityCode())){ |
| | |
| | | throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR); |
| | | } |
| | | }else{ |
| | | throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR); |
| | | throw new ServiceException(AppErrorConstant.BIRTHDAY_CARD_ERROR); |
| | | } |
| | | } |
| | | //商户奖品判断 |
| | | if (memberGiftRecord.getGiftFrom() == 2 && !memberGiftRecord.getShopId().equals(shopId)) { |
| | | throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR); |
| | | } |
| | | |
| | | |
| | | merVerifyAwardVo.setUserName(member.getRealName()); |
| | | merVerifyAwardVo.setUserMobile(member.getMobile()); |
| | |
| | | <result column="shopId" property="shopId" /> |
| | | <result column="orderFrom" property="orderFrom" /> |
| | | <result column="createTime" property="createTime" /> |
| | | <collection property="appUserOrderGoodsPageVoList" ofType="com.ruoyi.order.domain.vo.AppUserOrderGoodsPageVo"> |
| | | <result column="orderGoodsId" property="orderGoodsId"/> |
| | | <result column="goodsId" property="goodsId"/> |
| | | <result column="goodsName" property="goodsName"/> |
| | | <result column="goodsIntroduction" property="goodsIntroduction"/> |
| | | <result column="goodsPicture" property="goodsPicture"/> |
| | | <result column="goodsType" property="goodsType"/> |
| | | <result column="buyNum" property="buyNum"/> |
| | | <result column="goodsPrice" property="goodsPrice"/> |
| | | <result column="goodsRealPrice" property="goodsRealPrice" /> |
| | | <result column="cycleNumFlag" property="cycleNumFlag" /> |
| | | <result column="serviceNum" property="serviceNum" /> |
| | | <collection property="appUserOrderGoodsPageVoList" ofType="com.ruoyi.order.domain.vo.AppUserOrderGoodsPageVo" select="listOrderGoodsByOrderId" column="orderId"> |
| | | </collection> |
| | | </resultMap> |
| | | |
| | | <resultMap id="com.ruoyi.order.domain.vo.AppUserOrderGoodsPageVo" type="orderGoodsResultMap"> |
| | | <result column="orderGoodsId" property="orderGoodsId"/> |
| | | <result column="goodsId" property="goodsId"/> |
| | | <result column="goodsName" property="goodsName"/> |
| | | <result column="goodsIntroduction" property="goodsIntroduction"/> |
| | | <result column="goodsPicture" property="goodsPicture"/> |
| | | <result column="goodsType" property="goodsType"/> |
| | | <result column="buyNum" property="buyNum"/> |
| | | <result column="goodsPrice" property="goodsPrice"/> |
| | | <result column="goodsRealPrice" property="goodsRealPrice" /> |
| | | <result column="cycleNumFlag" property="cycleNumFlag" /> |
| | | <result column="serviceNum" property="serviceNum" /> |
| | | </resultMap> |
| | | |
| | | |
| | | |
| | | <resultMap id="merOrderResultMap" type="com.ruoyi.order.domain.vo.MerOrderPageVo"> |
| | | <result column="userId" property="userId"/> |
| | |
| | | toc.receivable_money receivableMoney, |
| | | toc.goods_num goodsNum, |
| | | toc.shop_id shopId, |
| | | tog.goods_id goodsId, |
| | | tog.goods_name goodsName, |
| | | tog.goods_introduction goodsIntroduction, |
| | | tog.goods_picture goodsPicture, |
| | | tog.order_goods_id orderGoodsId, |
| | | tog.goods_type goodsType, |
| | | tog.buy_num buyNum, |
| | | tog.goods_price goodsPrice, |
| | | tog.goods_total_money goodsRealPrice, |
| | | tog.cycle_num_flag cycleNumFlag, |
| | | tog.service_num serviceNum, |
| | | toc.create_time createTime |
| | | FROM t_order toc |
| | | INNER JOIN t_order_goods tog ON tog.order_id = toc.order_id |
| | |
| | | ORDER BY toc.create_time DESC |
| | | </select> |
| | | |
| | | <select id="listOrderGoodsByOrderId" resultMap="orderGoodsResultMap"> |
| | | SELECT |
| | | tog.goods_id goodsId, |
| | | tog.goods_name goodsName, |
| | | tog.goods_introduction goodsIntroduction, |
| | | tog.goods_picture goodsPicture, |
| | | tog.order_goods_id orderGoodsId, |
| | | tog.goods_type goodsType, |
| | | tog.buy_num buyNum, |
| | | tog.goods_price goodsPrice, |
| | | tog.goods_total_money goodsRealPrice, |
| | | tog.cycle_num_flag cycleNumFlag, |
| | | tog.service_num serviceNum |
| | | FROM t_order_goods tog |
| | | WHERE tog.order_id = #{orderId} |
| | | </select> |
| | | |
| | | <select id="pageMerMemberNoClearOrder" resultType="com.ruoyi.order.domain.vo.MerMemberNoClearOrderVo"> |
| | | SELECT |
| | | toc.order_id orderId, |
| | |
| | | payConfig.setSubAppId(StringUtils.trimToNull(this.properties.getSubAppId())); |
| | | payConfig.setSubMchId(StringUtils.trimToNull(this.properties.getSubMchId())); |
| | | payConfig.setKeyPath(StringUtils.trimToNull(this.properties.getKeyPath())); |
| | | |
| | | payConfig.setApiV3Key("J8v9JDHKJYDHW9bdk30o2bdjy6z9mn1A"); |
| | | payConfig.setPrivateKeyPath("/home/cert/apiclient_key.pem"); |
| | | payConfig.setPrivateCertPath("/home/cert/apiclient_cert.pem"); |
| | | // 可以指定是否使用沙箱环境 |
| | | payConfig.setUseSandboxEnv(false); |
| | | |
| | |
| | | package com.ruoyi.shop.controller.console; |
| | | |
| | | import com.ruoyi.common.core.constant.CacheConstants; |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.core.exception.ServiceException; |
| | | import com.ruoyi.common.core.utils.bean.BeanUtils; |
| | | import com.ruoyi.common.redis.service.RedisService; |
| | | import com.ruoyi.common.security.utils.SecurityUtils; |
| | | import com.ruoyi.shop.domain.pojo.shop.ShopAuthentication; |
| | | import com.ruoyi.shop.domain.pojo.shop.ShopProportion; |
| | | import com.ruoyi.shop.domain.pojo.shop.ShopRelUser; |
| | |
| | | @Resource |
| | | private ShopProportionService shopProportionService; |
| | | |
| | | @Resource |
| | | private RedisService redisService; |
| | | /** |
| | | * 企业微信H5登录 |
| | | * @param qwUserDetail |
| | |
| | | Long userId = shopStaff.getUserId(); |
| | | SysUser sysUser = remoteUserService.getSysUser(userId).getData(); |
| | | Optional.ofNullable(sysUser).orElseThrow(() -> new ServiceException("登录失败,未查询到用户")); |
| | | Shop shop = shopService.getByShopId(shopStaff.getShopId()); |
| | | if(shop.getFrozenFlag()==1){ |
| | | String userKey = SecurityUtils.getUserKey(); |
| | | redisService.deleteObject(CacheConstants.LOGIN_TOKEN_KEY+userKey); |
| | | throw new ServiceException("商户已被冻结",401); |
| | | } |
| | | // 构造登录返回信息 |
| | | QwH5LoginVo qwH5LoginVo = new QwH5LoginVo(); |
| | | qwH5LoginVo.setUserid(qwUserDetail.getUserid()); |
| | |
| | | @ApiModelProperty(value="商户标签id 多个用,隔开") |
| | | private String shopTagIds; |
| | | |
| | | |
| | | @ApiModelProperty(value="关联用户id 多个用,隔开") |
| | | private String relUserIds; |
| | | |
| | | |
| | | @ApiModelProperty(value="商户封面") |
| | | private String shopPicture; |
| | | |
| | |
| | | @ApiModelProperty(value = "商户名称") |
| | | private String shopName; |
| | | |
| | | @ApiModelProperty(value = "商户封面") |
| | | private String shopPicture; |
| | | |
| | | @ApiModelProperty(value = "商户地址") |
| | | private String shopAddress; |
| | | |
| | |
| | | package com.ruoyi.shop.domain.vo; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | |
| | | private Integer cerStatus; |
| | | |
| | | @ApiModelProperty(value = "提交时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date createTime; |
| | | |
| | | @ApiModelProperty(value = "商户名称") |
| | |
| | | @ApiModelProperty(value="商户标签") |
| | | private String shopTags; |
| | | |
| | | |
| | | @ApiModelProperty(value="关联用户id 多个用,隔开") |
| | | private String relUserIds; |
| | | |
| | |
| | | @ApiModelProperty(value = "商户id") |
| | | private Long shopId; |
| | | |
| | | @Excel(name = "签约时间", width = 30) |
| | | @Excel(name = "签约时间", width = 30, sort = 1) |
| | | @ApiModelProperty(value="签约时间") |
| | | private String signTime; |
| | | |
| | | @Excel(name = "商户名称", width = 30) |
| | | @Excel(name = "商户名称", width = 30, sort = 9) |
| | | @ApiModelProperty(value="商户名称") |
| | | private String shopName; |
| | | |
| | | @Excel(name = "商户编号", width = 30) |
| | | @Excel(name = "商户编号", width = 30, sort = 2) |
| | | @ApiModelProperty(value="商户编号") |
| | | private String shopNumber; |
| | | |
| | | @Excel(name = "商户标签", width = 30) |
| | | @Excel(name = "商户标签", width = 30, sort = 3) |
| | | @ApiModelProperty(value="商户标签") |
| | | private String shopTags; |
| | | |
| | | @ApiModelProperty(value="签约人id") |
| | | private Long signUserId; |
| | | |
| | | @Excel(name = "签约员工", width = 30) |
| | | @Excel(name = "签约员工", width = 30, sort = 4) |
| | | @ApiModelProperty(value="签约员工") |
| | | private String signUser; |
| | | |
| | | @Excel(name = "首提金额", width = 30) |
| | | @Excel(name = "首提金额", width = 30, sort = 5) |
| | | @ApiModelProperty(value="首提金额") |
| | | private BigDecimal firstWithdraw; |
| | | |
| | | @ApiModelProperty(value="关联员工id") |
| | | private Long belongUserId; |
| | | |
| | | @Excel(name = "关联员工", width = 30) |
| | | @Excel(name = "关联员工", width = 30, sort = 6) |
| | | @ApiModelProperty(value="关联员工") |
| | | private String belongUser; |
| | | |
| | | @Excel(name = "关联部门", width = 30) |
| | | @Excel(name = "关联部门", width = 30, sort = 7) |
| | | @ApiModelProperty(value="关联部门") |
| | | private String belongDept; |
| | | |
| | | @Excel(name = "来源渠道", width = 30) |
| | | @Excel(name = "来源渠道", width = 30, sort = 8) |
| | | @ApiModelProperty(value="来源渠道") |
| | | private String shopSource; |
| | | |
| | | @Excel(name = "签约区域", width = 30) |
| | | @Excel(name = "签约区域", width = 30, sort = 10) |
| | | @ApiModelProperty(value="签约区域") |
| | | private String signAreaName; |
| | | |
| | | @Excel(name = "合作期限", width = 30) |
| | | @Excel(name = "合作期限", width = 30, sort = 11) |
| | | @ApiModelProperty(value="合作期限") |
| | | private String cooperationTime; |
| | | |
| | | @Excel(name = "店铺地址", width = 30) |
| | | @Excel(name = "是否到期", width = 30, sort = 12) |
| | | @ApiModelProperty(value="是否到期") |
| | | private String deadlineFlag; |
| | | |
| | | @Excel(name = "店铺地址", width = 30, sort = 13) |
| | | @ApiModelProperty(value="店铺地址") |
| | | private String shopAddress; |
| | | |
| | | @Excel(name = "店主姓名", width = 30) |
| | | @Excel(name = "店主姓名", width = 30, sort = 14) |
| | | @ApiModelProperty(value="店主姓名") |
| | | private String shopownerName; |
| | | |
| | | @Excel(name = "店主联系方式", width = 30) |
| | | @Excel(name = "店主联系方式", width = 30, sort = 15) |
| | | @ApiModelProperty(value="店主联系方式") |
| | | private String shopownerPhone; |
| | | |
| | | @Excel(name = "商户状态", width = 30) |
| | | @Excel(name = "商户状态", width = 30, sort = 18) |
| | | @ApiModelProperty(value="商户状态-1删除0冻结1正常2终止合作") |
| | | private String shopStatus; |
| | | |
| | | @Excel(name = "商户活动次数", width = 30) |
| | | @Excel(name = "商户活动次数", width = 30, sort = 17) |
| | | @ApiModelProperty(value="商户活动次数") |
| | | private Integer shopActivityCount; |
| | | |
| | | @Excel(name = "店铺设置状态", width = 30) |
| | | @Excel(name = "店铺设置状态", width = 30, sort = 16) |
| | | @ApiModelProperty(value="店铺设置状态") |
| | | private String shopCustomStatus; |
| | | |
| | |
| | | @ApiModelProperty(value = "建议id") |
| | | private Long suggestId; |
| | | |
| | | @Excel(name = "店铺名称", width = 30) |
| | | @Excel(name = "店铺名称", width = 30, sort = 1) |
| | | @ApiModelProperty(value = "店铺名称") |
| | | private String shopName; |
| | | |
| | | @Excel(name = "商户类型", width = 30) |
| | | @Excel(name = "商户类型", width = 30, sort = 2) |
| | | @ApiModelProperty(value = "商户类型1.经销商2.代理商") |
| | | private String shopType; |
| | | |
| | | @Excel(name = "店主姓名", width = 30) |
| | | @Excel(name = "店长姓名", width = 30, sort = 3) |
| | | @ApiModelProperty(value="店主姓名") |
| | | private String shopownerName; |
| | | |
| | | @Excel(name = "店主联系方式", width = 30) |
| | | @Excel(name = "手机号", width = 30, sort = 4) |
| | | @ApiModelProperty(value="店主联系方式") |
| | | private String shopownerPhone; |
| | | |
| | | @Excel(name = "建议内容", width = 30) |
| | | @Excel(name = "建议内容", width = 30, sort = 5) |
| | | @ApiModelProperty(value = "建议内容") |
| | | private String suggestContent; |
| | | |
| | | @Excel(name = "回复内容", width = 30) |
| | | @Excel(name = "回复内容", width = 30, sort = 6) |
| | | @ApiModelProperty(value = "回复内容") |
| | | private String replayContent; |
| | | |
| | | @Excel(name = "建议状态", width = 30) |
| | | @Excel(name = "状态", width = 30, sort = 8) |
| | | @ApiModelProperty(value = "建议状态") |
| | | private String suggestStatus; |
| | | |
| | | @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") |
| | | @Excel(name = "提交时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 7) |
| | | @ApiModelProperty(value = "创建时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date createTime; |
| | | |
| | | @Excel(name = "回复人姓名", width = 30) |
| | | @Excel(name = "回复人", width = 30, sort = 9) |
| | | @ApiModelProperty(value = "回复人姓名") |
| | | private String replayUserName; |
| | | |
| | | @Excel(name = "回复时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") |
| | | @Excel(name = "回复时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 10) |
| | | @ApiModelProperty(value = "回复时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date replayTime; |
| | | |
| | | @Excel(name = "平台响应时间", width = 30) |
| | | @Excel(name = "响应时间", width = 30, sort = 11) |
| | | @ApiModelProperty(value = "平台响应时间") |
| | | private String responseTime; |
| | | |
| | | @Excel(name = "建议标签", width = 30) |
| | | @Excel(name = "建议标签", width = 30, sort = 12) |
| | | @ApiModelProperty(value = "建议标签") |
| | | private String suggestTags; |
| | | } |
| | |
| | | //验证关联账号唯一 |
| | | String relUserIds = mgtEditShopDto.getRelUserIds(); |
| | | if(StringUtils.isNotBlank(relUserIds)) { |
| | | if(relUserIds.startsWith(",")){ |
| | | relUserIds = relUserIds.substring(1); |
| | | } |
| | | String[] relUserIdArray = relUserIds.split(","); |
| | | ShopRelUser shopRelUser; |
| | | Long userId; |
| | |
| | | appMemberBindingDto.setBindingFlag(0); |
| | | remoteMemberService.updateMemberBinding(appMemberBindingDto); |
| | | } |
| | | //商品图片 |
| | | List<ShopFile> shopFileList = shopFileService.listShopFileByShopId(shop.getShopId()); |
| | | String shopPicture = null; |
| | | StringJoiner shopBanners = new StringJoiner(","); |
| | | if(shopFileList!=null&&!shopFileList.isEmpty()){ |
| | | for(ShopFile shopFile : shopFileList){ |
| | | if(shopFile.getFileType()==1){ |
| | | shopPicture = shopFile.getFileUrl(); |
| | | }else{ |
| | | shopBanners.add(shopFile.getFileUrl()); |
| | | } |
| | | } |
| | | } |
| | | appNearbyShopVo.setShopPicture(shopPicture); |
| | | appNearbyShopVo.setShopId(shop.getShopId()); |
| | | appNearbyShopVo.setShopName(shop.getShopName()); |
| | | appNearbyShopVo.setShopAddress(shop.getShopAreaName()+shop.getShopAddress()); |
| | |
| | | } |
| | | //营业执照 |
| | | ApplymentsRequest.BusinessLicenseInfo business_license_info = new ApplymentsRequest.BusinessLicenseInfo(); |
| | | InputStream blImageIO = OBSUploadUtils.getOSSInputStream(shopAuthentication.getBlImage()); |
| | | ImageUploadResult blImageIR = merchantMediaService.imageUploadV3(blImageIO,applyNumber+"blimage"); |
| | | InputStream blImageIO = OBSUploadUtils.getOSSInputStream(shopAuthentication.getBlImage().replace("https://hongruitang.oss-cn-beijing.aliyuncs.com/","")); |
| | | ImageUploadResult blImageIR = merchantMediaService.imageUploadV3(blImageIO,applyNumber+"blimage.jpg"); |
| | | business_license_info.setBusinessLicenseCopy(blImageIR.getMediaId()); |
| | | blImageIO.close(); |
| | | business_license_info.setBusinessLicenseNumber(shopAuthentication.getBlNumber()); |
| | | business_license_info.setMerchantName(shopAuthentication.getBlShopName()); |
| | | business_license_info.setLegalPerson(shopAuthentication.getBlCorporateName()); |
| | | business_license_info.setCompanyAddress(shopAuthentication.getBlRegisteredAddress()); |
| | | business_license_info.setBusinessTime(shopAuthentication.getBlBusinessDeanline()); |
| | | business_license_info.setBusinessTime("[\"2023-05-08\",\"长期\"]"); |
| | | request.setBusinessLicenseInfo(business_license_info); |
| | | //法人证件 |
| | | request.setIdDocType("IDENTIFICATION_TYPE_MAINLAND_IDCARD"); |
| | | ApplymentsRequest.IdCardInfo id_card_info = new ApplymentsRequest.IdCardInfo(); |
| | | InputStream lpIcFrontIO = OBSUploadUtils.getOSSInputStream(shopAuthentication.getLpIcFront()); |
| | | ImageUploadResult lpIcFrontIR = merchantMediaService.imageUploadV3(lpIcFrontIO,applyNumber+"lpIcFront"); |
| | | InputStream lpIcFrontIO = OBSUploadUtils.getOSSInputStream(shopAuthentication.getLpIcFront().replace("https://hongruitang.oss-cn-beijing.aliyuncs.com/","")); |
| | | ImageUploadResult lpIcFrontIR = merchantMediaService.imageUploadV3(lpIcFrontIO,applyNumber+"lpIcFront.jpg"); |
| | | id_card_info.setIdCardCopy(lpIcFrontIR.getMediaId()); |
| | | lpIcFrontIO.close(); |
| | | InputStream lpIcBackIO = OBSUploadUtils.getOSSInputStream(shopAuthentication.getLpIcBack()); |
| | | ImageUploadResult lpIcBackIR = merchantMediaService.imageUploadV3(lpIcBackIO,applyNumber+"lpIcBack"); |
| | | InputStream lpIcBackIO = OBSUploadUtils.getOSSInputStream(shopAuthentication.getLpIcBack().replace("https://hongruitang.oss-cn-beijing.aliyuncs.com/","")); |
| | | ImageUploadResult lpIcBackIR = merchantMediaService.imageUploadV3(lpIcBackIO,applyNumber+"lpIcBack.jpg"); |
| | | id_card_info.setIdCardNational(lpIcBackIR.getMediaId()); |
| | | lpIcBackIO.close(); |
| | | id_card_info.setIdCardName(shopAuthentication.getLpCorporateName()); |
| | | id_card_info.setIdCardNumber(shopAuthentication.getLpIdCard()); |
| | | id_card_info.setIdCardAddress("四川省泸州市江阳区桃园路1号2号楼4单元1号"); |
| | | id_card_info.setIdCardValidTimeBegin(shopAuthentication.getLpIcStartDate()); |
| | | id_card_info.setIdCardValidTime(shopAuthentication.getLpIcEndDate()); |
| | | request.setIdCardInfo(id_card_info); |
| | |
| | | List<ApplymentsRequest.UboInfo> ubo_info_list = new ArrayList<>(); |
| | | ApplymentsRequest.UboInfo uboInfo = new ApplymentsRequest.UboInfo(); |
| | | uboInfo.setUboIdDocType("IDENTIFICATION_TYPE_MAINLAND_IDCARD"); |
| | | InputStream uboIcFrontIO = OBSUploadUtils.getOSSInputStream(shopAuthentication.getUboIcFront()); |
| | | ImageUploadResult uboIcFrontIR = merchantMediaService.imageUploadV3(uboIcFrontIO,applyNumber+"uboIcFront"); |
| | | InputStream uboIcFrontIO = OBSUploadUtils.getOSSInputStream(shopAuthentication.getUboIcFront().replace("https://hongruitang.oss-cn-beijing.aliyuncs.com/","")); |
| | | ImageUploadResult uboIcFrontIR = merchantMediaService.imageUploadV3(uboIcFrontIO,applyNumber+"uboIcFront.jpg"); |
| | | uboInfo.setUboIdDocCopy(uboIcFrontIR.getMediaId()); |
| | | uboIcFrontIO.close(); |
| | | InputStream uboIcBackIO = OBSUploadUtils.getOSSInputStream(shopAuthentication.getUboIcBack()); |
| | | ImageUploadResult uboIcBackIR = merchantMediaService.imageUploadV3(uboIcBackIO,applyNumber+"uboIcBack"); |
| | | InputStream uboIcBackIO = OBSUploadUtils.getOSSInputStream(shopAuthentication.getUboIcBack().replace("https://hongruitang.oss-cn-beijing.aliyuncs.com/","")); |
| | | ImageUploadResult uboIcBackIR = merchantMediaService.imageUploadV3(uboIcBackIO,applyNumber+"uboIcBack.jpg"); |
| | | uboInfo.setUboIdDocCopyBack(uboIcBackIR.getMediaId()); |
| | | uboIcBackIO.close(); |
| | | uboInfo.setUboIdDocName(shopAuthentication.getUboName()); |
| | |
| | | contactInfo.setContactType("65"); |
| | | contactInfo.setContactName(shopAuthentication.getLpCorporateName()); |
| | | contactInfo.setContactIdCardNumber(shopAuthentication.getLpIdCard()); |
| | | contactInfo.setMobilePhone(shopAuthentication.getLpMobilePhone()); |
| | | contactInfo.setContactEmail(shopAuthentication.getLpContactEmail()); |
| | | contactInfo.setMobilePhone("13882237106"); |
| | | contactInfo.setContactEmail("343695869@qq.com"); |
| | | request.setContactInfo(contactInfo); |
| | | //店铺信息 |
| | | ApplymentsRequest.SalesSceneInfo salesSceneInfo = new ApplymentsRequest.SalesSceneInfo(); |
| | | salesSceneInfo.setStoreName(shop.getShopName()); |
| | | salesSceneInfo.setStoreQrCode("https://wxapp.hhhrt.cn/mini/shop?id="+shop.getShopId()); |
| | | salesSceneInfo.setMiniProgramSubAppid("wxb7f0ea286fc4e535"); |
| | | InputStream storeQrCodeIO = OBSUploadUtils.getOSSInputStream(shop.getShopCode().replace("https://hongruitang.oss-cn-beijing.aliyuncs.com/","")); |
| | | ImageUploadResult storeQrCodeIR = merchantMediaService.imageUploadV3(storeQrCodeIO,applyNumber+"storeQrCode.jpg"); |
| | | salesSceneInfo.setStoreQrCode(storeQrCodeIR.getMediaId()); |
| | | request.setSalesSceneInfo(salesSceneInfo); |
| | | request.setMerchantShortname(shop.getShopName()); |
| | | request.setBusinessAdditionPics(shopAuthentication.getBaPics()); |
| | |
| | | ts.shopowner_phone shopownerPhone |
| | | FROM t_shop_certificate tsc |
| | | INNER JOIN t_shop ts ON tsc.shop_id = ts.shop_id |
| | | WHERE tsc.del_flag = 0 AND ts.del_flag = 0 |
| | | <if test="param.cerStatus != null"> |
| | | AND tsc.cer_status = #{param.cerStatus} |
| | | </if> |
| | |
| | | tsm.shop_marketing_total shopActivityCount, |
| | | ts.shop_custom_status shopCustomStatus, |
| | | ts.frozen_flag frozenFlag, |
| | | ts.cooperative_flag cooperativeFlag |
| | | ts.cooperative_flag cooperativeFlag, |
| | | CASE ts.cooperative_flag WHEN 0 THEN "否" WHEN 1 THEN "是" END deadlineFlag |
| | | FROM t_shop ts |
| | | LEFT JOIN t_shop_marketing tsm ON tsm.shop_id = ts.shop_id |
| | | WHERE ts.del_flag = 0 |
| | |
| | | tmtr.call_phone callPhone |
| | | FROM t_agency_task tmt |
| | | INNER JOIN t_agency_task_record tmtr ON tmtr.task_id = tmt.task_id |
| | | WHERE tmt.del_flag = 0 AND tmt.shop_id = #{param.shopId} AND tmt.agency_id = #{param.agencyId} |
| | | WHERE tmt.del_flag = 0 AND tmtr.del_flag = 0 AND tmt.shop_id = #{param.shopId} AND tmt.agency_id = #{param.agencyId} |
| | | ORDER BY tmtr.create_time DESC |
| | | </select> |
| | | |
| | |
| | | tmtr.call_phone callPhone |
| | | FROM t_member_task tmt |
| | | INNER JOIN t_member_task_record tmtr ON tmtr.task_id = tmt.task_id |
| | | WHERE tmt.del_flag = 0 AND tmt.shop_id = #{param.shopId} AND tmt.user_id = #{param.memberUserId} |
| | | WHERE tmt.del_flag = 0 AND tmtr.del_flag = 0 AND tmt.shop_id = #{param.shopId} AND tmt.user_id = #{param.memberUserId} |
| | | ORDER BY tmtr.create_time DESC |
| | | </select> |
| | | |
| | |
| | | tmtr.call_phone callPhone |
| | | FROM t_shop_task tmt |
| | | INNER JOIN t_shop_task_record tmtr ON tmtr.task_id = tmt.task_id |
| | | WHERE tmt.del_flag = 0 AND tmt.shop_id = #{param.shopId} AND tmtr.user_id = #{param.userId} |
| | | WHERE tmt.del_flag = 0 AND tmtr.del_flag = 0 AND tmt.shop_id = #{param.shopId} AND tmtr.user_id = #{param.userId} |
| | | ORDER BY tmtr.create_time DESC |
| | | </select> |
| | | |
| | |
| | | @TableField("head_flag") |
| | | private String headFlag; |
| | | |
| | | @TableField("wx_user_id") |
| | | private String wxUserId; |
| | | |
| | | @Override |
| | | protected Serializable pkVal() { |
| | | return this.staffId; |
| | |
| | | |
| | | @ApiModelProperty(value = "建议id") |
| | | private Long suggestId; |
| | | @Excel(name = "员工姓名", width = 30) |
| | | @Excel(name = "员工姓名", width = 30, sort = 1) |
| | | @ApiModelProperty(value = "员工姓名") |
| | | private String staffName; |
| | | @Excel(name = "部门名称", width = 30) |
| | | @Excel(name = "部门名称", width = 30, sort = 2) |
| | | @ApiModelProperty(value = "部门名称") |
| | | private String deptName; |
| | | @Excel(name = "手机号", width = 30) |
| | | @Excel(name = "员工手机号", width = 30, sort = 3) |
| | | @ApiModelProperty(value="手机号") |
| | | private String mobile; |
| | | @Excel(name = "建议内容", width = 30) |
| | | @Excel(name = "建议内容", width = 30, sort = 4) |
| | | @ApiModelProperty(value = "建议内容") |
| | | private String suggestContent; |
| | | @Excel(name = "回复内容", width = 30) |
| | | @Excel(name = "回复内容", width = 30, sort = 5) |
| | | @ApiModelProperty(value = "回复内容") |
| | | private String replayContent; |
| | | @Excel(name = "建议状态", width = 30) |
| | | @Excel(name = "状态", width = 30, sort = 6) |
| | | @ApiModelProperty(value = "建议状态") |
| | | private String suggestStatus; |
| | | @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") |
| | | @Excel(name = "提交时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 7) |
| | | @ApiModelProperty(value = "创建时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date createTime; |
| | | @Excel(name = "回复人姓名", width = 30) |
| | | @Excel(name = "回复人", width = 30, sort = 8) |
| | | @ApiModelProperty(value = "回复人姓名") |
| | | private String replayUserName; |
| | | @Excel(name = "回复时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") |
| | | @Excel(name = "回复时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 9) |
| | | @ApiModelProperty(value = "回复时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date replayTime; |
| | | @Excel(name = "平台响应时间", width = 30) |
| | | @Excel(name = "响应时间", width = 30, sort = 10) |
| | | @ApiModelProperty(value = "平台响应时间") |
| | | private String responseTime; |
| | | @Excel(name = "建议标签", width = 30) |
| | | @Excel(name = "标签", width = 30, sort = 11) |
| | | @ApiModelProperty(value = "建议标签") |
| | | private String suggestTags; |
| | | } |