Browse Source

账号申诉修改

yeshijie 7 years ago
parent
commit
23605e4448

+ 31 - 0
common/common-entity/src/main/java/com/yihu/wlyy/entity/feedback/Appeal.java

@ -1,10 +1,12 @@
package com.yihu.wlyy.entity.feedback;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.wlyy.entity.IdEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.util.Date;
/**
 * Created by Reece on 2017/5/6.
@ -24,6 +26,9 @@ public class Appeal extends IdEntity {
    private String images;
    //    联系手机号
    private String phone;
    private String name;//申诉人姓名
    private String idcard;//申诉人身份证
    private Date createTime;//申诉时间
    //    状态 0、未读 1、待处理  2、已处理
    private int status;
    //    '处理结果'
@ -141,4 +146,30 @@ public class Appeal extends IdEntity {
    public void setIdentity(int identity) {
        this.identity = identity;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getIdcard() {
        return idcard;
    }
    public void setIdcard(String idcard) {
        this.idcard = idcard;
    }
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    @Column(name = "create_time")
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
}

+ 1 - 1
common/common-entity/src/main/java/com/yihu/wlyy/entity/message/SMS.java

@ -18,7 +18,7 @@ public class SMS extends IdEntity {
    private String mobile;// 手机号
    private String ip;// ip地址
    private Integer type;// 消息类型:1微信端注册,2微信端找回密码,3医生端找回密码,4患者登录,5医生登录,6代预约(发送给居民)  10患者添加家庭关系
    private Integer type;// 消息类型:1微信端注册,2微信端找回密码,3医生端找回密码,4患者登录,5医生登录,6代预约(发送给居民)  10患者添加家庭关系,11账号申诉处理完成
    private String captcha;// 验证码
    private String content;// 消息内容
    private Date deadline;// 过期时间

+ 1 - 1
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/controller/manager/appeal/AppealController.java

@ -117,7 +117,7 @@ public class AppealController extends BaseController {
     * @param result
     * @return
     */
    @RequestMapping(value="dealAppeal")
    @RequestMapping(value="dealAppeal", method = RequestMethod.POST)
    @ResponseBody
    public String dealAppeal(@RequestParam(required = true,value="id") Long id,
                             @RequestParam(required = true,value="result") String result){

+ 1 - 1
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/entity/SMS.java

@ -16,7 +16,7 @@ public class SMS extends IdEntity {
    private String mobile;// 手机号
    private String ip;// ip地址
    private Integer type;// 消息类型:1微信端注册,2微信端找回密码,3医生端找回密码,4患者登录,5医生登录
    private Integer type;// 消息类型:1微信端注册,2微信端找回密码,3医生端找回密码,4患者登录,5医生登录,7旧手机验证码,8新手机验证码,10添加家人,11账号申诉处理完成
    private String captcha;// 验证码
    private String content;// 消息内容
    private Date deadline;// 过期时间

+ 32 - 0
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/entity/feedback/Appeal.java

@ -1,9 +1,12 @@
package com.yihu.wlyy.entity.feedback;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.wlyy.entity.IdEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.util.Date;
/**
 * 账号申诉表
@ -24,6 +27,9 @@ public class Appeal extends IdEntity {
    private String images;
    //    联系手机号
    private String phone;
    private String name;//申诉人姓名
    private String idcard;//申诉人身份证
    private Date createTime;//申诉时间
    //    状态 0、未读 1、待处理  2、已处理
    private int status;
    //    '处理结果'
@ -125,4 +131,30 @@ public class Appeal extends IdEntity {
    public void setIdentity(int identity) {
        this.identity = identity;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getIdcard() {
        return idcard;
    }
    public void setIdcard(String idcard) {
        this.idcard = idcard;
    }
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    @Column(name = "create_time")
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
}

+ 54 - 5
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/service/manager/feedback/AppealService.java

@ -1,12 +1,19 @@
package com.yihu.wlyy.service.manager.feedback;
import com.yihu.wlyy.entity.Doctor;
import com.yihu.wlyy.entity.SMS;
import com.yihu.wlyy.entity.feedback.Appeal;
import com.yihu.wlyy.repository.DoctorDao;
import com.yihu.wlyy.repository.PatientDao;
import com.yihu.wlyy.repository.SMSDao;
import com.yihu.wlyy.repository.feedback.AppealDao;
import com.yihu.wlyy.service.BaseService;
import com.yihu.wlyy.service.SMSService;
import com.yihu.wlyy.util.DateUtil;
import org.apache.commons.lang3.StringUtils;
import org.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
@ -17,10 +24,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springside.modules.persistence.DynamicSpecifications;
import org.springside.modules.persistence.SearchFilter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
 * Created by Reece on 2017/5/6.
@ -28,13 +32,19 @@ import java.util.Map;
@Service
@Transactional
public class AppealService extends BaseService {
    private static Logger logger = LoggerFactory.getLogger(AppealService.class);
    @Autowired
    private AppealDao appealDao;
    @Autowired
    private PatientDao patientDao;
    @Autowired
    private DoctorDao doctorDao;
    @Autowired
    private SMSService smsService;
    @Autowired
    private SMSDao smsDao;
    /**
     * 分页查找问题
@ -136,6 +146,9 @@ public class AppealService extends BaseService {
        map.put("identity", identity);
        map.put("phone", phone);
        map.put("description", description);
        map.put("name", appeal.getName());
        map.put("createTime", DateUtil.dateToStrLong(appeal.getCreateTime()));
        map.put("idcard", appeal.getIdcard());
        map.put("images", images);
        map.put("result", result);
        if (status == 0){
@ -172,5 +185,41 @@ public class AppealService extends BaseService {
        appeal.setResult(result);
        appeal.setStatus(2);
        appealDao.save(appeal);
        //发送处理完成短信
        //您某年某月某日在i健康平台提交的账号申诉已处理,请使用i健康应用(微信公众号)查看处理结果,查看路径:账号登录—忘记密码—账号申诉—申诉记录
        //医生和居民用不同的内容,医生是i健康应用,居民是i健康微信公众号
        StringBuffer msgContent = new StringBuffer("您");
        msgContent.append(DateUtil.getYMD(appeal.getCreateTime()));
        msgContent.append("在i健康平台提交的账号申诉已处理,请使用");
        if(appeal.getIdentity()==1){
            msgContent.append("微信公众号");
        }else {
            msgContent.append("i健康应用");
        }
        msgContent.append("查看处理结果,查看路径:账号登录—忘记密码—账号申诉—申诉记录");
        JSONObject json = smsService.sendMsg(appeal.getPhone(),msgContent.toString());
        SMS sms = new SMS();
        Date date = new Date();
        // 延后5分钟
        sms.setContent(msgContent.toString());
        sms.setDeadline(date);
        sms.setCzrq(date);
        sms.setMobile(appeal.getPhone());
        sms.setIp("127.0.0.1");
        sms.setType(11);
        sms.setStatus(1);
        smsDao.save(sms);
        if (json == null) {
            // 发送失败
            logger.error("申诉处理完成:短信发送失败");
        } else if (json.getInt("result") != 0) {
            logger.error("申诉处理完成:短信发送失败"+json.getString("description"));
        } else {
            //发送成功,保存到数据库
            smsDao.save(sms);
        }
    }
}

+ 20 - 8
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/util/DateUtil.java

@ -1,15 +1,14 @@
package com.yihu.wlyy.util;
import java.sql.Time;
import org.apache.commons.lang3.StringUtils;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Locale;
import java.util.Random;
import org.apache.commons.lang3.StringUtils;
import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.*;
public class DateUtil {
@ -668,6 +667,19 @@ public class DateUtil {
		}
	}
	/**
	 * 返回 某年某月某日
	 * @param date
	 * @return
     */
	public static String getYMD(Date date){
		Instant instant = date.toInstant();
		ZoneId zone = ZoneId.systemDefault();
		LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zone);
		LocalDate localDate = localDateTime.toLocalDate();
		return localDate.getYear()+"年"+localDate.getMonth().getValue()+"月"+localDate.getDayOfMonth()+"日";
	}
//	public static void main(String[] args) {
//		String hour = "12:22:12";
//		System.out.println(Time.valueOf(hour));

+ 9 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/feedback/AppealDao.java

@ -1,11 +1,20 @@
package com.yihu.wlyy.repository.feedback;
import com.yihu.wlyy.entity.feedback.Appeal;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * Created by Reece on 2017/5/6.
 */
public interface AppealDao extends PagingAndSortingRepository<Appeal, Long>,JpaSpecificationExecutor<Appeal> {
    @Query("from Appeal p where p.idcard = ?1 and p.del=1 ")
    Page<Appeal> findByIdcard(String idcard, Pageable pageRequest);
    @Query("select p from Appeal p where p.code=?1")
    Appeal findByCode(String code);
}

+ 60 - 5
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/feedback/AppealService.java

@ -1,5 +1,7 @@
package com.yihu.wlyy.service.app.feedback;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yihu.wlyy.entity.doctor.profile.Doctor;
import com.yihu.wlyy.entity.feedback.Appeal;
import com.yihu.wlyy.entity.patient.Patient;
@ -7,7 +9,12 @@ import com.yihu.wlyy.repository.feedback.AppealDao;
import com.yihu.wlyy.service.BaseService;
import com.yihu.wlyy.service.common.account.DoctorService;
import com.yihu.wlyy.service.common.account.PatientService;
import com.yihu.wlyy.util.DateUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
import org.springframework.data.domain.Sort.Direction;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -26,7 +33,19 @@ public class AppealService extends BaseService {
    @Autowired
    private DoctorService doctorService;
    public void saveAppeal(String creater,String description,int type,String images,String phone,int identity) throws Exception{
    /**
     * 保存账号申诉
     * @param creater 申请人code(如果有登录)
     * @param description 描述
     * @param type 申诉类型
     * @param images 图片
     * @param phone 手机号
     * @param identity 申诉人类型
     * @param name 姓名
     * @param idcard 身份证
     * @throws Exception
     */
    public void saveAppeal(String creater,String description,int type,String images,String phone,int identity,String name,String idcard) throws Exception{
        Appeal appeal = new Appeal();
        appeal.setCode(getCode());
        appeal.setCreater(creater);
@ -34,21 +53,57 @@ public class AppealService extends BaseService {
        appeal.setType(type);
        appeal.setImages(images);
        appeal.setPhone(phone);
        appeal.setName(name);
        appeal.setIdcard(idcard);
        appeal.setStatus(0);
        appeal.setIdentity(identity);
        appeal.setDel(1);
        //通过creater获取创建人名字
        String name ="";
        String createrName ="";
        if(creater!=null&&!"".equals(creater)){
            if(identity==1){//说明是患者
                Patient patient = patientService.findByCode(creater);
                name = patient.getName();
                createrName = patient.getName();
            }else{//说明是医生
                Doctor doctor = doctorService.findDoctorByCode(creater);
                name = doctor.getName();
                createrName = doctor.getName();
            }
        }
        appeal.setCreaterName(name);
        appeal.setCreaterName(createrName);
        appealDao.save(appeal);
    }
    /**
     * 按身份证查找
     * @param idcard
     * @param page
     * @param pagesize
     * @return
     */
    public JSONArray findAppealByIdcard(String idcard,Integer page,Integer pagesize){
        JSONArray re = new JSONArray();
        pagesize = pagesize==null? 10:pagesize;
        // 排序
        Sort sort = new Sort(Direction.DESC, "createTime");
        // 分页信息
        PageRequest pageRequest = new PageRequest(page, pagesize, sort);
        Page<Appeal> pages = appealDao.findByIdcard(idcard,pageRequest);
        pages.forEach(appeal -> {
            JSONObject json = new JSONObject();
            json.put("code",appeal.getCode());
            json.put("createTime",DateUtil.dateToStrLong(appeal.getCreateTime()));
            json.put("type",appeal.getType());
            json.put("status",appeal.getStatus());
            json.put("description",appeal.getDescription());
            re.add(json);
        });
        return re;
    }
    public Appeal findByCode(String code){
        return appealDao.findByCode(code);
    }
}

+ 78 - 19
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/feedback/DoctorFeedbackController.java

@ -1,24 +1,26 @@
package com.yihu.wlyy.web.doctor.feedback;
import com.alibaba.fastjson.JSONArray;
import com.yihu.wlyy.aop.ObserverRequired;
import com.yihu.wlyy.entity.feedback.Appeal;
import com.yihu.wlyy.service.app.feedback.AppealService;
import com.yihu.wlyy.service.app.feedback.FeedbackService;
import com.yihu.wlyy.util.CommonUtil;
import com.yihu.wlyy.util.IdcardValidator;
import com.yihu.wlyy.web.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.*;
/**
 * Created by Reece on 2017/5/6.
 */
@Controller
@RestController
@RequestMapping(value = "/doctor/feedback")
@Api(description = "医生端意见反馈与账号申诉")
public class DoctorFeedbackController extends BaseController {
@ -61,31 +63,58 @@ public class DoctorFeedbackController extends BaseController {
        }
    }
    /**
     * 医生端保存账号申诉
     *
     * @param description 问题描述
     * @param type        选择类型
     * @param images      图片,多图逗号分隔
     * @param phone       手机号码
     * @return
     */
    @RequestMapping(value = "/saveAppeal", method = RequestMethod.POST)
    @ApiOperation(value = "医生端保存申诉")
    @ResponseBody
    @ObserverRequired
    public String saveAppeal(
            @RequestParam String description,
            @RequestParam int type,
            @ApiParam(name = "description", value = "申诉人描述")
            @RequestParam(value = "description", required = true) String description,
            @ApiParam(name = "type", value = "申诉人类型")
            @RequestParam(value = "type", required = true) int type,
            @ApiParam(name = "images", value = "图片")
            @RequestParam(required = false) String images,
            @RequestParam String phone) {
            @ApiParam(name = "phone", value = "手机号码")
            @RequestParam(value = "phone", required = true) String phone,
            @ApiParam(name = "name", value = "申诉人姓名")
            @RequestParam(value = "name", required = true) String name,
            @ApiParam(name = "idcard", value = "申诉人身份证号码")
            @RequestParam(value = "idcard", required = true) String idcard) {
        try {
//        图片上传
            // 校验身份证号
            IdcardValidator validator = new IdcardValidator();
            if (validator.isValidatedAllIdcard(idcard)) {
                if (idcard.length() == 15) {
                    idcard = validator.convertIdcarBy15bit(idcard);
                    if (StringUtils.isEmpty(idcard)) {
                        return error(-1, "请输入正确的身份证号!");
                    }
                }
            } else {
                return error(-1, "请输入正确的身份证号!");
            }
            String imagesUrl = null;
            String imageRow = "";
            String imageUrls = "";
            if (StringUtils.isNotEmpty(images)) {
                images = CommonUtil.copyTempImage(images);
                String[] imgs = images.split(",");
                for (String image : imgs) {
                    if (image.contains("group1")) {
                        imageUrls += image + ",";
                    } else {
                        try {
                            imageRow += CommonUtil.copyTempImage(image) + ",";
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                    }
                }
                imagesUrl = imageUrls + imageRow;
                imagesUrl = imagesUrl.substring(0, imagesUrl.length() - 1);
            }
//             保存到数据库
            appealService.saveAppeal(getUID(),description,type,images,phone,2);
            appealService.saveAppeal(getUID(),description,type,imagesUrl,phone,2,name,idcard);
            return write(200, "保存成功!");
        } catch (Exception e) {
            error(e);
@ -93,5 +122,35 @@ public class DoctorFeedbackController extends BaseController {
        }
    }
    @RequestMapping(value = "findByIdcard", method = RequestMethod.GET)
    @ApiOperation(value = "按身份证查询")
    public String findByIdcard(@ApiParam(name = "idcard", value = "申诉人身份证号码")
                               @RequestParam(value = "idcard", required = true) String idcard,
                               @ApiParam(name = "page", value = "第几页")
                               @RequestParam(value = "page", required = true) Integer page,
                               @ApiParam(name = "pagesize", value = "页面大小")
                               @RequestParam(value = "pagesize", required = true) Integer pagesize){
        try {
            JSONArray jsonArray = appealService.findAppealByIdcard(idcard,page,pagesize);
            return write(200,"查询成功","list",jsonArray);
        }catch (Exception e){
            error(e);
            return error(-1,"查询失败");
        }
    }
    @RequestMapping(value = "findByCode", method = RequestMethod.GET)
    @ApiOperation(value = "按code查询")
    public String findByCode(@ApiParam(name = "code", value = "code")
                             @RequestParam(value = "code", required = true) String code){
        try {
            Appeal appeal = appealService.findByCode(code);
            return write(200,"查询成功","data",appeal);
        }catch (Exception e){
            error(e);
            return error(-1,"查询失败");
        }
    }
}

+ 62 - 18
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/feedback/PatientFeedbackController.java

@ -1,23 +1,25 @@
package com.yihu.wlyy.web.patient.feedback;
import com.alibaba.fastjson.JSONArray;
import com.yihu.wlyy.entity.feedback.Appeal;
import com.yihu.wlyy.service.app.feedback.AppealService;
import com.yihu.wlyy.service.app.feedback.FeedbackService;
import com.yihu.wlyy.util.CommonUtil;
import com.yihu.wlyy.util.IdcardValidator;
import com.yihu.wlyy.web.WeixinBaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.*;
/**
 * Created by Reece on 2017/5/6.
 */
@Controller
@RestController
@RequestMapping(value = "/patient/feedback")
@Api(description = "居民端意见反馈与账号申诉")
public class PatientFeedbackController extends WeixinBaseController {
@ -76,24 +78,35 @@ public class PatientFeedbackController extends WeixinBaseController {
        }
    }
    /**
     * 居民端保存账号申诉
     *
     * @param description 问题描述
     * @param type        选择类型
     * @param images      图片,多图逗号分隔
     * @param phone       手机号码
     * @return
     */
    @RequestMapping(value = "/saveAppeal", method = RequestMethod.POST)
    @ApiOperation(value = "居民端保存申诉")
    @ResponseBody
    public String saveAppeal(
            @RequestParam String description,
            @RequestParam int type,
            @ApiParam(name = "description", value = "申诉人姓名")
            @RequestParam(value = "description", required = true) String description,
            @ApiParam(name = "type", value = "申诉人类型")
            @RequestParam(value = "type", required = true) int type,
            @ApiParam(name = "images", value = "图片")
            @RequestParam(required = false) String images,
            @RequestParam String phone) {
            @ApiParam(name = "phone", value = "手机号码")
            @RequestParam(value = "phone", required = true) String phone,
            @ApiParam(name = "name", value = "申诉人姓名")
            @RequestParam(value = "name", required = true) String name,
            @ApiParam(name = "idcard", value = "申诉人身份证号码")
            @RequestParam(value = "idcard", required = true) String idcard) {
        try {
            // 校验身份证号
            IdcardValidator validator = new IdcardValidator();
            if (validator.isValidatedAllIdcard(idcard)) {
                if (idcard.length() == 15) {
                    idcard = validator.convertIdcarBy15bit(idcard);
                    if (StringUtils.isEmpty(idcard)) {
                        return error(-1, "请输入正确的身份证号!");
                    }
                }
            } else {
                return error(-1, "请输入正确的身份证号!");
            }
//        图片上传
            String photos="";
            if (StringUtils.isNotEmpty(images)) {
@ -116,13 +129,44 @@ public class PatientFeedbackController extends WeixinBaseController {
                photos = CommonUtil.copyTempImage(photos);
            }
//             保存到数据库
            appealService.saveAppeal(getUID(),description,type,photos,phone,1);
            appealService.saveAppeal(getUID(),description,type,photos,phone,1,name,idcard);
            return write(200, "保存成功!");
        } catch (Exception e) {
            error(e);
            return invalidUserException(e, -1, "保存失败!");
        }
    }
    @RequestMapping(value = "findByIdcard", method = RequestMethod.GET)
    @ApiOperation(value = "按身份证查询")
    public String findByIdcard(@ApiParam(name = "idcard", value = "申诉人身份证号码")
                               @RequestParam(value = "idcard", required = true) String idcard,
                               @ApiParam(name = "page", value = "第几页")
                               @RequestParam(value = "page", required = true) Integer page,
                               @ApiParam(name = "pagesize", value = "页面大小")
                               @RequestParam(value = "pagesize", required = true) Integer pagesize){
        try {
            JSONArray jsonArray = appealService.findAppealByIdcard(idcard,page,pagesize);
            return write(200,"查询成功","list",jsonArray);
        }catch (Exception e){
            error(e);
            return error(-1,"查询失败");
        }
    }
    @RequestMapping(value = "findByCode", method = RequestMethod.GET)
    @ApiOperation(value = "按code查询")
    public String findByCode(@ApiParam(name = "code", value = "code")
                               @RequestParam(value = "code", required = true) String code){
        try {
            Appeal appeal = appealService.findByCode(code);
            return write(200,"查询成功","data",appeal);
        }catch (Exception e){
            error(e);
            return error(-1,"查询失败");
        }
    }
    /**
     * 获取微信服务器图片
     *