浏览代码

原框架拓展接口

home 2 年之前
父节点
当前提交
ccb972ea82

+ 90 - 65
bladex/blade-service-api/blade-system-api/src/main/java/org/springblade/system/entity/Tenant.java

@@ -41,72 +41,97 @@ import java.util.Date;
 @ApiModel(value = "Tenant对象", description = "Tenant对象")
 public class Tenant extends BaseEntity {
 
-	private static final long serialVersionUID = 1L;
+    private static final long serialVersionUID = 1L;
 
-	/**
-	 * 租户ID
-	 */
-	@ApiModelProperty(value = "租户ID")
-	private String tenantId;
-	/**
-	 * 租户名称
-	 */
-	@ApiModelProperty(value = "租户名称")
-	private String tenantName;
-	/**
-	 * 域名地址
-	 */
-	@ApiModelProperty(value = "域名地址")
-	private String domainUrl;
-	/**
-	 * 系统背景
-	 */
-	@ApiModelProperty(value = "系统背景")
-	private String backgroundUrl;
-	/**
-	 * 联系人
-	 */
-	@ApiModelProperty(value = "联系人")
-	private String linkman;
-	/**
-	 * 联系电话
-	 */
-	@ApiModelProperty(value = "联系电话")
-	private String contactNumber;
-	/**
-	 * 联系地址
-	 */
-	@ApiModelProperty(value = "联系地址")
-	private String address;
-	/**
-	 * 账号额度
-	 */
-	@ApiModelProperty(value = "账号额度")
-	private Integer accountNumber;
-	/**
-	 * 过期时间
-	 */
-	@DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME)
-	@JsonFormat(pattern = DateUtil.PATTERN_DATETIME)
-	@ApiModelProperty(value = "过期时间")
-	private Date expireTime;
-	/**
-	 * 产品包ID
-	 */
-	@JsonSerialize(nullsUsing = NullSerializer.class)
-	@ApiModelProperty(value = "产品包ID")
-	private Long packageId;
-	/**
-	 * 数据源ID
-	 */
-	@JsonSerialize(nullsUsing = NullSerializer.class)
-	@ApiModelProperty(value = "数据源ID")
-	private Long datasourceId;
-	/**
-	 * 授权码
-	 */
-	@ApiModelProperty(value = "授权码")
-	private String licenseKey;
+    /**
+     * 租户ID
+     */
+    @ApiModelProperty(value = "租户ID")
+    private String tenantId;
+    /**
+     * 租户名称
+     */
+    @ApiModelProperty(value = "租户名称")
+    private String tenantName;
+    /**
+     * 域名地址
+     */
+    @ApiModelProperty(value = "域名地址")
+    private String domainUrl;
+    /**
+     * 系统背景
+     */
+    @ApiModelProperty(value = "系统背景")
+    private String backgroundUrl;
+    /**
+     * 联系人
+     */
+    @ApiModelProperty(value = "联系人")
+    private String linkman;
+    /**
+     * 联系电话
+     */
+    @ApiModelProperty(value = "联系电话")
+    private String contactNumber;
+    /**
+     * 联系地址
+     */
+    @ApiModelProperty(value = "联系地址")
+    private String address;
+    /**
+     * 账号额度
+     */
+    @ApiModelProperty(value = "账号额度")
+    private Integer accountNumber;
+    /**
+     * 过期时间
+     */
+    @DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME)
+    @JsonFormat(pattern = DateUtil.PATTERN_DATETIME)
+    @ApiModelProperty(value = "过期时间")
+    private Date expireTime;
+    /**
+     * 产品包ID
+     */
+    @JsonSerialize(nullsUsing = NullSerializer.class)
+    @ApiModelProperty(value = "产品包ID")
+    private Long packageId;
+    /**
+     * 数据源ID
+     */
+    @JsonSerialize(nullsUsing = NullSerializer.class)
+    @ApiModelProperty(value = "数据源ID")
+    private Long datasourceId;
+    /**
+     * 授权码
+     */
+    @ApiModelProperty(value = "授权码")
+    private String licenseKey;
 
 
+    /**
+     * logo路径
+     */
+    private String logoUrl;
+
+    /**
+     * 国家id
+     */
+    private String countryId;
+
+    /**
+     * 省id
+     */
+    private String provinceId;
+
+    /**
+     * 市id
+     */
+    private String cityId;
+
+    /**
+     * 来源key
+     */
+    private String sourceKey;
+
 }

+ 21 - 5
hx-common/common-tool/src/main/java/com/fjhx/base/Condition.java

@@ -30,8 +30,16 @@ public class Condition extends HashMap<String, Object> {
      * 开始时间
      */
     public Date getBeginTime() {
-        Object beginTimeObj = this.get("beginTime");
-        Assert.notEmpty(beginTimeObj, "开始时间不能为空");
+        return getBeginTime("beginTime");
+    }
+
+    public Date getBeginTime(String str) {
+        Object beginTimeObj = this.get(str);
+
+        if (ObjectUtil.isEmpty(beginTimeObj)) {
+            return null;
+        }
+
         Date beginTime;
         try {
             beginTime = DateUtil.beginOfDay(DateUtil.parse(beginTimeObj.toString()));
@@ -45,8 +53,16 @@ public class Condition extends HashMap<String, Object> {
      * 结束时间
      */
     public Date getEndTime() {
-        Object endTimeObj = this.get("endTime");
-        Assert.notEmpty(endTimeObj, "结束时间不能为空");
+        return getEndTime("endTime");
+    }
+
+    public Date getEndTime(String str) {
+        Object endTimeObj = this.get(str);
+
+        if (ObjectUtil.isEmpty(endTimeObj)) {
+            return null;
+        }
+
         Date endTime;
         try {
             endTime = DateUtil.endOfDay(DateUtil.parse(endTimeObj.toString()));
@@ -56,7 +72,7 @@ public class Condition extends HashMap<String, Object> {
         return endTime;
     }
 
-    public Page<Object> getPage() {
+    public <T> Page<T> getPage() {
         return new Page<>(PageUtil.getCurrent(this), PageUtil.getSize(this));
     }
 

+ 37 - 0
hx-service/blade-ex/src/main/java/com/fjhx/controller/ExRegionController.java

@@ -0,0 +1,37 @@
+package com.fjhx.controller;
+
+import com.fjhx.entity.ExRegion;
+import com.fjhx.service.ExRegionService;
+import org.springblade.core.tool.api.R;
+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 java.util.List;
+
+/**
+ * <p>
+ * 前端控制器
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-10-17
+ */
+@RestController
+@RequestMapping("/region")
+public class ExRegionController {
+
+    @Autowired
+    private ExRegionService exRegionService;
+
+    @PostMapping("/list")
+    public R page(@RequestBody ExRegion region) {
+        List<ExRegion> regionList = exRegionService.getList(region);
+        return R.success(regionList);
+    }
+
+
+}
+

+ 12 - 1
hx-service/blade-ex/src/main/java/com/fjhx/controller/TenantController.java

@@ -16,6 +16,8 @@
  */
 package com.fjhx.controller;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.base.Condition;
 import com.fjhx.service.ITenantService;
 import lombok.AllArgsConstructor;
 import org.springblade.core.boot.ctrl.BladeController;
@@ -30,6 +32,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
+import java.util.Map;
 
 /**
  * 控制器
@@ -50,7 +53,15 @@ public class TenantController extends BladeController {
     @PostMapping("/submit")
     @PreAuth(RoleConstant.HAS_ROLE_ADMINISTRATOR)
     public R submit(@Valid @RequestBody Tenant tenant) {
-        return R.status(tenantService.submitTenant(tenant));
+        tenantService.submitTenant(tenant);
+        return R.success();
+    }
+
+    @PostMapping("/page")
+    @PreAuth(RoleConstant.HAS_ROLE_ADMINISTRATOR)
+    public R page(@RequestBody Condition condition) {
+        Page<Map<String, Object>> page = tenantService.getPage(condition);
+        return R.success(page);
     }
 
 }

+ 76 - 0
hx-service/blade-ex/src/main/java/com/fjhx/entity/ExRegion.java

@@ -0,0 +1,76 @@
+package com.fjhx.entity;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-10-17
+ */
+@Data
+public class ExRegion implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+    private String id;
+
+    /**
+     * 父id
+     */
+    private String parentId;
+
+    /**
+     * 祖级列表
+     */
+    private String ancestors;
+
+    /**
+     * 英文名称
+     */
+    private String name;
+
+    /**
+     * 经度
+     */
+    private String lon;
+
+    /**
+     * 维度
+     */
+    private String lat;
+
+    /**
+     * 1国家 2州/省 3城市 4区县
+     */
+    private Integer type;
+
+    /**
+     * 中文名称
+     */
+    private String chineseName;
+
+    /**
+     * 英文简写
+     */
+    private String englishShort;
+
+    /**
+     * 国家图片
+     */
+    private String picturesPath;
+
+    /**
+     * 板块
+     */
+    private Integer plate;
+
+
+}

+ 16 - 0
hx-service/blade-ex/src/main/java/com/fjhx/mapper/ExRegionMapper.java

@@ -0,0 +1,16 @@
+package com.fjhx.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fjhx.entity.ExRegion;
+
+/**
+ * <p>
+ * Mapper 接口
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-10-17
+ */
+public interface ExRegionMapper extends BaseMapper<ExRegion> {
+
+}

+ 5 - 0
hx-service/blade-ex/src/main/java/com/fjhx/mapper/ExRegionMapper.xml

@@ -0,0 +1,5 @@
+<?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.fjhx.mapper.ExRegionMapper">
+
+</mapper>

+ 24 - 0
hx-service/blade-ex/src/main/java/com/fjhx/service/ExRegionService.java

@@ -0,0 +1,24 @@
+package com.fjhx.service;
+
+import com.fjhx.base.BaseService;
+import com.fjhx.entity.ExRegion;
+
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 服务类
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-10-17
+ */
+public interface ExRegionService extends BaseService<ExRegion> {
+
+    Map<String, String> getChineseNameById(Collection<String> regionSet);
+
+    List<ExRegion> getList(ExRegion region);
+
+}

+ 9 - 4
hx-service/blade-ex/src/main/java/com/fjhx/service/ITenantService.java

@@ -16,9 +16,13 @@
  */
 package com.fjhx.service;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.base.Condition;
 import org.springblade.core.mp.base.BaseService;
 import org.springblade.system.entity.Tenant;
 
+import java.util.Map;
+
 /**
  * 服务类
  *
@@ -28,11 +32,12 @@ public interface ITenantService extends BaseService<Tenant> {
 
     /**
      * 新增
-     *
-     * @param tenant
-     * @return
      */
-    boolean submitTenant(Tenant tenant);
+    void submitTenant(Tenant tenant);
 
+    /**
+     * 分页
+     */
+    Page<Map<String, Object>> getPage(Condition condition);
 
 }

+ 57 - 0
hx-service/blade-ex/src/main/java/com/fjhx/service/impl/ExRegionServiceImpl.java

@@ -0,0 +1,57 @@
+package com.fjhx.service.impl;
+
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.entity.ExRegion;
+import com.fjhx.mapper.ExRegionMapper;
+import com.fjhx.service.ExRegionService;
+import org.springframework.stereotype.Service;
+
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ * 服务实现类
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-10-17
+ */
+@Service
+public class ExRegionServiceImpl extends ServiceImpl<ExRegionMapper, ExRegion> implements ExRegionService {
+
+
+    @Override
+    public Map<String, String> getChineseNameById(Collection<String> regionSet) {
+
+        List<ExRegion> list = lambdaQuery()
+                .select(ExRegion::getId, ExRegion::getChineseName)
+                .in(ExRegion::getId, regionSet)
+                .list();
+
+        if (list.size() == 0) {
+            return new HashMap<>();
+        }
+
+        return list.stream().collect(Collectors.toMap(
+                ExRegion::getId,
+                ExRegion::getChineseName,
+                (v1, v2) -> v1
+        ));
+    }
+
+    @Override
+    public List<ExRegion> getList(ExRegion region) {
+
+        return lambdaQuery()
+                .select(ExRegion::getId, ExRegion::getParentId, ExRegion::getType, ExRegion::getChineseName, ExRegion::getName)
+                .eq(ObjectUtil.isNotEmpty(region.getType()), ExRegion::getType, region.getType())
+                .eq(ObjectUtil.isNotEmpty(region.getParentId()), ExRegion::getParentId, region.getParentId())
+                .list();
+
+    }
+}

+ 70 - 10
hx-service/blade-ex/src/main/java/com/fjhx/service/impl/TenantServiceImpl.java

@@ -16,14 +16,20 @@
  */
 package com.fjhx.service.impl;
 
+import cn.hutool.core.convert.Convert;
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.base.Condition;
 import com.fjhx.mapper.TenantMapper;
 import com.fjhx.service.*;
 import com.fjhx.utils.Assert;
 import lombok.AllArgsConstructor;
 import org.springblade.core.cache.utils.CacheUtil;
 import org.springblade.core.log.exception.ServiceException;
+import org.springblade.core.mp.base.BaseEntity;
 import org.springblade.core.mp.base.BaseServiceImpl;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.constant.BladeConstant;
@@ -36,10 +42,7 @@ import org.springblade.system.user.feign.IUserClient;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.LinkedList;
-import java.util.List;
+import java.util.*;
 
 import static org.springblade.common.constant.TenantConstant.*;
 import static org.springblade.core.cache.constant.CacheConstant.SYS_CACHE;
@@ -61,9 +64,11 @@ public class TenantServiceImpl extends BaseServiceImpl<TenantMapper, Tenant> imp
     private final IUserClient userClient;
     private final IMenuService menuService;
 
+    private final ExRegionService exRegionService;
+
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public synchronized boolean submitTenant(Tenant tenant) {
+    public synchronized void submitTenant(Tenant tenant) {
         if (Func.isEmpty(tenant.getId())) {
 
             String tenantId = tenant.getTenantId();
@@ -72,8 +77,8 @@ public class TenantServiceImpl extends BaseServiceImpl<TenantMapper, Tenant> imp
             tenant.setTenantId(tenantId);
 
             // 获取参数配置的账号额度
-            int accountNumber = Func.toInt(ParamCache.getValue(ACCOUNT_NUMBER_KEY), DEFAULT_ACCOUNT_NUMBER);
-            tenant.setAccountNumber(accountNumber);
+            // int accountNumber = Func.toInt(ParamCache.getValue(ACCOUNT_NUMBER_KEY), DEFAULT_ACCOUNT_NUMBER);
+            // tenant.setAccountNumber(accountNumber);
 
             // 新建租户对应的默认角色
             Role role = new Role();
@@ -141,17 +146,72 @@ public class TenantServiceImpl extends BaseServiceImpl<TenantMapper, Tenant> imp
             user.setSex(1);
             user.setUserType(UserEnum.WEB.getCategory());
             user.setIsDeleted(BladeConstant.DB_NOT_DELETED);
-            boolean temp = super.saveOrUpdate(tenant);
+
+            saveOrUpdate(tenant);
+
             R<Boolean> result = userClient.saveUser(user);
             if (!result.isSuccess()) {
                 throw new ServiceException(result.getMsg());
             }
-            return temp;
 
         } else {
             CacheUtil.clear(SYS_CACHE, tenant.getTenantId());
-            return super.saveOrUpdate(tenant);
+            saveOrUpdate(tenant);
+        }
+    }
+
+    @Override
+    public Page<Map<String, Object>> getPage(Condition condition) {
+
+        LambdaQueryWrapper<Tenant> wrapper = Wrappers.lambdaQuery();
+
+        String tenantId = condition.getStr("tenantId");
+        String tenantName = condition.getStr("tenantName");
+        String linkman = condition.getStr("linkman");
+        String contactNumber = condition.getStr("contactNumber");
+        Date beginTime = condition.getBeginTime();
+        Date endTime = condition.getEndTime();
+        Date expireBeginTime = condition.getBeginTime("expireBeginTime");
+        Date expireEndTime = condition.getBeginTime("expireEndTime");
+        String countryId = condition.getStr("countryId");
+        String provinceId = condition.getStr("provinceId");
+        String cityId = condition.getStr("cityId");
+
+        wrapper.like(ObjectUtil.isNotEmpty(tenantId), Tenant::getTenantId, tenantId)
+                .like(ObjectUtil.isNotEmpty(tenantName), Tenant::getTenantName, tenantName)
+                .like(ObjectUtil.isNotEmpty(linkman), Tenant::getLinkman, linkman)
+                .like(ObjectUtil.isNotEmpty(contactNumber), Tenant::getContactNumber, contactNumber)
+                .between(ObjectUtil.isNotEmpty(beginTime), BaseEntity::getCreateTime, beginTime, endTime)
+                .between(ObjectUtil.isNotEmpty(expireBeginTime), Tenant::getExpireTime, expireBeginTime, expireEndTime)
+                .eq(ObjectUtil.isNotEmpty(countryId), Tenant::getCountryId, countryId)
+                .eq(ObjectUtil.isNotEmpty(provinceId), Tenant::getProvinceId, provinceId)
+                .eq(ObjectUtil.isNotEmpty(cityId), Tenant::getCityId, cityId)
+        ;
+
+
+        Page<Map<String, Object>> page = pageMaps(condition.getPage(), wrapper);
+        List<Map<String, Object>> records = page.getRecords();
+
+        // 省市县id集合
+        Set<String> regionSet = new HashSet<>();
+
+        for (Map<String, Object> record : records) {
+            // 查询国省市
+            regionSet.add(Convert.toStr(record.get("countryId")));
+            regionSet.add(Convert.toStr(record.get("provinceId")));
+            regionSet.add(Convert.toStr(record.get("cityId")));
         }
+
+        Map<String, String> regionMap = exRegionService.getChineseNameById(regionSet);
+
+        for (Map<String, Object> record : records) {
+            // 赋值国省市
+            record.put("countryName", regionMap.get(Convert.toStr(record.get("countryId"))));
+            record.put("provinceName", regionMap.get(Convert.toStr(record.get("provinceId"))));
+            record.put("cityName", regionMap.get(Convert.toStr(record.get("cityId"))));
+        }
+
+        return page;
     }
 
     private List<Menu> getMenus(List<String> codes, LinkedList<Menu> menus) {

+ 4 - 4
hx-service/storage/src/main/java/com/fjhx/stock/service/impl/StockBackPlanServiceImpl.java

@@ -293,7 +293,7 @@ public class StockBackPlanServiceImpl extends ServiceImpl<StockBackPlanMapper, S
     private void issueA008(Date beginDate, Map<String, StockBackPlanDetails> stockBackPlanMap) {
 
         List<Map<String, Object>> pickingList = baseMapper.getWater(Wrappers.query()
-                .ge("swd.CreatedTime", DateUtil.format(beginDate, "yyyy-MM-dd 9:00:00"))
+                .ge("swd.CreatedTime", DateUtil.format(beginDate, "yyyy-MM-dd 8:00:00"))
                 .in("swd.StockChangeType", 20, 23)
                 .eq("uu.IsDelete", 0)
                 .eq("uu.DepartmentID", "A008")
@@ -310,7 +310,7 @@ public class StockBackPlanServiceImpl extends ServiceImpl<StockBackPlanMapper, S
 //            int m = Integer.parseInt(DateUtil.format(createTime, "m"));
             // 小于7点30算前一日
 //            if (h < 7 || (h == 7 && m <= 30)) {
-            if (h < 9) {
+            if (h < 8) {
                 createTime = DateUtil.offsetDay(createTime, -1);
             }
 
@@ -413,7 +413,7 @@ public class StockBackPlanServiceImpl extends ServiceImpl<StockBackPlanMapper, S
 
     private void returnWarehouseA008(Date beginDate, Map<String, StockBackPlanDetails> stockBackPlanMap) {
         List<Map<String, Object>> backList = baseMapper.getReturnWarehouse(Wrappers.query()
-                .ge("sb.checker_time", DateUtil.format(beginDate, "yyyy-MM-dd 09:00:00"))
+                .ge("sb.checker_time", DateUtil.format(beginDate, "yyyy-MM-dd 08:00:00"))
                 .eq("uu.IsDelete", 0)
                 .eq("uu.DepartmentID", "A008")
                 .isNotNull("uu.JobNo")
@@ -427,7 +427,7 @@ public class StockBackPlanServiceImpl extends ServiceImpl<StockBackPlanMapper, S
             int h = Integer.parseInt(DateUtil.format(createTime, "H"));
             // int m = Integer.parseInt(DateUtil.format(createTime, "m"));
             // 小于9点算前一日
-            if (h < 9) {
+            if (h < 8) {
                 createTime = DateUtil.offsetDay(createTime, -1);
             }
             // 排班时间

+ 1 - 1
hx-service/storage/src/main/java/com/fjhx/task/controller/ScheduleTaskController.java

@@ -56,7 +56,7 @@ public class ScheduleTaskController {
      * 统计排班数据
      */
     @Scheduled(cron = "30 0/5 * * * ?")
-//    @Scheduled(cron = "0 20 10 * * ?")
+//    @Scheduled(cron = "0 26 17 * * ?")
     private void statisticsScheduleDateTask() {
         if (BladeApplication.isLocalDev()) {
             return;