Explorar el Código

1.修改代码生成模板
2.完成库存查询接口

sh4wmoo hace 3 años
padre
commit
357366e1e5

+ 11 - 0
pom.xml

@@ -193,6 +193,17 @@
                 </exclusion>
             </exclusions>
         </dependency>
+        <!-- Freemarker模板引擎-->
+        <dependency>
+            <groupId>org.freemarker</groupId>
+            <artifactId>freemarker</artifactId>
+        </dependency>
+        <!--swagger-->
+        <dependency>
+            <groupId>com.spring4all</groupId>
+            <artifactId>spring-boot-starter-swagger</artifactId>
+            <version>1.5.1.RELEASE</version>
+        </dependency>
     </dependencies>
 
     <build>

+ 43 - 0
src/main/java/com/dk/mnls_mp/controller/mnls/IbossDataController.java

@@ -0,0 +1,43 @@
+package com.dk.mnls_mp.controller.mnls;
+
+
+import com.dk.mnls_mp.model.query.IbossDataQuery;
+import com.dk.mnls_mp.service.mnls.IbossDataService;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+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;
+
+import javax.validation.Valid;
+
+/**
+ * <p>
+ * iBOSS数据表 前端控制器
+ * </p>
+ *
+ * @author 张潇木
+ * @since 2022-09-16
+ */
+@RestController
+@RequestMapping("/iboss_data")
+public class IbossDataController {
+
+    @Autowired
+    IbossDataService ibossDataService;
+
+
+    /**
+     * @desc   : 查询库存数据
+     * @author : 张潇木
+     * @date   : 2022-9-16 16:57
+     */
+    @ApiOperation(value = "查询库存数据", notes = "查询库存数据")
+    @PostMapping({"/get_inventory"})
+    public ResponseResultVO getInventory(@Valid @RequestBody IbossDataQuery query) {
+        return ibossDataService.getInventory(query);
+    }
+}

+ 2 - 2
src/main/java/com/dk/mnls_mp/generator/Generator.java

@@ -33,7 +33,7 @@ import java.util.ArrayList;
  * @date : 2022-3-1 12:53
  */
 @SuppressWarnings("AlibabaAvoidCommentBehindStatement")
-@SpringBootTest
+@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)//springbootTest启动时不会启动服务器,所以websocket就会报错,这个时候需要在注解中添加webEnvironment,给websocket提供测试环境:
 @RunWith(SpringRunner.class)//不加无法注入Mapper
 @Slf4j
 public class Generator {
@@ -126,7 +126,7 @@ public class Generator {
                 .setEntity("/mp_templates/entity.java")                            // 设置生成entity的模板
                 .setMapper("/mp_templates/mapper.java")                    // 设置生成mapper的模板
 //                .setController("/mp_templates/controller.java")       			// 设置生成service的模板
-//                .setService(null)							// 设置生成serviceImpl的模板
+                .setService(null)							// 设置生成serviceImpl的模板
                 .setServiceImpl("/mp_templates/serviceImpl.java");                // 设置生成controller的模板
         mpg.setTemplate(tc);
         mpg.setTemplateEngine(new FreemarkerTemplateEngine());            // 选择 freemarker引擎,注意 pom 依赖必须有!

+ 14 - 0
src/main/java/com/dk/mnls_mp/mapper/mnls/IbossDataMapper.java

@@ -0,0 +1,14 @@
+package com.dk.mnls_mp.mapper.mnls;
+
+import com.dk.mnls_mp.model.pojo.mnls.IbossData;
+import com.dk.mnls_mp.infrastructure.base.MPBaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+*  iBOSS数据表 Mapper
+*/
+@Repository
+public interface IbossDataMapper extends MPBaseMapper<IbossData>{
+	
+}
+

+ 111 - 0
src/main/java/com/dk/mnls_mp/mapper/mnls/IbossDataMapper.xml

@@ -0,0 +1,111 @@
+<?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.dk.mnls_mp.mapper.mnls.IbossDataMapper">
+
+    <!-- 通用设置 -->
+    <!-- 通用查询列 -->
+    <sql id="Base_Column_List">
+        id, data_type, customer_id, create_date, data, count
+    </sql>
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.dk.mnls_mp.model.pojo.mnls.IbossData">
+        <id column="id" property="id"/>
+                <result column="data_type" property="dataType"/>
+                <result column="customer_id" property="customerId"/>
+                <result column="data" property="data" typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler"/>
+                <result column="count" property="count"/>
+    </resultMap>
+
+    <!-- 通用条件列 -->
+    <sql id="Condition">
+        <where>
+            <if test="dataType != null">
+                AND data_type = #{dataType}
+            </if>
+            <if test="customerId != null">
+                AND customer_id = #{customerId}
+            </if>
+            <if test="createDate != null">
+                AND create_date = #{createDate}
+            </if>
+            <if test="data != null and data != ''">
+                AND data = #{data}
+            </if>
+            <if test="count != null">
+                AND count = #{count}
+            </if>
+        </where>
+    </sql>
+
+    <sql id="idsForeach">
+        <!-- 根据主键id批量操作 -->
+        WHERE id in
+        <foreach collection="ids" index="index" item="item" separator="," open="(" close=")">
+            #{item}
+        </foreach>
+    </sql>
+
+    <!-- 查询表t_iboss_data,(条件查询+分页)列表 -->
+    <select id="selectByCond" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_iboss_data
+        <include refid="Condition"/>
+        <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
+            limit #{end} offset #{start}
+        </if>
+    </select>
+
+    <!-- 查询表t_iboss_data,(条件查询)个数 -->
+    <select id="countByCond" resultType="Long">
+        SELECT
+        count(1)
+        FROM t_iboss_data
+        <include refid="Condition"/>
+    </select>
+
+
+    <!-- 根据主键锁定表t_iboss_data的一行数据 -->
+    <select id="selectByIdForUpdate" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_iboss_data
+        WHERE id = #{id}
+        for update
+    </select>
+
+    <!-- 根据主键锁定表t_iboss_data的多行数据 -->
+    <select id="selectByIdsForUpdate" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_iboss_data
+        <include refid="idsForeach"/>
+        for update
+    </select>
+
+    <insert id="insertBatch">
+        insert into t_iboss_data
+        (
+        <trim suffixOverrides=",">
+            data_type,
+            customer_id,
+            create_date,
+            data,
+            count,
+        </trim>
+        )
+        values
+        <foreach collection="list" index="index" item="item" separator=",">
+            (
+            <trim suffixOverrides=",">
+                #{item.dataType},
+                #{item.customerId},
+                #{item.createDate},
+                #{item.data},
+                #{item.count},
+            </trim>
+            )
+        </foreach>
+    </insert>
+</mapper>

+ 64 - 0
src/main/java/com/dk/mnls_mp/model/pojo/mnls/IbossData.java

@@ -0,0 +1,64 @@
+package com.dk.mnls_mp.model.pojo.mnls;
+
+import com.alibaba.fastjson.JSONArray;
+import com.baomidou.mybatisplus.annotation.*;
+import java.io.Serializable;
+
+import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
+import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
+import lombok.Data;
+import lombok.AllArgsConstructor;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+/**
+ *  iBOSS数据表
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Accessors(chain = true)
+@TableName(value = "t_iboss_data", autoResultMap = true)
+public class IbossData implements Serializable {
+
+    /**
+     * 主键id
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+
+    /**
+     * 数据类型 (1:库存 2:其他)
+     */
+    private Long dataType;
+
+
+    /**
+     * 经销商id
+     */
+    private Long customerId;
+
+
+    /**
+     * 创建时间
+     */
+    private String createDate;
+
+
+    /**
+     * 数据
+     */
+    @TableField(typeHandler = JacksonTypeHandler.class)
+    private JSONArray data;
+
+
+    /**
+     * 数据条数
+     */
+    private Integer count;
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 30 - 0
src/main/java/com/dk/mnls_mp/model/query/IbossDataQuery.java

@@ -0,0 +1,30 @@
+package com.dk.mnls_mp.model.query;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import javax.validation.constraints.Pattern;
+import java.io.Serializable;
+
+/**
+ * @desc   : IBOSS数据查询实体
+ * @author : 张潇木
+ * @date   : 2022-9-16 16:49
+ */
+@Data
+@ApiModel(value="IBOSS数据查询实体", description="IBOSS数据查询实体")
+public class IbossDataQuery implements Serializable {
+
+    @NotNull(message = "经销商编码不能为空")
+    @ApiModelProperty(value = "经销商编码")
+    private String dealerCode;
+
+    @NotNull(message = "中台创建日期不能为空")
+    @Pattern(regexp = "^\\d{4}-\\d{1,2}-\\d{1,2}",message = "日期格式不合法")
+    @ApiModelProperty(value = "中台创建日期")
+    private String createDate;
+
+    private static final long serialVersionUID = 1L;
+}

+ 41 - 0
src/main/java/com/dk/mnls_mp/service/mnls/IbossDataService.java

@@ -0,0 +1,41 @@
+package com.dk.mnls_mp.service.mnls;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.dk.mnls_mp.model.pojo.mnls.IbossData;
+import com.dk.mnls_mp.mapper.mnls.IbossDataMapper;
+import com.dk.mnls_mp.infrastructure.base.MPBaseService;
+import com.dk.mnls_mp.infrastructure.base.MPBaseMapper;
+import com.dk.mnls_mp.model.query.IbossDataQuery;
+import com.dongke.base.exceptionHandler.ResponseResultUtil;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import org.springframework.stereotype.Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+@Service
+@Transactional
+public class IbossDataService extends MPBaseService<IbossData> {
+
+	@Override
+	public MPBaseMapper<IbossData> getRepository() {
+		return ibossDataMapper;
+	}
+
+	@Autowired
+	private IbossDataMapper ibossDataMapper;
+
+	/**
+	 * @desc   : 查询库存数据
+	 * @author : 张潇木
+	 * @date   : 2022-9-16 16:57
+	 */
+	public ResponseResultVO getInventory(IbossDataQuery query) {
+		//校验日期是否合法,经销商编码是否存在
+		IbossData one = super.getOne(new QueryWrapper<IbossData>().lambda()
+				.eq(IbossData::getDataType, 1L)
+				.eq(IbossData::getCreateDate,query.getCreateDate())
+				.eq(IbossData::getCustomerId,1)
+		);
+		return ResponseResultUtil.success(one.getData());
+	}
+}

+ 3 - 39
src/main/resources/mp_templates/entity.java.ftl

@@ -10,15 +10,10 @@ import lombok.AllArgsConstructor;
 import lombok.NoArgsConstructor;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import com.alibaba.fastjson.JSONObject;
 
 import java.util.List;
 <#list table.importPackages as pkg>
-<#if pkg == "java.util.Date" || pkg == "java.time.LocalDateTime">
-import java.time.LocalDateTime;
-</#if>
+
 </#list>
 
 <#if table.comment!="">
@@ -29,17 +24,9 @@ import java.time.LocalDateTime;
 @Data
 @AllArgsConstructor
 @NoArgsConstructor
-@EqualsAndHashCode(callSuper = true)
 @Accessors(chain = true)
-<#if table.comment!="">
-@ExportTitle("${table.comment!}")
-</#if>
-<#if table.comment=="">
-@ExportTitle
-</#if>
 @TableName(value = "${table.name}", autoResultMap = true)
-@ApiModel(value="实体类:${table.comment}", description="表名:${table.name}")
-public class ${entity} extends PageInfo<${entity}> implements Serializable {
+public class ${entity} implements Serializable {
 
     /*
      * 数据库字段
@@ -78,19 +65,7 @@ public class ${entity} extends PageInfo<${entity}> implements Serializable {
 <#--    @TableLogic(value = "1", delval = "-1")-->
 <#--    </#if>-->
     <#-- 创建时需要自动赋值的列 -->
-    <#if !field.keyFlag && field.comment!="" && field.name !="value_flag" &&
-    field.name !="update_user_id" &&  field.name !="create_user_id" && field.name !="op_create_time" &&  field.name !="op_update_time">
-    @Excel(name = "${field.comment!}")
-    </#if>
-    <#if  field.name =="op_create_time" ||  field.name =="op_update_time">
-    @Excel(name = "${field.comment!}", format = "yyyy-MM-dd HH:mm:ss", width = 20)
-    </#if>
-    @ApiModelProperty(value = "${field.comment!}")
-    <#if field.propertyType =="Date">
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    @TableField(typeHandler = TimestampTypeHandler.class)
-    private LocalDateTime ${field.propertyName};
-    <#elseif field.type == "bigint[]">
+    <#if field.type == "bigint[]">
     @TableField(typeHandler = BigIntListTypeHandler.class)
     private List<Long> ${field.propertyName};
     <#elseif field.type == "int[]" || field.type == "integer[]">
@@ -111,17 +86,6 @@ public class ${entity} extends PageInfo<${entity}> implements Serializable {
 
 </#list>
 
-    /*
-     * 相关属性
-     * @TableField(exist = false)
-     */
-
-    /*
-     * 关联属性 + 查询条件
-     * @TableField(exist = false)
-     */
-
-
     private static final long serialVersionUID = 1L;
 
 }

+ 2 - 2
src/main/resources/mp_templates/mapper.java.ftl

@@ -1,7 +1,7 @@
 package ${package.Mapper};
 
 import ${package.Entity}.${entity};
-import com.hegii.scrm.common.mapper.BaseMapper;
+import com.dk.mnls_mp.infrastructure.base.MPBaseMapper;
 import org.springframework.stereotype.Repository;
 
 <#if table.comment!="">
@@ -10,7 +10,7 @@ import org.springframework.stereotype.Repository;
 */
 </#if>
 @Repository
-public interface ${table.mapperName} extends BaseMapper<${entity}>{
+public interface ${table.mapperName} extends MPBaseMapper<${entity}>{
 	
 }
 

+ 0 - 4
src/main/resources/mp_templates/mapper.xml.ftl

@@ -25,10 +25,6 @@
     </#list>
     <#list table.fields as field>
         <#if !field.keyFlag><#--生成普通字段 -->
-        <#if field.propertyType =="Date">
-            <result column="${field.name}" property="${field.propertyName}"
-                    typeHandler="com.hegii.scrm.common.infrastructure.handler.TimestampTypeHandler"/>
-        </#if>
         <#if field.propertyType !="Date">
             <#if field.type =="bigint[]">
                 <result column="${field.name}" property="${field.propertyName}"

+ 4 - 4
src/main/resources/mp_templates/serviceImpl.java.ftl

@@ -2,18 +2,18 @@ package ${package.ServiceImpl};
 
 import ${package.Entity}.${entity};
 import ${package.Mapper}.${table.mapperName};
-import com.hegii.scrm.common.service.BaseService;
-import com.hegii.scrm.common.mapper.BaseMapper;
+import com.dk.mnls_mp.infrastructure.base.MPBaseService;
+import com.dk.mnls_mp.infrastructure.base.MPBaseMapper;
 import org.springframework.stereotype.Service;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 
 @Service
 @Transactional
-public class ${table.serviceImplName} extends BaseService<${entity}> {
+public class ${table.serviceImplName} extends MPBaseService<${entity}> {
 
 	@Override
-	public BaseMapper<${entity}> getRepository() {
+	public MPBaseMapper<${entity}> getRepository() {
 		return ${table.entityPath}Mapper;
 	}