- * 变体号具有以下含意: + * 变体号具有以下含意: *
- * UUID 的字符串表示形式由此 BNF 描述: + * UUID 的字符串表示形式由此 BNF 描述: * *
* {@code @@ -328,7 +328,7 @@ public final class UUID implements java.io.Serializable, Comparable{ * 返回此{@code UUID} 的字符串表现形式。 * * - * UUID 的字符串表示形式由此 BNF 描述: + * UUID 的字符串表示形式由此 BNF 描述: * *
* {@code diff --git a/muyu-common/muyu-common-security/src/main/java/com/muyu/common/security/annotation/RequiresLogin.java b/muyu-common/muyu-common-security/src/main/java/com/muyu/common/security/annotation/RequiresLogin.java index 4eff911..720891a 100644 --- a/muyu-common/muyu-common-security/src/main/java/com/muyu/common/security/annotation/RequiresLogin.java +++ b/muyu-common/muyu-common-security/src/main/java/com/muyu/common/security/annotation/RequiresLogin.java @@ -6,7 +6,7 @@ import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** - * 登录认证:只有登录之后才能进入该方法 + * 登录认证:只有登录之后才能进入该方法 * * @author muyu */ diff --git a/muyu-common/muyu-common-security/src/main/java/com/muyu/common/security/annotation/RequiresPermissions.java b/muyu-common/muyu-common-security/src/main/java/com/muyu/common/security/annotation/RequiresPermissions.java index 8d95bb4..fc18c50 100644 --- a/muyu-common/muyu-common-security/src/main/java/com/muyu/common/security/annotation/RequiresPermissions.java +++ b/muyu-common/muyu-common-security/src/main/java/com/muyu/common/security/annotation/RequiresPermissions.java @@ -6,7 +6,7 @@ import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** - * 权限认证:必须具有指定权限才能进入该方法 + * 权限认证:必须具有指定权限才能进入该方法 * * @author muyu */ @@ -19,7 +19,7 @@ public @interface RequiresPermissions { String[] value () default {}; /** - * 验证模式:AND | OR,默认AND + * 验证模式:AND | OR,默认AND */ Logical logical () default Logical.AND; } diff --git a/muyu-common/muyu-common-security/src/main/java/com/muyu/common/security/annotation/RequiresRoles.java b/muyu-common/muyu-common-security/src/main/java/com/muyu/common/security/annotation/RequiresRoles.java index 78911cc..9efa51b 100644 --- a/muyu-common/muyu-common-security/src/main/java/com/muyu/common/security/annotation/RequiresRoles.java +++ b/muyu-common/muyu-common-security/src/main/java/com/muyu/common/security/annotation/RequiresRoles.java @@ -6,7 +6,7 @@ import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** - * 角色认证:必须具有指定角色标识才能进入该方法 + * 角色认证:必须具有指定角色标识才能进入该方法 * * @author muyu */ @@ -19,7 +19,7 @@ public @interface RequiresRoles { String[] value () default {}; /** - * 验证逻辑:AND | OR,默认AND + * 验证逻辑:AND | OR,默认AND */ Logical logical () default Logical.AND; } diff --git a/muyu-common/muyu-common-security/src/main/java/com/muyu/common/security/handler/GlobalExceptionHandler.java b/muyu-common/muyu-common-security/src/main/java/com/muyu/common/security/handler/GlobalExceptionHandler.java index 8d4201d..2986ae9 100644 --- a/muyu-common/muyu-common-security/src/main/java/com/muyu/common/security/handler/GlobalExceptionHandler.java +++ b/muyu-common/muyu-common-security/src/main/java/com/muyu/common/security/handler/GlobalExceptionHandler.java @@ -86,7 +86,7 @@ public class GlobalExceptionHandler { public Result handleMethodArgumentTypeMismatchException (MethodArgumentTypeMismatchException e, HttpServletRequest request) { String requestURI = request.getRequestURI(); log.error("请求参数类型不匹配'{}',发生系统异常.", requestURI, e); - return Result.error(String.format("请求参数类型不匹配,参数[%s]要求类型为:'%s',但输入值为:'%s'", e.getName(), e.getRequiredType().getName(), e.getValue())); + return Result.error(String.format("请求参数类型不匹配,参数[%s]要求类型为:'%s',但输入值为:'%s'", e.getName(), e.getRequiredType().getName(), e.getValue())); } /** diff --git a/muyu-common/muyu-common-security/src/main/java/com/muyu/common/security/interceptor/HeaderInterceptor.java b/muyu-common/muyu-common-security/src/main/java/com/muyu/common/security/interceptor/HeaderInterceptor.java index fe1774c..7e6b6f8 100644 --- a/muyu-common/muyu-common-security/src/main/java/com/muyu/common/security/interceptor/HeaderInterceptor.java +++ b/muyu-common/muyu-common-security/src/main/java/com/muyu/common/security/interceptor/HeaderInterceptor.java @@ -15,7 +15,7 @@ import javax.servlet.http.HttpServletResponse; /** * 自定义请求头拦截器,将Header数据封装到线程变量中方便获取 - * 注意:此拦截器会同时验证当前用户有效期自动刷新有效期 + * 注意:此拦截器会同时验证当前用户有效期自动刷新有效期 * * @author muyu */ diff --git a/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/domain/SysRole.java b/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/domain/SysRole.java index 09fda22..9a367ba 100644 --- a/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/domain/SysRole.java +++ b/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/domain/SysRole.java @@ -54,18 +54,18 @@ public class SysRole extends BaseEntity { private Integer roleSort; /** - * 数据范围(1:所有数据权限;2:自定义数据权限;3:本部门数据权限;4:本部门及以下数据权限;5:仅本人数据权限) + * 数据范围(1:所有数据权限;2:自定义数据权限;3:本部门数据权限;4:本部门及以下数据权限;5:仅本人数据权限) */ @Excel(name = "数据范围", readConverterExp = "1=所有数据权限,2=自定义数据权限,3=本部门数据权限,4=本部门及以下数据权限,5=仅本人数据权限") private String dataScope; /** - * 菜单树选择项是否关联显示( 0:父子不互相关联显示 1:父子互相关联显示) + * 菜单树选择项是否关联显示( 0:父子不互相关联显示 1:父子互相关联显示) */ private boolean menuCheckStrictly; /** - * 部门树选择项是否关联显示(0:父子不互相关联显示 1:父子互相关联显示 ) + * 部门树选择项是否关联显示(0:父子不互相关联显示 1:父子互相关联显示 ) */ private boolean deptCheckStrictly; diff --git a/muyu-gateway/src/main/resources/logback.xml b/muyu-gateway/src/main/resources/logback.xml index 9084cd2..76b5e08 100644 --- a/muyu-gateway/src/main/resources/logback.xml +++ b/muyu-gateway/src/main/resources/logback.xml @@ -15,7 +15,7 @@${log.path}/info.log - +${log.path}/info.%d{yyyy-MM-dd}.log @@ -28,16 +28,16 @@INFO - +ACCEPT - +DENY diff --git a/muyu-modules/muyu-file/src/main/resources/logback.xml b/muyu-modules/muyu-file/src/main/resources/logback.xml index de3e2ce..e53a8cc 100644 --- a/muyu-modules/muyu-file/src/main/resources/logback.xml +++ b/muyu-modules/muyu-file/src/main/resources/logback.xml @@ -15,7 +15,7 @@ ${log.path}/error.log - +${log.path}/error.%d{yyyy-MM-dd}.log @@ -50,9 +50,9 @@ERROR - +ACCEPT - +DENY ${log.path}/info.log - +${log.path}/info.%d{yyyy-MM-dd}.log @@ -28,16 +28,16 @@INFO - +ACCEPT - +DENY diff --git a/muyu-modules/muyu-gen/src/main/java/com/muyu/gen/service/GenTableServiceImpl.java b/muyu-modules/muyu-gen/src/main/java/com/muyu/gen/service/GenTableServiceImpl.java index 6273779..d2c7ce5 100644 --- a/muyu-modules/muyu-gen/src/main/java/com/muyu/gen/service/GenTableServiceImpl.java +++ b/muyu-modules/muyu-gen/src/main/java/com/muyu/gen/service/GenTableServiceImpl.java @@ -187,7 +187,7 @@ public class GenTableServiceImpl implements IGenTableService { } } } catch (Exception e) { - throw new ServiceException("导入失败:" + e.getMessage()); + throw new ServiceException("导入失败:" + e.getMessage()); } } @@ -269,7 +269,7 @@ public class GenTableServiceImpl implements IGenTableService { String path = getGenPath(table, template); FileUtils.writeStringToFile(new File(path), sw.toString(), CharsetKit.UTF_8); } catch (IOException e) { - throw new ServiceException("渲染模板失败,表名:" + table.getTableName()); + throw new ServiceException("渲染模板失败,表名:" + table.getTableName()); } } } @@ -370,7 +370,7 @@ public class GenTableServiceImpl implements IGenTableService { zip.flush(); zip.closeEntry(); } catch (IOException e) { - log.error("渲染模板失败,表名:" + table.getTableName(), e); + log.error("渲染模板失败,表名:" + table.getTableName(), e); } } } diff --git a/muyu-modules/muyu-gen/src/main/resources/logback.xml b/muyu-modules/muyu-gen/src/main/resources/logback.xml index 9ce06ea..5f2cb77 100644 --- a/muyu-modules/muyu-gen/src/main/resources/logback.xml +++ b/muyu-modules/muyu-gen/src/main/resources/logback.xml @@ -15,7 +15,7 @@ ${log.path}/error.log - +${log.path}/error.%d{yyyy-MM-dd}.log @@ -50,9 +50,9 @@ERROR - +ACCEPT - +DENY ${log.path}/info.log - +${log.path}/info.%d{yyyy-MM-dd}.log @@ -28,16 +28,16 @@INFO - +ACCEPT - +DENY diff --git a/muyu-modules/muyu-job/src/main/java/com/muyu/job/service/SysJobServiceImpl.java b/muyu-modules/muyu-job/src/main/java/com/muyu/job/service/SysJobServiceImpl.java index 40d339f..b34abf3 100644 --- a/muyu-modules/muyu-job/src/main/java/com/muyu/job/service/SysJobServiceImpl.java +++ b/muyu-modules/muyu-job/src/main/java/com/muyu/job/service/SysJobServiceImpl.java @@ -31,7 +31,7 @@ public class SysJobServiceImpl implements ISysJobService { private SysJobMapper jobMapper; /** - * 项目启动时,初始化定时器 主要是防止手动修改数据库导致未同步到定时任务处理(注:不能手动修改数据库ID和任务组名,否则会导致脏数据) + * 项目启动时,初始化定时器 主要是防止手动修改数据库导致未同步到定时任务处理(注:不能手动修改数据库ID和任务组名,否则会导致脏数据) */ @PostConstruct public void init () throws SchedulerException, TaskException { diff --git a/muyu-modules/muyu-job/src/main/java/com/muyu/job/task/MyTask.java b/muyu-modules/muyu-job/src/main/java/com/muyu/job/task/MyTask.java index 8a4c7d8..b9a8542 100644 --- a/muyu-modules/muyu-job/src/main/java/com/muyu/job/task/MyTask.java +++ b/muyu-modules/muyu-job/src/main/java/com/muyu/job/task/MyTask.java @@ -11,11 +11,11 @@ import org.springframework.stereotype.Component; @Component("myTask") public class MyTask { public void ryMultipleParams (String s, Boolean b, Long l, Double d, Integer i) { - System.out.println(StringUtils.format("执行多参方法: 字符串类型{},布尔类型{},长整型{},浮点型{},整形{}", s, b, l, d, i)); + System.out.println(StringUtils.format("执行多参方法: 字符串类型{},布尔类型{},长整型{},浮点型{},整形{}", s, b, l, d, i)); } public void ryParams (String params) { - System.out.println("执行有参方法:" + params); + System.out.println("执行有参方法:" + params); } public void ryNoParams () { diff --git a/muyu-modules/muyu-job/src/main/java/com/muyu/job/util/AbstractQuartzJob.java b/muyu-modules/muyu-job/src/main/java/com/muyu/job/util/AbstractQuartzJob.java index 772b248..4849d67 100644 --- a/muyu-modules/muyu-job/src/main/java/com/muyu/job/util/AbstractQuartzJob.java +++ b/muyu-modules/muyu-job/src/main/java/com/muyu/job/util/AbstractQuartzJob.java @@ -40,7 +40,7 @@ public abstract class AbstractQuartzJob implements Job { } after(context, sysJob, null); } catch (Exception e) { - log.error("任务执行异常 - :", e); + log.error("任务执行异常 - :", e); after(context, sysJob, e); } } @@ -72,7 +72,7 @@ public abstract class AbstractQuartzJob implements Job { sysJobLog.setStartTime(startTime); sysJobLog.setStopTime(new Date()); long runMs = sysJobLog.getStopTime().getTime() - sysJobLog.getStartTime().getTime(); - sysJobLog.setJobMessage(sysJobLog.getJobName() + " 总共耗时:" + runMs + "毫秒"); + sysJobLog.setJobMessage(sysJobLog.getJobName() + " 总共耗时:" + runMs + "毫秒"); if (e != null) { sysJobLog.setStatus("1"); String errorMsg = StringUtils.substring(ExceptionUtil.getExceptionMessage(e), 0, 2000); diff --git a/muyu-modules/muyu-job/src/main/resources/logback.xml b/muyu-modules/muyu-job/src/main/resources/logback.xml index 0eebcc4..30d6961 100644 --- a/muyu-modules/muyu-job/src/main/resources/logback.xml +++ b/muyu-modules/muyu-job/src/main/resources/logback.xml @@ -15,7 +15,7 @@ ${log.path}/error.log - +${log.path}/error.%d{yyyy-MM-dd}.log @@ -50,9 +50,9 @@ERROR - +ACCEPT - +DENY ${log.path}/info.log - +${log.path}/info.%d{yyyy-MM-dd}.log @@ -28,16 +28,16 @@INFO - +ACCEPT - +DENY diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/ActivityTeamInfo.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/ActivityTeamInfo.java index 73552d9..6332160 100644 --- a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/ActivityTeamInfo.java +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/ActivityTeamInfo.java @@ -11,9 +11,11 @@ import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; +import java.awt.*; import java.sql.Timestamp; import java.sql.Date; import java.sql.Time; +import java.util.List; /** 商品拼团*/ @Data @@ -51,7 +53,4 @@ public class ActivityTeamInfo extends BaseEntity { private String strategyType; /** 策略ID*/ private long strategyId; - - - } diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/ActivityTeamProductSkuInfo.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/ActivityTeamProductSkuInfo.java index 76d179a..523bba4 100644 --- a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/ActivityTeamProductSkuInfo.java +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/ActivityTeamProductSkuInfo.java @@ -11,6 +11,7 @@ import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; +import java.math.BigDecimal; import java.sql.Timestamp; import java.sql.Date; import java.sql.Time; @@ -25,17 +26,17 @@ import java.sql.Time; public class ActivityTeamProductSkuInfo extends BaseEntity { @TableId(type = IdType.AUTO) /** 主键*/ - private long id; + private Long id; /** 活动ID*/ - private long teamId; + private Long teamId; /** 商品ID*/ - private String productId; + private Long productId; /** 商品SKU*/ private String productSku; /** 拼团库存*/ - private String teamStock; + private Long teamStock; /** 拼团价格*/ - private String teamPrice; + private BigDecimal teamPrice; } diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/TeamDiscountModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/TeamDiscountModel.java deleted file mode 100644 index c6bd680..0000000 --- a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/TeamDiscountModel.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.muyu.marketing.domain.model; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** 团购活动 优惠模型*/ -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class TeamDiscountModel { - - - -} diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/TeamProductDiscountPriceModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/TeamProductDiscountPriceModel.java new file mode 100644 index 0000000..3cfcb23 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/TeamProductDiscountPriceModel.java @@ -0,0 +1,38 @@ +package com.muyu.marketing.domain.model; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; +import java.math.RoundingMode; + +/** 团购活动 优惠模型*/ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor + +public class TeamProductDiscountPriceModel { + + /** 商品价格*/ + private BigDecimal productPrice; + /** 团购优惠价*/ + private BigDecimal teamPrice; + /** 优惠力度*/ + private Double discount; + + public static TeamProductDiscountPriceModel of (BigDecimal productPrice,BigDecimal teamPrice){ + TeamProductDiscountPriceModel teamProductDiscountPriceModel = TeamProductDiscountPriceModel.builder() + .productPrice(productPrice) + .teamPrice(teamPrice) + .discount( + productPrice.subtract(teamPrice).divide(productPrice, 2, RoundingMode.HALF_DOWN).doubleValue() + ) + .build(); + return teamProductDiscountPriceModel; + } + + +} diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ActivityTeamInfoListResp.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ActivityTeamInfoListReq.java similarity index 91% rename from muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ActivityTeamInfoListResp.java rename to muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ActivityTeamInfoListReq.java index 692f735..a387bc2 100644 --- a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ActivityTeamInfoListResp.java +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ActivityTeamInfoListReq.java @@ -1,9 +1,10 @@ -package com.muyu.marketing.domain.resp; +package com.muyu.marketing.domain.req; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModel; import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; @@ -14,11 +15,11 @@ import java.sql.Timestamp; * 拼团resp */ @Data -@SuperBuilder +@Builder @NoArgsConstructor @AllArgsConstructor @ApiModel(value = "ActivityTeamInfoListReq", description = "拼团") -public class ActivityTeamInfoListResp { +public class ActivityTeamInfoListReq { @TableId(type = IdType.AUTO) /** 主键*/ diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/AddProjectSkuList.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/AddProjectSkuList.java new file mode 100644 index 0000000..2a7f217 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/AddProjectSkuList.java @@ -0,0 +1,21 @@ +package com.muyu.marketing.domain.req; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.apache.poi.hpsf.Decimal; + +/** 添加拼团(商品规格List)Resp*/ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class AddProjectSkuList { + /** 商品sku*/ + private String productSku; + /** 拼团价格*/ + private Decimal teamPrice; + /** 库存库存*/ + private Integer teamStock; +} diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ActivityTeamInfoAddResp.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ActivityTeamInfoAddResp.java new file mode 100644 index 0000000..c0ddbff --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ActivityTeamInfoAddResp.java @@ -0,0 +1,54 @@ +package com.muyu.marketing.domain.resp; + +import com.muyu.marketing.domain.req.AddProjectSkuList; +import io.swagger.annotations.ApiModel; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * 添加拼团Resp + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel(value = "ActivityTeamInfoReq", description = "添加拼团") +public class ActivityTeamInfoAddResp { + + /** 商品id*/ + private Long projectId; + + /** 商品图片*/ + private String projectImage; + + /** 活动名称*/ + private String activityName; + + /** 活动介绍*/ + private String activities; + + /** 商品单位*/ + private String projectUnit; + + /** 轮播图*/ + private String carouselImages; + + /** 拼团策略id*/ + private Long strategyId; + + /** 拼团策略类型*/ + private String strategyType; + + /** 商品规格List*/ + private List ${log.path}/error.log - +${log.path}/error.%d{yyyy-MM-dd}.log @@ -50,9 +50,9 @@ERROR - +ACCEPT - +DENY projectSkuList; + + /** 全重*/ + private Long weight; + /** 商品详情*/ + private String goodsDetails; + +} diff --git a/muyu-modules/muyu-marketing/marketing-server/pom.xml b/muyu-modules/muyu-marketing/marketing-server/pom.xml index 21cecfe..e5b2776 100644 --- a/muyu-modules/muyu-marketing/marketing-server/pom.xml +++ b/muyu-modules/muyu-marketing/marketing-server/pom.xml @@ -48,6 +48,14 @@ dynamic-datasource-spring-boot-starter ${dynamic-ds.version} ++ +com.muyu +muyu-product-cache ++ diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/MuYuMarketIngApplication.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/MuYuMarketIngApplication.java index d926c67..a3b24b1 100644 --- a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/MuYuMarketIngApplication.java +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/MuYuMarketIngApplication.java @@ -2,6 +2,7 @@ package com.muyu.marketing; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.stereotype.Component; /** @@ -11,6 +12,7 @@ import org.springframework.stereotype.Component; */ @SpringBootApplication @Component +@EnableFeignClients public class MuYuMarketIngApplication { public static void main(String[] args) { SpringApplication.run(MuYuMarketIngApplication.class,args); diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/controller/ActivityTeamInfoController.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/controller/ActivityTeamInfoController.java index cbf7ea0..df1287a 100644 --- a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/controller/ActivityTeamInfoController.java +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/controller/ActivityTeamInfoController.java @@ -8,10 +8,12 @@ import com.muyu.marketing.domain.model.ActivityTeamInfoListModel; import com.muyu.marketing.domain.model.ActivityTeamInfoListQueryModel; import com.muyu.marketing.domain.req.TeamInfoListReq; +import com.muyu.marketing.domain.resp.ActivityTeamInfoAddResp; import com.muyu.marketing.service.ActivityTeamInfoService; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -40,6 +42,16 @@ public class ActivityTeamInfoController { return Result.success(tableDataInfo); } + /** + * 新增拼团活动 + */ + @ApiOperation("添加拼团") + @PostMapping("add") + public Resultcom.muyu +muyu-common-security +add(@RequestBody ActivityTeamInfoAddResp activityTeamInfoAddResp) { + activityTeamInfoService.addActivityTeamInfo(activityTeamInfoAddResp); + return Result.success("创建成功"); + } + diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/service/ActivityTeamInfoService.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/service/ActivityTeamInfoService.java index 4a3d22f..999ac74 100644 --- a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/service/ActivityTeamInfoService.java +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/service/ActivityTeamInfoService.java @@ -5,10 +5,24 @@ import com.muyu.common.core.web.page.TableDataInfo; import com.muyu.marketing.domain.ActivityTeamInfo; import com.muyu.marketing.domain.model.ActivityTeamInfoListModel; import com.muyu.marketing.domain.model.ActivityTeamInfoListQueryModel; +import com.muyu.marketing.domain.resp.ActivityTeamInfoAddResp; /** 拼团*/ public interface ActivityTeamInfoService extends IService { + + /** + * 拼团活动列表 + * @param activityTeamInfoListQueryModel + * @return + */ TableDataInfo tabDateInfo(ActivityTeamInfoListQueryModel activityTeamInfoListQueryModel); + + /** + * 添加拼团活动 + */ + void addActivityTeamInfo(ActivityTeamInfoAddResp activityTeamInfoAddResp); + + } diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/service/ActivityTeamProductSkuInfoService.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/service/ActivityTeamProductSkuInfoService.java index 545a2c1..bcfb719 100644 --- a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/service/ActivityTeamProductSkuInfoService.java +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/service/ActivityTeamProductSkuInfoService.java @@ -1,4 +1,7 @@ package com.muyu.marketing.service; +import com.muyu.marketing.domain.model.TeamProductDiscountPriceModel; + public interface ActivityTeamProductSkuInfoService { + public TeamProductDiscountPriceModel getDiscountPrice(Long teamId); } diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/service/impl/ActivityTeamInfoServiceImpl.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/service/impl/ActivityTeamInfoServiceImpl.java index 68f13bc..b54ff15 100644 --- a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/service/impl/ActivityTeamInfoServiceImpl.java +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/service/impl/ActivityTeamInfoServiceImpl.java @@ -8,9 +8,11 @@ import com.muyu.common.core.web.page.TableDataInfo; import com.muyu.marketing.domain.ActivityTeamInfo; import com.muyu.marketing.domain.model.ActivityTeamInfoListModel; import com.muyu.marketing.domain.model.ActivityTeamInfoListQueryModel; +import com.muyu.marketing.domain.resp.ActivityTeamInfoAddResp; import com.muyu.marketing.mapper.ActivityTeamInfoMapper; import com.muyu.marketing.service.ActivityTeamInfoService; import com.muyu.marketing.service.ActivityTeamOpenInfoService; +import com.muyu.marketing.service.ActivityTeamProductSkuInfoService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -30,6 +32,7 @@ implements ActivityTeamInfoService { @Autowired private ActivityTeamOpenInfoService activityTeamOpenInfoService; + /** * 团购活动列表 */ @@ -71,5 +74,30 @@ implements ActivityTeamInfoService { return tableDataInfo; } + + + /** + * 添加 拼团 活动 + */ + @Override + public void addActivityTeamInfo(ActivityTeamInfoAddResp addResp) { + + //查询 商品 + ActivityTeamInfo build = ActivityTeamInfo.builder() + .name(addResp.getActivityName()) + .productId(addResp.getProjectId()) + .productImage(addResp.getProjectImage()) + .introduction(addResp.getCarouselImages()) + .unit(addResp.getProjectUnit()) + .imageList(addResp.getCarouselImages()) + .strategyType(addResp.getStrategyType()) + .strategyId(addResp.getStrategyId()) + .build(); + + activityTeamInfoMapper.insert(build); + + } + + } diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/service/impl/ActivityTeamProductSkuInfoServiceImpl.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/service/impl/ActivityTeamProductSkuInfoServiceImpl.java index fcf02d6..94b924f 100644 --- a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/service/impl/ActivityTeamProductSkuInfoServiceImpl.java +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/service/impl/ActivityTeamProductSkuInfoServiceImpl.java @@ -1,13 +1,46 @@ package com.muyu.marketing.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.muyu.marketing.domain.ActivityTeamProductSkuInfo; +import com.muyu.marketing.domain.model.TeamProductDiscountPriceModel; import com.muyu.marketing.mapper.ActivityTeamProductSkuInfoMapper; import com.muyu.marketing.service.ActivityTeamProductSkuInfoService; +import com.muyu.product.cache.ProjectSkuCache; +import com.muyu.product.domain.ProjectSkuInfo; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Optional; + @Service public class ActivityTeamProductSkuInfoServiceImpl extends ServiceImpl implements ActivityTeamProductSkuInfoService { + @Autowired + + private ProjectSkuCache projectSkuCache; + + @Override // + public TeamProductDiscountPriceModel getDiscountPrice(Long teamId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(ActivityTeamProductSkuInfo :: getTeamId , teamId); + List teamProductSkuInfoList = this.list(queryWrapper); + //优惠模型集合 + + Optional discountPriceModelOptional = teamProductSkuInfoList.stream() + .map(activityTeamProductSkuInfo -> { + ProjectSkuInfo projectSkuInfo = projectSkuCache.get(activityTeamProductSkuInfo.getProductId(), activityTeamProductSkuInfo.getProductSku()); + return TeamProductDiscountPriceModel.of(projectSkuInfo.getPrice(), activityTeamProductSkuInfo.getTeamPrice()); + }).min((o1, o2) -> Double.valueOf(o1.getDiscount() *100 - o2.getDiscount() * 100). intValue()); + + + if (discountPriceModelOptional.isEmpty()){ + throw new RuntimeException("团队下没有绑定商品"); + } + + return discountPriceModelOptional.get(); + } } diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/resources/logback.xml b/muyu-modules/muyu-marketing/marketing-server/src/main/resources/logback.xml index aa340cd..7419845 100644 --- a/muyu-modules/muyu-marketing/marketing-server/src/main/resources/logback.xml +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/resources/logback.xml @@ -15,7 +15,7 @@ ${log.path}/info.log - +${log.path}/info.%d{yyyy-MM-dd}.log @@ -28,16 +28,16 @@INFO - +ACCEPT - +DENY diff --git a/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/datasource/impl/ProjectSkuDataRemoteImpl.java b/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/datasource/impl/ProjectSkuDataRemoteImpl.java index 5ca234c..feca22a 100644 --- a/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/datasource/impl/ProjectSkuDataRemoteImpl.java +++ b/muyu-modules/muyu-product/muyu-product-cache/src/main/java/com/muyu/product/cache/datasource/impl/ProjectSkuDataRemoteImpl.java @@ -1,17 +1,18 @@ package com.muyu.product.cache.datasource.impl; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; + import com.muyu.common.core.domain.Result; import com.muyu.product.cache.datasource.ProjectSkuData; import com.muyu.product.domain.ProjectSkuInfo; import com.muyu.product.remote.RemoteProjectSkuService; -import org.springframework.beans.factory.annotation.Autowired; + import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.function.Function; + import java.util.stream.Collectors; /** @@ -22,7 +23,7 @@ import java.util.stream.Collectors; @Service public class ProjectSkuDataRemoteImpl implements ProjectSkuData { - @Autowired + @Resource private RemoteProjectSkuService remoteProjectSkuService; /** diff --git a/muyu-modules/muyu-product/muyu-product-remote/src/main/java/com/muyu/product/remote/RemoteProjectSkuService.java b/muyu-modules/muyu-product/muyu-product-remote/src/main/java/com/muyu/product/remote/RemoteProjectSkuService.java index 177ced8..da73a3c 100644 --- a/muyu-modules/muyu-product/muyu-product-remote/src/main/java/com/muyu/product/remote/RemoteProjectSkuService.java +++ b/muyu-modules/muyu-product/muyu-product-remote/src/main/java/com/muyu/product/remote/RemoteProjectSkuService.java @@ -21,6 +21,7 @@ import java.util.List; fallbackFactory = RemoteProjectSkuFactory.class, path = "/sku" ) + public interface RemoteProjectSkuService { /** diff --git a/muyu-modules/muyu-product/muyu-product-remote/src/main/java/com/muyu/product/remote/factory/RemoteRuleFactory.java b/muyu-modules/muyu-product/muyu-product-remote/src/main/java/com/muyu/product/remote/factory/RemoteRuleFactory.java index 9a99497..a2e0585 100644 --- a/muyu-modules/muyu-product/muyu-product-remote/src/main/java/com/muyu/product/remote/factory/RemoteRuleFactory.java +++ b/muyu-modules/muyu-product/muyu-product-remote/src/main/java/com/muyu/product/remote/factory/RemoteRuleFactory.java @@ -1,9 +1,7 @@ package com.muyu.product.remote.factory; import com.muyu.common.core.domain.Result; -import com.muyu.product.domain.ProjectSkuInfo; import com.muyu.product.domain.RuleInfo; -import com.muyu.product.remote.RemoteProjectSkuService; import com.muyu.product.remote.RemoteRuleService; import org.springframework.cloud.openfeign.FallbackFactory; diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/resources/logback.xml b/muyu-modules/muyu-product/muyu-product-server/src/main/resources/logback.xml index 69fb68b..f85aee9 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/resources/logback.xml +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/resources/logback.xml @@ -15,7 +15,7 @@ ${log.path}/error.log - +${log.path}/error.%d{yyyy-MM-dd}.log @@ -50,9 +50,9 @@ERROR - +ACCEPT - +DENY ${log.path}/info.log - +${log.path}/info.%d{yyyy-MM-dd}.log @@ -28,16 +28,16 @@INFO - +ACCEPT - +DENY diff --git a/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/resources/logback.xml b/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/resources/logback.xml index aa340cd..7419845 100644 --- a/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/resources/logback.xml +++ b/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/resources/logback.xml @@ -15,7 +15,7 @@ ${log.path}/error.log - +${log.path}/error.%d{yyyy-MM-dd}.log @@ -50,9 +50,9 @@ERROR - +ACCEPT - +DENY ${log.path}/info.log - +${log.path}/info.%d{yyyy-MM-dd}.log @@ -28,16 +28,16 @@INFO - +ACCEPT - +DENY diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/vo/RouterVo.java b/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/vo/RouterVo.java index df51982..df1b7dc 100644 --- a/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/vo/RouterVo.java +++ b/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/vo/RouterVo.java @@ -37,7 +37,7 @@ public class RouterVo { private String component; /** - * 路由参数:如 {"id": 1, "name": "ry"} + * 路由参数:如 {"id": 1, "name": "ry"} */ private String query; diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysUserServiceImpl.java b/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysUserServiceImpl.java index ab88e1c..e5ceb66 100644 --- a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysUserServiceImpl.java +++ b/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysUserServiceImpl.java @@ -486,16 +486,16 @@ public class SysUserServiceImpl extends ServiceImpl ${log.path}/error.log - +${log.path}/error.%d{yyyy-MM-dd}.log @@ -50,9 +50,9 @@ERROR - +ACCEPT - +DENY impl } } catch (Exception e) { failureNum++; - String msg = "
" + failureNum + "、账号 " + user.getUserName() + " 导入失败:"; + String msg = "
" + failureNum + "、账号 " + user.getUserName() + " 导入失败:"; failureMsg.append(msg + e.getMessage()); log.error(msg, e); } } if (failureNum > 0) { - failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:"); + failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:"); throw new ServiceException(failureMsg.toString()); } else { - successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:"); + successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:"); } return successMsg.toString(); } diff --git a/muyu-modules/muyu-system/src/main/resources/logback.xml b/muyu-modules/muyu-system/src/main/resources/logback.xml index aa340cd..7419845 100644 --- a/muyu-modules/muyu-system/src/main/resources/logback.xml +++ b/muyu-modules/muyu-system/src/main/resources/logback.xml @@ -15,7 +15,7 @@${log.path}/info.log - +${log.path}/info.%d{yyyy-MM-dd}.log @@ -28,16 +28,16 @@INFO - +ACCEPT - +DENY diff --git a/muyu-visual/muyu-monitor/src/main/resources/logback.xml b/muyu-visual/muyu-monitor/src/main/resources/logback.xml index 66e0d25..603e7a6 100644 --- a/muyu-visual/muyu-monitor/src/main/resources/logback.xml +++ b/muyu-visual/muyu-monitor/src/main/resources/logback.xml @@ -15,7 +15,7 @@ ${log.path}/error.log - +${log.path}/error.%d{yyyy-MM-dd}.log @@ -50,9 +50,9 @@ERROR - +ACCEPT - +DENY ${log.path}/info.log - +${log.path}/info.%d{yyyy-MM-dd}.log @@ -28,16 +28,16 @@INFO - +ACCEPT - +DENY diff --git a/sql/ry-cloud.sql b/sql/ry-cloud.sql index 357eaeb..6dc51c5 100644 --- a/sql/ry-cloud.sql +++ b/sql/ry-cloud.sql @@ -721,9 +721,9 @@ CREATE TABLE `sys_job_log` ( -- ---------------------------- -- Records of sys_job_log -- ---------------------------- -INSERT INTO `sys_job_log` VALUES (1, '系统默认(无参)', 'DEFAULT', 'myTask.ryNoParams', '系统默认(无参) 总共耗时:2毫秒', '0', '', '2024-03-08 20:51:30'); -INSERT INTO `sys_job_log` VALUES (2, '系统默认(无参)', 'DEFAULT', 'myTask.ryNoParams', '系统默认(无参) 总共耗时:0毫秒', '0', '', '2024-03-08 20:51:38'); -INSERT INTO `sys_job_log` VALUES (3, '系统默认(无参)', 'DEFAULT', 'myTask.ryNoParams', '系统默认(无参) 总共耗时:0毫秒', '0', '', '2024-03-08 21:22:37'); +INSERT INTO `sys_job_log` VALUES (1, '系统默认(无参)', 'DEFAULT', 'myTask.ryNoParams', '系统默认(无参) 总共耗时:2毫秒', '0', '', '2024-03-08 20:51:30'); +INSERT INTO `sys_job_log` VALUES (2, '系统默认(无参)', 'DEFAULT', 'myTask.ryNoParams', '系统默认(无参) 总共耗时:0毫秒', '0', '', '2024-03-08 20:51:38'); +INSERT INTO `sys_job_log` VALUES (3, '系统默认(无参)', 'DEFAULT', 'myTask.ryNoParams', '系统默认(无参) 总共耗时:0毫秒', '0', '', '2024-03-08 21:22:37'); -- ---------------------------- -- Table structure for sys_logininfor @@ -1388,8 +1388,8 @@ CREATE TABLE `sys_notice` ( -- ---------------------------- -- Records of sys_notice -- ---------------------------- -INSERT INTO `sys_notice` VALUES (1, '温馨提醒:2018-07-01 若依新版本发布啦', '1', 0xE696B0E78988E69CACE58685E5AEB9, '0', 'admin', '2023-11-12 15:57:50', 'admin', '2024-03-08 20:52:38', '管理员'); -INSERT INTO `sys_notice` VALUES (2, '维护通知:2018-07-01 若依系统凌晨维护', '1', 0xE7BBB4E68AA4E58685E5AEB9, '0', 'admin', '2023-11-12 15:57:50', '', NULL, '管理员'); +INSERT INTO `sys_notice` VALUES (1, '温馨提醒:2018-07-01 若依新版本发布啦', '1', 0xE696B0E78988E69CACE58685E5AEB9, '0', 'admin', '2023-11-12 15:57:50', 'admin', '2024-03-08 20:52:38', '管理员'); +INSERT INTO `sys_notice` VALUES (2, '维护通知:2018-07-01 若依系统凌晨维护', '1', 0xE7BBB4E68AA4E58685E5AEB9, '0', 'admin', '2023-11-12 15:57:50', '', NULL, '管理员'); -- ---------------------------- -- Table structure for sys_oper_log @@ -1696,7 +1696,7 @@ CREATE TABLE `sys_role` ( `role_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '角色名称', `role_key` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '角色权限字符串', `role_sort` int(4) NOT NULL COMMENT '显示顺序', - `data_scope` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '1' COMMENT '数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)', + `data_scope` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '1' COMMENT '数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)', `menu_check_strictly` tinyint(1) NULL DEFAULT 1 COMMENT '菜单树选择项是否关联显示', `dept_check_strictly` tinyint(1) NULL DEFAULT 1 COMMENT '部门树选择项是否关联显示', `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '角色状态(0正常 1停用)', ${log.path}/error.log - +${log.path}/error.%d{yyyy-MM-dd}.log @@ -50,9 +50,9 @@ERROR - +ACCEPT - +DENY