Shanks 6 years ago
parent
commit
69dd3572e8

+ 54 - 25
src/main/java/com/ygj/yuemum/component/Constant.java

@@ -6,8 +6,8 @@ import org.springframework.context.annotation.Configuration;
 
 /**
  * 常量
- * @author pibigstar
  *
+ * @author pibigstar
  */
 @Configuration
 public class Constant {
@@ -37,102 +37,131 @@ public class Constant {
     public static String BOOKINGTEMPLATEID;
     public static String MINIAPPID;
     public static String MINIAPPSECRET;
+    public static String PROMOTIONVOUCHER;
+    public static String HTTPPROMOTIONVOUCHER;
 
     //注入
     @Autowired(required = false)
-    public void getNewUserCoupon(@Value("${coupon.NewUserCoupon}")String NEWUSER_COUPON) {
+    public void getNewUserCoupon(@Value("${coupon.NewUserCoupon}") String NEWUSER_COUPON) {
         Constant.NEWUSER_COUPON = NEWUSER_COUPON;
     }
+
     @Autowired(required = false)
-    public void getConsultTaskCoupon(@Value("${coupon.ConsultTaskCoupon}")String CONSULTTASK_COUPON) {
+    public void getConsultTaskCoupon(@Value("${coupon.ConsultTaskCoupon}") String CONSULTTASK_COUPON) {
         Constant.CONSULTTASK_COUPON = CONSULTTASK_COUPON;
     }
+
     @Autowired(required = false)
-    public void getDetectionTaskCoupon(@Value("${coupon.DetectionTaskCoupon}")String DETECTIONTASK_COUPON) {
+    public void getDetectionTaskCoupon(@Value("${coupon.DetectionTaskCoupon}") String DETECTIONTASK_COUPON) {
         Constant.DETECTIONTASK_COUPON = DETECTIONTASK_COUPON;
     }
+
     @Autowired(required = false)
-    public void getRechargeTaskCoupon(@Value("${coupon.NewUserCoupon}")String RECHARGETASK_COUPON) {
+    public void getRechargeTaskCoupon(@Value("${coupon.NewUserCoupon}") String RECHARGETASK_COUPON) {
         Constant.RECHARGETASK_COUPON = RECHARGETASK_COUPON;
     }
 
     @Autowired(required = false)
-    public void getROOT(@Value("${file.ROOT}")String ROOT) {
+    public void getROOT(@Value("${file.ROOT}") String ROOT) {
         Constant.ROOT = ROOT;
     }
+
     @Autowired(required = false)
-    public void getResumeFile(@Value("${file.ResumeFile}")String RESUMEFILE) {
+    public void getResumeFile(@Value("${file.ResumeFile}") String RESUMEFILE) {
         Constant.RESUMEFILE = RESUMEFILE;
     }
+
     @Autowired(required = false)
-    public void gethttpRoot(@Value("${file.httpRoot}")String HTTPROOT) {
+    public void gethttpRoot(@Value("${file.httpRoot}") String HTTPROOT) {
         Constant.HTTPROOT = HTTPROOT;
     }
+
     @Autowired(required = false)
-    public void gethttphtmlRoot(@Value("${file.httphtmlRoot}")String HTTPHTMLROOT) {
+    public void gethttphtmlRoot(@Value("${file.httphtmlRoot}") String HTTPHTMLROOT) {
         Constant.HTTPHTMLROOT = HTTPHTMLROOT;
     }
+
     @Autowired(required = false)
-    public void getmodulePath(@Value("${file.modulePath}")String MODULEPATH) {
+    public void getmodulePath(@Value("${file.modulePath}") String MODULEPATH) {
         Constant.MODULEPATH = MODULEPATH;
     }
+
     @Autowired(required = false)
-    public void getPayvoucher(@Value("${file.payvoucher}")String PAYVOUCHER) {
+    public void getPayvoucher(@Value("${file.payvoucher}") String PAYVOUCHER) {
         Constant.PAYVOUCHER = PAYVOUCHER;
     }
+
     @Autowired(required = false)
-    public void getHttppayvoucher(@Value("${file.httppayvoucher}")String HTTPPAYVOUCHER) {
+    public void getHttppayvoucher(@Value("${file.httppayvoucher}") String HTTPPAYVOUCHER) {
         Constant.HTTPPAYVOUCHER = HTTPPAYVOUCHER;
     }
+    @Autowired(required = false)
+    public void getPromotionvoucher(@Value("${file.promotionvoucher}")String PROMOTIONVOUCHER) {
+        Constant.PROMOTIONVOUCHER = PROMOTIONVOUCHER;
+    }
+    @Autowired(required = false)
+    public void getHttppromotionvoucher(@Value("${file.httppromotionvoucher}")String HTTPPROMOTIONVOUCHER) {
+        Constant.HTTPPROMOTIONVOUCHER = HTTPPROMOTIONVOUCHER;
+    }
 
 
     @Autowired(required = false)
-    public void getAPPID(@Value("${wechat.APPID}")String APPID) {
+    public void getAPPID(@Value("${wechat.APPID}") String APPID) {
         Constant.APPID = APPID;
     }
+
     @Autowired(required = false)
-    public void getAPPSECRET(@Value("${wechat.APPSECRET}")String APPSECRET) {
+    public void getAPPSECRET(@Value("${wechat.APPSECRET}") String APPSECRET) {
         Constant.APPSECRET = APPSECRET;
     }
+
     @Autowired(required = false)
-    public void getGRANT_TYPE(@Value("${wechat.GRANT_TYPE}")String GRANT_TYPE) {
+    public void getGRANT_TYPE(@Value("${wechat.GRANT_TYPE}") String GRANT_TYPE) {
         Constant.GRANT_TYPE = GRANT_TYPE;
     }
+
     @Autowired(required = false)
-    public void getJSAPI_TICKET_TYPE(@Value("${wechat.JSAPI_TICKET_TYPE}")String JSAPI_TICKET_TYPE) {
+    public void getJSAPI_TICKET_TYPE(@Value("${wechat.JSAPI_TICKET_TYPE}") String JSAPI_TICKET_TYPE) {
         Constant.JSAPI_TICKET_TYPE = JSAPI_TICKET_TYPE;
     }
+
     @Autowired(required = false)
-    public void getACCESS_TOKEN_URL(@Value("${wechat.ACCESS_TOKEN_URL}")String ACCESS_TOKEN_URL) {
+    public void getACCESS_TOKEN_URL(@Value("${wechat.ACCESS_TOKEN_URL}") String ACCESS_TOKEN_URL) {
         Constant.ACCESS_TOKEN_URL = ACCESS_TOKEN_URL;
     }
+
     @Autowired(required = false)
-    public void getJSAPI_TICKET_URL(@Value("${wechat.JSAPI_TICKET_URL}")String JSAPI_TICKET_URL) {
+    public void getJSAPI_TICKET_URL(@Value("${wechat.JSAPI_TICKET_URL}") String JSAPI_TICKET_URL) {
         Constant.JSAPI_TICKET_URL = JSAPI_TICKET_URL;
     }
+
     @Autowired(required = false)
-    public void getJSCODE2SESSION(@Value("${wechat.JSCODE2SESSION}")String JSCODE2SESSION) {
+    public void getJSCODE2SESSION(@Value("${wechat.JSCODE2SESSION}") String JSCODE2SESSION) {
         Constant.JSCODE2SESSION = JSCODE2SESSION;
     }
+
     @Autowired(required = false)
-    public void getSENDMESSAGEURL(@Value("${wechat.SENDMESSAGEURL}")String SENDMESSAGEURL) {
+    public void getSENDMESSAGEURL(@Value("${wechat.SENDMESSAGEURL}") String SENDMESSAGEURL) {
         Constant.SENDMESSAGEURL = SENDMESSAGEURL;
     }
+
     @Autowired(required = false)
-    public void getOrderTemplateid(@Value("${wechat.OrderTemplateid}")String ORDERTEMPLATEID) {
+    public void getOrderTemplateid(@Value("${wechat.OrderTemplateid}") String ORDERTEMPLATEID) {
         Constant.ORDERTEMPLATEID = ORDERTEMPLATEID;
     }
+
     @Autowired(required = false)
-    public void getBookingTemplateid(@Value("${wechat.BookingTemplateid}")String BOOKINGTEMPLATEID) {
+    public void getBookingTemplateid(@Value("${wechat.BookingTemplateid}") String BOOKINGTEMPLATEID) {
         Constant.BOOKINGTEMPLATEID = BOOKINGTEMPLATEID;
     }
+
     @Autowired(required = false)
-    public void getMINIAPPID(@Value("${wechat.MINIAPPID}")String MINIAPPID) {
+    public void getMINIAPPID(@Value("${wechat.MINIAPPID}") String MINIAPPID) {
         Constant.MINIAPPID = MINIAPPID;
     }
+
     @Autowired(required = false)
-    public void getMINIAPPSECRET(@Value("${wechat.MINIAPPSECRET}")String MINIAPPSECRET) {
+    public void getMINIAPPSECRET(@Value("${wechat.MINIAPPSECRET}") String MINIAPPSECRET) {
         Constant.MINIAPPSECRET = MINIAPPSECRET;
     }
-
 }

+ 37 - 0
src/main/java/com/ygj/yuemum/controller/admin/ImageUploadController.java

@@ -43,6 +43,8 @@ public class ImageUploadController {
     public static final String modulePath = Constant.MODULEPATH;
     public static final String payvoucher = Constant.PAYVOUCHER;
     public static final String httppayvoucher = Constant.HTTPPAYVOUCHER;
+    public static final String promotionvoucher = Constant.PROMOTIONVOUCHER;
+    public static final String httppromotionvoucher = Constant.HTTPPROMOTIONVOUCHER;
 
     @RequestMapping(value = "/upload", method = RequestMethod.GET)
     public String upload() {
@@ -406,4 +408,39 @@ public class ImageUploadController {
         return jso;
     }
 
+    @RequestMapping(value = "/uploadPromotionImg", method = RequestMethod.POST)
+    @ResponseBody
+    public String uploadPromotionImg(@RequestParam(value = "file", required = false) MultipartFile file) {
+        int dot = file.getOriginalFilename().lastIndexOf('.');
+        String newName = file.getOriginalFilename().substring(dot);
+        if (file.isEmpty()) {
+            return "";
+        }
+        Date date = new Date();
+        DateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
+        String fileUrl = promotionvoucher + "/"  + sdf.format(date) +newName;
+        String httpfileUrl = httppromotionvoucher + "/"  + sdf.format(date) +newName;
+        File dest = new File(fileUrl);
+        // 删除
+        try {
+            file.transferTo(dest); //保存文件
+            return httpfileUrl;
+        } catch (Exception ex) {
+            ex.printStackTrace();
+            return "";
+        }
+    }
+    @GetMapping("/deletePromotionImg")
+    public int deletePromotionImg(@RequestParam("cv_filename") String cv_filename) throws ParseException {
+        try {
+            String path = promotionvoucher + "/"+ cv_filename;
+            File dest = new File(path);
+            dest.delete();
+            return 1 ;
+        } catch (Exception ex){
+            ex.printStackTrace();
+            return 0;
+        }
+    }
+
 }

+ 58 - 0
src/main/java/com/ygj/yuemum/controller/promotion/PromotionOfflineController.java

@@ -0,0 +1,58 @@
+package com.ygj.yuemum.controller.promotion;
+
+
+import com.alibaba.fastjson.JSONObject;
+import com.ygj.yuemum.domain.promotion.PromotionOffline;
+import com.ygj.yuemum.service.promotion.PromotionOfflineService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Map;
+
+@RestController
+public class PromotionOfflineController {
+
+    @Autowired
+    private PromotionOfflineService promotionOfflineService;
+    @PostMapping("/getPromotionOfflines")
+    public String getPromotionOfflines(@ModelAttribute PromotionOffline promotionOffline) {
+        Map<String, Object> promotionOfflines= promotionOfflineService.getPromotionOfflines(promotionOffline);
+        String jso = JSONObject.toJSONString(promotionOfflines);
+        return jso;
+    }
+    @PostMapping("/insertPromotionOffline")
+    public int insertPromotionOffline(@ModelAttribute PromotionOffline promotionOffline) {
+        return promotionOfflineService.insertPromotionOffline(promotionOffline);
+    }
+    @GetMapping("/getValidPO")
+    public  int getValidPO(){
+        return promotionOfflineService.getValidPO();
+    }
+    @GetMapping("/getValidPosition")
+    public String getValidPosition(@RequestParam("po_mkt") String po_mkt){
+        Map<String, Object> promotionOfflines= promotionOfflineService.getValidPosition(po_mkt);
+        String jso = JSONObject.toJSONString(promotionOfflines);
+        return jso;
+    }
+    @GetMapping("/getWxPosition")
+    public List<PromotionOffline> getWxPosition(){
+        return promotionOfflineService.getWxPosition();
+    }
+    @GetMapping("/getQueryPromotionOfflines")
+    public List<PromotionOffline> getQueryPromotionOfflines(){
+        return promotionOfflineService.getQueryPromotionOfflines();
+    }
+    @GetMapping("/delPromotionOffline")
+    public int delPromotionOffline(@RequestParam("id") Integer id){
+        return promotionOfflineService.delPromotionOffline(id);
+    }
+    @GetMapping("/getOnePromotionOfflines")
+    public PromotionOffline getOnePromotionOfflines(@RequestParam("id") Integer id){
+        return promotionOfflineService.getOnePromotionOfflines(id);
+    }
+    @PostMapping("/updatePromotionOffline")
+    public int updatePromotionOffline(@ModelAttribute PromotionOffline promotionOffline) {
+        return promotionOfflineService.updatePromotionOffline(promotionOffline);
+    }
+}

+ 29 - 0
src/main/java/com/ygj/yuemum/controller/promotion/PromotionUserInfoController.java

@@ -0,0 +1,29 @@
+package com.ygj.yuemum.controller.promotion;
+
+
+import com.alibaba.fastjson.JSONObject;
+import com.ygj.yuemum.domain.promotion.PromotionUserInfo;
+import com.ygj.yuemum.service.promotion.PromotionUserInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+@RestController
+public class PromotionUserInfoController {
+
+    @Autowired
+    private PromotionUserInfoService promotionUserInfoService;
+    @PostMapping("/getPromotionUserInfos")
+    public String getPromotionUserInfos(@ModelAttribute PromotionUserInfo promotionUserInfo) {
+        Map<String, Object> promotionUserInfos= promotionUserInfoService.getPromotionUserInfos(promotionUserInfo);
+        String jso = JSONObject.toJSONString(promotionUserInfos);
+        return jso;
+    }
+    @PostMapping("/insertPromotionUserInfo")
+    public int insertPromotionUserInfo(@ModelAttribute PromotionUserInfo promotionUserInfo) {
+        return promotionUserInfoService.insertPromotionUserInfo(promotionUserInfo);
+    }
+}

+ 1 - 0
src/main/java/com/ygj/yuemum/dao/admin/JlRegionDao.java

@@ -9,4 +9,5 @@ public interface JlRegionDao {
 
     String getnp(Integer code);
     List<JlRegion> getProvince();
+    int getPromotionMkt (String code);
 }

+ 21 - 0
src/main/java/com/ygj/yuemum/dao/promotion/PromotionOfflineDao.java

@@ -0,0 +1,21 @@
+package com.ygj.yuemum.dao.promotion;
+
+import com.ygj.yuemum.domain.promotion.PromotionOffline;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface PromotionOfflineDao {
+
+    List<PromotionOffline> getPromotionOfflines(PromotionOffline promotionOffline);
+    int insertPromotionOffline(PromotionOffline promotionOffline);
+    int getValidPO();
+    List<PromotionOffline> getValidPosition(Integer po_mkt);
+    List<PromotionOffline> getWxPosition();
+    List<PromotionOffline> getQueryPromotionOfflines();
+    int deleteByPrimaryKey(Integer id);
+    String getPOLImage(Integer id);
+    PromotionOffline getOnePromotionOfflines(Integer id);
+    int updateByPrimaryKeySelective(PromotionOffline promotionOffline);
+}

+ 15 - 0
src/main/java/com/ygj/yuemum/dao/promotion/PromotionUserInfoDao.java

@@ -0,0 +1,15 @@
+package com.ygj.yuemum.dao.promotion;
+
+import com.ygj.yuemum.domain.promotion.PromotionUserInfo;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface PromotionUserInfoDao {
+
+    List<PromotionUserInfo> getPromotionUserInfos(PromotionUserInfo promotionUserInfo);
+    int insertPromotionUserInfo(PromotionUserInfo promotionUserInfo);
+    int getCheckInfo(String pu_phone);
+
+}

+ 121 - 0
src/main/java/com/ygj/yuemum/domain/promotion/PromotionOffline.java

@@ -0,0 +1,121 @@
+package com.ygj.yuemum.domain.promotion;
+
+public class PromotionOffline {
+    private Integer id;
+    private String po_name;
+    private String po_desc;
+    private String po_headimg;
+    private String po_icon;
+    private String po_startdate;
+    private String po_enddate;
+    private String po_mkt;
+    private String po_createtime;
+    private String po_createuser;
+    private String po_status;
+    private Integer limit;
+    private Integer page;
+
+    public String getPo_status() {
+        return po_status;
+    }
+
+    public void setPo_status(String po_status) {
+        this.po_status = po_status;
+    }
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getLimit() {
+        return limit;
+    }
+
+    public void setLimit(Integer limit) {
+        this.limit = limit;
+    }
+
+    public Integer getPage() {
+        return page;
+    }
+
+    public void setPage(Integer page) {
+        this.page = page;
+    }
+
+    public String getPo_name() {
+        return po_name;
+    }
+
+    public void setPo_name(String po_name) {
+        this.po_name = po_name;
+    }
+
+    public String getPo_desc() {
+        return po_desc;
+    }
+
+    public void setPo_desc(String po_desc) {
+        this.po_desc = po_desc;
+    }
+
+    public String getPo_headimg() {
+        return po_headimg;
+    }
+
+    public void setPo_headimg(String po_headimg) {
+        this.po_headimg = po_headimg;
+    }
+
+    public String getPo_icon() {
+        return po_icon;
+    }
+
+    public void setPo_icon(String po_icon) {
+        this.po_icon = po_icon;
+    }
+
+    public String getPo_startdate() {
+        return po_startdate;
+    }
+
+    public void setPo_startdate(String po_startdate) {
+        this.po_startdate = po_startdate;
+    }
+
+    public String getPo_enddate() {
+        return po_enddate;
+    }
+
+    public void setPo_enddate(String po_enddate) {
+        this.po_enddate = po_enddate;
+    }
+
+    public String getPo_mkt() {
+        return po_mkt;
+    }
+
+    public void setPo_mkt(String po_mkt) {
+        this.po_mkt = po_mkt;
+    }
+
+    public String getPo_createtime() {
+        return po_createtime;
+    }
+
+    public void setPo_createtime(String po_createtime) {
+        this.po_createtime = po_createtime;
+    }
+
+    public String getPo_createuser() {
+        return po_createuser;
+    }
+
+    public void setPo_createuser(String po_createuser) {
+        this.po_createuser = po_createuser;
+    }
+}

+ 94 - 0
src/main/java/com/ygj/yuemum/domain/promotion/PromotionUserInfo.java

@@ -0,0 +1,94 @@
+package com.ygj.yuemum.domain.promotion;
+
+public class PromotionUserInfo {
+    private Integer id;
+    private String pu_username;
+    private String pu_phone;
+    private String pu_duedate;
+    private Integer pu_promotionid;
+    private String pu_prmname;
+    private String po_mkt;
+    private String pu_date;
+    private Integer page;
+    private Integer limit;
+
+    public String getPo_mkt() {
+        return po_mkt;
+    }
+
+    public void setPo_mkt(String po_mkt) {
+        this.po_mkt = po_mkt;
+    }
+
+    public String getPu_prmname() {
+        return pu_prmname;
+    }
+
+    public void setPu_prmname(String pu_prmname) {
+        this.pu_prmname = pu_prmname;
+    }
+
+    public Integer getPage() {
+        return page;
+    }
+
+    public void setPage(Integer page) {
+        this.page = page;
+    }
+
+    public Integer getLimit() {
+        return limit;
+    }
+
+    public void setLimit(Integer limit) {
+        this.limit = limit;
+    }
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public String getPu_username() {
+        return pu_username;
+    }
+
+    public void setPu_username(String pu_username) {
+        this.pu_username = pu_username;
+    }
+
+    public String getPu_phone() {
+        return pu_phone;
+    }
+
+    public void setPu_phone(String pu_phone) {
+        this.pu_phone = pu_phone;
+    }
+
+    public String getPu_duedate() {
+        return pu_duedate;
+    }
+
+    public void setPu_duedate(String pu_duedate) {
+        this.pu_duedate = pu_duedate;
+    }
+
+    public Integer getPu_promotionid() {
+        return pu_promotionid;
+    }
+
+    public void setPu_promotionid(Integer pu_promotionid) {
+        this.pu_promotionid = pu_promotionid;
+    }
+
+    public String getPu_date() {
+        return pu_date;
+    }
+
+    public void setPu_date(String pu_date) {
+        this.pu_date = pu_date;
+    }
+}

+ 3 - 0
src/main/java/com/ygj/yuemum/service/admin/JlRegionService.java

@@ -21,5 +21,8 @@ public class JlRegionService {
     public List<JlRegion> getProvince() {
         return jlRegionDao.getProvince();
     }
+    public int getPromotionMkt (String code){
+        return jlRegionDao.getPromotionMkt(code);
+    }
 
 }

+ 92 - 0
src/main/java/com/ygj/yuemum/service/promotion/PromotionOfflineService.java

@@ -0,0 +1,92 @@
+package com.ygj.yuemum.service.promotion;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.ygj.yuemum.component.Constant;
+import com.ygj.yuemum.dao.promotion.PromotionOfflineDao;
+import com.ygj.yuemum.domain.promotion.PromotionOffline;
+import com.ygj.yuemum.service.admin.JlRegionService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.io.File;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+@Service
+public class PromotionOfflineService {
+
+    @Autowired
+
+    private PromotionOfflineDao promotionOfflineDao;
+    @Autowired
+    private JlRegionService jlRegionService;
+    public static final String httppromotionvoucher = Constant.HTTPPROMOTIONVOUCHER;
+    public static final String promotionvoucher = Constant.PROMOTIONVOUCHER;
+
+    public Map<String, Object> getPromotionOfflines(PromotionOffline promotionOffline) {
+        PageHelper.startPage(promotionOffline.getPage(), promotionOffline.getLimit());
+        List<PromotionOffline> promotionOfflines = promotionOfflineDao.getPromotionOfflines(promotionOffline);
+
+        PageInfo<PromotionOffline> pageInfo = new PageInfo<PromotionOffline>(promotionOfflines);
+        long count = pageInfo.getTotal(); //获取总记录数
+
+        Map<String, Object> tableData = new HashMap<>();
+        tableData.put("items", promotionOfflines);
+        tableData.put("total", count);
+        return tableData;
+    }
+
+    public int insertPromotionOffline(PromotionOffline promotionOffline) {
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        promotionOffline.setPo_createtime(sdf.format(new Date()));
+        promotionOffline.setPo_headimg(httppromotionvoucher +'/'+ promotionOffline.getPo_headimg());
+        return promotionOfflineDao.insertPromotionOffline(promotionOffline);
+    }
+
+    public int getValidPO() {
+        return promotionOfflineDao.getValidPO();
+    }
+
+    public Map<String, Object> getValidPosition(String po_mkt) {
+        //获取城市
+        Map<String, Object> returnMap = new LinkedHashMap<>();
+        int code = jlRegionService.getPromotionMkt(po_mkt);
+        if(code != 0 ){
+            List<PromotionOffline> promotionOfflines = promotionOfflineDao.getValidPosition(code);
+            if(promotionOfflines.size() ==0 ) {
+                returnMap.put("status","91");//此城市没有活动
+            } else {
+                returnMap.put("status","1");
+                returnMap.put("data",promotionOfflines.get(0));
+            }
+        } else {
+            returnMap.put("status","90");//获取城市失败!
+        }
+        return returnMap;
+    }
+    public List<PromotionOffline> getWxPosition (){
+        return promotionOfflineDao.getWxPosition();
+    }
+    public List<PromotionOffline> getQueryPromotionOfflines(){
+        return promotionOfflineDao.getQueryPromotionOfflines();
+    }
+    public int delPromotionOffline(Integer id){
+        //删除文件
+        String[] pathname = promotionOfflineDao.getPOLImage(id).split("/");
+        String name = pathname[pathname.length -1];
+        String path = promotionvoucher + "/"+ name;
+        File dest = new File(path);
+        dest.delete();
+        return promotionOfflineDao.deleteByPrimaryKey(id);
+    }
+    public PromotionOffline getOnePromotionOfflines(Integer id ){
+        return promotionOfflineDao.getOnePromotionOfflines(id);
+    }
+    public int updatePromotionOffline(PromotionOffline promotionOffline){
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        promotionOffline.setPo_createtime(sdf.format(new Date()));
+        promotionOffline.setPo_headimg(httppromotionvoucher +'/'+ promotionOffline.getPo_headimg());
+        return promotionOfflineDao.updateByPrimaryKeySelective(promotionOffline);
+    }
+}

+ 49 - 0
src/main/java/com/ygj/yuemum/service/promotion/PromotionUserInfoService.java

@@ -0,0 +1,49 @@
+package com.ygj.yuemum.service.promotion;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.ygj.yuemum.dao.promotion.PromotionUserInfoDao;
+import com.ygj.yuemum.domain.promotion.PromotionUserInfo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class PromotionUserInfoService {
+
+    @Autowired
+
+    private PromotionUserInfoDao promotionUserInfoDao;
+
+    public Map<String, Object> getPromotionUserInfos(PromotionUserInfo promotionUserInfo) {
+        PageHelper.startPage(promotionUserInfo.getPage(), promotionUserInfo.getLimit());
+        List<PromotionUserInfo> promotionUserInfos = promotionUserInfoDao.getPromotionUserInfos(promotionUserInfo);
+
+        PageInfo<PromotionUserInfo> pageInfo = new PageInfo<PromotionUserInfo>(promotionUserInfos);
+        long count = pageInfo.getTotal(); //获取总记录数
+
+        Map<String, Object> tableData = new HashMap<>();
+        tableData.put("items", promotionUserInfos);
+        tableData.put("total", count);
+        return tableData;
+    }
+
+    public int insertPromotionUserInfo(PromotionUserInfo promotionUserInfo) {
+        // 判断是否领取
+        try {
+            int temp = promotionUserInfoDao.getCheckInfo(promotionUserInfo.getPu_phone());
+            if(temp > 0) {
+                return 99;
+            }
+            promotionUserInfoDao.insertPromotionUserInfo(promotionUserInfo);
+        }catch (Exception ex) {
+            ex.printStackTrace();
+            return 0;
+        }
+        return 1;
+    }
+
+}

+ 9 - 0
src/main/java/com/ygj/yuemum/shiro/ShiroConfig.java

@@ -58,11 +58,20 @@ public class ShiroConfig {
         filterChainDefinitionMap.put("/WXSendBookingMessage", "anon");
         filterChainDefinitionMap.put("/WXSendOrderMessage", "anon");
         filterChainDefinitionMap.put("/getEquipmentAmount", "anon");
+        filterChainDefinitionMap.put("/getValidPO", "anon");
+        filterChainDefinitionMap.put("/getValidPosition", "anon");
+        filterChainDefinitionMap.put("/getWxPosition", "anon");
+        filterChainDefinitionMap.put("/insertPromotionUserInfo", "anon");
         //萌动开放权限
         filterChainDefinitionMap.put("/getNewUserCoupon", "anon");
         filterChainDefinitionMap.put("/getConsultTaskCoupon", "anon");
         filterChainDefinitionMap.put("/getDetectionTaskCoupon", "anon");
         filterChainDefinitionMap.put("/getRechargeTaskCoupon", "anon");
+        //文件上传临时解决方案
+        filterChainDefinitionMap.put("/uploadPromotionImg","anon");
+        filterChainDefinitionMap.put("/uploadImg","anon");
+        filterChainDefinitionMap.put("/uploadPayImg","anon");
+
 //        //用户,需要角色权限 “user”
 //        filterChainDefinitionMap.put("/user/**", "roles[user]");
 //        //管理员,需要角色权限 “admin”

+ 8 - 2
src/main/resources/application.yml

@@ -2,8 +2,8 @@ server:
   port: 8888
 mybatis:
   config-location: classpath:mybatis/mybatis-config.xml
-  mapper-locations: mybatis/mapper/admin/*.xml,mybatis/mapper/maternitymatron/*.xml,mybatis/mapper/coupon/*.xml,mybatis/mapper/global/*.xml,mybatis/mapper/customer/*.xml,mybatis/mapper/modoo/*.xml,mybatis/mapper/order/*.xml,mybatis/mapper/equipment/*.xml,mybatis/mapper/pay/*.xml,mybatis/mapper/wxmini/*.xml
-  mybatis.type-aliases-package: com.ygj.yuemum.domain/admin,com.ygj.yuemum.domain/maternitymatron,com.ygj.yuemum.domain/coupon,com.ygj.yuemum.domain/global,com.ygj.yuemum.domain/customer,com.ygj.yuemum.domain/modoo,com.ygj.yuemum.domain/order,com.ygj.yuemum.domain/equipment,com.ygj.yuemum.domain/pay,com.ygj.yuemum.domain/wxmini
+  mapper-locations: mybatis/mapper/admin/*.xml,mybatis/mapper/maternitymatron/*.xml,mybatis/mapper/coupon/*.xml,mybatis/mapper/global/*.xml,mybatis/mapper/customer/*.xml,mybatis/mapper/modoo/*.xml,mybatis/mapper/order/*.xml,mybatis/mapper/equipment/*.xml,mybatis/mapper/pay/*.xml,mybatis/mapper/wxmini/*.xml,mybatis/mapper/promotion/*.xml
+  mybatis.type-aliases-package: com.ygj.yuemum.domain/admin,com.ygj.yuemum.domain/maternitymatron,com.ygj.yuemum.domain/coupon,com.ygj.yuemum.domain/global,com.ygj.yuemum.domain/customer,com.ygj.yuemum.domain/modoo,com.ygj.yuemum.domain/order,com.ygj.yuemum.domain/equipment,com.ygj.yuemum.domain/pay,com.ygj.yuemum.domain/wxmini,com.ygj.yuemum.domain/promotion
   log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
 spring:
   datasource:
@@ -45,6 +45,8 @@ file:
   modulePath : "D:/apache-tomcat-9.0.6/webapps/resume/resume.html"
   payvoucher : "D:/apache-tomcat-9.0.6/webapps/payvoucher"
   httppayvoucher : "http://localhost:8080/payvoucher"
+  promotionvoucher : "D:/apache-tomcat-9.0.6/webapps/MiniProgram/promotion/offline"
+  httppromotionvoucher : "http://localhost:8080/MiniProgram/promotion/offline"
 #测试
 #file:
 #  ROOT : "/usr/local/apache-tomcat-8.5.30/webapps/resume/img/"
@@ -54,6 +56,8 @@ file:
 #  modulePath : "/usr/local/apache-tomcat-8.5.30/webapps/resume/resume.html"
 #  payvoucher : "/usr/local/apache-tomcat-8.5.30/webapps/payvoucher"
 #  httppayvoucher : "http://192.168.1.24/payvoucher"
+#  promotionvoucher : "/usr/local/apache-tomcat-8.5.30/webapps/promotion/offline"
+#  httppromotionvoucher : "http://192.168.1.24/MiniProgram/promotion/offline"
 #生产
 #file:
 #  ROOT : "/usr/local/tomcat/tomcat7/webapps/resume/img/"
@@ -63,6 +67,8 @@ file:
 #  modulePath : "/usr/local/tomcat/tomcat7/webapps/resume/resume.html"
 #  payvoucher : "/usr/local/tomcat/tomcat7/webapps/payvoucher"
 #  httppayvoucher : "http://yuesuo.yueguanjia.com/payvoucher"
+#  promotionvoucher : "/usr/local/tomcat/tomcat7/webapps/promotion/offline"
+#  httppromotionvoucher : "http://yuesuo.yueguanjia.com/MiniProgram/promotion/offline"
 #微信公众号---------------------------------------------------
 wechat:
   APPID : "wx52852a3c47540fad"

+ 8 - 0
src/main/resources/mybatis/mapper/admin/JlRegionMapper.xml

@@ -28,4 +28,12 @@
         where pid = 0
     </select>
 
+    <select id="getPromotionMkt" parameterType="java.lang.String" resultType="java.lang.Integer" >
+
+        select ifnull(pid,0) pid
+        from jl_region
+        where code = #{code,jdbcType=VARCHAR}
+    </select>
+
+
 </mapper>

+ 199 - 0
src/main/resources/mybatis/mapper/promotion/PromotionOfflineMapper.xml

@@ -0,0 +1,199 @@
+<?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.ygj.yuemum.dao.promotion.PromotionOfflineDao" >
+
+    <resultMap id="BaseResultMap" type="com.ygj.yuemum.domain.promotion.PromotionOffline" >
+        <id column="id" property="id" jdbcType="INTEGER" />
+        <result column="po_name" property="po_name" jdbcType="VARCHAR" />
+        <result column="po_desc" property="po_desc" jdbcType="VARCHAR" />
+        <result column="po_headimg" property="po_headimg" jdbcType="VARCHAR" />
+        <result column="po_icon" property="po_icon" jdbcType="VARCHAR" />
+        <result column="po_startdate" property="po_startdate" jdbcType="VARCHAR" />
+        <result column="po_enddate" property="po_enddate" jdbcType="VARCHAR" />
+        <result column="po_mkt" property="po_mkt" jdbcType="VARCHAR" />
+        <result column="po_createtime" property="po_createtime" jdbcType="VARCHAR" />
+        <result column="po_createuser" property="po_createuser" jdbcType="VARCHAR" />
+    </resultMap>
+
+    <!--获取所有数据-->
+    <select id="getPromotionOfflines" resultType="com.ygj.yuemum.domain.promotion.PromotionOffline" parameterType="com.ygj.yuemum.domain.promotion.PromotionOffline" >
+        select
+        id,po_name,po_desc,po_headimg,po_icon,po_startdate,po_enddate,
+        fgetbranches_name(po_mkt) po_mkt,po_createtime,po_createuser
+        from promotion_offline
+        where 1=1
+        <if test="id != null and id != ''">
+            and id = #{id,jdbcType=INTEGER}
+        </if>
+        <if test="po_name != null and po_name != ''">
+            and po_name = #{po_name,jdbcType=VARCHAR}
+        </if>
+        <if test="po_desc != null and po_desc != ''">
+            and po_desc = #{po_desc,jdbcType=VARCHAR}
+        </if>
+        <if test="po_headimg != null and po_headimg != ''">
+            and po_headimg = #{po_headimg,jdbcType=VARCHAR}
+        </if>
+        <if test="po_icon != null and po_icon != ''">
+            and po_icon = #{po_icon,jdbcType=VARCHAR}
+        </if>
+        <if test="po_startdate != null and po_startdate != '' and po_enddate != null and po_enddate != ''">
+            and po_startdate &gt;= DATE_FORMAT(#{po_startdate,jdbcType=VARCHAR},'%Y-%m-%d')
+            and po_enddate &lt;=  DATE_FORMAT(#{po_enddate,jdbcType=VARCHAR},'%Y-%m-%d')
+        </if>
+        <if test="po_mkt != null and po_mkt != ''">
+            and po_mkt = #{po_mkt,jdbcType=VARCHAR}
+        </if>
+        <if test="po_createtime != null and po_createtime != ''">
+            and DATE_FORMAT(po_createtime,'%Y-%m-%d') = #{po_createtime,jdbcType=VARCHAR}
+        </if>
+        <if test="po_createuser != null and po_createuser != ''">
+            and po_createuser = #{po_createuser,jdbcType=VARCHAR}
+        </if>
+
+        order by 1 desc
+    </select>
+    <select id="getQueryPromotionOfflines" resultType="com.ygj.yuemum.domain.promotion.PromotionOffline" parameterType="com.ygj.yuemum.domain.equipment.EquipmentLog" >
+        select
+        id,po_name
+        from promotion_offline
+        order by 1 desc
+    </select>
+
+    <select id="getOnePromotionOfflines" resultType="com.ygj.yuemum.domain.promotion.PromotionOffline" parameterType="com.ygj.yuemum.domain.equipment.EquipmentLog" >
+        select
+        *
+        from promotion_offline
+         where id =  #{id,jdbcType=INTEGER}
+    </select>
+
+    <select id="getValidPO" resultType="java.lang.Integer"  >
+        SELECT
+            count(1)
+        FROM
+          promotion_offline
+        where
+          TO_DAYS(NOW()) - TO_DAYS(po_enddate) &lt;= 0
+        order by id desc
+    </select>
+
+    <select id="getValidPosition" resultType="com.ygj.yuemum.domain.promotion.PromotionOffline" parameterType="java.lang.Integer"  >
+        SELECT
+        *
+        FROM
+        promotion_offline
+        where
+        po_mkt = #{po_mkt,jdbcType=VARCHAR}
+        and TO_DAYS(NOW()) - TO_DAYS(po_enddate) &lt;= 0
+    </select>
+
+
+    <select id="getPOLImage" resultType="java.lang.String" parameterType="java.lang.Integer"  >
+        SELECT
+        po_headimg
+        FROM
+        promotion_offline
+        where
+        id =  #{id,jdbcType=INTEGER}
+    </select>
+
+    <select id="getWxPosition" resultType="com.ygj.yuemum.domain.promotion.PromotionOffline"  >
+        SELECT
+        id,po_name,po_headimg
+        FROM
+        promotion_offline
+        where
+        TO_DAYS(NOW()) - TO_DAYS(po_enddate) &lt;= 0
+    </select>
+
+    <!-- 插入一条培训信息 -->
+    <insert id="insertPromotionOffline" parameterType="com.ygj.yuemum.domain.promotion.PromotionOffline" >
+        insert into promotion_offline
+        <trim prefix="(" suffix=")" suffixOverrides="," >
+            <if test="po_name != null" >
+                po_name,
+            </if>
+            <if test="po_desc != null" >
+                po_desc,
+            </if>
+            <if test="po_headimg != null" >
+                po_headimg,
+            </if>
+            <if test="po_icon != null" >
+                po_icon,
+            </if>
+            <if test="po_startdate != null" >
+                po_startdate,
+            </if>
+            <if test="po_enddate != null" >
+                po_enddate,
+            </if>
+            <if test="po_mkt != null" >
+                po_mkt,
+            </if>
+            <if test="po_createtime != null" >
+                po_createtime,
+            </if>
+            <if test="po_createuser != null" >
+                po_createuser
+            </if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides="," >
+            <if test="po_name != null" >
+                #{po_name,jdbcType=VARCHAR},
+            </if>
+            <if test="po_desc != null" >
+                #{po_desc,jdbcType=VARCHAR},
+            </if>
+            <if test="po_headimg != null" >
+                #{po_headimg,jdbcType=VARCHAR},
+            </if>
+            <if test="po_icon != null" >
+                #{po_icon,jdbcType=VARCHAR},
+            </if>
+            <if test="po_startdate != null" >
+                #{po_startdate,jdbcType=VARCHAR},
+            </if>
+            <if test="po_enddate != null" >
+                #{po_enddate,jdbcType=VARCHAR},
+            </if>
+            <if test="po_mkt != null" >
+                #{po_mkt,jdbcType=VARCHAR},
+            </if>
+            <if test="po_createtime != null" >
+                #{po_createtime,jdbcType=VARCHAR},
+            </if>
+            <if test="po_createuser != null" >
+                #{po_createuser,jdbcType=VARCHAR}
+            </if>
+        </trim>
+    </insert>
+    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
+        delete from promotion_offline
+        where id = #{id,jdbcType=VARCHAR}
+    </delete>
+    <update id="updateByPrimaryKeySelective" parameterType="com.ygj.yuemum.domain.promotion.PromotionOffline" >
+        update promotion_offline
+        <set >
+            <if test="po_name != null" >
+                po_name = #{po_name,jdbcType=VARCHAR},
+            </if>
+            <if test="po_desc != null" >
+                po_desc = #{po_desc,jdbcType=VARCHAR},
+            </if>
+            <if test="po_headimg != null" >
+                po_headimg = #{po_headimg,jdbcType=VARCHAR},
+            </if>
+            <if test="po_startdate != null" >
+                po_startdate = #{po_startdate,jdbcType=VARCHAR},
+            </if>
+            <if test="po_enddate != null" >
+                po_enddate = #{po_enddate,jdbcType=VARCHAR},
+            </if>
+            <if test="po_mkt != null" >
+                po_mkt = #{po_mkt,jdbcType=VARCHAR}
+            </if>
+        </set>
+        where id = #{id,jdbcType=INTEGER}
+    </update>
+</mapper>

+ 95 - 0
src/main/resources/mybatis/mapper/promotion/PromotionUserInfoMapper.xml

@@ -0,0 +1,95 @@
+<?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.ygj.yuemum.dao.promotion.PromotionUserInfoDao" >
+
+    <resultMap id="BaseResultMap" type="com.ygj.yuemum.domain.promotion.PromotionUserInfo" >
+        <id column="id" property="id" jdbcType="INTEGER" />
+        <result column="pu_username" property="pu_username" jdbcType="VARCHAR" />
+        <result column="pu_phone" property="pu_phone" jdbcType="VARCHAR" />
+        <result column="pu_duedate" property="pu_duedate" jdbcType="VARCHAR" />
+        <result column="pu_promotionid" property="pu_promotionid" jdbcType="INTEGER" />
+        <result column="pu_date" property="pu_date" jdbcType="VARCHAR" />
+    </resultMap>
+
+    <!--获取所有数据-->
+    <select id="getPromotionUserInfos" resultType="com.ygj.yuemum.domain.promotion.PromotionUserInfo" parameterType="com.ygj.yuemum.domain.promotion.PromotionUserInfo">
+        select
+        promotion_userinfo.id,
+        pu_username,
+        pu_phone,
+        pu_duedate,
+        fgetpromotionname(pu_promotionid) pu_prmname,
+        pu_date,
+        fgetbranches_name(po_mkt) po_mkt
+        from promotion_userinfo LEFT JOIN promotion_offline
+        on promotion_userinfo.pu_promotionid = promotion_offline.id
+        where 1=1
+        <if test="pu_username != null and pu_username != ''">
+            and pu_username = #{pu_username,jdbcType=INTEGER}
+        </if>
+        <if test="pu_phone != null and pu_phone != ''">
+            and pu_phone = #{pu_phone,jdbcType=INTEGER}
+        </if>
+        <if test="pu_duedate != null and pu_duedate != ''">
+            and pu_duedate = #{pu_duedate,jdbcType=INTEGER}
+        </if>
+        <if test="pu_promotionid != null and pu_promotionid != ''">
+            and pu_promotionid = #{pu_promotionid,jdbcType=INTEGER}
+        </if>
+        <if test="pu_date != null and pu_date != ''">
+            and DATE_FORMAT(pu_date,'%Y-%m-%d')  = #{pu_date,jdbcType=DATE}
+        </if>
+        <if test="po_mkt != null and po_mkt != ''">
+            and promotion_offline.po_mkt = #{po_mkt,jdbcType=DATE}
+        </if>
+        order by promotion_offline.id desc
+    </select>
+
+
+    <select id="getCheckInfo" resultType="java.lang.Integer" parameterType="java.lang.String" >
+        select
+        count(1)
+        from promotion_userinfo
+        where pu_phone = #{pu_phone,jdbcType=VARCHAR}
+    </select>
+
+    <!-- 插入一条培训信息 -->
+    <insert id="insertPromotionUserInfo" parameterType="com.ygj.yuemum.domain.promotion.PromotionUserInfo" >
+        insert into promotion_userinfo
+        <trim prefix="(" suffix=")" suffixOverrides="," >
+            <if test="pu_username != null" >
+                pu_username,
+            </if>
+            <if test="pu_phone != null" >
+                pu_phone,
+            </if>
+            <if test="pu_duedate != null" >
+                pu_duedate,
+            </if>
+            <if test="pu_promotionid != null" >
+                pu_promotionid,
+            </if>
+            <if test="pu_date != null" >
+                pu_date
+            </if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides="," >
+            <if test="pu_username != null" >
+                #{pu_username,jdbcType=VARCHAR},
+            </if>
+            <if test="pu_phone != null" >
+                #{pu_phone,jdbcType=VARCHAR},
+            </if>
+            <if test="pu_duedate != null" >
+                #{pu_duedate,jdbcType=VARCHAR},
+            </if>
+            <if test="pu_promotionid != null" >
+                #{pu_promotionid,jdbcType=INTEGER},
+            </if>
+            <if test="pu_date != null" >
+                #{pu_date,jdbcType=VARCHAR}
+            </if>
+        </trim>
+    </insert>
+
+</mapper>