ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constant/AppErrorConstant.java
@@ -12,7 +12,7 @@ String USER_NOT_LOGIN = "用户没有登录或登录已失效"; String USER_NO_SHOP = "用户没有关联商户"; String USER_NO_SHOP = "未查询到用户关联商户"; String USER_NO_SYSTEM = "员工没有录入系统"; ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java
@@ -1,5 +1,14 @@ package com.ruoyi.gateway.filter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cloud.gateway.filter.GatewayFilterChain; import org.springframework.cloud.gateway.filter.GlobalFilter; import org.springframework.core.Ordered; import org.springframework.http.server.reactive.ServerHttpRequest; import org.springframework.stereotype.Component; import org.springframework.web.server.ServerWebExchange; import com.ruoyi.common.core.constant.CacheConstants; import com.ruoyi.common.core.constant.HttpStatus; import com.ruoyi.common.core.constant.SecurityConstants; @@ -10,15 +19,6 @@ import com.ruoyi.common.redis.service.RedisService; import com.ruoyi.gateway.config.properties.IgnoreWhiteProperties; import io.jsonwebtoken.Claims; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cloud.gateway.filter.GatewayFilterChain; import org.springframework.cloud.gateway.filter.GlobalFilter; import org.springframework.core.Ordered; import org.springframework.http.server.reactive.ServerHttpRequest; import org.springframework.stereotype.Component; import org.springframework.web.server.ServerWebExchange; import reactor.core.publisher.Mono; import javax.annotation.Resource; @@ -46,29 +46,34 @@ { ServerHttpRequest request = exchange.getRequest(); ServerHttpRequest.Builder mutate = request.mutate(); String url = request.getURI().getPath(); log.info("requestUrl---"+url); String token = getToken(request); Claims claims = null; String userid = null; if(StringUtils.isNotBlank(token)){ claims = JwtUtils.parseToken(token); if(claims!=null){ userid = JwtUtils.getUserId(claims); addHeader(mutate, SecurityConstants.DETAILS_USER_ID, userid); } } // 跳过不需要验证的路径 if (StringUtils.matches(url, ignoreWhite.getWhites())) { //附近商户获取 if(url.contains("getNearbyShop")){ String token = getToken(request); if(!StringUtils.isEmpty(token)){ Claims claims = JwtUtils.parseToken(token); if(claims!=null){ String userid = JwtUtils.getUserId(claims); if(!StringUtils.isEmpty(userid)){ addHeader(mutate, SecurityConstants.DETAILS_USER_ID, userid); } } } } return chain.filter(exchange); } String token = getToken(request); log.info("requestToken---"+token); if (StringUtils.isEmpty(token)) { return unauthorizedResponse(exchange, "需要先登录才能使用该功能"); } Claims claims = JwtUtils.parseToken(token); if (claims == null) { return unauthorizedResponse(exchange, "需要先登录才能使用该功能!"); @@ -79,11 +84,13 @@ { return unauthorizedResponse(exchange, "登录状态已过期"); } String userid = JwtUtils.getUserId(claims); String username = JwtUtils.getUserName(claims); if (StringUtils.isEmpty(userid) || StringUtils.isEmpty(username)) { return unauthorizedResponse(exchange, "登录验证失败"); } // 设置用户信息到请求 addHeader(mutate, SecurityConstants.USER_KEY, userkey); addHeader(mutate, SecurityConstants.DETAILS_USER_ID, userid); ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/AppGoodsInfoVo.java
@@ -44,7 +44,7 @@ private String goodsTag; @ApiModelProperty(value = "商品调理问题") private BigDecimal goodsNurses; private String goodsNurses; @ApiModelProperty(value="服务次数") private Integer serviceNum; ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsServiceImpl.java
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/business/MerCouponController.java
@@ -9,9 +9,11 @@ import com.ruoyi.member.domain.dto.MgtCouponListDto; import com.ruoyi.member.domain.vo.MerCouponGetVo; import com.ruoyi.member.domain.vo.MerCouponPageVo; import com.ruoyi.member.domain.vo.MetAuditCouponTotalVo; import com.ruoyi.member.domain.vo.MgtCouponSimpleListVo; import com.ruoyi.member.service.coupon.CouponService; import com.ruoyi.member.service.member.MemberCouponService; import com.ruoyi.system.api.domain.dto.MerBaseDto; import com.ruoyi.system.api.domain.dto.MerBaseGetDto; import com.ruoyi.system.api.domain.dto.MerPageDto; import com.ruoyi.system.api.domain.dto.MgtBaseGetDto; @@ -116,4 +118,14 @@ List<MerMemberCouponVo> merMemberCouponVoList = memberCouponService.listMerShopGoodsMemberCoupon(merGoodsCouponListDto); return R.ok(merMemberCouponVoList); } @RequestMapping(value = "/getMetAuditCouponTotal", method = RequestMethod.POST) @ApiOperation(value = "商户获取优惠券审核统计") public R<MetAuditCouponTotalVo> getMetAuditCouponTotal(@RequestBody MerBaseDto merBaseDto) { Long userId = SecurityUtils.getUserId(); merBaseDto.setUserId(userId); MetAuditCouponTotalVo auditCouponTotalVo = couponService.getMetAuditCouponTotal(merBaseDto.getShopId()); return R.ok(auditCouponTotalVo); } } ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/miniapp/AppMemberController.java
@@ -5,11 +5,13 @@ import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.member.domain.dto.AppMemberBrowseDto; import com.ruoyi.member.domain.vo.AppBirthdayCardVo; import com.ruoyi.member.domain.vo.AppMemberPrizePageVo; import com.ruoyi.member.domain.vo.AppSuggestPageVo; import com.ruoyi.member.domain.vo.AppUserInfoVo; import com.ruoyi.member.service.birthday.BirthdayCardService; import com.ruoyi.member.service.member.BrowseRecordService; import com.ruoyi.member.service.member.MemberService; import com.ruoyi.member.service.member.MemberSuggestService; import com.ruoyi.system.api.constant.AppErrorConstant; @@ -46,6 +48,9 @@ @Resource private BirthdayCardService birthdayCardService; @Resource private BrowseRecordService browseRecordService; @RequestMapping(value = "/getAppUserInfo", method = RequestMethod.POST) @@ -156,4 +161,14 @@ List<AppMemberPrizePageVo> memberPrizePageVoList = birthdayCardService.pageAppMemberPrize(page,userId); return R.ok(page.setRecords(memberPrizePageVoList)); } @RequestMapping(value = "/browseRecord", method = RequestMethod.POST) @ApiOperation(value = "浏览记录") public R browseRecord(@RequestBody AppMemberBrowseDto appMemberBrowseDto) { Long userId = SecurityUtils.getUserId(); appMemberBrowseDto.setUserId(userId); browseRecordService.browseRecord(appMemberBrowseDto); return R.ok(); } } ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/AppMemberBrowseDto.java
@@ -4,6 +4,8 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; /** * @ClassName AppMemberBrowseDto * @Description TODO @@ -22,4 +24,12 @@ @ApiModelProperty(value = "浏览名称 营销活动为活动名称 商城商品为商品名称 关于鸿瑞堂为文章名称") private String browseName; @ApiModelProperty(value = "浏览开始时间") private Date startTime; @ApiModelProperty(value = "浏览结束时间") private Date endTime; } ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/member/BrowseRecord.java
@@ -1,16 +1,16 @@ package com.ruoyi.member.domain.pojo.member; import com.baomidou.mybatisplus.annotation.IdType; import java.util.Date; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.activerecord.Model; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import java.io.Serializable; import java.util.Date; /** * <p> @@ -37,7 +37,7 @@ * 删除标记 */ @TableField("del_flag") private String delFlag; private Integer delFlag; /** * 用户id */ ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MetAuditCouponTotalVo.java
New file @@ -0,0 +1,23 @@ package com.ruoyi.member.domain.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * @ClassName MetAuditCouponTotalVo * @Description TODO * @Author jqs * @Date 2023/7/28 11:26 * @Version 1.0 */ @Data public class MetAuditCouponTotalVo { @ApiModelProperty(value = "待审核统计") private Integer unAuditTotal; @ApiModelProperty(value = "已驳回统计") private Integer refuseTotal; } ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberMapper.java
@@ -111,7 +111,7 @@ * @param mgtUserIdByKeywordDto * @return MgtUserIdByKeywordVo */ List<Long> getUserIdByKeyword(MgtUserIdByKeywordDto mgtUserIdByKeywordDto); List<Long> getUserIdByKeyword(@Param("param")MgtUserIdByKeywordDto mgtUserIdByKeywordDto); /** * @description 总用户数 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/coupon/CouponService.java
@@ -192,5 +192,12 @@ */ void autoTimeSendCoupon(String couponId); /** * @description 获取商户优惠券审核统计 * @author jqs * @date 2023/7/28 11:30 * @param shopId * @return MetAuditCouponTotalVo */ MetAuditCouponTotalVo getMetAuditCouponTotal(Long shopId); } ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/birthday/BirthdayCardServiceImpl.java
@@ -448,8 +448,8 @@ break; case 4: // 礼物类型为4,即礼品 appBirthdayGiftVo.setGiftName(memberGiftRecord.getCouponName()); appBirthdayGiftVo.setGiftNumber(memberGiftRecord.getCouponNumber()); appBirthdayGiftVo.setGiftName(memberGiftRecord.getGiftName()); appBirthdayGiftVo.setGiftNumber(memberGiftRecord.getGiftNumber()); break; default: break; ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java
@@ -305,7 +305,7 @@ } //判断是否指定用户 List<Long> relUserIdList = null; if(coupon.getSendTarget()==2&&coupon.getSendTarget()==5&&coupon.getRelationType()==1&&!mgtCouponEditDto.getRelUserIdList().isEmpty()){ if(coupon.getSendTarget()==5&&coupon.getRelationType()==1&&!mgtCouponEditDto.getRelUserIdList().isEmpty()){ relUserIdList = mgtCouponEditDto.getRelUserIdList(); List<CouponRelUser> couponRelUserList = new ArrayList<>(); CouponRelUser couponRelUser; @@ -322,7 +322,7 @@ coupon.setRelUserIds(userIdSj.toString()); } //处理优惠券发放 if(coupon.getSendTimeType()==1){ if(coupon.getSendType()==2&&coupon.getSendTimeType()==1){ sendCoupon(coupon,relUserIdList); coupon.setSendFlag(1); this.saveOrUpdate(coupon); @@ -1151,4 +1151,32 @@ memberCouponRecordService.updateMemberCouponRecord(coupon,userId,1); } /** * @description 获取商户优惠券审核统计 * @author jqs * @date 2023/7/28 11:30 * @param shopId * @return MetAuditCouponTotalVo */ @Override public MetAuditCouponTotalVo getMetAuditCouponTotal(Long shopId){ MetAuditCouponTotalVo metAuditCouponTotalVo = new MetAuditCouponTotalVo(); LambdaQueryWrapper<Coupon> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(Coupon::getDelFlag,0); queryWrapper.eq(Coupon::getCouponFrom,2); queryWrapper.eq(Coupon::getShopId,shopId); queryWrapper.eq(Coupon::getCouponStatus,1); queryWrapper.eq(Coupon::getAuditStatus,1); Integer unAuditTotal = this.count(queryWrapper); queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(Coupon::getDelFlag,0); queryWrapper.eq(Coupon::getCouponFrom,2); queryWrapper.eq(Coupon::getShopId,shopId); queryWrapper.eq(Coupon::getCouponStatus,1); queryWrapper.eq(Coupon::getAuditStatus,3); Integer refuseTotal = this.count(queryWrapper); metAuditCouponTotalVo.setUnAuditTotal(unAuditTotal); metAuditCouponTotalVo.setRefuseTotal(refuseTotal); return metAuditCouponTotalVo; } } ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/BrowseRecordServiceImpl.java
@@ -1,6 +1,8 @@ package com.ruoyi.member.service.impl.member; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.member.domain.dto.AppMemberBrowseDto; import com.ruoyi.member.domain.dto.MerMemberBrowsePageDto; import com.ruoyi.member.domain.dto.MgtMemberBrowsePageDto; import com.ruoyi.member.domain.pojo.member.BrowseRecord; @@ -8,10 +10,10 @@ import com.ruoyi.member.domain.vo.MgtMemberBrowsePageVo; import com.ruoyi.member.mapper.member.BrowseRecordMapper; import com.ruoyi.member.service.member.BrowseRecordService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Calendar; import java.util.List; /** @@ -51,4 +53,47 @@ public List<MerMemberBrowsePageVo> pageMerMemberBrowse(Page page, MerMemberBrowsePageDto merMemberBrowsePageDto){ return browseRecordMapper.pageMerMemberBrowse(page, merMemberBrowsePageDto); } /** * @description 浏览记录 * @author jqs * @date 2023/7/28 10:27 * @param appMemberBrowseDto * @return void */ @Override public void browseRecord(AppMemberBrowseDto appMemberBrowseDto){ BrowseRecord browseRecord = new BrowseRecord(); browseRecord.setDelFlag(0); browseRecord.setUserId(appMemberBrowseDto.getUserId()); browseRecord.setBrowseType(appMemberBrowseDto.getBrowseType()); browseRecord.setBrowseId(appMemberBrowseDto.getBrowseId()); browseRecord.setBrowseName(appMemberBrowseDto.getBrowseName()); browseRecord.setCreateTime(appMemberBrowseDto.getStartTime()); browseRecord.setQuitTime(appMemberBrowseDto.getEndTime()); Calendar startCalendar = Calendar.getInstance(); startCalendar.setTime(appMemberBrowseDto.getStartTime()); Calendar endCalendar = Calendar.getInstance(); endCalendar.setTime(appMemberBrowseDto.getEndTime()); // 计算时间差异 long milliseconds = endCalendar.getTimeInMillis() - startCalendar.getTimeInMillis(); int seconds = (int) (milliseconds / 1000) % 60; int minutes = (int) ((milliseconds / (1000 * 60)) % 60); int hours = (int) ((milliseconds / (1000 * 60 * 60)) % 24); if(hours==0&&minutes==0&&seconds<60){ seconds = 0; minutes = 1; } String browseTime = ""; if(hours>0){ browseTime = browseTime + hours + "小时 "; } if(minutes>0){ browseTime = browseTime + minutes + "分钟 "; } if(seconds>0){ browseTime = browseTime + seconds + "秒"; } browseRecord.setBrowseTime(browseTime); } } ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
@@ -637,7 +637,7 @@ // Get shop information and set it to the member Shop shop = remoteShopService.getShop(merMemberAddDto.getShopId()).getData(); member.setRelationShopName(shop.getShopName()); member.setCustomerSource("商户添加"); member.setCustomerSource(merMemberAddDto.getCustomerSource()); member.setCreateTime(new Date()); // Save the member and initialize member total this.saveOrUpdate(member); @@ -1578,7 +1578,7 @@ menPercent = new BigDecimal("100.00"); womenPercent = new BigDecimal("0.00"); }else{ menPercent = manTotalBig.divide(personTotalBig).setScale(0,BigDecimal.ROUND_HALF_UP); menPercent = manTotalBig.divide(personTotalBig,0,BigDecimal.ROUND_HALF_UP); womenPercent = bigTen.subtract(menPercent); } memberFixedTotalVo.setManPercent(menPercent); ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/BrowseRecordService.java
@@ -1,6 +1,7 @@ package com.ruoyi.member.service.member; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.member.domain.dto.AppMemberBrowseDto; import com.ruoyi.member.domain.dto.MerMemberBrowsePageDto; import com.ruoyi.member.domain.dto.MgtMemberBrowsePageDto; import com.ruoyi.member.domain.pojo.member.BrowseRecord; @@ -37,4 +38,13 @@ * @return List<MerMemberBrowsePageVo> */ List<MerMemberBrowsePageVo> pageMerMemberBrowse(Page page, MerMemberBrowsePageDto merMemberBrowsePageDto); /** * @description 浏览记录 * @author jqs * @date 2023/7/28 10:27 * @param appMemberBrowseDto * @return void */ void browseRecord(AppMemberBrowseDto appMemberBrowseDto); } ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml
@@ -341,7 +341,8 @@ <select id="getUserIdByKeyword" resultType="java.lang.Long"> SELECT tm.user_id FROM t_member tm tm.del_flag = 0 FROM t_member tm WHERE tm.del_flag = 0 <if test="param.keyword != null and param.keyword != ''"> AND (tm.mobile LIKE CONCAT('%',#{param.keyword},'%') OR tm.real_name LIKE CONCAT('%',#{param.keyword},'%') OR tm.nick_name LIKE CONCAT('%',#{param.keyword},'%')) </if> ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java
@@ -8,7 +8,6 @@ import com.ruoyi.order.domain.vo.*; import com.ruoyi.order.service.order.OrderService; import com.ruoyi.system.api.constant.AppErrorConstant; import com.ruoyi.system.api.domain.dto.MerBaseDto; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.RequestBody; @@ -140,10 +139,10 @@ @RequestMapping(value = "/totalMerOrder", method = RequestMethod.POST) @ApiOperation(value = "商户端订单管理统计") public R<MerTotalOrderVo> totalMerOrder(@RequestBody MerBaseDto merBaseDto) { public R<MerTotalOrderVo> totalMerOrder(@RequestBody MerOrderPageDto merOrderPageDto) { Long userId = SecurityUtils.getUserId(); merBaseDto.setUserId(userId); MerTotalOrderVo totalOrderVo = orderService.totalMerOrder(merBaseDto); merOrderPageDto.setUserId(userId); MerTotalOrderVo totalOrderVo = orderService.totalMerOrder(merOrderPageDto); return R.ok(totalOrderVo); } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/order/OrderGoods.java
@@ -94,6 +94,9 @@ @TableField("goods_name") private String goodsName; @TableField("goods_introduction") private String goodsIntroduction; @TableField("goods_picture") private String goodsPicture; ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/order/PayRecord.java
New file @@ -0,0 +1,66 @@ package com.ruoyi.order.domain.pojo.order; import com.baomidou.mybatisplus.activerecord.Model; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; /** * <p> * 订单支付记录 * </p> * * @author jqs * @since 2023-07-28 */ @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) @TableName("t_pay_record") public class PayRecord extends Model<PayRecord> { private static final long serialVersionUID = 1L; @TableId(value = "id", type = IdType.AUTO) private Long id; /** * 删除标记 */ @TableField("del_flag") private Integer delFlag; /** * 订单id */ @TableField("order_id") private String orderId; /** * 支付金额 */ @TableField("pay_money") private BigDecimal payMoney; /** * 支付时间 */ @TableField("pay_time") private Date payTime; /** * 支付类型1微信支付2店铺收银 */ @TableField("pay_type") private Integer payType; @Override protected Serializable pkVal() { return this.id; } } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppUserOrderGetVo.java
@@ -43,6 +43,11 @@ private BigDecimal receivableDeposit; @ApiModelProperty(value="待支付金额") private BigDecimal unpaidMoney; @ApiModelProperty(value="订单商品列表") private List<AppUserOrderGoodsPageVo> appUserOrderGoodsPageVoList; ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppUserOrderGoodsPageVo.java
@@ -1,6 +1,5 @@ package com.ruoyi.order.domain.vo; import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -25,6 +24,9 @@ @ApiModelProperty(value="商品名称") private String goodsName; @ApiModelProperty(value = "商品简介") private String goodsIntroduction; @ApiModelProperty(value="商品图片") private String goodsPicture; ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerOrderPageVo.java
@@ -1,6 +1,5 @@ package com.ruoyi.order.domain.vo; import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -24,6 +23,9 @@ @ApiModelProperty(value = "用户姓名") private String userName; @ApiModelProperty(value = "用户昵称") private String nickName; @ApiModelProperty(value = "用户电话") private String userMobile; @@ -52,6 +54,9 @@ @ApiModelProperty(value="订单实际支付金额") private BigDecimal payMoney; @ApiModelProperty(value="订单已收金额") private BigDecimal receiveMoney; @ApiModelProperty(value="订单未支付金额") private BigDecimal unPaidMoney; ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerTotalOrderVo.java
@@ -25,9 +25,12 @@ @ApiModelProperty(value = "实收金额") private BigDecimal relReceiveMoney; @ApiModelProperty(value = "实付金额") @ApiModelProperty(value = "已收金额") private BigDecimal relPayMoney; @ApiModelProperty(value = "未收金额") private BigDecimal unpaidMoney; @ApiModelProperty(value = "总订金") private BigDecimal receivableDeposit; } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtActivityOrderPageVo.java
@@ -19,6 +19,9 @@ public class MgtActivityOrderPageVo { @ApiModelProperty(value="订单id") private String orderId; @Excel(name = "订单编号", width = 30) @ApiModelProperty(value="订单编号") private String orderNo; ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtMemberOrderPageVo.java
@@ -54,6 +54,10 @@ @ApiModelProperty(value="订单实际支付金额") private BigDecimal payMoney; @Excel(name = "订单未支付金额", width = 30) @ApiModelProperty(value="订单未支付金额") private BigDecimal unPaidMoney; @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value="创建时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtOrderDetailVo.java
@@ -99,4 +99,7 @@ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date verifyTime; @ApiModelProperty(value="支付记录") List<MgtOrderPayListVo> orderPayListVoList; } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtOrderPayListVo.java
New file @@ -0,0 +1,27 @@ package com.ruoyi.order.domain.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; import java.util.Date; /** * @ClassName MgtOrderPayListVo * @Description TODO * @Author jqs * @Date 2023/7/28 14:26 * @Version 1.0 */ @Data public class MgtOrderPayListVo { @ApiModelProperty(value="支付金额") private BigDecimal payMoney; @ApiModelProperty(value="支付时间") private Date payTime; @ApiModelProperty(value="支付类型") private String payType; } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtShopOrderPageVo.java
@@ -37,6 +37,10 @@ @ApiModelProperty(value = "用户姓名") private String userName; @Excel(name = "用户手机", width = 30) @ApiModelProperty(value = "用户手机") private String userMobile; @ApiModelProperty(value="订单商品列表") private List<MgtOrderGoodsPageVo> mgtOrderGoodsPageVoList; ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java
@@ -510,7 +510,7 @@ * @param shopId * @return MerTotalOrderVo */ MerTotalOrderVo totalMerOrder(@Param("shopId")Long shopId); MerTotalOrderVo totalMerOrder(@Param("param")MerOrderPageDto merOrderPageDto); /** ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/PayRecordMapper.java
New file @@ -0,0 +1,28 @@ package com.ruoyi.order.mapper.order; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.order.domain.pojo.order.PayRecord; import com.ruoyi.order.domain.vo.MgtOrderPayListVo; import org.apache.ibatis.annotations.Param; import java.util.List; /** * <p> * 订单支付记录 Mapper 接口 * </p> * * @author jqs * @since 2023-07-28 */ public interface PayRecordMapper extends BaseMapper<PayRecord> { /** * @description 获取订单支付记录 * @author jqs * @date 2023/7/28 14:28 * @param orderId * @return List<MgtOrderPayListVo> */ List<MgtOrderPayListVo> listMgtOrderPayVo(@Param("orderId") String orderId); } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/ServiceRecordDetailMapper.java
@@ -13,4 +13,5 @@ */ public interface ServiceRecordDetailMapper extends BaseMapper<ServiceRecordDetail> { } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
@@ -18,12 +18,10 @@ import com.ruoyi.order.domain.pojo.order.ConsumerGoods; import com.ruoyi.order.domain.pojo.order.Order; import com.ruoyi.order.domain.pojo.order.OrderGoods; import com.ruoyi.order.domain.pojo.order.PayRecord; import com.ruoyi.order.domain.vo.*; import com.ruoyi.order.mapper.order.OrderMapper; import com.ruoyi.order.service.order.ConsumerGoodsService; import com.ruoyi.order.service.order.OrderGoodsService; import com.ruoyi.order.service.order.OrderService; import com.ruoyi.order.service.order.UserServiceRecordService; import com.ruoyi.order.service.order.*; import com.ruoyi.system.api.constant.AppErrorConstant; import com.ruoyi.system.api.constant.DelayTaskEnum; import com.ruoyi.system.api.constant.SecurityConstant; @@ -106,9 +104,8 @@ @Resource private RedisService redisService; //@Resource //@Qualifier("profitsSharingServiceImpl") //private ProfitsSharingService profitsSharingService; @Resource private PayRecordService payRecordService; @Autowired private RedissonClient redissonClient; @@ -245,7 +242,7 @@ } } else if (couponType == 2 && appMemberCouponVo.getDiscountPercent() != null) { discountPercent = appMemberCouponVo.getDiscountPercent(); goodsRealPrice = goodsTotalPrice.multiply(discountPercent).divide(BigDecimal.TEN).setScale(2, BigDecimal.ROUND_HALF_UP); goodsRealPrice = goodsTotalPrice.multiply(discountPercent).divide(BigDecimal.TEN,2,BigDecimal.ROUND_HALF_UP); discountMoney = goodsRealPrice.subtract(goodsTotalPrice); useCoupon = 1; userCouponIdSet.add(memberCouponId); @@ -595,7 +592,7 @@ } } else if (couponType == 2 && appMemberCouponVo.getDiscountPercent() != null) { discountPercent = appMemberCouponVo.getDiscountPercent(); goodsRealPrice = goodsTotalPrice.multiply(discountPercent).divide(BigDecimal.TEN).setScale(2, BigDecimal.ROUND_HALF_UP); goodsRealPrice = goodsTotalPrice.multiply(discountPercent).divide(BigDecimal.TEN,2, BigDecimal.ROUND_HALF_UP); discountMoney = goodsRealPrice.subtract(goodsTotalPrice); useCoupon = 1; } else if (couponType == 3 && appMemberCouponVo.getDiscountMoney() != null) { @@ -647,6 +644,7 @@ orderGoods.setServiceNum(serviceNum); orderGoods.setGoodsType(goods.getGoodsType()); orderGoods.setGoodsName(goods.getGoodsName()); orderGoods.setGoodsIntroduction(goods.getGoodsIntroduction()); orderGoods.setGoodsPicture(goodsFile.getFileUrl()); // 保存订单商品 orderGoodsService.save(orderGoods); @@ -899,6 +897,7 @@ orderGoods.setServiceNum(serviceNum); orderGoods.setGoodsType(goods.getGoodsType()); orderGoods.setGoodsName(goods.getGoodsName()); orderGoods.setGoodsIntroduction(goods.getGoodsIntroduction()); orderGoods.setGoodsPicture(goodsFile.getFileUrl()); // 保存订单商品 orderGoodsService.save(orderGoods); @@ -1107,6 +1106,7 @@ appUserOrderGetVo.setCouponDiscount(order.getCouponMoney()); appUserOrderGetVo.setReceivableDeposit(order.getReceivableDeposit()); appUserOrderGetVo.setReceivableMoney(order.getReceivableMoney()); appUserOrderGetVo.setUnpaidMoney(order.getReceivableMoney().subtract(order.getOnlinePayMoney())); appUserOrderGetVo.setPayType(order.getPayType()); appUserOrderGetVo.setPayMoney(order.getPayMoney()); appUserOrderGetVo.setOrderRemark(order.getOrderRemark()); @@ -1319,6 +1319,15 @@ //profitsSharingService.applyProfitSharing(); } //创建支付记录 PayRecord payRecord = new PayRecord(); payRecord.setDelFlag(0); payRecord.setOrderId(order.getOrderId()); payRecord.setPayMoney(merVerifyOrderDto.getRelPayMoney()); payRecord.setPayTime(new Date()); payRecord.setPayType(2); payRecordService.save(payRecord); return merVerifyOrderVo; } @@ -1550,6 +1559,14 @@ order.setCloseFlag(1); } this.saveOrUpdate(order); //创建支付记录 PayRecord payRecord = new PayRecord(); payRecord.setDelFlag(0); payRecord.setOrderId(order.getOrderId()); payRecord.setPayMoney(merCloseOrderDto.getPayMoney()); payRecord.setPayTime(new Date()); payRecord.setPayType(2); payRecordService.save(payRecord); } /** @@ -1669,7 +1686,7 @@ } } else if (couponType == 2 && appMemberCouponVo.getDiscountPercent() != null) { discountPercent = appMemberCouponVo.getDiscountPercent(); goodsRealPrice = goodsTotalPrice.multiply(discountPercent).divide(BigDecimal.TEN).setScale(2, BigDecimal.ROUND_HALF_UP); goodsRealPrice = goodsTotalPrice.multiply(discountPercent).divide(BigDecimal.TEN,2, BigDecimal.ROUND_HALF_UP); discountMoney = goodsRealPrice.subtract(goodsTotalPrice); } else if (couponType == 3 && appMemberCouponVo.getDiscountMoney() != null) { discountMoney = appMemberCouponVo.getDiscountMoney(); @@ -1707,6 +1724,7 @@ orderGoods.setServiceNum(serviceNum); orderGoods.setGoodsType(goods.getGoodsType()); orderGoods.setGoodsName(goods.getGoodsName()); orderGoods.setGoodsIntroduction(goods.getGoodsIntroduction()); orderGoods.setGoodsPicture(goodsFile.getFileUrl()); orderGoodsService.save(orderGoods); switch (orderGoods.getGoodsType()) { @@ -1811,6 +1829,14 @@ shopTotalChangeDto.setExperienceMoney(experienceMoney); shopTotalChangeDto.setGoodsMoney(goodsMoney); remoteShopService.changeShopTotal(shopTotalChangeDto); //创建支付记录 PayRecord payRecord = new PayRecord(); payRecord.setDelFlag(0); payRecord.setOrderId(orderId); payRecord.setPayMoney(order.getPayMoney()); payRecord.setPayTime(order.getPayTime()); payRecord.setPayType(2); payRecordService.save(payRecord); } @@ -1842,7 +1868,7 @@ orderFromDesc = "商城订单"; } merOrderPageVo.setOrderFromDesc(orderFromDesc); merOrderPageVo.setUnPaidMoney(merOrderPageVo.getReceivableMoney().subtract(merOrderPageVo.getPayMoney())); merOrderPageVo.setUnPaidMoney(merOrderPageVo.getPayMoney().subtract(merOrderPageVo.getReceiveMoney())); if (merOrderPageVo.getUnPaidMoney() == null) { merOrderPageVo.setUnPaidMoney(zeroBig); } @@ -1853,7 +1879,8 @@ Map<Long, MgtSimpleMemberVo> userMap = simpleMemberVoList.stream() .collect(Collectors.toMap(MgtSimpleMemberVo::getUserId, Function.identity())); for (MerOrderPageVo merOrderPageVo : merOrderPageVoList) { merOrderPageVo.setUserName(userMap.get(merOrderPageVo.getUserId()).getNickName()); merOrderPageVo.setUserName(userMap.get(merOrderPageVo.getUserId()).getRealName()); merOrderPageVo.setNickName(userMap.get(merOrderPageVo.getUserId()).getNickName()); merOrderPageVo.setUserMobile(userMap.get(merOrderPageVo.getUserId()).getUserMobile()); } } @@ -1907,6 +1934,7 @@ if (mgtMemberOrderPageVoList != null && !mgtMemberOrderPageVoList.isEmpty()) { Long shopId; HashSet<String> set = new HashSet<>(); BigDecimal zeroBig = new BigDecimal("0.00"); // 遍历MgtMemberOrderPageVoList,获取shopId并添加到set中 for (MgtMemberOrderPageVo mgtMemberOrderPageVo : mgtMemberOrderPageVoList) { shopId = mgtMemberOrderPageVo.getShopId(); @@ -1925,6 +1953,8 @@ for (MgtMemberOrderPageVo mgtMemberOrderPageVo : mgtMemberOrderPageVoList) { shopId = mgtMemberOrderPageVo.getShopId(); mgtMemberOrderPageVo.setShopName(map.get(shopId).getShopName()); BigDecimal unPaidMoney = mgtMemberOrderPageVo.getReceivableMoney().subtract(mgtMemberOrderPageVo.getPayMoney()); mgtMemberOrderPageVo.setUnPaidMoney(unPaidMoney == null ? zeroBig : unPaidMoney); } } // 返回MgtMemberOrderPageVoList @@ -1992,7 +2022,9 @@ for (MgtActivityOrderPageVo mgtActivityOrderPageVo : activityOrderPageVoList) { mgtActivityOrderPageVo.setShopName(shopMap.get(mgtActivityOrderPageVo.getShopId()).getShopName()); if (userMap.get(mgtActivityOrderPageVo.getUserId()) != null) { mgtActivityOrderPageVo.setUserName(userMap.get(mgtActivityOrderPageVo.getUserId()).getNickName()); mgtActivityOrderPageVo.setNickName(userMap.get(mgtActivityOrderPageVo.getUserId()).getNickName()); mgtActivityOrderPageVo.setUserName(userMap.get(mgtActivityOrderPageVo.getUserId()).getRealName()); mgtActivityOrderPageVo.setUserMobile(userMap.get(mgtActivityOrderPageVo.getUserId()).getUserMobile()); } BigDecimal unPaidMoney = mgtActivityOrderPageVo.getReceivableMoney().subtract(mgtActivityOrderPageVo.getPayMoney()); mgtActivityOrderPageVo.setUnPaidMoney(unPaidMoney == null ? zeroBig : unPaidMoney); @@ -2116,7 +2148,9 @@ } if (userMap != null && !userMap.isEmpty()) { if (userMap.get(mgtShopOrderPageVo.getUserId()) != null) { mgtShopOrderPageVo.setUserName(userMap.get(mgtShopOrderPageVo.getUserId()).getNickName()); mgtShopOrderPageVo.setNickName(userMap.get(mgtShopOrderPageVo.getUserId()).getNickName()); mgtShopOrderPageVo.setUserName(userMap.get(mgtShopOrderPageVo.getUserId()).getRealName()); mgtShopOrderPageVo.setUserMobile(userMap.get(mgtShopOrderPageVo.getUserId()).getUserMobile()); } } BigDecimal unPaidMoney = mgtShopOrderPageVo.getReceivableMoney().subtract(mgtShopOrderPageVo.getPayMoney()); @@ -2215,6 +2249,9 @@ mgtOrderDetailVo.setShopId(order.getShopId()); mgtOrderDetailVo.setShopName(shop.getShopName()); mgtOrderDetailVo.setVerifyTime(order.getUseTime()); //获取支付记录 List<MgtOrderPayListVo> orderPayListVoList = payRecordService.listMgtOrderPayVo(orderId); mgtOrderDetailVo.setOrderPayListVoList(orderPayListVoList); return mgtOrderDetailVo; } @@ -3123,9 +3160,9 @@ * @date 2023/7/4 16:27 */ @Override public MerTotalOrderVo totalMerOrder(MerBaseDto merBaseDto) { public MerTotalOrderVo totalMerOrder(MerOrderPageDto merOrderPageDto) { MerTotalOrderVo merTotalOrderVo = new MerTotalOrderVo(); merTotalOrderVo = orderMapper.totalMerOrder(merBaseDto.getShopId()); merTotalOrderVo = orderMapper.totalMerOrder(merOrderPageDto); return merTotalOrderVo; } @@ -3382,11 +3419,13 @@ } //生成支付记录 OrderPayment orderPayment = new OrderPayment(); PayRecord payRecord = new PayRecord(); payRecord.setDelFlag(0); payRecord.setOrderId(orderId); payRecord.setPayMoney(order.getPayMoney()); payRecord.setPayTime(order.getPayTime()); payRecord.setPayType(1); payRecordService.save(payRecord); } /** ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/PayRecordServiceImpl.java
New file @@ -0,0 +1,38 @@ package com.ruoyi.order.service.impl.order; import com.ruoyi.order.domain.pojo.order.PayRecord; import com.ruoyi.order.domain.vo.MgtOrderPayListVo; import com.ruoyi.order.mapper.order.PayRecordMapper; import com.ruoyi.order.service.order.PayRecordService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; /** * <p> * 订单支付记录 服务实现类 * </p> * * @author jqs * @since 2023-07-28 */ @Service public class PayRecordServiceImpl extends ServiceImpl<PayRecordMapper, PayRecord> implements PayRecordService { @Resource private PayRecordMapper payRecordMapper; /** * @description 获取订单支付记录 * @author jqs * @date 2023/7/28 14:28 * @param orderId * @return List<MgtOrderPayListVo> */ @Override public List<MgtOrderPayListVo> listMgtOrderPayVo(String orderId){ return payRecordMapper.listMgtOrderPayVo(orderId); } } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java
@@ -388,7 +388,7 @@ * @param merBaseDto * @return MerTotalOrderVo */ MerTotalOrderVo totalMerOrder(MerBaseDto merBaseDto); MerTotalOrderVo totalMerOrder(MerOrderPageDto merOrderPageDto); /** * @description 平台获取商户订单记录 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/PayRecordService.java
New file @@ -0,0 +1,27 @@ package com.ruoyi.order.service.order; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.order.domain.pojo.order.PayRecord; import com.ruoyi.order.domain.vo.MgtOrderPayListVo; import java.util.List; /** * <p> * 订单支付记录 服务类 * </p> * * @author jqs * @since 2023-07-28 */ public interface PayRecordService extends IService<PayRecord> { /** * @description 获取订单支付记录 * @author jqs * @date 2023/7/28 14:28 * @param orderId * @return List<MgtOrderPayListVo> */ List<MgtOrderPayListVo> listMgtOrderPayVo(String orderId); } ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
@@ -40,6 +40,7 @@ <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"/> @@ -257,6 +258,7 @@ 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, @@ -305,9 +307,10 @@ toc.order_status orderStatus, toc.order_money orderGoodsMoney, toc.coupon_money couponDiscount, toc.receivable_money receivableMoney, toc.receivable_money-toc.online_pay_money receivableMoney, toc.receivable_deposit receivableDeposit, toc.pay_money payMoney, toc.change_receivable_money payMoney, toc.offline_pay_money receiveMoney, toc.order_remark orderRemark, tog.goods_name goodsName, tog.goods_type goodsType, @@ -1418,12 +1421,37 @@ <select id="totalMerOrder" resultType="com.ruoyi.order.domain.vo.MerTotalOrderVo"> SELECT COUNT(order_id) orderTotal, IFNULL(SUM(receivable_money),0) receivableMoney, IFNULL(SUM(receivable_money-IFNULL(online_pay_money,0)),0) receivableMoney, IFNULL(SUM(change_receivable_money),0) relReceiveMoney, IFNULL(SUM(pay_money),0) relPayMoney, IFNULL(SUM(receivable_money-IFNULL(pay_money,0)),0) unpaidMoney IFNULL(SUM(CASE pay_type WHEN 1 THEN online_pay_money WHEN 2 THEN IFNULL(offline_pay_money,0) END),0) relPayMoney, IFNULL(SUM(receivable_money-IFNULL(CASE pay_type WHEN 1 THEN online_pay_money WHEN 2 THEN IFNULL(offline_pay_money,0) END,0)),0) unpaidMoney, IFNULL(SUM(receivable_deposit),0) receivableDeposit FROM t_order WHERE del_flag = 0 AND shop_id = #{shopId} WHERE del_flag = 0 AND shop_id = #{param.shopId} <if test="param.memberUserId != null and param.memberUserId != ''"> AND toc.user_id = #{param.memberUserId} </if> <if test="param.type != null and param.type ==1 "> AND (toc.order_status = 2 OR toc.order_status = 3) </if> <if test="param.type != null and param.type ==2 "> AND toc.order_status = 2 </if> <if test="param.type != null and param.type ==3 "> AND toc.order_status = 3 </if> <if test="param.orderFrom != null and param.orderFrom != '' "> AND toc.order_from = #{param.orderFrom} </if> <if test="param.startOrderDate != null and param.startOrderDate != '' "> AND Date(toc.create_time) >= #{param.startOrderDate} </if> <if test="param.endOrderDate != null and param.endOrderDate != '' "> AND Date(toc.create_time) <= #{param.endOrderDate} </if> <if test="param.keyword != null and param.keyword != ''"> AND (toc.order_no LIKE CONCAT('%',#{param.keyword},'%') OR tog.goods_name LIKE CONCAT('%',#{param.keyword},'%')) </if> </select> <select id="pageMgtShopAllOrder" resultMap="mgtShopAllOrderResultMap"> ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/PayRecordMapper.xml
New file @@ -0,0 +1,17 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ruoyi.order.mapper.order.PayRecordMapper"> <select id="listMgtOrderPayVo" resultType="com.ruoyi.order.domain.vo.MgtOrderPayListVo"> SELECT pay_time payTime, pay_money payMoney, CASE pay_type WHEN 1 THEN "微信支付" WHEN 2 THEN "店铺收银" END payType FROM t_pay_record WHERE del_flag = 0 AND order_id = #{orderId} </select> </mapper> ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java
@@ -95,7 +95,7 @@ public R<ShopRelUserVo> getShopByUserId(@RequestBody Long userId) { ShopRelUser shopRelUser = shopRelUserService.getByUserId(userId); Optional.ofNullable(shopRelUser).orElseThrow(() -> new ServiceException("未查询到商户信息")); Optional.ofNullable(shopRelUser).orElseThrow(() -> new ServiceException("未查询到用户关联商户")); ShopRelUserVo shopRelUserVo = new ShopRelUserVo(); shopRelUserVo.setShopId(shopRelUser.getShopId()); shopRelUserVo.setUserName(shopRelUser.getUserName()); ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/GeneratorMybatisPlus.java
@@ -44,7 +44,7 @@ DataSourceConfig dataSourceConfig = new DataSourceConfig(); dataSourceConfig.setDbType(DbType.MYSQL); dataSourceConfig.setTypeConvert(new MySqlTypeConvert()); dataSourceConfig.setUrl("jdbc:mysql://47.109.78.184:10010/hrt_member?tinyInt1isBit=false"); dataSourceConfig.setUrl("jdbc:mysql://47.109.78.184:10010/hrt_order?tinyInt1isBit=false"); dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver"); dataSourceConfig.setUsername("root"); dataSourceConfig.setPassword("hrt123456"); @@ -53,7 +53,7 @@ // 包名配置 PackageConfig packageConfig = new PackageConfig(); // 父包和子包名分开处理 packageConfig.setParent("com.ruoyi.member"); packageConfig.setParent("com.ruoyi.order"); packageConfig.setController("app"); packageConfig.setEntity("domain.pojo"); packageConfig.setMapper("mapper"); @@ -74,7 +74,7 @@ strategy.setControllerMappingHyphenStyle(true); //表和前缀处理 String[] table = { "t_member_coupon_record" "t_pay_record" }; strategy.setInclude(table); String[] tablePre = new String[]{"t_"};