diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/form/CreateCodeFormDTO.java b/esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/form/CreateCodeFormDTO.java
new file mode 100644
index 000000000..fd50d318c
--- /dev/null
+++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/form/CreateCodeFormDTO.java
@@ -0,0 +1,26 @@
+package com.elink.esua.epdc.dto.form;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @program: esua-epdc-cloud
+ * @description: 生成小程序码
+ * @author: wangtong
+ * @create: 2020-02-14 17:38
+ **/
+@Data
+public class CreateCodeFormDTO implements Serializable {
+
+
+    /**
+     * 网格id
+     */
+    private String gridId;
+
+    /**
+     * 哨卡id
+     */
+    private String postId;
+}
diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/pom.xml b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/pom.xml
index f10985631..4dcbc9200 100644
--- a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/pom.xml
+++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/pom.xml
@@ -63,6 +63,24 @@
             orika-spring-boot-starter
             1.8.0
         
+        
+            com.esua.epdc
+            epdc-admin-client
+            1.0.0
+            compile
+        
+
+
+
+
+
+
+        
+        
+            com.esua.epdc
+            epdc-commons-tools-wx-ma
+            ${project.version}
+        
     
 
     
@@ -133,6 +151,13 @@
                 6379
                 elink@888
 
+                
+                wxdd8530c5f4926766
+                5bf4fb813145431b3493a10aa7e041e9
+                
+                wx29b074840ef4bfd9
+                4adb1afccc69f205cdf5b521d74e2aca
+
                 
                     
                 
diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/controller/EpidemicSentryPostController.java b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/controller/EpidemicSentryPostController.java
index 456a823d4..a5849939b 100644
--- a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/controller/EpidemicSentryPostController.java
+++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/controller/EpidemicSentryPostController.java
@@ -23,9 +23,10 @@ import com.elink.esua.epdc.commons.tools.utils.Result;
 import com.elink.esua.epdc.commons.tools.validator.AssertUtils;
 import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
 import com.elink.esua.epdc.commons.tools.validator.group.AddGroup;
-import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
 import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup;
+import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
 import com.elink.esua.epdc.dto.EpidemicSentryPostDTO;
+import com.elink.esua.epdc.dto.form.CreateCodeFormDTO;
 import com.elink.esua.epdc.modules.epidemic.excel.EpidemicSentryPostExcel;
 import com.elink.esua.epdc.modules.epidemic.service.EpidemicSentryPostService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -145,5 +146,32 @@ public class EpidemicSentryPostController {
         return  epidemicSentryPostService.insertEpidemicList(file);
     }
 
+    /**
+     *生成哨卡单个小程序码
+     *
+     * @author wangtong
+     * @date 2020/2/14 17:46
+     * @param [formDto]
+     * @return com.elink.esua.epdc.commons.tools.utils.Result
+     */
+    @PostMapping("createCode")
+    public Result createCode(@RequestBody CreateCodeFormDTO formDto){
+        ValidatorUtils.validateEntity(formDto, new Class[0]);
+        return this.epidemicSentryPostService.CreateCodeFormDTO(formDto);
+    }
+
+    /**
+     *生成哨卡多个小程序码
+     *
+     * @author wangtong
+     * @date 2020/2/14 17:46
+     * @param [formDto]
+     * @return com.elink.esua.epdc.commons.tools.utils.Result
+     */
+    @PostMapping("createCodes")
+    public Result createCodes(@RequestBody CreateCodeFormDTO formDto){
+        ValidatorUtils.validateEntity(formDto, new Class[0]);
+        return this.epidemicSentryPostService.CreateCodeFormDTOs(formDto);
+    }
 
 }
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/feign/OssFeignClient.java b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/feign/OssFeignClient.java
new file mode 100644
index 000000000..ea678737a
--- /dev/null
+++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/feign/OssFeignClient.java
@@ -0,0 +1,31 @@
+package com.elink.esua.epdc.modules.epidemic.feign;
+
+import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
+import com.elink.esua.epdc.commons.tools.utils.Result;
+import com.elink.esua.epdc.dto.UploadToOssDTO;
+import com.elink.esua.epdc.modules.epidemic.feign.fallback.OssFeignClientFallback;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.http.MediaType;
+import org.springframework.web.bind.annotation.PostMapping;
+
+
+/**
+ * @author work@yujt.net.cn
+ * @date 19/9/19 10:12
+ */
+@FeignClient(name = ServiceConstant.EPDC_OSS_SERVER, fallback = OssFeignClientFallback.class)
+public interface OssFeignClient {
+//,url = "http://127.0.0.1:9095"
+
+    /**
+     * File文件上传到文件服务器
+     *
+     * @param dto
+     * @return com.elink.esua.epdc.commons.tools.utils.Result
+     * @author work@yujt.net.cn
+     * @date 2019/9/19 10:15
+     */
+    @PostMapping(value = "oss/file/uploadFile", consumes = MediaType.APPLICATION_JSON_VALUE)
+    Result uploadFile(UploadToOssDTO dto);
+
+}
diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/feign/fallback/OssFeignClientFallback.java b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/feign/fallback/OssFeignClientFallback.java
new file mode 100644
index 000000000..ac7f8779e
--- /dev/null
+++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/feign/fallback/OssFeignClientFallback.java
@@ -0,0 +1,22 @@
+package com.elink.esua.epdc.modules.epidemic.feign.fallback;
+
+import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
+import com.elink.esua.epdc.commons.tools.utils.ModuleUtils;
+import com.elink.esua.epdc.commons.tools.utils.Result;
+import com.elink.esua.epdc.dto.UploadToOssDTO;
+import com.elink.esua.epdc.modules.epidemic.feign.OssFeignClient;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author work@yujt.net.cn
+ * @date 19/9/19 10:12
+ */
+@Component
+public class OssFeignClientFallback implements OssFeignClient {
+
+    @Override
+    public Result uploadFile(UploadToOssDTO dto) {
+        return ModuleUtils.feignConError(ServiceConstant.EPDC_OSS_SERVER, "uploadFile", dto.getFileName());
+    }
+
+}
diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/service/EpidemicSentryPostService.java b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/service/EpidemicSentryPostService.java
index 702bf56c7..17be68cc5 100644
--- a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/service/EpidemicSentryPostService.java
+++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/service/EpidemicSentryPostService.java
@@ -21,9 +21,8 @@ import com.elink.esua.epdc.commons.mybatis.service.BaseService;
 import com.elink.esua.epdc.commons.tools.page.PageData;
 import com.elink.esua.epdc.commons.tools.utils.Result;
 import com.elink.esua.epdc.dto.EpidemicSentryPostDTO;
+import com.elink.esua.epdc.dto.form.CreateCodeFormDTO;
 import com.elink.esua.epdc.modules.epidemic.entity.EpidemicSentryPostEntity;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.util.List;
@@ -132,4 +131,23 @@ public interface EpidemicSentryPostService extends BaseService page(Map params) {
         IPage page = baseDao.selectPage(
@@ -163,4 +181,106 @@ public class EpidemicSentryPostServiceImpl extends BaseServiceImpl wrapper = new QueryWrapper<>(data);
+        List categoryEntityList = baseDao.selectList(wrapper);
+        if(categoryEntityList.size()==0 || categoryEntityList==null){
+            throw new RenException("根据网格id未查到哨卡信息!");
+        }
+        for(EpidemicSentryPostEntity entity : categoryEntityList){
+            String param = "G="+entity.getGridId()+";P="+entity.getSentryPostCode();
+            entity.setMaCodeUrl(this.createMaCode(param,MA_FRONT_PAGE_URL));
+//            entity.setMaCodeUrl("testUrl222");
+            baseDao.updateById(entity);
+        }
+        return new Result().ok("批量生成小程序码成功。");
+    }
+
+    /**
+     * 创建微信小程序码,并上传到oss
+     *
+     * @param param   小程序码的参数
+     * @param pageUrl 小程序码的跳转链接
+     * @return java.lang.String 小程序码的下载抵制
+     * @author work@yujt.net.cn
+     * @date 2019/10/22 10:14
+     */
+    private String createMaCode(String param, String pageUrl) {
+        File wxaCodeUnlimit;
+        try {
+            wxaCodeUnlimit = wxMaServiceUtils.normalWxMaService().getQrcodeService()
+                    .createWxaCodeUnlimit(param, pageUrl, 1280, true, null, false);
+        } catch (WxErrorException e) {
+            throw new RenException("请求微信接口失败");
+        }
+
+        UploadToOssDTO dto = new UploadToOssDTO();
+        dto.setFileByte(this.fileToByteArray(wxaCodeUnlimit));
+        dto.setFileName(wxaCodeUnlimit.getName());
+
+        Result ossResult = ossFeignClient.uploadFile(dto);
+        if (null == ossResult || !ossResult.success() || null == ossResult.getData()) {
+            throw new RenException("小程序码上传失败");
+        }
+        return ossResult.getData();
+    }
+
+    /**
+     * File文件转为byte[]
+     *
+     * @param file
+     * @return byte[]
+     * @author work@yujt.net.cn
+     * @date 2019/9/19 15:56
+     */
+    private byte[] fileToByteArray(File file) {
+        try {
+            //获取输入流
+            FileInputStream fis = new FileInputStream(file);
+            //新的 byte 数组输出流,缓冲区容量1024byte
+            ByteArrayOutputStream bos = new ByteArrayOutputStream(1024);
+            //缓存
+            byte[] b = new byte[1024];
+            int n;
+            while ((n = fis.read(b)) != NumConstant.ONE_NEG) {
+                bos.write(b, NumConstant.ZERO, n);
+            }
+            fis.close();
+            //改变为byte[]
+            byte[] data = bos.toByteArray();
+            bos.close();
+            return data;
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
 }
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/resources/application.yml b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/resources/application.yml
index a2323c50c..ce56ceb88 100644
--- a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/resources/application.yml
+++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/resources/application.yml
@@ -64,3 +64,22 @@ mybatis-plus:
     map-underscore-to-camel-case: true
     cache-enabled: false
     call-setters-on-nulls: true
+
+wx:
+  ma:
+    configs:
+      - appid: @wx.ma.appId@
+        secret: @wx.ma.secret@
+        token: #微信小程序消息服务器配置的token
+        aesKey: #微信小程序消息服务器配置的EncodingAESKey
+        msgDataFormat: JSON
+      - appid: @work.wx.ma.appId@
+        secret: @work.wx.ma.secret@
+        token: #微信小程序消息服务器配置的token
+        aesKey: #微信小程序消息服务器配置的EncodingAESKey
+        msgDataFormat: JSON
+    appId:
+      # 普通居民端的appId
+      normal: @wx.ma.appId@
+      # 工作端的appId
+      work: @work.wx.ma.appId@
\ No newline at end of file