瀏覽代碼

机构管理

jtoms 4 年之前
父節點
當前提交
cae39a4d98

+ 9 - 0
src/main/java/com/zhiqiyun/open/core/mapper/cultural/tourism/OrganizationInfoMapper.java

@@ -0,0 +1,9 @@
+package com.zhiqiyun.open.core.mapper.cultural.tourism;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhiqiyun.open.core.models.cultural.tourism.OrganizationInfo;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface OrganizationInfoMapper extends BaseMapper<OrganizationInfo> {
+}

+ 42 - 0
src/main/java/com/zhiqiyun/open/core/models/cultural/tourism/OrganizationInfo.java

@@ -0,0 +1,42 @@
+package com.zhiqiyun.open.core.models.cultural.tourism;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@TableName("cultural_tourism_organization_info")
+public class OrganizationInfo implements Serializable {
+
+    private static final long serialVersionUID = -6150838695137938651L;
+
+    @TableId(type = IdType.INPUT)
+    private Long id;
+
+    private String name;
+    private String socialCode;
+    private String businessLicense;
+
+    private String legalPersonName;
+    private String legalPersonIdCardA;
+    private String legalPersonIdCardB;
+
+    private String contacts;
+    private String contactNumber;
+    private String contactAddress;
+
+    private BigDecimal lng;
+    private BigDecimal lat;
+
+    private String remark;
+
+    private Date createdTime;
+    private Long createdBy;
+    private Date updatedTime;
+    private Long updatedBy;
+}

+ 7 - 0
src/main/java/com/zhiqiyun/open/core/service/OrganizationInfoService.java

@@ -0,0 +1,7 @@
+package com.zhiqiyun.open.core.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zhiqiyun.open.core.models.cultural.tourism.OrganizationInfo;
+
+public interface OrganizationInfoService extends IService<OrganizationInfo> {
+}

+ 11 - 0
src/main/java/com/zhiqiyun/open/core/service/impl/OrganizationInfoServiceImpl.java

@@ -0,0 +1,11 @@
+package com.zhiqiyun.open.core.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zhiqiyun.open.core.mapper.cultural.tourism.OrganizationInfoMapper;
+import com.zhiqiyun.open.core.models.cultural.tourism.OrganizationInfo;
+import com.zhiqiyun.open.core.service.OrganizationInfoService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class OrganizationInfoServiceImpl extends ServiceImpl<OrganizationInfoMapper, OrganizationInfo> implements OrganizationInfoService {
+}

+ 1 - 1
src/main/java/com/zhiqiyun/open/mvc/controller/AppKeyInfoController.java

@@ -113,7 +113,7 @@ public class AppKeyInfoController {
         return Result.instance(Result.Code.MESSAGE_SUCCESS);
     }
 
-    @Permission(value = "app.key.add", tags = "更新AppKey")
+    @Permission(value = "app.key.edit", tags = "更新AppKey")
     @PostMapping("/updateById")
     public Result updateById(Long id, @Valid @RequestBody SaveAppKeyInfoParam param) {
         AppKeyInfo appKeyInfo = new AppKeyInfo();

+ 113 - 0
src/main/java/com/zhiqiyun/open/mvc/controller/OrganizationController.java

@@ -0,0 +1,113 @@
+package com.zhiqiyun.open.mvc.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.OrderItem;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zhiqiyun.open.annotation.Permission;
+import com.zhiqiyun.open.core.models.cultural.tourism.OrganizationInfo;
+import com.zhiqiyun.open.core.models.user.OauthInfo;
+import com.zhiqiyun.open.core.service.OauthService;
+import com.zhiqiyun.open.core.service.OrganizationInfoService;
+import com.zhiqiyun.open.core.service.SequenceService;
+import com.zhiqiyun.open.mvc.Result;
+import com.zhiqiyun.open.mvc.params.cultural.tourism.QueryOrganizationInfoParam;
+import com.zhiqiyun.open.mvc.params.cultural.tourism.SaveOrganizationInfoParam;
+import com.zhiqiyun.open.utils.DateUtil;
+import com.zhiqiyun.open.utils.ServletContext;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
+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;
+import java.util.List;
+
+@RestController
+@RequestMapping("/cultural/tourism/organization")
+public class OrganizationController {
+
+    @Autowired
+    private OrganizationInfoService organizationInfoService;
+
+    @Autowired
+    private SequenceService sequenceService;
+
+    @Autowired
+    private OauthService oauthService;
+
+    @Permission(value = "cultural.tourism.organization.find", tags = "查询文旅机构")
+    @PostMapping("/findPage")
+    public Result findPage(@RequestBody QueryOrganizationInfoParam param) {
+
+        QueryWrapper<OrganizationInfo> wrapper = new QueryWrapper<>();
+
+        if (StringUtils.isNotBlank(param.getName())) {
+            wrapper.like("name", param.getName());
+        }
+        if (StringUtils.isNotBlank(param.getSocialCode())) {
+            wrapper.like("social_code", param.getSocialCode());
+        }
+        if (StringUtils.isNotBlank(param.getLegalPersonName())) {
+            wrapper.like("legal_person_name", param.getLegalPersonName());
+        }
+        if (StringUtils.isNotBlank(param.getContacts())) {
+            wrapper.like("contacts", param.getContacts());
+        }
+        if (StringUtils.isNotBlank(param.getContactNumber())) {
+            wrapper.like("contact_number", param.getContactNumber());
+        }
+        Page<OrganizationInfo> page = param.getPage();
+        page.addOrder(OrderItem.desc("id"));
+
+        Page<OrganizationInfo> resultData = this.organizationInfoService.page(page, wrapper);
+
+        return Result.instance(Result.Code.SUCCESS).setData(resultData);
+    }
+
+    @Permission(value = "cultural.tourism.organization.add", tags = "新建文旅机构")
+    @PostMapping("/save")
+    public Result save(@Valid @RequestBody SaveOrganizationInfoParam param) throws Exception {
+
+        OrganizationInfo entity = new OrganizationInfo();
+        BeanUtils.copyProperties(param, entity);
+
+        OauthInfo oauthInfo = this.oauthService.getAuth(ServletContext.getAccessToken());
+
+        entity.setCreatedTime(DateUtil.current());
+        entity.setCreatedBy(oauthInfo.getId());
+
+        entity.setUpdatedTime(DateUtil.current());
+        entity.setUpdatedBy(oauthInfo.getId());
+        entity.setId(this.sequenceService.nextId());
+
+        this.organizationInfoService.save(entity);
+
+        return Result.instance(Result.Code.MESSAGE_SUCCESS);
+    }
+
+    @Permission(value = "cultural.tourism.organization.edit", tags = "更新文旅机构")
+    @PostMapping("/updateById")
+    public Result updateById(Long id, @Valid @RequestBody SaveOrganizationInfoParam param) {
+        OrganizationInfo entity = new OrganizationInfo();
+        BeanUtils.copyProperties(param, entity);
+
+        OauthInfo oauthInfo = this.oauthService.getAuth(ServletContext.getAccessToken());
+        entity.setUpdatedBy(oauthInfo.getId());
+        entity.setUpdatedTime(DateUtil.current());
+        entity.setId(id);
+
+        this.organizationInfoService.updateById(entity);
+
+        return Result.instance(Result.Code.MESSAGE_SUCCESS);
+    }
+
+    @Permission(value = "cultural.tourism.organization.delete", tags = "删除文旅机构")
+    @PostMapping("/deleteByIds")
+    public Result deleteByIds(@RequestBody List<Long> ids) {
+        this.organizationInfoService.removeByIds(ids);
+        return Result.instance(Result.Code.MESSAGE_SUCCESS);
+    }
+}

+ 13 - 0
src/main/java/com/zhiqiyun/open/mvc/params/cultural/tourism/QueryOrganizationInfoParam.java

@@ -0,0 +1,13 @@
+package com.zhiqiyun.open.mvc.params.cultural.tourism;
+
+import com.zhiqiyun.open.mvc.params.QueryPageParams;
+import lombok.Data;
+
+@Data
+public class QueryOrganizationInfoParam extends QueryPageParams {
+    private String name;
+    private String socialCode;
+    private String legalPersonName;
+    private String contacts;
+    private String contactNumber;
+}

+ 26 - 0
src/main/java/com/zhiqiyun/open/mvc/params/cultural/tourism/SaveOrganizationInfoParam.java

@@ -0,0 +1,26 @@
+package com.zhiqiyun.open.mvc.params.cultural.tourism;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class SaveOrganizationInfoParam {
+
+    private String name;
+    private String socialCode;
+    private String businessLicense;
+
+    private String legalPersonName;
+    private String legalPersonIdCardA;
+    private String legalPersonIdCardB;
+
+    private String contacts;
+    private String contactNumber;
+    private String contactAddress;
+
+    private BigDecimal lng;
+    private BigDecimal lat;
+
+    private String remark;
+}

+ 33 - 0
src/main/resources/db/migration/V1.0.6__cultural_tourism.sql

@@ -0,0 +1,33 @@
+ALTER TABLE `authority_info` CHANGE COLUMN `name` `name` VARCHAR (100) NOT NULL COMMENT '权限名称';
+
+DROP TABLE IF EXISTS `cultural_tourism_organization_info`;
+CREATE TABLE `cultural_tourism_organization_info`
+(
+    `id`                     BIGINT(20) NOT NULL COMMENT 'ID',
+    `name`                   VARCHAR(50)    NOT NULL COMMENT '公司名称' COLLATE 'utf8mb4_general_ci',
+    `social_code`            VARCHAR(50)    NOT NULL COMMENT '统一社会信用编码' COLLATE 'utf8mb4_general_ci',
+    `business_license`       VARCHAR(100)   NOT NULL COMMENT '公司的营业执照' COLLATE 'utf8mb4_general_ci',
+    `legal_person_name`      VARCHAR(32)    NOT NULL COMMENT '法人姓名' COLLATE 'utf8mb4_general_ci',
+    `legal_person_id_card_a` VARCHAR(100)   NOT NULL COMMENT '法人身份证正面' COLLATE 'utf8mb4_general_ci',
+    `legal_person_id_card_b` VARCHAR(100)   NOT NULL COMMENT '法人身份证反面' COLLATE 'utf8mb4_general_ci',
+    `contacts`               VARCHAR(32)    NOT NULL COMMENT '联系人' COLLATE 'utf8mb4_general_ci',
+    `contact_number`         VARCHAR(32)    NOT NULL COMMENT '联系电话' COLLATE 'utf8mb4_general_ci',
+    `contact_address`        VARCHAR(100)   NOT NULL COMMENT '联系地址' COLLATE 'utf8mb4_general_ci',
+    `lng`                    DECIMAL(20, 6) NOT NULL DEFAULT '0.000000' COMMENT '经度(坐标)',
+    `lat`                    DECIMAL(20, 6) NOT NULL DEFAULT '0.000000' COMMENT '纬度(坐标)',
+    `remark`                 VARCHAR(200) NULL DEFAULT NULL COMMENT '公司备注说明' COLLATE 'utf8mb4_general_ci',
+    `created_time`           DATETIME NULL DEFAULT NULL COMMENT '创建时间',
+    `created_by`             BIGINT(20) NULL DEFAULT NULL COMMENT '创建人',
+    `updated_time`           DATETIME NULL DEFAULT NULL COMMENT '修改时间',
+    `updated_by`             BIGINT(20) NULL DEFAULT NULL COMMENT '修改人',
+    PRIMARY KEY (`id`)
+) COMMENT ='文旅机构管理' ENGINE = InnoDB;
+
+REPLACE
+INTO `authority_info` (`id`, `parent_id`, `name`, `remark`)
+VALUES (2200, 0, 'cultural.tourism.organization', '文旅机构管理'),
+       (2201, 2200, 'cultural.tourism.organization.find', '查询'),
+       (2202, 2200, 'cultural.tourism.organization.add', '添加'),
+       (2203, 2200, 'cultural.tourism.organization.edit', '修改'),
+       (2204, 2200, 'cultural.tourism.organization.delete', '删除');
+