ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/poi/ExcelUtil.java
@@ -1,56 +1,5 @@ package com.ruoyi.common.core.utils.poi; import java.io.IOException; import java.io.InputStream; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.lang.reflect.ParameterizedType; import java.math.BigDecimal; import java.text.DecimalFormat; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Comparator; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; import java.util.stream.Collectors; import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.RegExUtils; import org.apache.commons.lang3.reflect.FieldUtils; import org.apache.poi.ss.usermodel.BorderStyle; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellStyle; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.ClientAnchor; import org.apache.poi.ss.usermodel.DataValidation; import org.apache.poi.ss.usermodel.DataValidationConstraint; import org.apache.poi.ss.usermodel.DataValidationHelper; import org.apache.poi.ss.usermodel.DateUtil; import org.apache.poi.ss.usermodel.Drawing; import org.apache.poi.ss.usermodel.FillPatternType; import org.apache.poi.ss.usermodel.Font; import org.apache.poi.ss.usermodel.HorizontalAlignment; import org.apache.poi.ss.usermodel.IndexedColors; import org.apache.poi.ss.usermodel.Name; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.VerticalAlignment; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.ss.usermodel.WorkbookFactory; import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.ss.util.CellRangeAddressList; import org.apache.poi.util.IOUtils; import org.apache.poi.xssf.streaming.SXSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFClientAnchor; import org.apache.poi.xssf.usermodel.XSSFDataValidation; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.ruoyi.common.core.annotation.Excel; import com.ruoyi.common.core.annotation.Excel.ColumnType; import com.ruoyi.common.core.annotation.Excel.Type; @@ -61,6 +10,31 @@ import com.ruoyi.common.core.utils.file.FileTypeUtils; import com.ruoyi.common.core.utils.file.ImageUtils; import com.ruoyi.common.core.utils.reflect.ReflectUtils; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.RegExUtils; import org.apache.commons.lang3.reflect.FieldUtils; import org.apache.poi.ss.usermodel.*; import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.ss.util.CellRangeAddressList; import org.apache.poi.util.IOUtils; import org.apache.poi.xssf.streaming.SXSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFClientAnchor; import org.apache.poi.xssf.usermodel.XSSFDataValidation; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.InputStream; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.lang.reflect.ParameterizedType; import java.math.BigDecimal; import java.text.DecimalFormat; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.*; import java.util.stream.Collectors; /** * Excel相关处理 @@ -456,7 +430,7 @@ public void exportExcel(HttpServletResponse response, List<T> list, String sheetName, String title) { response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); response.setCharacterEncoding("utf-8"); response.setCharacterEncoding("UTF-8"); this.init(list, sheetName, title, Type.EXPORT); exportExcel(response); } @@ -482,7 +456,7 @@ public void importTemplateExcel(HttpServletResponse response, String sheetName, String title) { response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); response.setCharacterEncoding("utf-8"); response.setCharacterEncoding("UTF-8"); this.init(null, sheetName, title, Type.IMPORT); exportExcel(response); } ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java
@@ -1,14 +1,5 @@ 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; @@ -19,6 +10,15 @@ 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; @@ -49,18 +49,26 @@ 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())) { 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, "需要先登录才能使用该功能!"); @@ -71,13 +79,11 @@ { 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-file/pom.xml
@@ -90,14 +90,17 @@ <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-core</artifactId> <artifactId>hutool-all</artifactId> <version>5.8.20</version> </dependency> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-extra</artifactId> <version>5.8.20</version> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.5.1</version> </dependency> </dependencies> <build> ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/ActivityCodeServiceImpl.java
@@ -3,6 +3,7 @@ import cn.binarywang.wx.miniapp.api.WxMaQrcodeService; import cn.binarywang.wx.miniapp.api.WxMaService; import cn.hutool.core.img.ImgUtil; import cn.hutool.extra.qrcode.QrCodeUtil; import com.ruoyi.file.utils.OBSUploadUtils; import me.chanjar.weixin.common.error.WxErrorException; import org.springframework.stereotype.Service; @@ -58,15 +59,17 @@ @Override public String createActivityCode(String activityId,String backImageUrl) throws WxErrorException, FileNotFoundException { WxMaQrcodeService wxMaQrcodeService = wxMaService.getQrcodeService(); String scene = activityId; String page = ""; String filePath = ""; String fileUrl = null; File file = wxMaQrcodeService.createWxaCodeUnlimit(scene,page,filePath); File qrCodeFile = new File("/home/image/qrcode.png"); // 二维码内容 String text = ""+activityId; // 生成二维码 QrCodeUtil.generate(text, 100, 100, qrCodeFile); File backFile ; ByteArrayOutputStream out = new ByteArrayOutputStream(); InputStream codeStream = new FileInputStream(file); InputStream backStream = new FileInputStream(file); InputStream codeStream = new FileInputStream(qrCodeFile); InputStream backStream = new FileInputStream(qrCodeFile); // 将图片合成在一起 ImgUtil.pressImage( backStream, // 主图片 ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/utils/OBSUploadUtils.java
@@ -133,4 +133,10 @@ } return result.getResponse().getErrorResponseAsString(); } public static void getOSSFile(String key) throws Exception { } } ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/MerActivityPageVo.java
@@ -23,11 +23,11 @@ private String activityName; @ApiModelProperty(value = "活动开始时间") @JsonFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy.MM.dd") private Date activityStartTime; @ApiModelProperty(value = "活动结束时间") @JsonFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy.MM.dd") private Date activityEndTime; @ApiModelProperty(value = "活动状态") ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml
@@ -274,7 +274,7 @@ INNER JOIN t_goods tg ON tg.goods_id = tag.goods_id LEFT JOIN t_goods_file tgf ON tg.goods_id = tgf.goods_id AND tgf.del_flag = 0 AND tgf.file_type = 1 LEFT JOIN t_shop_goods tsg ON tg.goods_id = tsg.goods_id AND tsg.shop_id = #{param.shopId} WHERE tg.del_flag = 0 AND tg.goods_status = 1 WHERE tg.del_flag = 0 AND tg.goods_status = 1 AND tag.del_flag = 0 <if test="param.activityIdList != null and param.activityIdList.size() > 0"> AND tag.activity_id IN <foreach collection="param.activityIdList" item="item" open="(" separator="," close=")"> ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/RuoYiMemberApplication.java
@@ -1,10 +1,10 @@ package com.ruoyi.member; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import com.ruoyi.common.security.annotation.EnableCustomConfig; import com.ruoyi.common.security.annotation.EnableRyFeignClients; import com.ruoyi.common.swagger.annotation.EnableCustomSwagger2; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.ComponentScans; import org.springframework.scheduling.annotation.EnableScheduling; ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/AppMemberBrowseDto.java
New file @@ -0,0 +1,25 @@ package com.ruoyi.member.domain.dto; import com.ruoyi.system.api.domain.dto.AppBaseDto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * @ClassName AppMemberBrowseDto * @Description TODO * @Author jqs * @Date 2023/7/27 20:44 * @Version 1.0 */ @Data public class AppMemberBrowseDto extends AppBaseDto { @ApiModelProperty(value = "浏览类型1鸿瑞学堂2营销活动3商城商品4关于鸿瑞堂5申请加盟") private Integer browseType; @ApiModelProperty(value = "浏览id 营销活动为活动id 商城商品为商品id 关于鸿瑞堂为文章id") private String browseId; @ApiModelProperty(value = "浏览名称 营销活动为活动名称 商城商品为商品名称 关于鸿瑞堂为文章名称") private String browseName; } ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtCouponAuditPageVo.java
@@ -19,6 +19,9 @@ @ApiModelProperty(value = "优惠券id") private String couponId; @ApiModelProperty(value="店铺id") private Long shopId; @ApiModelProperty(value="店铺名称") private String shopName; @@ -56,7 +59,7 @@ @ApiModelProperty(value = "发送时间") @JsonFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date sendTime; @ApiModelProperty(value="创建时间") ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/birthday/BirthdayCardServiceImpl.java
@@ -672,7 +672,7 @@ Map<Long, MgtSimpleShopVo> shopMap = simpleShopVoList.stream() .collect(Collectors.toMap(MgtSimpleShopVo::getShopId, Function.identity())); for(AppMemberPrizePageVo appMemberPrizePageVo : memberPrizePageVoList){ appMemberPrizePageVo.setVerifyShopName(shopMap.get(appMemberPrizePageVo.getShopId().toString()).getShopName()); appMemberPrizePageVo.setVerifyShopName(shopMap.get(appMemberPrizePageVo.getShopId()).getShopName()); } } return memberPrizePageVoList; ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java
@@ -25,6 +25,7 @@ import com.ruoyi.system.api.domain.poji.member.MemberCoupon; import com.ruoyi.system.api.domain.poji.shop.Shop; import com.ruoyi.system.api.domain.vo.MerGoodsPriceListVo; import com.ruoyi.system.api.domain.vo.MgtSimpleShopVo; import com.ruoyi.system.api.service.RemoteActivityService; import com.ruoyi.system.api.service.RemoteConfigService; import com.ruoyi.system.api.service.RemoteGoodsService; @@ -34,11 +35,9 @@ import javax.annotation.Resource; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.StringJoiner; import java.util.*; import java.util.concurrent.TimeUnit; import java.util.function.Function; import java.util.stream.Collectors; /** @@ -633,6 +632,7 @@ Date validEndTime; Integer validDay; String validTime = ""; HashSet<Long> shopIdSet = new HashSet<>(); for(MgtCouponAuditPageVo mgtCouponAuditPageVo : mgtCouponAuditPageVoList){ //处理有效期 validTimeType = mgtCouponAuditPageVo.getValidTimeType(); @@ -645,6 +645,20 @@ validTime = "领取之日起" + validDay.toString() + "天"; } mgtCouponAuditPageVo.setValidTime(validTime); if(mgtCouponAuditPageVo.getShopId()!=null){ shopIdSet.add(mgtCouponAuditPageVo.getShopId()); } } String shopJoinedString = String.join(",", shopIdSet.stream().map(Object::toString).collect(Collectors.toList())); MgtBaseBathDto mgtBaseBathDto = new MgtBaseBathDto(); mgtBaseBathDto.setIds(shopJoinedString); List<MgtSimpleShopVo> simpleShopVoList = remoteShopService.listShopSimpleVoByIds(mgtBaseBathDto).getData(); Map<Long, MgtSimpleShopVo> shopMap = simpleShopVoList.stream() .collect(Collectors.toMap(MgtSimpleShopVo::getShopId, Function.identity())); for(MgtCouponAuditPageVo mgtCouponAuditPageVo : mgtCouponAuditPageVoList){ if(mgtCouponAuditPageVo.getShopId()!=null){ mgtCouponAuditPageVo.setShopName(shopMap.get(mgtCouponAuditPageVo.getShopId()).getShopName()); } } } return mgtCouponAuditPageVoList; @@ -906,7 +920,8 @@ coupon.setCouponName(merCouponEditDto.getCouponName()); coupon.setSendType(merCouponEditDto.getSendType()); coupon.setSendTarget(merCouponEditDto.getSendTarget()); coupon.setSendTimeType(merCouponEditDto.getSendTimeType()); //商户端默认立即发放 coupon.setSendTimeType(1); coupon.setSendTime(merCouponEditDto.getSendTime()); coupon.setMoneyThreshold(merCouponEditDto.getMoneyThreshold()); coupon.setDiscountMoney(merCouponEditDto.getDiscountMoney()); ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberCouponServiceImpl.java
@@ -81,7 +81,7 @@ throw new ServiceException(AppErrorConstant.COUPON_EXPIRED); } else if (couponStatus == 2) { throw new ServiceException(AppErrorConstant.COUPON_USED); } else if (couponStatus != 0) { } else if (couponStatus != 1) { throw new ServiceException(AppErrorConstant.COUPON_NO_FIND); } // 检查优惠券类型 @@ -123,7 +123,7 @@ throw new ServiceException(AppErrorConstant.COUPON_EXPIRED); }else if(memberCoupon.getCouponStatus()==2){ throw new ServiceException(AppErrorConstant.COUPON_USED); }else if(memberCoupon.getCouponStatus()==-1){ }else if(memberCoupon.getCouponStatus()!=1){ throw new ServiceException(AppErrorConstant.COUPON_NO_FIND); } if(memberCoupon.getCouponType()!=4){ ruoyi-modules/ruoyi-member/src/main/resources/mapper/coupon/CouponMapper.xml
@@ -211,17 +211,18 @@ <select id="pageMgtAuditCoupon" resultType="com.ruoyi.member.domain.vo.MgtCouponAuditPageVo"> SELECT tc.coupon_id couponId, tc.shop_id shopId, tc.coupon_name couponName, tc.valid_time_type validTimeType, tc.valid_start_time validStartTime, tc.valid_end_time validEndTime, tc.valid_day validDay, CASE tc.use_scope WHEN 1 THEN '全部商品' WHEN 1 THEN '全场通用' WHEN 2 THEN '指定商品' END useScope, CASE tc.send_type WHEN 1 THEN '手动获取' WHEN 1 THEN '手动领取' ELSE '指定发放' END sendType, CASE tc.send_target ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/RuoYiOrderApplication.java
@@ -1,10 +1,10 @@ package com.ruoyi.order; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import com.ruoyi.common.security.annotation.EnableCustomConfig; import com.ruoyi.common.security.annotation.EnableRyFeignClients; import com.ruoyi.common.swagger.annotation.EnableCustomSwagger2; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.ComponentScans; import org.springframework.scheduling.annotation.EnableScheduling; ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/AppOrderController.java
@@ -19,6 +19,7 @@ import com.ruoyi.system.api.service.RemoteMemberService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @@ -108,7 +109,7 @@ @RequestMapping(value = "/placeActivityOrder", method = RequestMethod.POST) @ApiOperation(value = "创建活动订单") public R<AppPlaceOrderVo> placeActivityOrder(@RequestBody AppPlaceActivityDto appPlaceActivityDto) { public R<AppPlaceOrderVo> placeActivityOrder(@Validated @RequestBody AppPlaceActivityDto appPlaceActivityDto) { Long userId = SecurityUtils.getUserId(); if(userId!=null){ Member member = memberService.getMember(userId).getData(); ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppPlaceActivityDto.java
@@ -4,6 +4,8 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotNull; /** * @ClassName AppPlaceActivityDto * @Description TODO @@ -19,15 +21,19 @@ @ApiModelProperty(value = "活动Id") @NotNull(message = "活动Id不能为空") private String activityId; @ApiModelProperty(value = "商品id") @NotNull(message = "商品id不能为空") private String goodsId; @ApiModelProperty(value = "购买数量") @NotNull(message = "购买数量不能为空") private Integer buyNum; @ApiModelProperty(value = "支付方式1.全款2.订金") @NotNull(message = "支付方式不能为空") private Integer payType; @ApiModelProperty(value = "订单备注") ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppPlaceOrderDto.java
@@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotNull; import java.util.List; /** @@ -20,6 +21,7 @@ private Long shopId; @ApiModelProperty(value = "支付方式1.全款2.订金") @NotNull(message = "支付方式不能为空") private Integer payType; @ApiModelProperty(value = "订单备注") ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/scheduler/OrderScheduler.java
@@ -25,7 +25,7 @@ /** * 定时检查跟进任务状态 */ @Scheduled(cron="0 0/5 * * * ?") @Scheduled(cron="0 0/15 * * * ?") private void timingCheckMemberCoupon(){ if(schedulerUtils.getSchedulerRun()) { log.info("定时检查订单状态任务开始执行"); ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java
@@ -433,6 +433,7 @@ remoteMemberService.changeMemberTotal(memberTotalChangeDto); ShopTotalChangeDto shopTotalChangeDto = new ShopTotalChangeDto(); shopTotalChangeDto.setShopId(shopId); shopTotalChangeDto.setOrderType(1); shopTotalChangeDto.setTypeCycleService(1); shopTotalChangeDto.setCycleService(cycleService); shopTotalChangeDto.setCyclePerson(cyclePerson); ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
@@ -428,6 +428,7 @@ if(goods.getGoodsStatus()!=1){ throw new ServiceException(AppErrorConstant.GOODS_DOWN); } appPanicBuyVo.setActivityId(activityId); appPanicBuyVo.setGoodsId(goodsId); appPanicBuyVo.setGoodsName(goods.getGoodsName()); appPanicBuyVo.setGoodsIntroduction(goods.getGoodsIntroduction()); @@ -1247,8 +1248,12 @@ order.setOfflinePayMoney(relPayMoney); order.setOffPayTime(nowTime); order.setPayMoney(order.getPayMoney().add(relPayMoney)); order.setCloseFlag(1); order.setChangeReceivableMoney(relReceiveMoney); if(order.getPayMoney().compareTo(order.getChangeReceivableMoney())>=0){ order.setCloseFlag(1); }else{ order.setCloseFlag(0); } this.saveOrUpdate(order); //创建服务商品 List<AppUserOrderGoodsPageVo> appUserOrderGoodsPageVoList = orderGoodsService.listAppVoByOrderId(orderId); @@ -1536,10 +1541,14 @@ @Override public void merCloseOrder(MerCloseOrderDto merCloseOrderDto) { Order order = this.getById(merCloseOrderDto.getOrderId()); order.setOfflinePayMoney(merCloseOrderDto.getPayMoney()); order.setOfflinePayMoney(order.getOfflinePayMoney().add(merCloseOrderDto.getPayMoney())); order.setOffPayTime(new Date()); order.setPayMoney(order.getPayMoney().add(merCloseOrderDto.getPayMoney())); if(order.getPayMoney().compareTo(order.getChangeReceivableMoney())>=0){ order.setCloseFlag(0); }else{ order.setCloseFlag(1); } this.saveOrUpdate(order); } @@ -1740,7 +1749,6 @@ order.setPayMoney(orderPayMoney); order.setOnlinePayMoney(new BigDecimal("0.00")); order.setOfflinePayMoney(orderPayMoney); order.setCloseFlag(1); order.setOrderRemark(merNewOrderDto.getOrderRemark()); order.setGoodsNum(goodsNum); order.setCreateTime(nowTime); @@ -1752,7 +1760,11 @@ order.setOfflinePayMoney(merNewOrderDto.getPayMoney()); order.setOffPayTime(nowTime); order.setPayType(1); if(order.getPayMoney().compareTo(order.getChangeReceivableMoney())>=0){ order.setCloseFlag(0); }else{ order.setCloseFlag(1); } this.save(order); //创建服务 List<AppUserOrderGoodsPageVo> appUserOrderGoodsPageVoList = orderGoodsService.listAppVoByOrderId(orderId); @@ -2783,12 +2795,16 @@ throw new ServiceException(AppErrorConstant.COUPON_EXPIRED); } else if (couponStatus == 2) { throw new ServiceException(AppErrorConstant.COUPON_USED); } else if (couponStatus != 0) { } else if (couponStatus != 1) { throw new ServiceException(AppErrorConstant.COUPON_NO_FIND); } if (!memberCoupon.getShopId().equals(shopId)) { if (memberCoupon.getCouponFrom()==2&&!memberCoupon.getShopId().equals(shopId)) { throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR); } //如果是平台优惠券 if(memberCoupon.getCouponFrom()==1&&memberCoupon.getShopId()==null){ memberCoupon.setShopId(shopId); } List<Goods> goodsList = verifyCouponGetVo.getGoodsList(); Long userId = verifyCouponGetVo.getUserId(); // 调用remoteMemberService的getMember方法获取Member对象 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/RuoYiShopApplication.java
@@ -1,10 +1,10 @@ package com.ruoyi.shop; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import com.ruoyi.common.security.annotation.EnableCustomConfig; import com.ruoyi.common.security.annotation.EnableRyFeignClients; import com.ruoyi.common.swagger.annotation.EnableCustomSwagger2; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.ComponentScans; import org.springframework.scheduling.annotation.EnableScheduling; ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java
@@ -272,9 +272,9 @@ Integer platformCouponFlag = shop.getPlatformCouponFlag(); Integer platformBirthdayFlag = shop.getPlatformBirthdayFlag(); Integer marketingStatus = 0; if(platformCouponFlag==1&&platformBirthdayFlag==0){ if(platformCouponFlag==1&&platformBirthdayFlag==2){ marketingStatus = 1; }else if(platformCouponFlag==0&&platformBirthdayFlag==1){ }else if(platformCouponFlag==2&&platformBirthdayFlag==1){ marketingStatus = 2; }else if(platformCouponFlag==1&&platformBirthdayFlag==1){ marketingStatus = 3; ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/RuoYiSystemApplication.java
@@ -1,10 +1,10 @@ package com.ruoyi.system; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import com.ruoyi.common.security.annotation.EnableCustomConfig; import com.ruoyi.common.security.annotation.EnableRyFeignClients; import com.ruoyi.common.swagger.annotation.EnableCustomSwagger2; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.scheduling.annotation.EnableScheduling; /** ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtConfigController.java
@@ -375,7 +375,7 @@ @RequestMapping(value = "/exportPageOperLog", method = RequestMethod.POST) @ApiOperation(value = "导出操作日志") public void exportPageOperLog(@RequestBody MgtOperLogPageDto mgtOperLogPageDto, HttpServletResponse response) { public void exportPageOperLog(MgtOperLogPageDto mgtOperLogPageDto, HttpServletResponse response) { Long userId = SecurityUtils.getUserId(); mgtOperLogPageDto.setUserId(userId); Page<MgtOperLogPageVo> page = new Page<>();