zhangding 5 years ago
parent
commit
01a83a0f23
41 changed files with 4188 additions and 0 deletions
  1. 6 0
      dgtly-admin/pom.xml
  2. 126 0
      dgtly-member/dgtly-member-admin/src/main/java/com/dgtly/member/controller/MemberFollowController.java
  3. 126 0
      dgtly-member/dgtly-member-admin/src/main/java/com/dgtly/member/controller/MemberInfoController.java
  4. 136 0
      dgtly-member/dgtly-member-admin/src/main/java/com/dgtly/notice/controller/NoticeDemandController.java
  5. 172 0
      dgtly-member/dgtly-member-admin/src/main/java/com/dgtly/notice/controller/NoticeSupplyController.java
  6. 54 0
      dgtly-member/dgtly-member-admin/src/main/resources/templates/member/follow/add.html
  7. 55 0
      dgtly-member/dgtly-member-admin/src/main/resources/templates/member/follow/edit.html
  8. 108 0
      dgtly-member/dgtly-member-admin/src/main/resources/templates/member/follow/follow.html
  9. 60 0
      dgtly-member/dgtly-member-admin/src/main/resources/templates/member/info/add.html
  10. 62 0
      dgtly-member/dgtly-member-admin/src/main/resources/templates/member/info/edit.html
  11. 116 0
      dgtly-member/dgtly-member-admin/src/main/resources/templates/member/info/info.html
  12. 94 0
      dgtly-member/dgtly-member-admin/src/main/resources/templates/notice/demand/add.html
  13. 157 0
      dgtly-member/dgtly-member-admin/src/main/resources/templates/notice/demand/demand.html
  14. 97 0
      dgtly-member/dgtly-member-admin/src/main/resources/templates/notice/demand/edit.html
  15. 89 0
      dgtly-member/dgtly-member-admin/src/main/resources/templates/notice/demand/see.html
  16. 220 0
      dgtly-member/dgtly-member-admin/src/main/resources/templates/notice/supply/add.html
  17. 119 0
      dgtly-member/dgtly-member-admin/src/main/resources/templates/notice/supply/details.html
  18. 207 0
      dgtly-member/dgtly-member-admin/src/main/resources/templates/notice/supply/edit.html
  19. 106 0
      dgtly-member/dgtly-member-admin/src/main/resources/templates/notice/supply/editstatus.html
  20. 167 0
      dgtly-member/dgtly-member-admin/src/main/resources/templates/notice/supply/supply.html
  21. 18 0
      dgtly-member/dgtly-member-common/pom.xml
  22. 85 0
      dgtly-member/dgtly-member-common/src/main/java/com/dgtly/member/domain/MemberFollow.java
  23. 100 0
      dgtly-member/dgtly-member-common/src/main/java/com/dgtly/member/domain/MemberInfo.java
  24. 61 0
      dgtly-member/dgtly-member-common/src/main/java/com/dgtly/member/mapper/MemberFollowMapper.java
  25. 61 0
      dgtly-member/dgtly-member-common/src/main/java/com/dgtly/member/mapper/MemberInfoMapper.java
  26. 61 0
      dgtly-member/dgtly-member-common/src/main/java/com/dgtly/member/service/IMemberFollowService.java
  27. 61 0
      dgtly-member/dgtly-member-common/src/main/java/com/dgtly/member/service/IMemberInfoService.java
  28. 99 0
      dgtly-member/dgtly-member-common/src/main/java/com/dgtly/member/service/impl/MemberFollowServiceImpl.java
  29. 98 0
      dgtly-member/dgtly-member-common/src/main/java/com/dgtly/member/service/impl/MemberInfoServiceImpl.java
  30. 168 0
      dgtly-member/dgtly-member-common/src/main/java/com/dgtly/notice/domain/NoticeDemand.java
  31. 215 0
      dgtly-member/dgtly-member-common/src/main/java/com/dgtly/notice/domain/NoticeSupply.java
  32. 61 0
      dgtly-member/dgtly-member-common/src/main/java/com/dgtly/notice/mapper/NoticeDemandMapper.java
  33. 61 0
      dgtly-member/dgtly-member-common/src/main/java/com/dgtly/notice/mapper/NoticeSupplyMapper.java
  34. 61 0
      dgtly-member/dgtly-member-common/src/main/java/com/dgtly/notice/service/INoticeDemandService.java
  35. 61 0
      dgtly-member/dgtly-member-common/src/main/java/com/dgtly/notice/service/INoticeSupplyService.java
  36. 97 0
      dgtly-member/dgtly-member-common/src/main/java/com/dgtly/notice/service/impl/NoticeDemandServiceImpl.java
  37. 97 0
      dgtly-member/dgtly-member-common/src/main/java/com/dgtly/notice/service/impl/NoticeSupplyServiceImpl.java
  38. 89 0
      dgtly-member/dgtly-member-common/src/main/resources/mapper/member/MemberFollowMapper.xml
  39. 94 0
      dgtly-member/dgtly-member-common/src/main/resources/mapper/member/MemberInfoMapper.xml
  40. 116 0
      dgtly-member/dgtly-member-common/src/main/resources/mapper/notice/NoticeDemandMapper.xml
  41. 147 0
      dgtly-member/dgtly-member-common/src/main/resources/mapper/notice/NoticeSupplyMapper.xml

+ 6 - 0
dgtly-admin/pom.xml

@@ -84,6 +84,12 @@
             <artifactId>dgtly-goods-admin</artifactId>
             <version>4.0.0</version>
         </dependency>
+        <!-- 会员管理-->
+        <dependency>
+            <groupId>com.dgtly</groupId>
+            <artifactId>dgtly-member-admin</artifactId>
+            <version>4.0.0</version>
+        </dependency>
 
 
     </dependencies>

+ 126 - 0
dgtly-member/dgtly-member-admin/src/main/java/com/dgtly/member/controller/MemberFollowController.java

@@ -0,0 +1,126 @@
+package com.dgtly.member.controller;
+
+import java.util.List;
+
+import com.dgtly.member.service.IMemberFollowService;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import com.dgtly.common.annotation.Log;
+import com.dgtly.common.enums.BusinessType;
+import com.dgtly.member.domain.MemberFollow;
+import com.dgtly.common.core.controller.BaseController;
+import com.dgtly.common.core.domain.AjaxResult;
+import com.dgtly.common.utils.poi.ExcelUtil;
+import com.dgtly.common.core.page.TableDataInfo;
+
+/**
+ * 会员关注Controller
+ * 
+ * @author dgtly
+ * @date 2020-02-13
+ */
+@Controller
+@RequestMapping("/member/follow")
+public class MemberFollowController extends BaseController
+{
+    private String prefix = "member/follow";
+
+    @Autowired
+    private IMemberFollowService memberFollowService;
+
+    @RequiresPermissions("member:follow:view")
+    @GetMapping()
+    public String follow()
+    {
+        return prefix + "/follow";
+    }
+
+    /**
+     * 查询会员关注列表
+     */
+    @RequiresPermissions("member:follow:list")
+    @PostMapping("/list")
+    @ResponseBody
+    public TableDataInfo list(MemberFollow memberFollow)
+    {
+        startPage();
+        List<MemberFollow> list = memberFollowService.selectMemberFollowList(memberFollow);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出会员关注列表
+     */
+    @RequiresPermissions("member:follow:export")
+    @PostMapping("/export")
+    @ResponseBody
+    public AjaxResult export(MemberFollow memberFollow)
+    {
+        List<MemberFollow> list = memberFollowService.selectMemberFollowList(memberFollow);
+        ExcelUtil<MemberFollow> util = new ExcelUtil<MemberFollow>(MemberFollow.class);
+        return util.exportExcel(list, "follow");
+    }
+
+    /**
+     * 新增会员关注
+     */
+    @GetMapping("/add")
+    public String add()
+    {
+        return prefix + "/add";
+    }
+
+    /**
+     * 新增保存会员关注
+     */
+    @RequiresPermissions("member:follow:add")
+    @Log(title = "会员关注", businessType = BusinessType.INSERT)
+    @PostMapping("/add")
+    @ResponseBody
+    public AjaxResult addSave(MemberFollow memberFollow)
+    {
+        return toAjax(memberFollowService.insertMemberFollow(memberFollow));
+    }
+
+    /**
+     * 修改会员关注
+     */
+    @GetMapping("/edit/{id}")
+    public String edit(@PathVariable("id") Long id, ModelMap mmap)
+    {
+        MemberFollow memberFollow = memberFollowService.selectMemberFollowById(id);
+        mmap.put("memberFollow", memberFollow);
+        return prefix + "/edit";
+    }
+
+    /**
+     * 修改保存会员关注
+     */
+    @RequiresPermissions("member:follow:edit")
+    @Log(title = "会员关注", businessType = BusinessType.UPDATE)
+    @PostMapping("/edit")
+    @ResponseBody
+    public AjaxResult editSave(MemberFollow memberFollow)
+    {
+        return toAjax(memberFollowService.updateMemberFollow(memberFollow));
+    }
+
+    /**
+     * 删除会员关注
+     */
+    @RequiresPermissions("member:follow:remove")
+    @Log(title = "会员关注", businessType = BusinessType.DELETE)
+    @PostMapping( "/remove")
+    @ResponseBody
+    public AjaxResult remove(String ids)
+    {
+        return toAjax(memberFollowService.deleteMemberFollowByIds(ids));
+    }
+}

+ 126 - 0
dgtly-member/dgtly-member-admin/src/main/java/com/dgtly/member/controller/MemberInfoController.java

@@ -0,0 +1,126 @@
+package com.dgtly.member.controller;
+
+import java.util.List;
+
+import com.dgtly.member.service.IMemberInfoService;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import com.dgtly.common.annotation.Log;
+import com.dgtly.common.enums.BusinessType;
+import com.dgtly.member.domain.MemberInfo;
+import com.dgtly.common.core.controller.BaseController;
+import com.dgtly.common.core.domain.AjaxResult;
+import com.dgtly.common.utils.poi.ExcelUtil;
+import com.dgtly.common.core.page.TableDataInfo;
+
+/**
+ * 会员信息Controller
+ * 
+ * @author dgtly
+ * @date 2020-02-13
+ */
+@Controller
+@RequestMapping("/member/info")
+public class MemberInfoController extends BaseController
+{
+    private String prefix = "member/info";
+
+    @Autowired
+    private IMemberInfoService memberInfoService;
+
+    @RequiresPermissions("member:info:view")
+    @GetMapping()
+    public String info()
+    {
+        return prefix + "/info";
+    }
+
+    /**
+     * 查询会员信息列表
+     */
+    @RequiresPermissions("member:info:list")
+    @PostMapping("/list")
+    @ResponseBody
+    public TableDataInfo list(MemberInfo memberInfo)
+    {
+        startPage();
+        List<MemberInfo> list = memberInfoService.selectMemberInfoList(memberInfo);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出会员信息列表
+     */
+    @RequiresPermissions("member:info:export")
+    @PostMapping("/export")
+    @ResponseBody
+    public AjaxResult export(MemberInfo memberInfo)
+    {
+        List<MemberInfo> list = memberInfoService.selectMemberInfoList(memberInfo);
+        ExcelUtil<MemberInfo> util = new ExcelUtil<MemberInfo>(MemberInfo.class);
+        return util.exportExcel(list, "info");
+    }
+
+    /**
+     * 新增会员信息
+     */
+    @GetMapping("/add")
+    public String add()
+    {
+        return prefix + "/add";
+    }
+
+    /**
+     * 新增保存会员信息
+     */
+    @RequiresPermissions("member:info:add")
+    @Log(title = "会员信息", businessType = BusinessType.INSERT)
+    @PostMapping("/add")
+    @ResponseBody
+    public AjaxResult addSave(MemberInfo memberInfo)
+    {
+        return toAjax(memberInfoService.insertMemberInfo(memberInfo));
+    }
+
+    /**
+     * 修改会员信息
+     */
+    @GetMapping("/edit/{id}")
+    public String edit(@PathVariable("id") Long id, ModelMap mmap)
+    {
+        MemberInfo memberInfo = memberInfoService.selectMemberInfoById(id);
+        mmap.put("memberInfo", memberInfo);
+        return prefix + "/edit";
+    }
+
+    /**
+     * 修改保存会员信息
+     */
+    @RequiresPermissions("member:info:edit")
+    @Log(title = "会员信息", businessType = BusinessType.UPDATE)
+    @PostMapping("/edit")
+    @ResponseBody
+    public AjaxResult editSave(MemberInfo memberInfo)
+    {
+        return toAjax(memberInfoService.updateMemberInfo(memberInfo));
+    }
+
+    /**
+     * 删除会员信息
+     */
+    @RequiresPermissions("member:info:remove")
+    @Log(title = "会员信息", businessType = BusinessType.DELETE)
+    @PostMapping( "/remove")
+    @ResponseBody
+    public AjaxResult remove(String ids)
+    {
+        return toAjax(memberInfoService.deleteMemberInfoByIds(ids));
+    }
+}

+ 136 - 0
dgtly-member/dgtly-member-admin/src/main/java/com/dgtly/notice/controller/NoticeDemandController.java

@@ -0,0 +1,136 @@
+package com.dgtly.notice.controller;
+
+import java.util.List;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import com.dgtly.common.annotation.Log;
+import com.dgtly.common.enums.BusinessType;
+import com.dgtly.notice.domain.NoticeDemand;
+import com.dgtly.notice.service.INoticeDemandService;
+import com.dgtly.common.core.controller.BaseController;
+import com.dgtly.common.core.domain.AjaxResult;
+import com.dgtly.common.utils.poi.ExcelUtil;
+import com.dgtly.common.core.page.TableDataInfo;
+
+/**
+ * 【请填写功能名称】Controller
+ * 
+ * @author dgtly
+ * @date 2020-02-13
+ */
+@Controller
+@RequestMapping("/notice/demand")
+public class NoticeDemandController extends BaseController
+{
+    private String prefix = "notice/demand";
+
+    @Autowired
+    private INoticeDemandService noticeDemandService;
+
+    @RequiresPermissions("notice:demand:view")
+    @GetMapping()
+    public String demand()
+    {
+        return prefix + "/demand";
+    }
+
+    /**
+     * 查询【请填写功能名称】列表
+     */
+    @RequiresPermissions("notice:demand:list")
+    @PostMapping("/list")
+    @ResponseBody
+    public TableDataInfo list(NoticeDemand noticeDemand)
+    {
+        startPage();
+        List<NoticeDemand> list = noticeDemandService.selectNoticeDemandList(noticeDemand);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出【请填写功能名称】列表
+     */
+    @RequiresPermissions("notice:demand:export")
+    @PostMapping("/export")
+    @ResponseBody
+    public AjaxResult export(NoticeDemand noticeDemand)
+    {
+        List<NoticeDemand> list = noticeDemandService.selectNoticeDemandList(noticeDemand);
+        ExcelUtil<NoticeDemand> util = new ExcelUtil<NoticeDemand>(NoticeDemand.class);
+        return util.exportExcel(list, "demand");
+    }
+
+    /**
+     * 新增【请填写功能名称】
+     */
+    @GetMapping("/add")
+    public String add()
+    {
+        return prefix + "/add";
+    }
+
+    /**
+     * 新增保存【请填写功能名称】
+     */
+    @RequiresPermissions("notice:demand:add")
+    @Log(title = "【请填写功能名称】", businessType = BusinessType.INSERT)
+    @PostMapping("/add")
+    @ResponseBody
+    public AjaxResult addSave(NoticeDemand noticeDemand)
+    {
+        return toAjax(noticeDemandService.insertNoticeDemand(noticeDemand));
+    }
+
+    /**
+     * 修改【请填写功能名称】
+     */
+    @GetMapping("/edit/{id}")
+    public String edit(@PathVariable("id") Long id, ModelMap mmap)
+    {
+        NoticeDemand noticeDemand = noticeDemandService.selectNoticeDemandById(id);
+        mmap.put("noticeDemand", noticeDemand);
+        return prefix + "/edit";
+    }
+
+    /**
+     * 修改【请填写功能名称】
+     */
+    @GetMapping("/see/{id}")
+    public String see(@PathVariable("id") Long id, ModelMap mmap)
+    {
+        NoticeDemand noticeDemand = noticeDemandService.selectNoticeDemandById(id);
+        mmap.put("noticeDemand", noticeDemand);
+        return prefix + "/see";
+    }
+
+    /**
+     * 修改保存【请填写功能名称】
+     */
+    @RequiresPermissions("notice:demand:edit")
+    @Log(title = "【请填写功能名称】", businessType = BusinessType.UPDATE)
+    @PostMapping("/edit")
+    @ResponseBody
+    public AjaxResult editSave(NoticeDemand noticeDemand)
+    {
+        return toAjax(noticeDemandService.updateNoticeDemand(noticeDemand));
+    }
+
+    /**
+     * 删除【请填写功能名称】
+     */
+    @RequiresPermissions("notice:demand:remove")
+    @Log(title = "【请填写功能名称】", businessType = BusinessType.DELETE)
+    @PostMapping( "/remove")
+    @ResponseBody
+    public AjaxResult remove(String ids)
+    {
+        return toAjax(noticeDemandService.deleteNoticeDemandByIds(ids));
+    }
+}

+ 172 - 0
dgtly-member/dgtly-member-admin/src/main/java/com/dgtly/notice/controller/NoticeSupplyController.java

@@ -0,0 +1,172 @@
+package com.dgtly.notice.controller;
+
+import java.util.List;
+
+import com.dgtly.common.utils.StringUtils;
+import com.dgtly.common.utils.file.FileUploadUtils;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import com.dgtly.common.annotation.Log;
+import com.dgtly.common.enums.BusinessType;
+import com.dgtly.notice.domain.NoticeSupply;
+import com.dgtly.notice.service.INoticeSupplyService;
+import com.dgtly.common.core.controller.BaseController;
+import com.dgtly.common.core.domain.AjaxResult;
+import com.dgtly.common.utils.poi.ExcelUtil;
+import com.dgtly.common.core.page.TableDataInfo;
+import org.springframework.web.multipart.MultipartFile;
+
+/**
+ * 【请填写功能名称】Controller
+ * 
+ * @author dgtly
+ * @date 2020-02-13
+ */
+@Controller
+@RequestMapping("/notice/supply")
+public class NoticeSupplyController extends BaseController
+{
+    private String prefix = "notice/supply";
+
+    @Autowired
+    private INoticeSupplyService noticeSupplyService;
+
+    @RequiresPermissions("notice:supply:view")
+    @GetMapping()
+    public String supply()
+    {
+        return prefix + "/supply";
+    }
+
+    /**
+     * 查询【请填写功能名称】列表
+     */
+    @RequiresPermissions("notice:supply:list")
+    @PostMapping("/list")
+    @ResponseBody
+    public TableDataInfo list(NoticeSupply noticeSupply)
+    {
+        startPage();
+        List<NoticeSupply> list = noticeSupplyService.selectNoticeSupplyList(noticeSupply);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出【请填写功能名称】列表
+     */
+    @RequiresPermissions("notice:supply:export")
+    @PostMapping("/export")
+    @ResponseBody
+    public AjaxResult export(NoticeSupply noticeSupply)
+    {
+        List<NoticeSupply> list = noticeSupplyService.selectNoticeSupplyList(noticeSupply);
+        ExcelUtil<NoticeSupply> util = new ExcelUtil<NoticeSupply>(NoticeSupply.class);
+        return util.exportExcel(list, "supply");
+    }
+
+    /**
+     * 新增【请填写功能名称】
+     */
+    @GetMapping("/add")
+    public String add()
+    {
+        return prefix + "/add";
+    }
+
+    /**
+     * 新增保存【请填写功能名称】
+     */
+    @RequiresPermissions("notice:supply:add")
+    @Log(title = "【请填写功能名称】", businessType = BusinessType.INSERT)
+    @PostMapping("/add")
+    @ResponseBody
+    public AjaxResult addSave(NoticeSupply noticeSupply, MultipartFile file)
+    {
+
+        if(StringUtils.isNotEmpty(noticeSupply.getPicture())){
+            //获取base64文件后缀
+            String houzhui = noticeSupply.getPicture().split(";")[0].split("\\/")[1];
+            //获取base64值
+            String base64 = noticeSupply.getPicture().substring( noticeSupply.getPicture().indexOf(",") + 1);
+
+            //base64转文件 并返回展示url
+            String fileUrl = FileUploadUtils.base64ToFile(base64,FileUploadUtils.getDefaultBaseDir()+"/content",System.currentTimeMillis()+"."+houzhui);
+            noticeSupply.setPicture(fileUrl);
+        }
+        return toAjax(noticeSupplyService.insertNoticeSupply(noticeSupply));
+    }
+
+    /**
+     * 修改【请填写功能名称】
+     */
+    @GetMapping("/edit/{id}")
+    public String edit(@PathVariable("id") Long id, ModelMap mmap)
+    {
+        NoticeSupply noticeSupply = noticeSupplyService.selectNoticeSupplyById(id);
+        mmap.put("noticeSupply", noticeSupply);
+        return prefix + "/edit";
+    }
+
+    /**
+     * 查看供应详情
+     */
+    @GetMapping("/details/{id}")
+    public String details(@PathVariable("id") Long id, ModelMap mmap)
+    {
+        NoticeSupply noticeSupply = noticeSupplyService.selectNoticeSupplyById(id);
+        mmap.put("noticeSupply", noticeSupply);
+        return prefix + "/details";
+    }
+
+    /**
+     * 查看供应详情
+     */
+    @GetMapping("/editstatus/{id}")
+    public String editstatus(@PathVariable("id") Long id, ModelMap mmap)
+    {
+        NoticeSupply noticeSupply = noticeSupplyService.selectNoticeSupplyById(id);
+        mmap.put("noticeSupply", noticeSupply);
+        return prefix + "/editstatus";
+    }
+
+    /**
+     * 修改保存【请填写功能名称】
+     */
+    @RequiresPermissions("notice:supply:edit")
+    @Log(title = "【请填写功能名称】", businessType = BusinessType.UPDATE)
+    @PostMapping("/edit")
+    @ResponseBody
+    public AjaxResult editSave(NoticeSupply noticeSupply)
+    {
+        if(StringUtils.isNotEmpty(noticeSupply.getPicture())){
+            //获取base64文件后缀
+            String houzhui = noticeSupply.getPicture().split(";")[0].split("\\/")[1];
+            //获取base64值
+            String base64 = noticeSupply.getPicture().substring( noticeSupply.getPicture().indexOf(",") + 1);
+
+            //base64转文件 并返回展示url
+            String fileUrl = FileUploadUtils.base64ToFile(base64,FileUploadUtils.getDefaultBaseDir()+"/content",System.currentTimeMillis()+"."+houzhui);
+            noticeSupply.setPicture(fileUrl);
+        }
+        return toAjax(noticeSupplyService.updateNoticeSupply(noticeSupply));
+    }
+
+    /**
+     * 删除【请填写功能名称】
+     */
+    @RequiresPermissions("notice:supply:remove")
+    @Log(title = "【请填写功能名称】", businessType = BusinessType.DELETE)
+    @PostMapping( "/remove")
+    @ResponseBody
+    public AjaxResult remove(String ids)
+    {
+        return toAjax(noticeSupplyService.deleteNoticeSupplyByIds(ids));
+    }
+}

+ 54 - 0
dgtly-member/dgtly-member-admin/src/main/resources/templates/member/follow/add.html

@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('新增会员关注')" />
+    <th:block th:include="include :: datetimepicker-css" />
+</head>
+<body class="white-bg">
+    <div class="wrapper wrapper-content animated fadeInRight ibox-content">
+        <form class="form-horizontal m" id="form-follow-add">
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">会员ID:</label>
+                <div class="col-sm-8">
+                    <input name="memberId" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">商户(公司)ID:</label>
+                <div class="col-sm-8">
+                    <input name="companyId" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">关注日期:</label>
+                <div class="col-sm-8">
+                    <div class="input-group date">
+                        <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
+                        <input name="followDate" class="form-control" placeholder="yyyy-MM-dd" type="text">
+                    </div>
+                </div>
+            </div>
+        </form>
+    </div>
+    <th:block th:include="include :: footer" />
+    <th:block th:include="include :: datetimepicker-js" />
+    <script type="text/javascript">
+        var prefix = ctx + "system/follow"
+        $("#form-follow-add").validate({
+            focusCleanup: true
+        });
+
+        function submitHandler() {
+            if ($.validate.form()) {
+                $.operate.save(prefix + "/add", $('#form-follow-add').serialize());
+            }
+        }
+
+        $("input[name='followDate']").datetimepicker({
+            format: "yyyy-mm-dd",
+            minView: "month",
+            autoclose: true
+        });
+    </script>
+</body>
+</html>

+ 55 - 0
dgtly-member/dgtly-member-admin/src/main/resources/templates/member/follow/edit.html

@@ -0,0 +1,55 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('修改会员关注')" />
+    <th:block th:include="include :: datetimepicker-css" />
+</head>
+<body class="white-bg">
+    <div class="wrapper wrapper-content animated fadeInRight ibox-content">
+        <form class="form-horizontal m" id="form-follow-edit" th:object="${memberFollow}">
+            <input name="id" th:field="*{id}" type="hidden">
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">会员ID:</label>
+                <div class="col-sm-8">
+                    <input name="memberId" th:field="*{memberId}" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">商户(公司)ID:</label>
+                <div class="col-sm-8">
+                    <input name="companyId" th:field="*{companyId}" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">关注日期:</label>
+                <div class="col-sm-8">
+                    <div class="input-group date">
+                        <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
+                        <input name="followDate" th:value="${#dates.format(memberFollow.followDate, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
+                    </div>
+                </div>
+            </div>
+        </form>
+    </div>
+    <th:block th:include="include :: footer" />
+    <th:block th:include="include :: datetimepicker-js" />
+    <script type="text/javascript">
+        var prefix = ctx + "system/follow";
+        $("#form-follow-edit").validate({
+            focusCleanup: true
+        });
+
+        function submitHandler() {
+            if ($.validate.form()) {
+                $.operate.save(prefix + "/edit", $('#form-follow-edit').serialize());
+            }
+        }
+
+        $("input[name='followDate']").datetimepicker({
+            format: "yyyy-mm-dd",
+            minView: "month",
+            autoclose: true
+        });
+    </script>
+</body>
+</html>

+ 108 - 0
dgtly-member/dgtly-member-admin/src/main/resources/templates/member/follow/follow.html

@@ -0,0 +1,108 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
+<head>
+    <th:block th:include="include :: header('会员关注列表')" />
+</head>
+<body class="gray-bg">
+     <div class="container-div">
+        <div class="row">
+            <div class="col-sm-12 search-collapse">
+                <form id="formId">
+                    <div class="select-list">
+                        <ul>
+                            <li>
+                                <p>会员ID:</p>
+                                <input type="text" name="memberId"/>
+                            </li>
+                            <li>
+                                <p>商户(公司)ID:</p>
+                                <input type="text" name="companyId"/>
+                            </li>
+                            <li class="select-time">
+                                <p>关注日期:</p>
+                                <input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[beginFollowDate]"/>
+                                <span>-</span>
+                                <input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[endFollowDate]"/>
+                            </li>
+                            <li>
+                                <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
+                                <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
+                            </li>
+                        </ul>
+                    </div>
+                </form>
+            </div>
+
+            <div class="btn-group-sm" id="toolbar" role="group">
+                <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:follow:add">
+                    <i class="fa fa-plus"></i> 添加
+                </a>
+                <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:follow:edit">
+                    <i class="fa fa-edit"></i> 修改
+                </a>
+                <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:follow:remove">
+                    <i class="fa fa-remove"></i> 删除
+                </a>
+                <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:follow:export">
+                    <i class="fa fa-download"></i> 导出
+                 </a>
+            </div>
+            <div class="col-sm-12 select-table table-striped">
+                <table id="bootstrap-table"></table>
+            </div>
+        </div>
+    </div>
+    <th:block th:include="include :: footer" />
+    <script th:inline="javascript">
+        var editFlag = [[${@permission.hasPermi('system:follow:edit')}]];
+        var removeFlag = [[${@permission.hasPermi('system:follow:remove')}]];
+        var prefix = ctx + "system/follow";
+
+        $(function() {
+            var options = {
+                url: prefix + "/list",
+                createUrl: prefix + "/add",
+                updateUrl: prefix + "/edit/{id}",
+                removeUrl: prefix + "/remove",
+                exportUrl: prefix + "/export",
+                modalName: "会员关注",
+                columns: [{
+                    checkbox: true
+                },
+                {
+                    field : 'id', 
+                    title : '会员id',
+                    visible: false
+                },
+                {
+                    field : 'memberId', 
+                    title : '会员ID'
+                },
+                {
+                    field : 'companyId', 
+                    title : '商户(公司)ID'
+                },
+                {
+                    field : 'followDate', 
+                    title : '关注日期'
+                },
+                {
+                    field : 'remark', 
+                    title : '备注'
+                },
+                {
+                    title: '操作',
+                    align: 'center',
+                    formatter: function(value, row, index) {
+                        var actions = [];
+                        actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
+                        actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a>');
+                        return actions.join('');
+                    }
+                }]
+            };
+            $.table.init(options);
+        });
+    </script>
+</body>
+</html>

+ 60 - 0
dgtly-member/dgtly-member-admin/src/main/resources/templates/member/info/add.html

@@ -0,0 +1,60 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('新增会员信息')" />
+    <th:block th:include="include :: datetimepicker-css" />
+</head>
+<body class="white-bg">
+    <div class="wrapper wrapper-content animated fadeInRight ibox-content">
+        <form class="form-horizontal m" id="form-info-add">
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">登录账号:</label>
+                <div class="col-sm-8">
+                    <input name="loginAccount" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">登录密码:</label>
+                <div class="col-sm-8">
+                    <input name="loginPassword" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">手机号:</label>
+                <div class="col-sm-8">
+                    <input name="phone" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">登陆时间:</label>
+                <div class="col-sm-8">
+                    <div class="input-group date">
+                        <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
+                        <input name="loginTime" class="form-control" placeholder="yyyy-MM-dd" type="text">
+                    </div>
+                </div>
+            </div>
+        </form>
+    </div>
+    <th:block th:include="include :: footer" />
+    <th:block th:include="include :: datetimepicker-js" />
+    <script type="text/javascript">
+        var prefix = ctx + "member/info"
+        $("#form-info-add").validate({
+            focusCleanup: true
+        });
+
+        function submitHandler() {
+            if ($.validate.form()) {
+                $.operate.save(prefix + "/add", $('#form-info-add').serialize());
+            }
+        }
+
+        $("input[name='loginTime']").datetimepicker({
+            format: "yyyy-mm-dd",
+            minView: "month",
+            autoclose: true
+        });
+    </script>
+</body>
+</html>

+ 62 - 0
dgtly-member/dgtly-member-admin/src/main/resources/templates/member/info/edit.html

@@ -0,0 +1,62 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('修改会员信息')" />
+    <th:block th:include="include :: datetimepicker-css" />
+</head>
+<body class="white-bg">
+    <div class="wrapper wrapper-content animated fadeInRight ibox-content">
+        <form class="form-horizontal m" id="form-info-edit" th:object="${memberInfo}">
+            <input name="id" th:field="*{id}" type="hidden">
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">登录账号:</label>
+                <div class="col-sm-8">
+                    <input name="loginAccount" disabled="" th:field="*{loginAccount}" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group" id="loginPassword">
+                <label class="col-sm-3 control-label">登录密码:</label>
+                <div class="col-sm-8">
+                    <input name="loginPassword" th:field="*{loginPassword}" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">手机号:</label>
+                <div class="col-sm-8">
+                    <input name="phone" disabled="" th:field="*{phone}" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">
+                <label class="col-sm-3 control-label">登陆时间:</label>
+                <div class="col-sm-8">
+                    <div class="input-group date">
+                        <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
+                        <input name="loginTime" disabled="" th:value="${#dates.format(memberInfo.loginTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
+                    </div>
+                </div>
+            </div>
+        </form>
+    </div>
+    <th:block th:include="include :: footer" />
+    <th:block th:include="include :: datetimepicker-js" />
+    <script type="text/javascript">
+        var prefix = ctx + "member/info";
+        $("#form-info-edit").validate({
+            focusCleanup: true
+        });
+
+        $("#loginPassword").attr("style","display:none;");//隐藏div
+        function submitHandler() {
+            if ($.validate.form()) {
+                $.operate.save(prefix + "/edit", $('#form-info-edit').serialize());
+            }
+        }
+
+        $("input[name='loginTime']").datetimepicker({
+            format: "yyyy-mm-dd",
+            minView: "month",
+            autoclose: true
+        });
+    </script>
+</body>
+</html>

+ 116 - 0
dgtly-member/dgtly-member-admin/src/main/resources/templates/member/info/info.html

@@ -0,0 +1,116 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
+<head>
+    <th:block th:include="include :: header('会员信息列表')" />
+</head>
+<body class="gray-bg">
+     <div class="container-div">
+        <div class="row">
+            <div class="col-sm-12 search-collapse">
+                <form id="formId">
+                    <div class="select-list">
+                        <ul>
+                            <li>
+                                <p>登录账号:</p>
+                                <input type="text" name="loginAccount"/>
+                            </li>
+<!--                            <li>-->
+<!--                                <p>登录密码:</p>-->
+<!--                                <input type="text" name="loginPassword"/>-->
+<!--                            </li>-->
+                            <li>
+                                <p>手机号:</p>
+                                <input type="text" name="phone"/>
+                            </li>
+<!--                            <li class="select-time">-->
+<!--                                <p>登陆时间:</p>-->
+<!--                                <input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[beginLoginTime]"/>-->
+<!--                                <span>-</span>-->
+<!--                                <input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[endLoginTime]"/>-->
+<!--                            </li>-->
+                            <li>
+                                <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
+                                <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
+                            </li>
+                        </ul>
+                    </div>
+                </form>
+            </div>
+
+            <div class="btn-group-sm" id="toolbar" role="group">
+<!--                <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:info:add">-->
+<!--                    <i class="fa fa-plus"></i> 添加-->
+<!--                </a>-->
+<!--                <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:info:edit">-->
+<!--                    <i class="fa fa-edit"></i> 修改-->
+<!--                </a>-->
+<!--                <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:info:remove">-->
+<!--                    <i class="fa fa-remove"></i> 删除-->
+<!--                </a>-->
+                <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:info:export">
+                    <i class="fa fa-download"></i> 导出
+                 </a>
+            </div>
+            <div class="col-sm-12 select-table table-striped">
+                <table id="bootstrap-table"></table>
+            </div>
+        </div>
+    </div>
+    <th:block th:include="include :: footer" />
+    <script th:inline="javascript">
+        var editFlag = [[${@permission.hasPermi('system:info:detail')}]];
+        var removeFlag = [[${@permission.hasPermi('system:info:remove')}]];
+        var prefix = ctx + "member/info";
+
+        $(function() {
+            var options = {
+                url: prefix + "/list",
+                createUrl: prefix + "/add",
+                detailUrl: prefix + "/edit/{id}",
+                removeUrl: prefix + "/remove",
+                exportUrl: prefix + "/export",
+                modalName: "会员信息",
+                columns: [{
+                    checkbox: true
+                },
+                {
+                    field : 'id', 
+                    title : '登陆时间',
+                    visible: false
+                },
+                {
+                    field : 'loginAccount', 
+                    title : '登录账号'
+                },
+                // {
+                //     field : 'loginPassword',
+                //     title : '登录密码'
+                // },
+                {
+                    field : 'phone', 
+                    title : '手机号'
+                },
+                {
+                    field : 'loginTime', 
+                    title : '登陆时间'
+                },
+                {
+                    field : 'remark', 
+                    title : '备注'
+                },
+                {
+                    title: '操作',
+                    align: 'center',
+                    formatter: function(value, row, index) {
+                        var actions = [];
+                        actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.detail(\'' + row.id + '\')"><i class="fa fa-edit"></i>查看</a> ');
+                        actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a>');
+                        return actions.join('');
+                    }
+                }]
+            };
+            $.table.init(options);
+        });
+    </script>
+</body>
+</html>

+ 94 - 0
dgtly-member/dgtly-member-admin/src/main/resources/templates/notice/demand/add.html

@@ -0,0 +1,94 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('新增【请填写功能名称】')" />
+    <th:block th:include="include :: datetimepicker-css" />
+</head>
+<body class="white-bg">
+    <div class="wrapper wrapper-content animated fadeInRight ibox-content">
+        <form class="form-horizontal m" id="form-demand-add">
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">会员信息表id:</label>
+                <div class="col-sm-8">
+                    <input name="memberId" class="form-control" type="text" required>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">求购标题:</label>
+                <div class="col-sm-8">
+                    <input name="purchaseTitle" class="form-control" type="text" required>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">需求概要:</label>
+                <div class="col-sm-8">
+                    <input name="summaryOfNeeds" class="form-control" type="text" required>
+                </div>
+            </div>
+            <div class="form-group">
+                <label class="col-sm-3 control-label">需求详情:</label>
+                <div class="col-sm-8">
+                    <textarea name="demandDetails" class="form-control" required></textarea>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">联系人:</label>
+                <div class="col-sm-8">
+                    <input name="contacts" class="form-control" type="text" required>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">联系电话:</label>
+                <div class="col-sm-8">
+                    <input name="contactNumber" class="form-control" type="text" required>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">发布时间:</label>
+                <div class="col-sm-8">
+                    <div class="input-group date">
+                        <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
+                        <input name="releaseTime" class="form-control" placeholder="yyyy-MM-dd" type="text">
+                    </div>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">需求信息状态:</label>
+                <div class="col-sm-8">
+                    <div class="radio-box">
+                        <input type="radio" name="status" value="" required>
+                        <label th:for="status" th:text="未知"></label>
+                    </div>
+                    <span class="help-block m-b-none"><i class="fa fa-info-circle"></i> 代码生成请选择字典属性</span>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">删除标志:</label>
+                <div class="col-sm-8">
+                    <input name="delFlag" class="form-control" type="text" required>
+                </div>
+            </div>
+        </form>
+    </div>
+    <th:block th:include="include :: footer" />
+    <th:block th:include="include :: datetimepicker-js" />
+    <script type="text/javascript">
+        var prefix = ctx + "notice/demand"
+        $("#form-demand-add").validate({
+            focusCleanup: true
+        });
+
+        function submitHandler() {
+            if ($.validate.form()) {
+                $.operate.save(prefix + "/add", $('#form-demand-add').serialize());
+            }
+        }
+
+        $("input[name='releaseTime']").datetimepicker({
+            format: "yyyy-mm-dd",
+            minView: "month",
+            autoclose: true
+        });
+    </script>
+</body>
+</html>

+ 157 - 0
dgtly-member/dgtly-member-admin/src/main/resources/templates/notice/demand/demand.html

@@ -0,0 +1,157 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
+<head>
+    <th:block th:include="include :: header('查看需求管理列表')" />
+</head>
+<body class="gray-bg">
+     <div class="container-div">
+        <div class="row">
+            <div class="col-sm-12 search-collapse">
+                <form id="formId">
+                    <div class="select-list">
+                        <ul>
+<!--                            <li>-->
+<!--                                <p>会员信息表id:</p>-->
+<!--                                <input type="text" name="memberId"/>-->
+<!--                            </li>-->
+                            <li>
+                                <p>求购标题:</p>
+                                <input type="text" name="purchaseTitle"/>
+                            </li>
+                            <li>
+                                <p>需求概要:</p>
+                                <input type="text" name="summaryOfNeeds"/>
+                            </li>
+                            <li>
+                                <p>联系人:</p>
+                                <input type="text" name="contacts"/>
+                            </li>
+                            <li>
+                                <p>联系电话:</p>
+                                <input type="text" name="contactNumber"/>
+                            </li>
+                            <li class="select-time">
+                                <p>发布时间:</p>
+                                <input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[beginReleaseTime]"/>
+                                <span>-</span>
+                                <input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[endReleaseTime]"/>
+                            </li>
+                            <li>
+                                <p>需求信息状态:</p>
+                                <select name="status">
+                                    <option value="">所有</option>
+                                    <option value="0">征集中</option>
+                                    <option value="1">已结束</option>
+                                </select>
+                            </li>
+                            <li>
+                                <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
+                                <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
+                            </li>
+                        </ul>
+                    </div>
+                </form>
+            </div>
+
+            <div class="btn-group-sm" id="toolbar" role="group">
+<!--                <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:demand:add">-->
+<!--                    <i class="fa fa-plus"></i> 添加-->
+<!--                </a>-->
+<!--                <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:demand:edit">-->
+<!--                    <i class="fa fa-edit"></i> 修改-->
+<!--                </a>-->
+<!--                <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:demand:remove">-->
+<!--                    <i class="fa fa-remove"></i> 删除-->
+<!--                </a>-->
+                <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:demand:export">
+                    <i class="fa fa-download"></i> 导出
+                 </a>
+            </div>
+            <div class="col-sm-12 select-table table-striped">
+                <table id="bootstrap-table"></table>
+            </div>
+        </div>
+    </div>
+    <th:block th:include="include :: footer" />
+    <script th:inline="javascript">
+        var conductStatus = [[${@dict.getType('conduct_status')}]];
+        var editFlag = [[${@permission.hasPermi('system:demand:edit')}]];
+        var detailFlag = [[${@permission.hasPermi('monitor:operlog:detail')}]];
+        var removeFlag = [[${@permission.hasPermi('system:demand:remove')}]];
+        var prefix = ctx + "notice/demand";
+
+        $(function() {
+            var options = {
+                url: prefix + "/list",
+                createUrl: prefix + "/add",
+                updateUrl: prefix + "/edit/{id}",
+                detailUrl: prefix + "/see/{id}",
+                removeUrl: prefix + "/remove",
+                exportUrl: prefix + "/export",
+                modalName: "需求信息",
+                columns: [{
+                    checkbox: true
+                },
+                {
+                    field : 'id', 
+                    title : '需求信息表id',
+                    visible: false
+                },
+                // {
+                //     field : 'memberId',
+                //     title : '会员信息表id'
+                // },
+                {
+                    field : 'purchaseTitle', 
+                    title : '求购标题'
+                },
+                {
+                    field : 'summaryOfNeeds', 
+                    title : '需求概要'
+                },
+                {
+                    field : 'demandDetails', 
+                    title : '需求详情'
+                },
+                {
+                    field : 'contacts', 
+                    title : '联系人'
+                },
+                {
+                    field : 'contactNumber', 
+                    title : '联系电话'
+                },
+                {
+                    field : 'releaseTime', 
+                    title : '发布时间'
+                },
+                {
+                    field : 'status', 
+                    title : '需求信息状态',
+                    align: 'center',
+                    formatter: function(value, row, index) {
+                        return $.table.selectDictLabel(conductStatus, value);
+                    }
+                },
+                // {
+                //     field : 'remark',
+                //     title : '备注'
+                // },
+                {
+                    title: '操作',
+                    align: 'center',
+                    formatter: function(value, row, index) {
+                        var actions = [];
+                        actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>修改状态</a> ');
+                        actions.push('<a class="btn btn-success btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="$.operate.detail(\'' + row.id + '\')"><i class="fa fa-edit"></i>查看</a> ');
+                        actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a>');
+                        return actions.join('');
+                    }
+                }]
+            };
+            $.table.init(options);
+
+        });
+    </script>
+</body>
+</html>

+ 97 - 0
dgtly-member/dgtly-member-admin/src/main/resources/templates/notice/demand/edit.html

@@ -0,0 +1,97 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('修改需求状态')" />
+    <th:block th:include="include :: datetimepicker-css" />
+</head>
+<body class="white-bg">
+    <div class="wrapper wrapper-content animated fadeInRight ibox-content">
+        <form class="form-horizontal m" id="form-demand-edit" th:object="${noticeDemand}">
+            <input name="id" th:field="*{id}" type="hidden">
+            <div class="form-group" id="memberId">
+                <label class="col-sm-3 control-label">会员信息表id:</label>
+                <div class="col-sm-8">
+                    <input name="memberId" th:field="*{memberId}" class="form-control" type="text" required>
+                </div>
+            </div>
+            <div class="form-group" id="purchaseTitle">
+                <label class="col-sm-3 control-label">求购标题:</label>
+                <div class="col-sm-8">
+                    <input name="purchaseTitle" th:field="*{purchaseTitle}" class="form-control" type="text" required>
+                </div>
+            </div>
+            <div class="form-group" id="summaryOfNeeds">
+                <label class="col-sm-3 control-label">需求概要:</label>
+                <div class="col-sm-8">
+                    <input name="summaryOfNeeds" th:field="*{summaryOfNeeds}" class="form-control" type="text" required>
+                </div>
+            </div>
+            <div class="form-group" id="demandDetails">
+                <label class="col-sm-3 control-label">需求详情:</label>
+                <div class="col-sm-8">
+                    <textarea name="demandDetails" class="form-control" required>[[*{demandDetails}]]</textarea>
+                </div>
+            </div>
+            <div class="form-group" id="contacts">
+                <label class="col-sm-3 control-label">联系人:</label>
+                <div class="col-sm-8">
+                    <input name="contacts" th:field="*{contacts}" class="form-control" type="text" required>
+                </div>
+            </div>
+            <div class="form-group" id="contactNumber">
+                <label class="col-sm-3 control-label">联系电话:</label>
+                <div class="col-sm-8">
+                    <input name="contactNumber" th:field="*{contactNumber}" class="form-control" type="text" required>
+                </div>
+            </div>
+            <div class="form-group" id="releaseTime">
+                <label class="col-sm-3 control-label">发布时间:</label>
+                <div class="col-sm-8">
+                    <div class="input-group date">
+                        <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
+                        <input name="releaseTime" th:value="${#dates.format(noticeDemand.releaseTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
+                    </div>
+                </div>
+            </div>
+            <div class="form-group" >
+                <label class="col-sm-3 control-label">需求信息状态:</label>
+                <div class="col-sm-8">
+                    <div class="radio-box">
+                        <label class="radio-box"> <input type="radio" th:field="*{status}" name="status" value="0" checked /> 征集中 </label>
+                        <label class="radio-box"> <input type="radio" th:field="*{status}" name="status" value="1" /> 已结束 </label>
+<!--                        <input type="radio" name="status" value="" required>-->
+<!--                        <label th:for="status" th:text="未知"></label>-->
+                    </div>
+                </div>
+            </div>
+        </form>
+    </div>
+    <th:block th:include="include :: footer" />
+    <th:block th:include="include :: datetimepicker-js" />
+    <script type="text/javascript">
+        var prefix = ctx + "notice/demand";
+        $("#form-demand-edit").validate({
+            focusCleanup: true
+        });
+
+        $("#memberId").attr("style","display:none;");//隐藏div
+        $("#purchaseTitle").attr("style","display:none;");//隐藏div
+        $("#summaryOfNeeds").attr("style","display:none;");//隐藏div
+        $("#demandDetails").attr("style","display:none;");//隐藏div
+        $("#contacts").attr("style","display:none;");//隐藏div
+        $("#contactNumber").attr("style","display:none;");//隐藏div
+        $("#releaseTime").attr("style","display:none;");//隐藏div
+        function submitHandler() {
+            if ($.validate.form()) {
+                $.operate.save(prefix + "/edit", $('#form-demand-edit').serialize());
+            }
+        }
+
+        $("input[name='releaseTime']").datetimepicker({
+            format: "yyyy-mm-dd",
+            minView: "month",
+            autoclose: true
+        });
+    </script>
+</body>
+</html>

+ 89 - 0
dgtly-member/dgtly-member-admin/src/main/resources/templates/notice/demand/see.html

@@ -0,0 +1,89 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('查看【请填写功能名称】')" />
+    <th:block th:include="include :: datetimepicker-css" />
+</head>
+<body class="white-bg">
+    <div class="wrapper wrapper-content animated fadeInRight ibox-content">
+        <form class="form-horizontal m" id="form-demand-edit" th:object="${noticeDemand}">
+            <input name="id" th:field="*{id}" type="hidden">
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">会员信息表id:</label>
+                <div class="col-sm-8">
+                    <input name="memberId" disabled="" th:field="*{memberId}" class="form-control" type="text" required>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">求购标题:</label>
+                <div class="col-sm-8">
+                    <input name="purchaseTitle" disabled="" th:field="*{purchaseTitle}" class="form-control" type="text" required>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">需求概要:</label>
+                <div class="col-sm-8">
+                    <input name="summaryOfNeeds" disabled="" th:field="*{summaryOfNeeds}" class="form-control" type="text" required>
+                </div>
+            </div>
+            <div class="form-group">
+                <label class="col-sm-3 control-label">需求详情:</label>
+                <div class="col-sm-8">
+                    <textarea name="demandDetails" disabled="" class="form-control" required>[[*{demandDetails}]]</textarea>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">联系人:</label>
+                <div class="col-sm-8">
+                    <input name="contacts" disabled="" th:field="*{contacts}" class="form-control" type="text" required>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">联系电话:</label>
+                <div class="col-sm-8">
+                    <input name="contactNumber" disabled="" th:field="*{contactNumber}" class="form-control" type="text" required>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">发布时间:</label>
+                <div class="col-sm-8">
+                    <div class="input-group date">
+                        <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
+                        <input name="releaseTime" disabled="" th:value="${#dates.format(noticeDemand.releaseTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
+                    </div>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">需求信息状态:</label>
+                <div class="col-sm-8">
+                    <div class="radio-box">
+                        <label class="radio-box"> <input  disabled="" type="radio" th:field="*{status}" name="status" value="0" checked /> 征集中 </label>
+                        <label class="radio-box"> <input  disabled="" type="radio" th:field="*{status}" name="status" value="1" /> 已结束 </label>
+                    </div>
+                    <span class="help-block m-b-none"><i class="fa fa-info-circle"></i> 代码生成请选择字典属性</span>
+                </div>
+            </div>
+        </form>
+    </div>
+    <th:block th:include="include :: footer" />
+    <th:block th:include="include :: datetimepicker-js" />
+    <script type="text/javascript">
+        var prefix = ctx + "notice/demand";
+        $("#form-demand-edit").validate({
+            focusCleanup: true
+        });
+
+        function submitHandler() {
+            if ($.validate.form()) {
+                $.operate.save(prefix + "/edit", $('#form-demand-edit').serialize());
+            }
+        }
+
+        $("input[name='releaseTime']").datetimepicker({
+            format: "yyyy-mm-dd",
+            minView: "month",
+            autoclose: true
+        });
+    </script>
+</body>
+</html>

+ 220 - 0
dgtly-member/dgtly-member-admin/src/main/resources/templates/notice/supply/add.html

@@ -0,0 +1,220 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('新增供应信息')" />
+    <th:block th:include="include :: summernote-css" />
+    <th:block th:include="include :: datetimepicker-css" />
+    <th:block th:include="include :: jasny-bootstrap-css" />
+</head>
+<body class="white-bg">
+    <div class="wrapper wrapper-content animated fadeInRight ibox-content">
+        <form class="form-horizontal m" id="form-supply-add">
+
+            <div class="form-group">
+                <div class="col-sm-6">
+                    <div class="form-group">
+                        <input name="typeId" type="hidden" id="input_typeId">
+                        <label class="col-sm-3 control-label"><span style="color: red; ">*</span>所属分类:</label>
+                        <div class="col-sm-10">
+                            <div class="input-group">
+                                <input name="typeName" onclick="selectTypeTree()" id="input_typeTreeName" type="text" placeholder="请选择所属分类" class="form-control"
+                                       readonly="readonly" required>
+                                <span class="input-group-addon"><i class="fa fa-search"></i></span>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+            </div>
+<!--            <div class="form-group">    -->
+<!--                <label class="col-sm-3 control-label">关联商品类别表id:</label>-->
+<!--                <div class="col-sm-8">-->
+<!--                    <input name="typeId" class="form-control" type="text" required>-->
+<!--                </div>-->
+<!--            </div>-->
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">商户名称</label>
+                <div class="col-sm-8">
+                    <input name="merchantId" class="form-control" type="text" required>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">供应信息标题:</label>
+                <div class="col-sm-8">
+                    <input name="supplyTitle" class="form-control" type="text" required>
+                </div>
+            </div>
+            <div class="row">
+                <div class="form-group">
+                    <label class="col-sm-3 control-label"><span style="color: red; ">*</span>供应信息详情:</label>
+                    <div class="col-sm-8">
+                        <input id="supplyDetails" name="supplyDetails" type="hidden">
+                        <div class="summernote"></div>
+                    </div>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">生产厂家:</label>
+                <div class="col-sm-8">
+                    <input name="manufacturer" class="form-control" type="text" required>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">联系人:</label>
+                <div class="col-sm-8">
+                    <input name="contacts" class="form-control" type="text" required>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">联系电话:</label>
+                <div class="col-sm-8">
+                    <input name="telephone" class="form-control" type="text" required>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">发布时间:</label>
+                <div class="col-sm-8">
+                    <div class="input-group date">
+                        <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
+                        <input name="releaseTime" class="form-control" placeholder="yyyy-MM-dd" type="text">
+                    </div>
+                </div>
+            </div>
+            <div class="row">
+                <div class="form-group">
+                    <input id="fmzFile" name="picture" type="hidden"/>
+                    <label class="col-sm-2 control-label"><span style="color: red; ">*</span>商品图片:</label>
+                    <div class="col-sm-10">
+                        <div class="fileinput fileinput-new" data-provides="fileinput">
+                            <div class="fileinput-new thumbnail" style="width: 140px; height: 140px;">
+                                <img th:src="@{/img/profile.jpg}">
+                            </div>
+                            <div id="fmz" class="fileinput-preview fileinput-exists thumbnail" style="max-width: 200px; max-height: 150px;">
+
+                            </div>
+                            <div>
+                                <span class="btn btn-white btn-file"><span class="fileinput-new">选择图片</span><span class="fileinput-exists">更改</span><input type="file"></span>
+                                <a href="#" class="btn btn-white fileinput-exists" data-dismiss="fileinput">清除</a>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">供应信息状态:</label>
+                <div class="col-sm-8">
+                    <div class="radio-box">
+                        <label class="radio-box"> <input type="radio"  name="status" value="0" checked /> 征集中 </label>
+                        <label class="radio-box"> <input type="radio"  name="status" value="1" /> 已结束 </label>
+                    </div>
+                </div>
+            </div>
+        </form>
+    </div>
+    <th:block th:include="include :: footer" />
+    <th:block th:include="include :: summernote-js" />
+    <th:block th:include="include :: datetimepicker-js" />
+    <th:block th:include="include :: jasny-bootstrap-js" />
+    <script type="text/javascript">
+        var prefix = ctx + "notice/supply"
+        $("#form-supply-add").validate({rules: {
+                typeName: "required",
+                lastname: "required",
+                username: {
+                    required: true,
+                    minlength: 2
+                },
+                password: {
+                    required: true,
+                    minlength: 5
+                },
+                confirm_password: {
+                    required: true,
+                    minlength: 5,
+                    equalTo: "#password"
+                },
+                email: {
+                    required: true,
+                    email: true
+                }
+            },
+            focusCleanup: true
+        });
+
+        $('.summernote').summernote({
+            placeholder: '请输入内容',
+            height : 192,
+            lang : 'zh-CN',
+            followingToolbar: false,
+            callbacks: {
+                onImageUpload: function (files) {
+                    sendFile(files[0], this);
+                }
+            }
+        });
+
+        function submitHandler() {
+            if ($.validate.form()) {
+                var sHTML = $('.summernote').summernote('code');
+                $("#supplyDetails").val(sHTML);
+                var file = $('#fmz').find('img').attr('src');
+                if(file == undefined){
+                    $.modal.alertWarning("请上传图片");
+                    return;
+                }
+                $('#fmzFile').val(file);
+                $.operate.save(prefix + "/add", $('#form-supply-add').serialize());
+            }
+        }
+        /******************选择分类树**********************************/
+        function selectTypeTree() {
+            var typeId = "0";
+            var url = ctx + "goods/type/selectTypeTree/" + typeId;
+            var options1 = {
+                title: '选择商品类型',
+                width: "380",
+                url: url,
+                callBack: selectType
+            };
+            $.modal.openOptions(options1);
+        }
+        function selectType(index, layero){
+            var tree = layero.find("iframe")[0].contentWindow.$._tree;
+            var body = layer.getChildFrame('body', index);
+            $("#input_typeId").val(body.find('#treeId').val());
+            $("#input_typeTreeName").val(body.find('#treeName').val());
+            layer.close(index);
+        }
+
+        /************************上传文件******************************/
+        function sendFile(file, obj) {
+            var data = new FormData();
+            data.append("file", file);
+            $.ajax({
+                type: "POST",
+                url: ctx + "common/upload",
+                data: data,
+                cache: false,
+                contentType: false,
+                processData: false,
+                dataType: 'json',
+                success: function(result) {
+                    if (result.code == web_status.SUCCESS) {
+                        $(obj).summernote('editor.insertImage', result.url, result.fileName);
+                    } else {
+                        $.modal.alertError(result.msg);
+                    }
+                },
+                error: function(error) {
+                    $.modal.alertWarning("图片上传失败。");
+                }
+            });
+        }
+
+        $("input[name='releaseTime']").datetimepicker({
+            format: "yyyy-mm-dd",
+            minView: "month",
+            autoclose: true
+        });
+    </script>
+</body>
+</html>

+ 119 - 0
dgtly-member/dgtly-member-admin/src/main/resources/templates/notice/supply/details.html

@@ -0,0 +1,119 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('修改供应信息')" />
+    <th:block th:include="include :: summernote-css" />
+    <th:block th:include="include :: datetimepicker-css" />
+</head>
+<body class="white-bg">
+    <div class="wrapper wrapper-content animated fadeInRight ibox-content">
+        <form class="form-horizontal m" id="form-supply-edit" th:object="${noticeSupply}">
+            <input name="id" th:field="*{id}" type="hidden">
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">关联商品类别表id:</label>
+                <div class="col-sm-8">
+                    <input name="typeId" disabled="" th:field="*{typeId}" class="form-control" type="text" required>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">商户表id:</label>
+                <div class="col-sm-8">
+                    <input name="merchantId" disabled="" th:field="*{merchantId}" class="form-control" type="text" required>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">供应信息标题:</label>
+                <div class="col-sm-8">
+                    <input name="supplyTitle" disabled="" th:field="*{supplyTitle}" class="form-control" type="text" required>
+                </div>
+            </div>
+            <div class="form-group">
+                <label class="col-sm-3 control-label">供应信息详情:</label>
+                <div class="col-sm-8" disabled="">
+                    <input disabled="" id="supplyDetails" name="supplyDetails" th:field="*{supplyDetails}" type="hidden">
+                    <div id="editor"  disabled="" class="summernote"></div>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">生产厂家:</label>
+                <div class="col-sm-8">
+                    <input name="manufacturer" disabled="" th:field="*{manufacturer}" class="form-control" type="text" required>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">联系人:</label>
+                <div class="col-sm-8">
+                    <input name="contacts" disabled="" th:field="*{contacts}" class="form-control" type="text" required>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">联系电话:</label>
+                <div class="col-sm-8">
+                    <input name="telephone" disabled="" th:field="*{telephone}" class="form-control" type="text" required>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">发布时间:</label>
+                <div class="col-sm-8">
+                    <div class="input-group date">
+                        <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
+                        <input name="releaseTime" disabled="" th:value="${#dates.format(noticeSupply.releaseTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
+                    </div>
+                </div>
+            </div>
+            <div class="form-group">
+                <label class="col-sm-3 control-label">商品图片:</label>
+                <div class="col-sm-8">
+                    <textarea name="picture" disabled="" class="form-control" required>[[*{picture}]]</textarea>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">供应信息状态:</label>
+                <div class="col-sm-8">
+                    <div class="radio-box">
+                        <label class="radio-box"> <input type="radio" disabled="" th:field="*{status}" name="status" value="0" checked /> 征集中 </label>
+                        <label class="radio-box"> <input type="radio" disabled="" th:field="*{status}" name="status" value="1" /> 已结束 </label>
+                    </div>
+                </div>
+            </div>
+        </form>
+    </div>
+    <th:block th:include="include :: footer" />
+    <th:block th:include="include :: summernote-js" />
+    <th:block th:include="include :: jasny-bootstrap-js" />
+    <script type="text/javascript">
+        var prefix = ctx + "notice/supply";
+        $("#form-supply-edit").validate({
+            focusCleanup: true
+        });
+
+        $(function() {
+            $('.summernote').summernote({
+                placeholder: '请输入内容',
+                height : 170,
+                lang : 'zh-CN',
+                followingToolbar: false,
+                callbacks: {
+                    onImageUpload: function (files) {
+                        sendFile(files[0], this);
+                    }
+                }
+            });
+            var content = $("#supplyDetails").val();
+            $('#editor').summernote('code', content);
+        });
+
+        function submitHandler() {
+            if ($.validate.form()) {
+                $.operate.save(prefix + "/edit", $('#form-supply-edit').serialize());
+            }
+        }
+
+        $("input[name='releaseTime']").datetimepicker({
+            format: "yyyy-mm-dd",
+            minView: "month",
+            autoclose: true
+        });
+    </script>
+</body>
+</html>

+ 207 - 0
dgtly-member/dgtly-member-admin/src/main/resources/templates/notice/supply/edit.html

@@ -0,0 +1,207 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('修改供应信息')" />
+    <th:block th:include="include :: summernote-css" />
+    <th:block th:include="include :: datetimepicker-css" />
+    <th:block th:include="include :: jasny-bootstrap-css" />
+</head>
+<body class="white-bg">
+    <div class="wrapper wrapper-content animated fadeInRight ibox-content">
+        <form class="form-horizontal m" id="form-supply-edit" th:object="${noticeSupply}">
+            <input name="id" th:field="*{id}" type="hidden">
+            <div class="form-group">
+                <div class="col-sm-6">
+                    <div class="form-group">
+                        <input name="typeId" type="hidden" id="input_typeId">
+                        <label class="col-sm-3 control-label"><span style="color: red; ">*</span>所属分类:</label>
+                        <div class="col-sm-10">
+                            <div class="input-group">
+                                <input name="typeName" onclick="selectTypeTree()" id="input_typeTreeName" type="text" placeholder="请选择所属分类" th:field="*{typeName}" class="form-control"
+                                       readonly="readonly" required>
+                                <span class="input-group-addon"><i class="fa fa-search"></i></span>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+            </div>
+<!--            <div class="form-group">    -->
+<!--                <label class="col-sm-3 control-label">关联商品类别表id:</label>-->
+<!--                <div class="col-sm-8">-->
+<!--                    <input name="typeId" th:field="*{typeId}" class="form-control" type="text" required>-->
+<!--                </div>-->
+<!--            </div>-->
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">商户名称</label>
+                <div class="col-sm-8">
+                    <input name="merchantId" th:field="*{merchantId}" class="form-control" type="text" required>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">供应信息标题:</label>
+                <div class="col-sm-8">
+                    <input name="supplyTitle" th:field="*{supplyTitle}" class="form-control" type="text" required>
+                </div>
+            </div>
+            <div class="row">
+                <div class="form-group">
+                    <label class="col-sm-3 control-label"><span style="color: red; ">*</span>供应信息详情:</label>
+                    <div class="col-sm-8">
+                        <input id="supplyDetails" th:field="*{supplyDetails}"  name="supplyDetails" type="hidden">
+                        <div id="editor"  class="summernote"></div>
+                    </div>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">生产厂家:</label>
+                <div class="col-sm-8">
+                    <input name="manufacturer" th:field="*{manufacturer}" class="form-control" type="text" required>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">联系人:</label>
+                <div class="col-sm-8">
+                    <input name="contacts" th:field="*{contacts}" class="form-control" type="text" required>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">联系电话:</label>
+                <div class="col-sm-8">
+                    <input name="telephone" th:field="*{telephone}" class="form-control" type="text" required>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">发布时间:</label>
+                <div class="col-sm-8">
+                    <div class="input-group date">
+                        <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
+                        <input name="releaseTime" th:value="${#dates.format(noticeSupply.releaseTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
+                    </div>
+                </div>
+            </div>
+            <div class="row">
+                <div class="form-group">
+                    <input id="fmzFile" name="picture" type="hidden"/>
+                    <label class="col-sm-2 control-label"><span style="color: red; ">*</span>商品图片:</label>
+                    <div class="col-sm-10">
+                        <div class="fileinput fileinput-new" data-provides="fileinput">
+                            <div class="fileinput-new thumbnail" style="width: 140px; height: 140px;">
+                                <img th:src="@{*{picture}}">
+                            </div>
+                            <div id="fmz" class="fileinput-preview fileinput-exists thumbnail" style="max-width: 200px; max-height: 150px;">
+
+                            </div>
+                            <div>
+                                <span class="btn btn-white btn-file"><span class="fileinput-new">选择图片</span><span class="fileinput-exists">更改</span><input type="file"></span>
+                                <a href="#" class="btn btn-white fileinput-exists" data-dismiss="fileinput">清除</a>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">供应信息状态:</label>
+                <div class="col-sm-8">
+                    <div class="radio-box">
+                        <label class="radio-box"> <input type="radio" th:field="*{status}" name="status" value="0" checked /> 征集中 </label>
+                        <label class="radio-box"> <input type="radio" th:field="*{status}" name="status" value="1" /> 已结束 </label>
+                    </div>
+                </div>
+            </div>
+        </form>
+    </div>
+    <th:block th:include="include :: footer" />
+    <th:block th:include="include :: summernote-js" />
+    <th:block th:include="include :: datetimepicker-js" />
+    <th:block th:include="include :: jasny-bootstrap-js" />
+    <script type="text/javascript">
+        var prefix = ctx + "notice/supply";
+        $("#form-supply-edit").validate({
+            focusCleanup: true
+        });
+
+        $(function() {
+            $('.summernote').summernote({
+                placeholder: '请输入内容',
+                height : 192,
+                lang : 'zh-CN',
+                followingToolbar: false,
+                callbacks: {
+                    onImageUpload: function (files) {
+                        sendFile(files[0], this);
+                    }
+                }
+            });
+            var content = $("#supplyDetails").val();
+            $('#editor').summernote('code', content);
+
+        });
+
+        /******************选择分类树**********************************/
+        function selectTypeTree() {
+            var typeId = "0";
+            var url = ctx + "goods/type/selectTypeTree/" + typeId;
+            var options1 = {
+                title: '选择商品类型',
+                width: "380",
+                url: url,
+                callBack: selectType
+            };
+            $.modal.openOptions(options1);
+        }
+        function selectType(index, layero){
+            var tree = layero.find("iframe")[0].contentWindow.$._tree;
+            var body = layer.getChildFrame('body', index);
+            $("#input_typeId").val(body.find('#treeId').val());
+            $("#input_typeTreeName").val(body.find('#treeName').val());
+            layer.close(index);
+        }
+
+
+        /************************上传文件******************************/
+        function sendFile(file, obj) {
+            var data = new FormData();
+            data.append("file", file);
+            $.ajax({
+                type: "POST",
+                url: ctx + "common/upload",
+                data: data,
+                cache: false,
+                contentType: false,
+                processData: false,
+                dataType: 'json',
+                success: function(result) {
+                    if (result.code == web_status.SUCCESS) {
+                        $(obj).summernote('editor.insertImage', result.url, result.fileName);
+                    } else {
+                        $.modal.alertError(result.msg);
+                    }
+                },
+                error: function(error) {
+                    $.modal.alertWarning("图片上传失败。");
+                }
+            });
+        }
+
+        function submitHandler() {
+            if ($.validate.form()) {
+                var sHTML = $('.summernote').summernote('code');
+                $("#supplyDetails").val(sHTML);
+                var file = $('#fmz').find('img').attr('src');
+                if(file == undefined){
+                    $.modal.alertWarning("请上传图片");
+                    return;
+                }
+                $('#fmzFile').val(file);
+                $.operate.save(prefix + "/edit", $('#form-supply-edit').serialize());
+            }
+        }
+
+        $("input[name='releaseTime']").datetimepicker({
+            format: "yyyy-mm-dd",
+            minView: "month",
+            autoclose: true
+        });
+    </script>
+</body>
+</html>

+ 106 - 0
dgtly-member/dgtly-member-admin/src/main/resources/templates/notice/supply/editstatus.html

@@ -0,0 +1,106 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('修改供应状态')" />
+    <th:block th:include="include :: datetimepicker-css" />
+</head>
+<body class="white-bg">
+    <div class="wrapper wrapper-content animated fadeInRight ibox-content">
+        <form class="form-horizontal m" id="form-supply-edit" th:object="${noticeSupply}">
+            <input name="id" th:field="*{id}" type="hidden">
+            <div class="form-group">
+                <label class="col-sm-3 control-label">商品类型</label>
+                <div class="col-sm-8">
+                    <select class="form-control m-b" name="account">
+                        <option>清选择</option>
+                        <option>柜子</option>
+                        <option>桌子</option>
+                        <option>椅子</option>
+                    </select>
+                </div>
+            </div>
+<!--            <div class="form-group" id="typeId">-->
+<!--                <label class="col-sm-3 control-label">关联商品类别表id:</label>-->
+<!--                <div class="col-sm-8">-->
+<!--                    <input name="typeId" th:field="*{typeId}" class="form-control" type="text" required>-->
+<!--                </div>-->
+<!--            </div>-->
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">商户名称</label>
+                <div class="col-sm-8">
+                    <input name="merchantId" th:field="*{merchantId}" class="form-control" type="text" required>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">供应信息标题:</label>
+                <div class="col-sm-8">
+                    <input name="supplyTitle" th:field="*{supplyTitle}" class="form-control" type="text" required>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">生产厂家:</label>
+                <div class="col-sm-8">
+                    <input name="manufacturer" th:field="*{manufacturer}" class="form-control" type="text" required>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">联系人:</label>
+                <div class="col-sm-8">
+                    <input name="contacts" th:field="*{contacts}" class="form-control" type="text" required>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">联系电话:</label>
+                <div class="col-sm-8">
+                    <input name="telephone" th:field="*{telephone}" class="form-control" type="text" required>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">发布时间:</label>
+                <div class="col-sm-8">
+                    <div class="input-group date">
+                        <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
+                        <input name="releaseTime" th:value="${#dates.format(noticeSupply.releaseTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
+                    </div>
+                </div>
+            </div>
+            <div class="form-group">
+                <label class="col-sm-3 control-label">商品图片:</label>
+                <div class="col-sm-8">
+                    <textarea name="picture" class="form-control" required>[[*{picture}]]</textarea>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">供应信息状态:</label>
+                <div class="col-sm-8">
+                    <div class="radio-box">
+                        <label class="radio-box"> <input type="radio" th:field="*{status}" name="status" value="0" checked /> 征集中 </label>
+                        <label class="radio-box"> <input type="radio" th:field="*{status}" name="status" value="1" /> 已结束 </label>
+                    </div>
+                </div>
+            </div>
+        </form>
+    </div>
+    <th:block th:include="include :: footer" />
+    <th:block th:include="include :: datetimepicker-js" />
+    <script type="text/javascript">
+        var prefix = ctx + "notice/supply";
+        $("#form-supply-edit").validate({
+            focusCleanup: true
+        });
+
+        $("#typeId").attr("style","display:none;");//隐藏div
+        function submitHandler() {
+            if ($.validate.form()) {
+                $.operate.save(prefix + "/edit", $('#form-supply-edit').serialize());
+            }
+        }
+
+        $("input[name='releaseTime']").datetimepicker({
+            format: "yyyy-mm-dd",
+            minView: "month",
+            autoclose: true
+        });
+    </script>
+</body>
+</html>

+ 167 - 0
dgtly-member/dgtly-member-admin/src/main/resources/templates/notice/supply/supply.html

@@ -0,0 +1,167 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
+<head>
+    <th:block th:include="include :: header('供应信息列表')" />
+</head>
+<body class="gray-bg">
+     <div class="container-div">
+        <div class="row">
+            <div class="col-sm-12 search-collapse">
+                <form id="formId">
+                    <div class="select-list">
+                        <ul>
+<!--                            <li>-->
+<!--                                <p>关联商品类别表id:</p>-->
+<!--                                <input type="text" name="typeId"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <p>商户表id:</p>-->
+<!--                                <input type="text" name="merchantId"/>-->
+<!--                            </li>-->
+                            <li>
+                                <p>供应信息标题:</p>
+                                <input type="text" name="supplyTitle"/>
+                            </li>
+                            <li>
+                                <p>生产厂家:</p>
+                                <input type="text" name="manufacturer"/>
+                            </li>
+                            <li>
+                                <p>联系人:</p>
+                                <input type="text" name="contacts"/>
+                            </li>
+                            <li>
+                                <p>联系电话:</p>
+                                <input type="text" name="telephone"/>
+                            </li>
+                            <li class="select-time">
+                                <p>发布时间:</p>
+                                <input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[beginReleaseTime]"/>
+                                <span>-</span>
+                                <input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[endReleaseTime]"/>
+                            </li>
+                            <li>
+                                <p>供应信息状态:</p>
+                                <select name="status">
+                                    <option value="">所有</option>
+                                    <option value="0">征集中</option>
+                                    <option value="1">已结束</option>
+                                </select>
+                            </li>
+                            <li>
+                                <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
+                                <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
+                            </li>
+                        </ul>
+                    </div>
+                </form>
+            </div>
+
+            <div class="btn-group-sm" id="toolbar" role="group">
+                <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:supply:add">
+                    <i class="fa fa-plus"></i> 添加
+                </a>
+                <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:supply:edit">
+                    <i class="fa fa-edit"></i> 修改
+                </a>
+                <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:supply:remove">
+                    <i class="fa fa-remove"></i> 删除
+                </a>
+                <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:supply:export">
+                    <i class="fa fa-download"></i> 导出
+                 </a>
+            </div>
+            <div class="col-sm-12 select-table table-striped">
+                <table id="bootstrap-table"></table>
+            </div>
+        </div>
+    </div>
+    <th:block th:include="include :: footer" />
+    <script th:inline="javascript">
+        var conductStatus = [[${@dict.getType('conduct_status')}]];
+        var editFlag = [[${@permission.hasPermi('system:supply:edit')}]];
+        var detailFlag = [[${@permission.hasPermi('monitor:operlog:detail')}]];
+        var removeFlag = [[${@permission.hasPermi('system:supply:remove')}]];
+        var prefix = ctx + "notice/supply";
+
+        $(function() {
+            var options = {
+                url: prefix + "/list",
+                createUrl: prefix + "/add",
+                updateUrl: prefix + "/edit/{id}",
+                removeUrl: prefix + "/remove",
+                detailUrl: prefix + "/details/{id}",
+                exportUrl: prefix + "/export",
+                modalName: "供应信息",
+                columns: [{
+                    checkbox: true
+                },
+                {
+                    field : 'id', 
+                    title : 'id,主键',
+                    visible: false
+                },
+                // {
+                //     field : 'typeId',
+                //     title : '关联商品类别表id'
+                // },
+                // {
+                //     field : 'merchantId',
+                //     title : '商户表id'
+                // },
+                {
+                    field : 'supplyTitle', 
+                    title : '供应信息标题'
+                },
+                    {
+                        field : 'supplyDetails',
+                        title : '供应信息详情'
+                    },
+                {
+                    field : 'manufacturer', 
+                    title : '生产厂家'
+                },
+                {
+                    field : 'contacts', 
+                    title : '联系人'
+                },
+                {
+                    field : 'telephone', 
+                    title : '联系电话'
+                },
+                {
+                    field : 'releaseTime', 
+                    title : '发布时间'
+                },
+                {
+                    field : 'picture', 
+                    title : '商品图片'
+                },
+                {
+                    field : 'status', 
+                    title : '供应信息状态',
+                    formatter: function(value, row, index) {
+                        return $.table.selectDictLabel(conductStatus, value);
+                    }
+                },
+                {
+                    field : 'remark', 
+                    title : '备注'
+                },
+                {
+                    title: '操作',
+                    align: 'center',
+                    formatter: function(value, row, index) {
+                        var actions = [];
+                        actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>修改状态</a> ');
+                        actions.push('<a class="btn btn-success btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="$.operate.detail(\'' + row.id + '\')"><i class="fa fa-edit"></i>查看</a> ');
+                        actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a>');
+                        return actions.join('');
+                    }
+                }]
+            };
+            $.table.init(options);
+        });
+    </script>
+</body>
+</html>

+ 18 - 0
dgtly-member/dgtly-member-common/pom.xml

@@ -10,6 +10,24 @@
     <modelVersion>4.0.0</modelVersion>
 
     <artifactId>dgtly-member-common</artifactId>
+    <dependencies>
+        <dependency>
+            <groupId>com.dgtly</groupId>
+            <artifactId>dgtly-common</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.dgtly</groupId>
+            <artifactId>dgtly-goods-common</artifactId>
+            <version>4.0.0</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>com.dgtly</groupId>
+            <artifactId>dgtly-goods-common</artifactId>
+            <version>4.0.0</version>
+            <scope>compile</scope>
+        </dependency>
+    </dependencies>
 
 
 </project>

+ 85 - 0
dgtly-member/dgtly-member-common/src/main/java/com/dgtly/member/domain/MemberFollow.java

@@ -0,0 +1,85 @@
+package com.dgtly.member.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.dgtly.common.annotation.Excel;
+import com.dgtly.common.core.domain.BaseEntity;
+import java.util.Date;
+
+/**
+ * 会员关注对象 member_follow
+ * 
+ * @author dgtly
+ * @date 2020-02-13
+ */
+public class MemberFollow extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 会员id */
+    private Long id;
+
+    /** 会员ID */
+    @Excel(name = "会员ID")
+    private Long memberId;
+
+    /** 商户(公司)ID */
+    @Excel(name = "商户(公司)ID")
+    private Long companyId;
+
+    /** 关注日期 */
+    @Excel(name = "关注日期", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date followDate;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setMemberId(Long memberId) 
+    {
+        this.memberId = memberId;
+    }
+
+    public Long getMemberId() 
+    {
+        return memberId;
+    }
+    public void setCompanyId(Long companyId) 
+    {
+        this.companyId = companyId;
+    }
+
+    public Long getCompanyId() 
+    {
+        return companyId;
+    }
+    public void setFollowDate(Date followDate) 
+    {
+        this.followDate = followDate;
+    }
+
+    public Date getFollowDate() 
+    {
+        return followDate;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("memberId", getMemberId())
+            .append("companyId", getCompanyId())
+            .append("followDate", getFollowDate())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .append("remark", getRemark())
+            .toString();
+    }
+}

+ 100 - 0
dgtly-member/dgtly-member-common/src/main/java/com/dgtly/member/domain/MemberInfo.java

@@ -0,0 +1,100 @@
+package com.dgtly.member.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.dgtly.common.annotation.Excel;
+import com.dgtly.common.core.domain.BaseEntity;
+
+import java.util.Date;
+
+/**
+ * 会员信息对象 member_info
+ * 
+ * @author dgtly
+ * @date 2020-02-13
+ */
+public class MemberInfo extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** $column.columnComment */
+    private Long id;
+
+    /** 登录账号 */
+    @Excel(name = "登录账号")
+    private String loginAccount;
+
+    /** 登录密码 */
+    @Excel(name = "登录密码")
+    private String loginPassword;
+
+    /** 手机号 */
+    @Excel(name = "手机号")
+    private String phone;
+
+    /** 登陆时间 */
+    @Excel(name = "登陆时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date loginTime;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setLoginAccount(String loginAccount) 
+    {
+        this.loginAccount = loginAccount;
+    }
+
+    public String getLoginAccount() 
+    {
+        return loginAccount;
+    }
+    public void setLoginPassword(String loginPassword) 
+    {
+        this.loginPassword = loginPassword;
+    }
+
+    public String getLoginPassword() 
+    {
+        return loginPassword;
+    }
+    public void setPhone(String phone) 
+    {
+        this.phone = phone;
+    }
+
+    public String getPhone() 
+    {
+        return phone;
+    }
+    public void setLoginTime(Date loginTime) 
+    {
+        this.loginTime = loginTime;
+    }
+
+    public Date getLoginTime() 
+    {
+        return loginTime;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("loginAccount", getLoginAccount())
+            .append("loginPassword", getLoginPassword())
+            .append("phone", getPhone())
+            .append("loginTime", getLoginTime())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .append("remark", getRemark())
+            .toString();
+    }
+}

+ 61 - 0
dgtly-member/dgtly-member-common/src/main/java/com/dgtly/member/mapper/MemberFollowMapper.java

@@ -0,0 +1,61 @@
+package com.dgtly.member.mapper;
+
+import com.dgtly.member.domain.MemberFollow;
+import java.util.List;
+
+/**
+ * 会员关注Mapper接口
+ * 
+ * @author dgtly
+ * @date 2020-02-13
+ */
+public interface MemberFollowMapper 
+{
+    /**
+     * 查询会员关注
+     * 
+     * @param id 会员关注ID
+     * @return 会员关注
+     */
+    public MemberFollow selectMemberFollowById(Long id);
+
+    /**
+     * 查询会员关注列表
+     * 
+     * @param memberFollow 会员关注
+     * @return 会员关注集合
+     */
+    public List<MemberFollow> selectMemberFollowList(MemberFollow memberFollow);
+
+    /**
+     * 新增会员关注
+     * 
+     * @param memberFollow 会员关注
+     * @return 结果
+     */
+    public int insertMemberFollow(MemberFollow memberFollow);
+
+    /**
+     * 修改会员关注
+     * 
+     * @param memberFollow 会员关注
+     * @return 结果
+     */
+    public int updateMemberFollow(MemberFollow memberFollow);
+
+    /**
+     * 删除会员关注
+     * 
+     * @param id 会员关注ID
+     * @return 结果
+     */
+    public int deleteMemberFollowById(Long id);
+
+    /**
+     * 批量删除会员关注
+     * 
+     * @param ids 需要删除的数据ID
+     * @return 结果
+     */
+    public int deleteMemberFollowByIds(String[] ids);
+}

+ 61 - 0
dgtly-member/dgtly-member-common/src/main/java/com/dgtly/member/mapper/MemberInfoMapper.java

@@ -0,0 +1,61 @@
+package com.dgtly.member.mapper;
+
+import com.dgtly.member.domain.MemberInfo;
+import java.util.List;
+
+/**
+ * 会员信息Mapper接口
+ * 
+ * @author dgtly
+ * @date 2020-02-13
+ */
+public interface MemberInfoMapper 
+{
+    /**
+     * 查询会员信息
+     * 
+     * @param id 会员信息ID
+     * @return 会员信息
+     */
+    public MemberInfo selectMemberInfoById(Long id);
+
+    /**
+     * 查询会员信息列表
+     * 
+     * @param memberInfo 会员信息
+     * @return 会员信息集合
+     */
+    public List<MemberInfo> selectMemberInfoList(MemberInfo memberInfo);
+
+    /**
+     * 新增会员信息
+     * 
+     * @param memberInfo 会员信息
+     * @return 结果
+     */
+    public int insertMemberInfo(MemberInfo memberInfo);
+
+    /**
+     * 修改会员信息
+     * 
+     * @param memberInfo 会员信息
+     * @return 结果
+     */
+    public int updateMemberInfo(MemberInfo memberInfo);
+
+    /**
+     * 删除会员信息
+     * 
+     * @param id 会员信息ID
+     * @return 结果
+     */
+    public int deleteMemberInfoById(Long id);
+
+    /**
+     * 批量删除会员信息
+     * 
+     * @param ids 需要删除的数据ID
+     * @return 结果
+     */
+    public int deleteMemberInfoByIds(String[] ids);
+}

+ 61 - 0
dgtly-member/dgtly-member-common/src/main/java/com/dgtly/member/service/IMemberFollowService.java

@@ -0,0 +1,61 @@
+package com.dgtly.member.service;
+
+import com.dgtly.member.domain.MemberFollow;
+import java.util.List;
+
+/**
+ * 会员关注Service接口
+ * 
+ * @author dgtly
+ * @date 2020-02-13
+ */
+public interface IMemberFollowService 
+{
+    /**
+     * 查询会员关注
+     * 
+     * @param id 会员关注ID
+     * @return 会员关注
+     */
+    public MemberFollow selectMemberFollowById(Long id);
+
+    /**
+     * 查询会员关注列表
+     * 
+     * @param memberFollow 会员关注
+     * @return 会员关注集合
+     */
+    public List<MemberFollow> selectMemberFollowList(MemberFollow memberFollow);
+
+    /**
+     * 新增会员关注
+     * 
+     * @param memberFollow 会员关注
+     * @return 结果
+     */
+    public int insertMemberFollow(MemberFollow memberFollow);
+
+    /**
+     * 修改会员关注
+     * 
+     * @param memberFollow 会员关注
+     * @return 结果
+     */
+    public int updateMemberFollow(MemberFollow memberFollow);
+
+    /**
+     * 批量删除会员关注
+     * 
+     * @param ids 需要删除的数据ID
+     * @return 结果
+     */
+    public int deleteMemberFollowByIds(String ids);
+
+    /**
+     * 删除会员关注信息
+     * 
+     * @param id 会员关注ID
+     * @return 结果
+     */
+    public int deleteMemberFollowById(Long id);
+}

+ 61 - 0
dgtly-member/dgtly-member-common/src/main/java/com/dgtly/member/service/IMemberInfoService.java

@@ -0,0 +1,61 @@
+package com.dgtly.member.service;
+
+import com.dgtly.member.domain.MemberInfo;
+import java.util.List;
+
+/**
+ * 会员信息Service接口
+ * 
+ * @author dgtly
+ * @date 2020-02-13
+ */
+public interface IMemberInfoService 
+{
+    /**
+     * 查询会员信息
+     * 
+     * @param id 会员信息ID
+     * @return 会员信息
+     */
+    public MemberInfo selectMemberInfoById(Long id);
+
+    /**
+     * 查询会员信息列表
+     * 
+     * @param memberInfo 会员信息
+     * @return 会员信息集合
+     */
+    public List<MemberInfo> selectMemberInfoList(MemberInfo memberInfo);
+
+    /**
+     * 新增会员信息
+     * 
+     * @param memberInfo 会员信息
+     * @return 结果
+     */
+    public int insertMemberInfo(MemberInfo memberInfo);
+
+    /**
+     * 修改会员信息
+     * 
+     * @param memberInfo 会员信息
+     * @return 结果
+     */
+    public int updateMemberInfo(MemberInfo memberInfo);
+
+    /**
+     * 批量删除会员信息
+     * 
+     * @param ids 需要删除的数据ID
+     * @return 结果
+     */
+    public int deleteMemberInfoByIds(String ids);
+
+    /**
+     * 删除会员信息信息
+     * 
+     * @param id 会员信息ID
+     * @return 结果
+     */
+    public int deleteMemberInfoById(Long id);
+}

+ 99 - 0
dgtly-member/dgtly-member-common/src/main/java/com/dgtly/member/service/impl/MemberFollowServiceImpl.java

@@ -0,0 +1,99 @@
+package com.dgtly.member.service.impl;
+
+import java.util.List;
+import com.dgtly.common.utils.DateUtils;
+import com.dgtly.member.service.IMemberFollowService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.dgtly.member.mapper.MemberFollowMapper;
+import com.dgtly.member.domain.MemberFollow;
+import com.dgtly.common.core.text.Convert;
+
+import javax.annotation.Resource;
+
+/**
+ * 会员关注Service业务层处理
+ * 
+ * @author dgtly
+ * @date 2020-02-13
+ */
+@Service
+public class MemberFollowServiceImpl implements IMemberFollowService
+{
+    @Autowired
+    private MemberFollowMapper memberFollowMapper;
+
+    /**
+     * 查询会员关注
+     * 
+     * @param id 会员关注ID
+     * @return 会员关注
+     */
+    @Override
+    public MemberFollow selectMemberFollowById(Long id)
+    {
+        return memberFollowMapper.selectMemberFollowById(id);
+    }
+
+    /**
+     * 查询会员关注列表
+     * 
+     * @param memberFollow 会员关注
+     * @return 会员关注
+     */
+    @Override
+    public List<MemberFollow> selectMemberFollowList(MemberFollow memberFollow)
+    {
+        return memberFollowMapper.selectMemberFollowList(memberFollow);
+    }
+
+    /**
+     * 新增会员关注
+     * 
+     * @param memberFollow 会员关注
+     * @return 结果
+     */
+    @Override
+    public int insertMemberFollow(MemberFollow memberFollow)
+    {
+        memberFollow.setCreateTime(DateUtils.getNowDate());
+        return memberFollowMapper.insertMemberFollow(memberFollow);
+    }
+
+    /**
+     * 修改会员关注
+     * 
+     * @param memberFollow 会员关注
+     * @return 结果
+     */
+    @Override
+    public int updateMemberFollow(MemberFollow memberFollow)
+    {
+        memberFollow.setUpdateTime(DateUtils.getNowDate());
+        return memberFollowMapper.updateMemberFollow(memberFollow);
+    }
+
+    /**
+     * 删除会员关注对象
+     * 
+     * @param ids 需要删除的数据ID
+     * @return 结果
+     */
+    @Override
+    public int deleteMemberFollowByIds(String ids)
+    {
+        return memberFollowMapper.deleteMemberFollowByIds(Convert.toStrArray(ids));
+    }
+
+    /**
+     * 删除会员关注信息
+     * 
+     * @param id 会员关注ID
+     * @return 结果
+     */
+    @Override
+    public int deleteMemberFollowById(Long id)
+    {
+        return memberFollowMapper.deleteMemberFollowById(id);
+    }
+}

+ 98 - 0
dgtly-member/dgtly-member-common/src/main/java/com/dgtly/member/service/impl/MemberInfoServiceImpl.java

@@ -0,0 +1,98 @@
+package com.dgtly.member.service.impl;
+
+import java.util.List;
+import com.dgtly.common.utils.DateUtils;
+import com.dgtly.member.service.IMemberInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.dgtly.member.mapper.MemberInfoMapper;
+import com.dgtly.member.domain.MemberInfo;
+import com.dgtly.common.core.text.Convert;
+
+import javax.annotation.Resource;
+/**
+ * 会员信息Service业务层处理
+ * 
+ * @author dgtly
+ * @date 2020-02-13
+ */
+@Service
+public class MemberInfoServiceImpl implements IMemberInfoService
+{
+    @Autowired
+    private MemberInfoMapper memberInfoMapper;
+
+    /**
+     * 查询会员信息
+     * 
+     * @param id 会员信息ID
+     * @return 会员信息
+     */
+    @Override
+    public MemberInfo selectMemberInfoById(Long id)
+    {
+        return memberInfoMapper.selectMemberInfoById(id);
+    }
+
+    /**
+     * 查询会员信息列表
+     * 
+     * @param memberInfo 会员信息
+     * @return 会员信息
+     */
+    @Override
+    public List<MemberInfo> selectMemberInfoList(MemberInfo memberInfo)
+    {
+        return memberInfoMapper.selectMemberInfoList(memberInfo);
+    }
+
+    /**
+     * 新增会员信息
+     * 
+     * @param memberInfo 会员信息
+     * @return 结果
+     */
+    @Override
+    public int insertMemberInfo(MemberInfo memberInfo)
+    {
+        memberInfo.setCreateTime(DateUtils.getNowDate());
+        return memberInfoMapper.insertMemberInfo(memberInfo);
+    }
+
+    /**
+     * 修改会员信息
+     * 
+     * @param memberInfo 会员信息
+     * @return 结果
+     */
+    @Override
+    public int updateMemberInfo(MemberInfo memberInfo)
+    {
+        memberInfo.setUpdateTime(DateUtils.getNowDate());
+        return memberInfoMapper.updateMemberInfo(memberInfo);
+    }
+
+    /**
+     * 删除会员信息对象
+     * 
+     * @param ids 需要删除的数据ID
+     * @return 结果
+     */
+    @Override
+    public int deleteMemberInfoByIds(String ids)
+    {
+        return memberInfoMapper.deleteMemberInfoByIds(Convert.toStrArray(ids));
+    }
+
+    /**
+     * 删除会员信息信息
+     * 
+     * @param id 会员信息ID
+     * @return 结果
+     */
+    @Override
+    public int deleteMemberInfoById(Long id)
+    {
+        return memberInfoMapper.deleteMemberInfoById(id);
+    }
+}

+ 168 - 0
dgtly-member/dgtly-member-common/src/main/java/com/dgtly/notice/domain/NoticeDemand.java

@@ -0,0 +1,168 @@
+package com.dgtly.notice.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.dgtly.common.annotation.Excel;
+import com.dgtly.common.core.domain.BaseEntity;
+import java.util.Date;
+
+/**
+ * 【请填写功能名称】对象 notice_demand
+ * 
+ * @author dgtly
+ * @date 2020-02-13
+ */
+public class NoticeDemand extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 需求信息表id */
+    private Long id;
+
+    /** 会员信息表id */
+    @Excel(name = "会员信息表id")
+    private Long memberId;
+
+    /** 求购标题 */
+    @Excel(name = "求购标题")
+    private String purchaseTitle;
+
+    /** 需求概要 */
+    @Excel(name = "需求概要")
+    private String summaryOfNeeds;
+
+    /** 需求详情 */
+    @Excel(name = "需求详情")
+    private String demandDetails;
+
+    /** 联系人 */
+    @Excel(name = "联系人")
+    private String contacts;
+
+    /** 联系电话 */
+    @Excel(name = "联系电话")
+    private String contactNumber;
+
+    /** 发布时间 */
+    @Excel(name = "发布时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date releaseTime;
+
+    /** 需求信息状态 */
+    @Excel(name = "需求信息状态")
+    private String status;
+
+    /** 删除标志(0代表存在 2代表删除) */
+    private String delFlag;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setMemberId(Long memberId) 
+    {
+        this.memberId = memberId;
+    }
+
+    public Long getMemberId() 
+    {
+        return memberId;
+    }
+    public void setPurchaseTitle(String purchaseTitle) 
+    {
+        this.purchaseTitle = purchaseTitle;
+    }
+
+    public String getPurchaseTitle() 
+    {
+        return purchaseTitle;
+    }
+    public void setSummaryOfNeeds(String summaryOfNeeds) 
+    {
+        this.summaryOfNeeds = summaryOfNeeds;
+    }
+
+    public String getSummaryOfNeeds() 
+    {
+        return summaryOfNeeds;
+    }
+    public void setDemandDetails(String demandDetails) 
+    {
+        this.demandDetails = demandDetails;
+    }
+
+    public String getDemandDetails() 
+    {
+        return demandDetails;
+    }
+    public void setContacts(String contacts) 
+    {
+        this.contacts = contacts;
+    }
+
+    public String getContacts() 
+    {
+        return contacts;
+    }
+    public void setContactNumber(String contactNumber) 
+    {
+        this.contactNumber = contactNumber;
+    }
+
+    public String getContactNumber() 
+    {
+        return contactNumber;
+    }
+    public void setReleaseTime(Date releaseTime) 
+    {
+        this.releaseTime = releaseTime;
+    }
+
+    public Date getReleaseTime() 
+    {
+        return releaseTime;
+    }
+    public void setStatus(String status) 
+    {
+        this.status = status;
+    }
+
+    public String getStatus() 
+    {
+        return status;
+    }
+    public void setDelFlag(String delFlag) 
+    {
+        this.delFlag = delFlag;
+    }
+
+    public String getDelFlag() 
+    {
+        return delFlag;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("memberId", getMemberId())
+            .append("purchaseTitle", getPurchaseTitle())
+            .append("summaryOfNeeds", getSummaryOfNeeds())
+            .append("demandDetails", getDemandDetails())
+            .append("contacts", getContacts())
+            .append("contactNumber", getContactNumber())
+            .append("releaseTime", getReleaseTime())
+            .append("status", getStatus())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .append("delFlag", getDelFlag())
+            .append("remark", getRemark())
+            .toString();
+    }
+}

+ 215 - 0
dgtly-member/dgtly-member-common/src/main/java/com/dgtly/notice/domain/NoticeSupply.java

@@ -0,0 +1,215 @@
+package com.dgtly.notice.domain;
+
+import com.dgtly.common.annotation.Excels;
+import com.dgtly.goods.domain.GoodsType;
+import com.dgtly.system.domain.SysDept;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.dgtly.common.annotation.Excel;
+import com.dgtly.common.core.domain.BaseEntity;
+import java.util.Date;
+
+/**
+ * 【请填写功能名称】对象 notice_supply
+ * 
+ * @author dgtly
+ * @date 2020-02-13
+ */
+public class NoticeSupply extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** id,主键 */
+    private Long id;
+
+    /** 关联商品类别表id */
+    @Excel(name = "关联商品类别表id")
+    private Long typeId;
+    @Excel(name = "类别名称")
+    private String typeName;
+
+    /** 商户表id */
+    @Excel(name = "商户表id")
+    private Long merchantId;
+
+    /** 供应信息标题 */
+    @Excel(name = "供应信息标题")
+    private String supplyTitle;
+
+    /** 供应信息详情 */
+    @Excel(name = "供应信息详情")
+    private String supplyDetails ;
+
+    /** 生产厂家 */
+    @Excel(name = "生产厂家")
+    private String manufacturer;
+
+    /** 联系人 */
+    @Excel(name = "联系人")
+    private String contacts;
+
+    /** 联系电话 */
+    @Excel(name = "联系电话")
+    private String telephone;
+
+    /** 发布时间 */
+    @Excel(name = "发布时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date releaseTime;
+
+    /** 商品图片 */
+    @Excel(name = "商品图片")
+    private String picture;
+
+    /** 供应信息状态 */
+    @Excel(name = "供应信息状态")
+    private String status;
+
+    /** 删除标志(0代表存在 2代表删除) */
+    private String delFlag;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setTypeId(Long typeId)
+    {
+        this.typeId = typeId;
+    }
+
+    public Long getTypeId()
+    {
+        return typeId;
+    }
+    public void setMerchantId(Long merchantId) 
+    {
+        this.merchantId = merchantId;
+    }
+
+    public Long getMerchantId() 
+    {
+        return merchantId;
+    }
+    public void setSupplyTitle(String supplyTitle) 
+    {
+        this.supplyTitle = supplyTitle;
+    }
+
+    public void setSupplyDetails(String supplyDetails)
+    {
+        this.supplyDetails = supplyDetails;
+    }
+
+    public String getSupplyTitle() 
+    {
+        return supplyTitle;
+    }
+
+    public String getTypeName()
+    {
+        return typeName;
+    }
+
+    public void setTypeName(String typeName)
+    {
+        this.typeName = typeName;
+    }
+
+    public String getSupplyDetails()
+    {
+        return supplyDetails;
+    }
+
+
+    public void setManufacturer(String manufacturer) 
+    {
+        this.manufacturer = manufacturer;
+    }
+
+    public String getManufacturer() 
+    {
+        return manufacturer;
+    }
+    public void setContacts(String contacts) 
+    {
+        this.contacts = contacts;
+    }
+
+    public String getContacts() 
+    {
+        return contacts;
+    }
+    public void setTelephone(String telephone) 
+    {
+        this.telephone = telephone;
+    }
+
+    public String getTelephone() 
+    {
+        return telephone;
+    }
+    public void setReleaseTime(Date releaseTime) 
+    {
+        this.releaseTime = releaseTime;
+    }
+
+    public Date getReleaseTime() 
+    {
+        return releaseTime;
+    }
+    public void setPicture(String picture) 
+    {
+        this.picture = picture;
+    }
+
+    public String getPicture() 
+    {
+        return picture;
+    }
+    public void setStatus(String status) 
+    {
+        this.status = status;
+    }
+
+    public String getStatus() 
+    {
+        return status;
+    }
+    public void setDelFlag(String delFlag) 
+    {
+        this.delFlag = delFlag;
+    }
+
+    public String getDelFlag() 
+    {
+        return delFlag;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("typeId", getTypeId())
+            .append("merchantId", getMerchantId())
+            .append("supplyDetails", getSupplyDetails())
+                .append("supplyTitle", getSupplyTitle())
+            .append("manufacturer", getManufacturer())
+            .append("contacts", getContacts())
+            .append("telephone", getTelephone())
+            .append("releaseTime", getReleaseTime())
+            .append("picture", getPicture())
+            .append("status", getStatus())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .append("delFlag", getDelFlag())
+            .append("remark", getRemark())
+            .append("typeName", getTypeName())
+            .toString();
+    }
+}

+ 61 - 0
dgtly-member/dgtly-member-common/src/main/java/com/dgtly/notice/mapper/NoticeDemandMapper.java

@@ -0,0 +1,61 @@
+package com.dgtly.notice.mapper;
+
+import com.dgtly.notice.domain.NoticeDemand;
+import java.util.List;
+
+/**
+ * 【请填写功能名称】Mapper接口
+ * 
+ * @author dgtly
+ * @date 2020-02-13
+ */
+public interface NoticeDemandMapper 
+{
+    /**
+     * 查询【请填写功能名称】
+     * 
+     * @param id 【请填写功能名称】ID
+     * @return 【请填写功能名称】
+     */
+    public NoticeDemand selectNoticeDemandById(Long id);
+
+    /**
+     * 查询【请填写功能名称】列表
+     * 
+     * @param noticeDemand 【请填写功能名称】
+     * @return 【请填写功能名称】集合
+     */
+    public List<NoticeDemand> selectNoticeDemandList(NoticeDemand noticeDemand);
+
+    /**
+     * 新增【请填写功能名称】
+     * 
+     * @param noticeDemand 【请填写功能名称】
+     * @return 结果
+     */
+    public int insertNoticeDemand(NoticeDemand noticeDemand);
+
+    /**
+     * 修改【请填写功能名称】
+     * 
+     * @param noticeDemand 【请填写功能名称】
+     * @return 结果
+     */
+    public int updateNoticeDemand(NoticeDemand noticeDemand);
+
+    /**
+     * 删除【请填写功能名称】
+     * 
+     * @param id 【请填写功能名称】ID
+     * @return 结果
+     */
+    public int deleteNoticeDemandById(Long id);
+
+    /**
+     * 批量删除【请填写功能名称】
+     * 
+     * @param ids 需要删除的数据ID
+     * @return 结果
+     */
+    public int deleteNoticeDemandByIds(String[] ids);
+}

+ 61 - 0
dgtly-member/dgtly-member-common/src/main/java/com/dgtly/notice/mapper/NoticeSupplyMapper.java

@@ -0,0 +1,61 @@
+package com.dgtly.notice.mapper;
+
+import com.dgtly.notice.domain.NoticeSupply;
+import java.util.List;
+
+/**
+ * 【请填写功能名称】Mapper接口
+ * 
+ * @author dgtly
+ * @date 2020-02-13
+ */
+public interface NoticeSupplyMapper 
+{
+    /**
+     * 查询【请填写功能名称】
+     * 
+     * @param id 【请填写功能名称】ID
+     * @return 【请填写功能名称】
+     */
+    public NoticeSupply selectNoticeSupplyById(Long id);
+
+    /**
+     * 查询【请填写功能名称】列表
+     * 
+     * @param noticeSupply 【请填写功能名称】
+     * @return 【请填写功能名称】集合
+     */
+    public List<NoticeSupply> selectNoticeSupplyList(NoticeSupply noticeSupply);
+
+    /**
+     * 新增【请填写功能名称】
+     * 
+     * @param noticeSupply 【请填写功能名称】
+     * @return 结果
+     */
+    public int insertNoticeSupply(NoticeSupply noticeSupply);
+
+    /**
+     * 修改【请填写功能名称】
+     * 
+     * @param noticeSupply 【请填写功能名称】
+     * @return 结果
+     */
+    public int updateNoticeSupply(NoticeSupply noticeSupply);
+
+    /**
+     * 删除【请填写功能名称】
+     * 
+     * @param id 【请填写功能名称】ID
+     * @return 结果
+     */
+    public int deleteNoticeSupplyById(Long id);
+
+    /**
+     * 批量删除【请填写功能名称】
+     * 
+     * @param ids 需要删除的数据ID
+     * @return 结果
+     */
+    public int deleteNoticeSupplyByIds(String[] ids);
+}

+ 61 - 0
dgtly-member/dgtly-member-common/src/main/java/com/dgtly/notice/service/INoticeDemandService.java

@@ -0,0 +1,61 @@
+package com.dgtly.notice.service;
+
+import com.dgtly.notice.domain.NoticeDemand;
+import java.util.List;
+
+/**
+ * 【请填写功能名称】Service接口
+ * 
+ * @author dgtly
+ * @date 2020-02-13
+ */
+public interface INoticeDemandService 
+{
+    /**
+     * 查询【请填写功能名称】
+     * 
+     * @param id 【请填写功能名称】ID
+     * @return 【请填写功能名称】
+     */
+    public NoticeDemand selectNoticeDemandById(Long id);
+
+    /**
+     * 查询【请填写功能名称】列表
+     * 
+     * @param noticeDemand 【请填写功能名称】
+     * @return 【请填写功能名称】集合
+     */
+    public List<NoticeDemand> selectNoticeDemandList(NoticeDemand noticeDemand);
+
+    /**
+     * 新增【请填写功能名称】
+     * 
+     * @param noticeDemand 【请填写功能名称】
+     * @return 结果
+     */
+    public int insertNoticeDemand(NoticeDemand noticeDemand);
+
+    /**
+     * 修改【请填写功能名称】
+     * 
+     * @param noticeDemand 【请填写功能名称】
+     * @return 结果
+     */
+    public int updateNoticeDemand(NoticeDemand noticeDemand);
+
+    /**
+     * 批量删除【请填写功能名称】
+     * 
+     * @param ids 需要删除的数据ID
+     * @return 结果
+     */
+    public int deleteNoticeDemandByIds(String ids);
+
+    /**
+     * 删除【请填写功能名称】信息
+     * 
+     * @param id 【请填写功能名称】ID
+     * @return 结果
+     */
+    public int deleteNoticeDemandById(Long id);
+}

+ 61 - 0
dgtly-member/dgtly-member-common/src/main/java/com/dgtly/notice/service/INoticeSupplyService.java

@@ -0,0 +1,61 @@
+package com.dgtly.notice.service;
+
+import com.dgtly.notice.domain.NoticeSupply;
+import java.util.List;
+
+/**
+ * 【请填写功能名称】Service接口
+ * 
+ * @author dgtly
+ * @date 2020-02-13
+ */
+public interface INoticeSupplyService 
+{
+    /**
+     * 查询【请填写功能名称】
+     * 
+     * @param id 【请填写功能名称】ID
+     * @return 【请填写功能名称】
+     */
+    public NoticeSupply selectNoticeSupplyById(Long id);
+
+    /**
+     * 查询【请填写功能名称】列表
+     * 
+     * @param noticeSupply 【请填写功能名称】
+     * @return 【请填写功能名称】集合
+     */
+    public List<NoticeSupply> selectNoticeSupplyList(NoticeSupply noticeSupply);
+
+    /**
+     * 新增【请填写功能名称】
+     * 
+     * @param noticeSupply 【请填写功能名称】
+     * @return 结果
+     */
+    public int insertNoticeSupply(NoticeSupply noticeSupply);
+
+    /**
+     * 修改【请填写功能名称】
+     * 
+     * @param noticeSupply 【请填写功能名称】
+     * @return 结果
+     */
+    public int updateNoticeSupply(NoticeSupply noticeSupply);
+
+    /**
+     * 批量删除【请填写功能名称】
+     * 
+     * @param ids 需要删除的数据ID
+     * @return 结果
+     */
+    public int deleteNoticeSupplyByIds(String ids);
+
+    /**
+     * 删除【请填写功能名称】信息
+     * 
+     * @param id 【请填写功能名称】ID
+     * @return 结果
+     */
+    public int deleteNoticeSupplyById(Long id);
+}

+ 97 - 0
dgtly-member/dgtly-member-common/src/main/java/com/dgtly/notice/service/impl/NoticeDemandServiceImpl.java

@@ -0,0 +1,97 @@
+package com.dgtly.notice.service.impl;
+
+import java.util.List;
+import com.dgtly.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.dgtly.notice.mapper.NoticeDemandMapper;
+import com.dgtly.notice.domain.NoticeDemand;
+import com.dgtly.notice.service.INoticeDemandService;
+import com.dgtly.common.core.text.Convert;
+
+/**
+ * 【请填写功能名称】Service业务层处理
+ * 
+ * @author dgtly
+ * @date 2020-02-13
+ */
+@Service
+public class NoticeDemandServiceImpl implements INoticeDemandService 
+{
+    @Autowired
+    private NoticeDemandMapper noticeDemandMapper;
+
+    /**
+     * 查询【请填写功能名称】
+     * 
+     * @param id 【请填写功能名称】ID
+     * @return 【请填写功能名称】
+     */
+    @Override
+    public NoticeDemand selectNoticeDemandById(Long id)
+    {
+        return noticeDemandMapper.selectNoticeDemandById(id);
+    }
+
+    /**
+     * 查询【请填写功能名称】列表
+     * 
+     * @param noticeDemand 【请填写功能名称】
+     * @return 【请填写功能名称】
+     */
+    @Override
+    public List<NoticeDemand> selectNoticeDemandList(NoticeDemand noticeDemand)
+    {
+        return noticeDemandMapper.selectNoticeDemandList(noticeDemand);
+    }
+
+    /**
+     * 新增【请填写功能名称】
+     * 
+     * @param noticeDemand 【请填写功能名称】
+     * @return 结果
+     */
+    @Override
+    public int insertNoticeDemand(NoticeDemand noticeDemand)
+    {
+        noticeDemand.setCreateTime(DateUtils.getNowDate());
+        return noticeDemandMapper.insertNoticeDemand(noticeDemand);
+    }
+
+    /**
+     * 修改【请填写功能名称】
+     * 
+     * @param noticeDemand 【请填写功能名称】
+     * @return 结果
+     */
+    @Override
+    public int updateNoticeDemand(NoticeDemand noticeDemand)
+    {
+        noticeDemand.setUpdateTime(DateUtils.getNowDate());
+        return noticeDemandMapper.updateNoticeDemand(noticeDemand);
+    }
+
+    /**
+     * 删除【请填写功能名称】对象
+     * 
+     * @param ids 需要删除的数据ID
+     * @return 结果
+     */
+    @Override
+    public int deleteNoticeDemandByIds(String ids)
+    {
+        return noticeDemandMapper.deleteNoticeDemandByIds(Convert.toStrArray(ids));
+    }
+
+    /**
+     * 删除【请填写功能名称】信息
+     * 
+     * @param id 【请填写功能名称】ID
+     * @return 结果
+     */
+    @Override
+    public int deleteNoticeDemandById(Long id)
+    {
+        return noticeDemandMapper.deleteNoticeDemandById(id);
+    }
+}

+ 97 - 0
dgtly-member/dgtly-member-common/src/main/java/com/dgtly/notice/service/impl/NoticeSupplyServiceImpl.java

@@ -0,0 +1,97 @@
+package com.dgtly.notice.service.impl;
+
+import java.util.List;
+import com.dgtly.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.dgtly.notice.mapper.NoticeSupplyMapper;
+import com.dgtly.notice.domain.NoticeSupply;
+import com.dgtly.notice.service.INoticeSupplyService;
+import com.dgtly.common.core.text.Convert;
+
+/**
+ * 【请填写功能名称】Service业务层处理
+ * 
+ * @author dgtly
+ * @date 2020-02-13
+ */
+@Service
+public class NoticeSupplyServiceImpl implements INoticeSupplyService 
+{
+    @Autowired
+    private NoticeSupplyMapper noticeSupplyMapper;
+
+    /**
+     * 查询【请填写功能名称】
+     * 
+     * @param id 【请填写功能名称】ID
+     * @return 【请填写功能名称】
+     */
+    @Override
+    public NoticeSupply selectNoticeSupplyById(Long id)
+    {
+        return noticeSupplyMapper.selectNoticeSupplyById(id);
+    }
+
+    /**
+     * 查询【请填写功能名称】列表
+     * 
+     * @param noticeSupply 【请填写功能名称】
+     * @return 【请填写功能名称】
+     */
+    @Override
+    public List<NoticeSupply> selectNoticeSupplyList(NoticeSupply noticeSupply)
+    {
+        return noticeSupplyMapper.selectNoticeSupplyList(noticeSupply);
+    }
+
+    /**
+     * 新增【请填写功能名称】
+     * 
+     * @param noticeSupply 【请填写功能名称】
+     * @return 结果
+     */
+    @Override
+    public int insertNoticeSupply(NoticeSupply noticeSupply)
+    {
+        noticeSupply.setCreateTime(DateUtils.getNowDate());
+        return noticeSupplyMapper.insertNoticeSupply(noticeSupply);
+    }
+
+    /**
+     * 修改【请填写功能名称】
+     * 
+     * @param noticeSupply 【请填写功能名称】
+     * @return 结果
+     */
+    @Override
+    public int updateNoticeSupply(NoticeSupply noticeSupply)
+    {
+        noticeSupply.setUpdateTime(DateUtils.getNowDate());
+        return noticeSupplyMapper.updateNoticeSupply(noticeSupply);
+    }
+
+    /**
+     * 删除【请填写功能名称】对象
+     * 
+     * @param ids 需要删除的数据ID
+     * @return 结果
+     */
+    @Override
+    public int deleteNoticeSupplyByIds(String ids)
+    {
+        return noticeSupplyMapper.deleteNoticeSupplyByIds(Convert.toStrArray(ids));
+    }
+
+    /**
+     * 删除【请填写功能名称】信息
+     * 
+     * @param id 【请填写功能名称】ID
+     * @return 结果
+     */
+    @Override
+    public int deleteNoticeSupplyById(Long id)
+    {
+        return noticeSupplyMapper.deleteNoticeSupplyById(id);
+    }
+}

+ 89 - 0
dgtly-member/dgtly-member-common/src/main/resources/mapper/member/MemberFollowMapper.xml

@@ -0,0 +1,89 @@
+<?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.dgtly.member.mapper.MemberFollowMapper">
+    
+    <resultMap type="MemberFollow" id="MemberFollowResult">
+        <result property="id"    column="id"    />
+        <result property="memberId"    column="member_id"    />
+        <result property="companyId"    column="company_id"    />
+        <result property="followDate"    column="follow_date"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="remark"    column="remark"    />
+    </resultMap>
+
+    <sql id="selectMemberFollowVo">
+        select id, member_id, company_id, follow_date, create_by, create_time, update_by, update_time, remark from member_follow
+    </sql>
+
+    <select id="selectMemberFollowList" parameterType="MemberFollow" resultMap="MemberFollowResult">
+        <include refid="selectMemberFollowVo"/>
+        <where>  
+            <if test="memberId != null "> and member_id = #{memberId}</if>
+            <if test="companyId != null "> and company_id = #{companyId}</if>
+            <if test="followDate != null "> and follow_date = #{followDate}</if>
+        </where>
+    </select>
+    
+    <select id="selectMemberFollowById" parameterType="Long" resultMap="MemberFollowResult">
+        <include refid="selectMemberFollowVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertMemberFollow" parameterType="MemberFollow">
+        insert into member_follow
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null ">id,</if>
+            <if test="memberId != null ">member_id,</if>
+            <if test="companyId != null ">company_id,</if>
+            <if test="followDate != null ">follow_date,</if>
+            <if test="createBy != null  and createBy != ''">create_by,</if>
+            <if test="createTime != null ">create_time,</if>
+            <if test="updateBy != null  and updateBy != ''">update_by,</if>
+            <if test="updateTime != null ">update_time,</if>
+            <if test="remark != null  and remark != ''">remark,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null ">#{id},</if>
+            <if test="memberId != null ">#{memberId},</if>
+            <if test="companyId != null ">#{companyId},</if>
+            <if test="followDate != null ">#{followDate},</if>
+            <if test="createBy != null  and createBy != ''">#{createBy},</if>
+            <if test="createTime != null ">#{createTime},</if>
+            <if test="updateBy != null  and updateBy != ''">#{updateBy},</if>
+            <if test="updateTime != null ">#{updateTime},</if>
+            <if test="remark != null  and remark != ''">#{remark},</if>
+         </trim>
+    </insert>
+
+    <update id="updateMemberFollow" parameterType="MemberFollow">
+        update member_follow
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="memberId != null ">member_id = #{memberId},</if>
+            <if test="companyId != null ">company_id = #{companyId},</if>
+            <if test="followDate != null ">follow_date = #{followDate},</if>
+            <if test="createBy != null  and createBy != ''">create_by = #{createBy},</if>
+            <if test="createTime != null ">create_time = #{createTime},</if>
+            <if test="updateBy != null  and updateBy != ''">update_by = #{updateBy},</if>
+            <if test="updateTime != null ">update_time = #{updateTime},</if>
+            <if test="remark != null  and remark != ''">remark = #{remark},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteMemberFollowById" parameterType="Long">
+        delete from member_follow where id = #{id}
+    </delete>
+
+    <delete id="deleteMemberFollowByIds" parameterType="String">
+        delete from member_follow where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+    
+</mapper>

+ 94 - 0
dgtly-member/dgtly-member-common/src/main/resources/mapper/member/MemberInfoMapper.xml

@@ -0,0 +1,94 @@
+<?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.dgtly.member.mapper.MemberInfoMapper">
+    
+    <resultMap type="MemberInfo" id="MemberInfoResult">
+        <result property="id"    column="id"    />
+        <result property="loginAccount"    column="login_account"    />
+        <result property="loginPassword"    column="login_password"    />
+        <result property="phone"    column="phone"    />
+        <result property="loginTime"    column="login_time"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="remark"    column="remark"    />
+    </resultMap>
+
+    <sql id="selectMemberInfoVo">
+        select id, login_account, login_password, phone, login_time, create_by, create_time, update_by, update_time, remark from member_info
+    </sql>
+
+    <select id="selectMemberInfoList" parameterType="MemberInfo" resultMap="MemberInfoResult">
+        <include refid="selectMemberInfoVo"/>
+        <where>  
+            <if test="loginAccount != null  and loginAccount != ''"> and login_account = #{loginAccount}</if>
+            <if test="loginPassword != null  and loginPassword != ''"> and login_password = #{loginPassword}</if>
+            <if test="phone != null  and phone != ''"> and phone = #{phone}</if>
+            <if test="loginTime != null "> and login_time = #{loginTime}</if>
+        </where>
+    </select>
+    
+    <select id="selectMemberInfoById" parameterType="Long" resultMap="MemberInfoResult">
+        <include refid="selectMemberInfoVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertMemberInfo" parameterType="MemberInfo">
+        insert into member_info
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null ">id,</if>
+            <if test="loginAccount != null  and loginAccount != ''">login_account,</if>
+            <if test="loginPassword != null  and loginPassword != ''">login_password,</if>
+            <if test="phone != null  and phone != ''">phone,</if>
+            <if test="loginTime != null ">login_time,</if>
+            <if test="createBy != null  and createBy != ''">create_by,</if>
+            <if test="createTime != null ">create_time,</if>
+            <if test="updateBy != null  and updateBy != ''">update_by,</if>
+            <if test="updateTime != null ">update_time,</if>
+            <if test="remark != null  and remark != ''">remark,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null ">#{id},</if>
+            <if test="loginAccount != null  and loginAccount != ''">#{loginAccount},</if>
+            <if test="loginPassword != null  and loginPassword != ''">#{loginPassword},</if>
+            <if test="phone != null  and phone != ''">#{phone},</if>
+            <if test="loginTime != null ">#{loginTime},</if>
+            <if test="createBy != null  and createBy != ''">#{createBy},</if>
+            <if test="createTime != null ">#{createTime},</if>
+            <if test="updateBy != null  and updateBy != ''">#{updateBy},</if>
+            <if test="updateTime != null ">#{updateTime},</if>
+            <if test="remark != null  and remark != ''">#{remark},</if>
+         </trim>
+    </insert>
+
+    <update id="updateMemberInfo" parameterType="MemberInfo">
+        update member_info
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="loginAccount != null  and loginAccount != ''">login_account = #{loginAccount},</if>
+            <if test="loginPassword != null  and loginPassword != ''">login_password = #{loginPassword},</if>
+            <if test="phone != null  and phone != ''">phone = #{phone},</if>
+            <if test="loginTime != null ">login_time = #{loginTime},</if>
+            <if test="createBy != null  and createBy != ''">create_by = #{createBy},</if>
+            <if test="createTime != null ">create_time = #{createTime},</if>
+            <if test="updateBy != null  and updateBy != ''">update_by = #{updateBy},</if>
+            <if test="updateTime != null ">update_time = #{updateTime},</if>
+            <if test="remark != null  and remark != ''">remark = #{remark},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteMemberInfoById" parameterType="Long">
+        delete from member_info where id = #{id}
+    </delete>
+
+    <delete id="deleteMemberInfoByIds" parameterType="String">
+        delete from member_info where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+    
+</mapper>

+ 116 - 0
dgtly-member/dgtly-member-common/src/main/resources/mapper/notice/NoticeDemandMapper.xml

@@ -0,0 +1,116 @@
+<?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.dgtly.notice.mapper.NoticeDemandMapper">
+    
+    <resultMap type="NoticeDemand" id="NoticeDemandResult">
+        <result property="id"    column="id"    />
+        <result property="memberId"    column="member_id"    />
+        <result property="purchaseTitle"    column="purchase_title"    />
+        <result property="summaryOfNeeds"    column="summary_of_needs"    />
+        <result property="demandDetails"    column="demand_details"    />
+        <result property="contacts"    column="contacts"    />
+        <result property="contactNumber"    column="contact_number"    />
+        <result property="releaseTime"    column="release_time"    />
+        <result property="status"    column="status"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="delFlag"    column="del_flag"    />
+        <result property="remark"    column="remark"    />
+    </resultMap>
+
+    <sql id="selectNoticeDemandVo">
+        select id, member_id, purchase_title, summary_of_needs, demand_details, contacts, contact_number, release_time, status, create_by, create_time, update_by, update_time, del_flag, remark from notice_demand
+    </sql>
+
+    <select id="selectNoticeDemandList" parameterType="NoticeDemand" resultMap="NoticeDemandResult">
+        <include refid="selectNoticeDemandVo"/>
+        <where>  
+            <if test="memberId != null "> and member_id = #{memberId}</if>
+            <if test="purchaseTitle != null  and purchaseTitle != ''"> and purchase_title = #{purchaseTitle}</if>
+            <if test="summaryOfNeeds != null  and summaryOfNeeds != ''"> and summary_of_needs = #{summaryOfNeeds}</if>
+            <if test="demandDetails != null  and demandDetails != ''"> and demand_details = #{demandDetails}</if>
+            <if test="contacts != null  and contacts != ''"> and contacts = #{contacts}</if>
+            <if test="contactNumber != null  and contactNumber != ''"> and contact_number = #{contactNumber}</if>
+            <if test="releaseTime != null "> and release_time = #{releaseTime}</if>
+            <if test="status != null  and status != ''"> and status = #{status}</if>
+        </where>
+    </select>
+    
+    <select id="selectNoticeDemandById" parameterType="Long" resultMap="NoticeDemandResult">
+        <include refid="selectNoticeDemandVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertNoticeDemand" parameterType="NoticeDemand" useGeneratedKeys="true" keyProperty="id">
+        insert into notice_demand
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="memberId != null ">member_id,</if>
+            <if test="purchaseTitle != null  and purchaseTitle != ''">purchase_title,</if>
+            <if test="summaryOfNeeds != null  and summaryOfNeeds != ''">summary_of_needs,</if>
+            <if test="demandDetails != null  and demandDetails != ''">demand_details,</if>
+            <if test="contacts != null  and contacts != ''">contacts,</if>
+            <if test="contactNumber != null  and contactNumber != ''">contact_number,</if>
+            <if test="releaseTime != null ">release_time,</if>
+            <if test="status != null  and status != ''">status,</if>
+            <if test="createBy != null  and createBy != ''">create_by,</if>
+            <if test="createTime != null ">create_time,</if>
+            <if test="updateBy != null  and updateBy != ''">update_by,</if>
+            <if test="updateTime != null ">update_time,</if>
+            <if test="delFlag != null  and delFlag != ''">del_flag,</if>
+            <if test="remark != null  and remark != ''">remark,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="memberId != null ">#{memberId},</if>
+            <if test="purchaseTitle != null  and purchaseTitle != ''">#{purchaseTitle},</if>
+            <if test="summaryOfNeeds != null  and summaryOfNeeds != ''">#{summaryOfNeeds},</if>
+            <if test="demandDetails != null  and demandDetails != ''">#{demandDetails},</if>
+            <if test="contacts != null  and contacts != ''">#{contacts},</if>
+            <if test="contactNumber != null  and contactNumber != ''">#{contactNumber},</if>
+            <if test="releaseTime != null ">#{releaseTime},</if>
+            <if test="status != null  and status != ''">#{status},</if>
+            <if test="createBy != null  and createBy != ''">#{createBy},</if>
+            <if test="createTime != null ">#{createTime},</if>
+            <if test="updateBy != null  and updateBy != ''">#{updateBy},</if>
+            <if test="updateTime != null ">#{updateTime},</if>
+            <if test="delFlag != null  and delFlag != ''">#{delFlag},</if>
+            <if test="remark != null  and remark != ''">#{remark},</if>
+         </trim>
+    </insert>
+
+    <update id="updateNoticeDemand" parameterType="NoticeDemand">
+        update notice_demand
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="memberId != null ">member_id = #{memberId},</if>
+            <if test="purchaseTitle != null  and purchaseTitle != ''">purchase_title = #{purchaseTitle},</if>
+            <if test="summaryOfNeeds != null  and summaryOfNeeds != ''">summary_of_needs = #{summaryOfNeeds},</if>
+            <if test="demandDetails != null  and demandDetails != ''">demand_details = #{demandDetails},</if>
+            <if test="contacts != null  and contacts != ''">contacts = #{contacts},</if>
+            <if test="contactNumber != null  and contactNumber != ''">contact_number = #{contactNumber},</if>
+            <if test="releaseTime != null ">release_time = #{releaseTime},</if>
+            <if test="status != null  and status != ''">status = #{status},</if>
+            <if test="createBy != null  and createBy != ''">create_by = #{createBy},</if>
+            <if test="createTime != null ">create_time = #{createTime},</if>
+            <if test="updateBy != null  and updateBy != ''">update_by = #{updateBy},</if>
+            <if test="updateTime != null ">update_time = #{updateTime},</if>
+            <if test="delFlag != null  and delFlag != ''">del_flag = #{delFlag},</if>
+            <if test="remark != null  and remark != ''">remark = #{remark},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteNoticeDemandById" parameterType="Long">
+        delete from notice_demand where id = #{id}
+    </delete>
+
+    <delete id="deleteNoticeDemandByIds" parameterType="String">
+        delete from notice_demand where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+    
+</mapper>

+ 147 - 0
dgtly-member/dgtly-member-common/src/main/resources/mapper/notice/NoticeSupplyMapper.xml

@@ -0,0 +1,147 @@
+<?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.dgtly.notice.mapper.NoticeSupplyMapper">
+    
+    <resultMap type="NoticeSupply" id="NoticeSupplyResult">
+        <result property="id"    column="id"    />
+        <result property="typeId"    column="type_id"    />
+        <result property="typeName"    column="name"    />
+        <result property="merchantId"    column="merchant_id"    />
+        <result property="supplyTitle"    column="supply_title"    />
+        <result property="supplyDetails"    column="supply_details"    />
+        <result property="manufacturer"    column="manufacturer"    />
+        <result property="contacts"    column="contacts"    />
+        <result property="telephone"    column="telephone"    />
+        <result property="releaseTime"    column="release_time"    />
+        <result property="picture"    column="picture"    />
+        <result property="status"    column="status"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="delFlag"    column="del_flag"    />
+        <result property="remark"    column="remark"    />
+    </resultMap>
+
+
+
+    <sql id="selectNoticeSupplyVo">
+SELECT
+  n.id,
+  type_id,
+  t.`name`,
+  merchant_id,
+  supply_title,
+  supply_details,
+  manufacturer,
+  contacts,
+  telephone,
+  release_time,
+  picture,
+  `status`,
+  n.create_by,
+  n.create_time,
+  n.update_by,
+  n.update_time,
+  n.del_flag,
+  n.remark
+FROM
+  notice_supply AS n
+  LEFT JOIN goods_type AS t ON n.`type_id` = t.`id`
+  </sql>
+
+    <select id="selectNoticeSupplyList" parameterType="NoticeSupply" resultMap="NoticeSupplyResult">
+        <include refid="selectNoticeSupplyVo"/>
+        <where>  
+            <if test="typeId != null "> and type_id = #{typeId}</if>
+            <if test="merchantId != null "> and merchant_id = #{merchantId}</if>
+            <if test="supplyTitle != null  and supplyTitle != ''"> and supply_title = #{supplyTitle}</if>
+            <if test="supplyDetails != null  and supplyDetails != ''"> and supply_details = #{supplyDetails}</if>
+            <if test="manufacturer != null  and manufacturer != ''"> and manufacturer = #{manufacturer}</if>
+            <if test="contacts != null  and contacts != ''"> and contacts = #{contacts}</if>
+            <if test="telephone != null  and telephone != ''"> and telephone = #{telephone}</if>
+            <if test="releaseTime != null "> and release_time = #{releaseTime}</if>
+            <if test="picture != null  and picture != ''"> and picture = #{picture}</if>
+            <if test="status != null  and status != ''"> and n.status = #{status}</if>
+        </where>
+    </select>
+    
+    <select id="selectNoticeSupplyById" parameterType="Long" resultMap="NoticeSupplyResult">
+        <include refid="selectNoticeSupplyVo"/>
+        where n.id = #{id}
+    </select>
+        
+    <insert id="insertNoticeSupply" parameterType="NoticeSupply" useGeneratedKeys="true" keyProperty="id">
+        insert into notice_supply
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="typeId != null ">type_id,</if>
+            <if test="merchantId != null ">merchant_id,</if>
+            <if test="supplyTitle != null  and supplyTitle != ''">supply_title,</if>
+            <if test="supplyDetails != null  and supplyDetails != ''">supply_details,</if>
+            <if test="manufacturer != null  and manufacturer != ''">manufacturer,</if>
+            <if test="contacts != null  and contacts != ''">contacts,</if>
+            <if test="telephone != null  and telephone != ''">telephone,</if>
+            <if test="releaseTime != null ">release_time,</if>
+            <if test="picture != null  and picture != ''">picture,</if>
+            <if test="status != null  and status != ''">status,</if>
+            <if test="createBy != null  and createBy != ''">create_by,</if>
+            <if test="updateBy != null  and updateBy != ''">update_by,</if>
+            <if test="updateTime != null ">update_time,</if>
+            <if test="delFlag != null  and delFlag != ''">del_flag,</if>
+            <if test="remark != null  and remark != ''">remark,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="typeId != null ">#{typeId},</if>
+            <if test="merchantId != null ">#{merchantId},</if>
+            <if test="supplyTitle != null  and supplyTitle != ''">#{supplyTitle},</if>
+            <if test="supplyDetails != null  and supplyDetails != ''">#{supplyDetails},</if>
+            <if test="manufacturer != null  and manufacturer != ''">#{manufacturer},</if>
+            <if test="contacts != null  and contacts != ''">#{contacts},</if>
+            <if test="telephone != null  and telephone != ''">#{telephone},</if>
+            <if test="releaseTime != null ">#{releaseTime},</if>
+            <if test="picture != null  and picture != ''">#{picture},</if>
+            <if test="status != null  and status != ''">#{status},</if>
+            <if test="createBy != null  and createBy != ''">#{createBy},</if>
+            <if test="updateBy != null  and updateBy != ''">#{updateBy},</if>
+            <if test="updateTime != null ">#{updateTime},</if>
+            <if test="delFlag != null  and delFlag != ''">#{delFlag},</if>
+            <if test="remark != null  and remark != ''">#{remark},</if>
+         </trim>
+    </insert>
+
+    <update id="updateNoticeSupply" parameterType="NoticeSupply">
+        update notice_supply
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="typeId != null ">type_id = #{typeId},</if>
+            <if test="merchantId != null ">merchant_id = #{merchantId},</if>
+            <if test="supplyTitle != null  and supplyTitle != ''">supply_title = #{supplyTitle},</if>
+            <if test="supplyDetails != null  and supplyDetails != ''">supply_details = #{supplyDetails},</if>
+            <if test="manufacturer != null  and manufacturer != ''">manufacturer = #{manufacturer},</if>
+            <if test="contacts != null  and contacts != ''">contacts = #{contacts},</if>
+            <if test="telephone != null  and telephone != ''">telephone = #{telephone},</if>
+            <if test="releaseTime != null ">release_time = #{releaseTime},</if>
+            <if test="picture != null  and picture != ''">picture = #{picture},</if>
+            <if test="status != null  and status != ''">status = #{status},</if>
+            <if test="createBy != null  and createBy != ''">create_by = #{createBy},</if>
+            <if test="updateBy != null  and updateBy != ''">update_by = #{updateBy},</if>
+            <if test="updateTime != null ">update_time = #{updateTime},</if>
+            <if test="delFlag != null  and delFlag != ''">del_flag = #{delFlag},</if>
+            <if test="remark != null  and remark != ''">remark = #{remark},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteNoticeSupplyById" parameterType="Long">
+        delete from notice_supply where id = #{id}
+    </delete>
+
+    <delete id="deleteNoticeSupplyByIds" parameterType="String">
+        delete from notice_supply where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+    
+</mapper>