2019-03-07 二手平臺小程序后臺(注冊掰读,修改)

WXMineService.java

package com.drefore.secondhand.wechat.service;

import com.alibaba.fastjson.JSONObject;

import com.drefore.secondhand.core.utils.Constants;

import com.drefore.secondhand.core.utils.MailOperation;

import com.drefore.secondhand.core.utils.ServiceUtil;

import com.drefore.secondhand.core.utils.UploadUtil;

import com.drefore.secondhand.domain.*;

import com.drefore.secondhand.domain.Collection;

import com.drefore.secondhand.mapper.*;

import org.apache.commons.collections4.CollectionUtils;

import org.apache.ibatis.session.RowBounds;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Service;

import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;

import java.text.SimpleDateFormat;

import java.util.*;

@Service

public class WXMineService {

@Autowired

? ? ProductMapperproductMapper;

@Autowired

? ? UserMapperuserMapper;

@Autowired

? ? CollectionMappercollectionMapper;

@Autowired

? ? ProvincesMapperprovincesMapper;

@Autowired

? ? CitiesMappercitiesMapper;

@Autowired

? ? SchoolMapperschoolMapper;

@Autowired

? ? PaymentRulesMapperpaymentRulesMapper;

@Autowired

? ? RegisterMapperregisterMapper;

@Autowired

? ? NoticeLogMappernoticeLogMapper;

@Autowired

? ? NoticeMappernoticeMapper;

@Autowired

? ? RegisterSchoolMapperregisterSchoolMapper;

@Autowired

? ? AdconfigMapperadconfigMapper;

//我的信息

? ? public Map getMine(Integer userID) {

? ? ? ? return null;

}

//兩個日期比較相等

? ? public boolean sameDate(Date d1, Date d2) {

SimpleDateFormat fmt =new SimpleDateFormat("yyyyMMdd");

//fmt.setTimeZone(new TimeZone()); // 如果需要設(shè)置時間區(qū)域彻况,可以在這里設(shè)置

? ? ? ? return fmt.format(d1).equals(fmt.format(d2));

}

//獲取收藏

? ? public Map getCollectionList(Integer userID, Integer pageNum, Integer pageSize) {

if (userID !=null && pageNum !=null && pageSize !=null) {

RowBounds rowBounds =new RowBounds(pageNum, pageSize);

Map dataMap =new HashMap<>();

CollectionCriteria cc =new CollectionCriteria();

cc.createCriteria().andUserIdEqualTo(userID);

cc.setOrderByClause("id DESC ");

List collectList =collectionMapper.selectByExampleWithRowbounds(cc, rowBounds);

List prod =new ArrayList<>();

for (Collection coll : collectList) {

Product product =productMapper.selectByPrimaryKey(coll.getProductId());

if(product.getDeleteFlag() ==true){

continue;

}

Map map =new HashMap<>();

map.put("productID", product.getId());

String[] images= product.getProductBanner().split(",");

if(images.length>0){

map.put("image",Constants.PRODUCT_URL +images[0]);

}

map.put("title", product.getProductTitle());

map.put("currentPrice", product.getProductPrice());

if (product.getProductState() ==0){

map.put("proState","已下架");

}

prod.add(map);

}

dataMap.put("products", prod);

return ServiceUtil.generateResponseMap(dataMap, Constants.STATE_SUCCESS);

}else {

return ServiceUtil.generateResponseMap(null, Constants.STATE_FAILED);

}

}

//添加和刪除收藏

? ? public Map addCollection(Integer userID, Integer productID) {

CollectionCriteria collectionCriteria =new CollectionCriteria();

collectionCriteria.createCriteria().andUserIdEqualTo(userID).andProductIdEqualTo(productID);

if (collectionMapper.countByExample(collectionCriteria) >0) {

collectionMapper.deleteByExample(collectionCriteria);

return ServiceUtil.generateResponseMap(null, Constants.STATE_SUCCESS);

}else {

Collection collection =new Collection();

collection.setUserId(userID);

collection.setProductId(productID);

Date date =new Date();

collection.setCollectTime(date);

int i =collectionMapper.insertSelective(collection);

return ServiceUtil.generateResponseMap(null, i >0 ? Constants.STATE_SUCCESS : Constants.STATE_FAILED);

}

}

//獲取省

? ? public Map getProvinces() {

List provincesList =provincesMapper.selectByExample(new ProvincesCriteria());

Map map =new HashMap<>();

map.put("provincesList", provincesList);

return ServiceUtil.generateResponseMap(map, Constants.STATE_SUCCESS);

}

//獲取城市

? ? public Map getCity(String provinceId) {

CitiesCriteria citiesCriteria =new CitiesCriteria();

citiesCriteria.createCriteria().andProvinceidEqualTo(provinceId);

List citiesList =citiesMapper.selectByExample(citiesCriteria);

Map map =new HashMap<>();

map.put("citiesList", citiesList);

return ServiceUtil.generateResponseMap(map, Constants.STATE_SUCCESS);

}

//獲取學校

? ? public Map getSchool(String citiesId) {

SchoolCriteria schoolCriteria =new SchoolCriteria();

schoolCriteria.createCriteria().andCityIdEqualTo(citiesId);

List schoolList =schoolMapper.selectByExample(schoolCriteria);

Map map =new HashMap<>();

map.put("schoolList", schoolList);

return ServiceUtil.generateResponseMap(map, Constants.STATE_SUCCESS);

}

//獲取繳費規(guī)則

? ? public Map getPaymentRules() {

PaymentRulesCriteria paymentRulesCriteria =new PaymentRulesCriteria();

paymentRulesCriteria.createCriteria().andStateEqualTo(0);

List paymentRules =paymentRulesMapper.selectByExample(paymentRulesCriteria);

Map map =new HashMap<>();

map.put("paymentRules", paymentRules);

return ServiceUtil.generateResponseMap(map, Constants.STATE_SUCCESS);

}

//注冊

? ? public Map insertRegister(Integer paymentRulesId, String provincesId, String citiesId, Integer schoolId, Integer userId, String phone,String code, MultipartFile[] files)throws IOException {

RegisterCriteria registerCriteria =new RegisterCriteria();

registerCriteria.createCriteria().andUserIdEqualTo(userId);

List registerList =registerMapper.selectByExample(registerCriteria);

if (registerList.size() >0) {

if (code.equals(registerList.get(0).getEmailCode())){

if (registerList.get(0).getValidTime().getTime() >= (new Date()).getTime()) {

String Url = UploadUtil.getUrlFromFiles(files, Constants.SHOP_WA_QR_PATH);

Register register =new Register();

register.setProvinceId(provincesId);

register.setPaymentRulesId(paymentRulesId);

register.setImgUrl(Url);

register.setCityId(citiesId);

register.setSchoolId(schoolId);

register.setPhone(phone);

register.setShopTime(new Date());

register.setRegisterState(Constants.REGISTER_STATE_WAITING);

int i =registerMapper.updateByExampleSelective(register, registerCriteria);

Map map =new HashMap<>();

map.put("registerState", Constants.REGISTER_STATE_WAITING);

return ServiceUtil.generateResponseMap(map, i >0 ? Constants.STATE_SUCCESS : Constants.STATE_FAILED);

}else {

return ServiceUtil.generateResponseMap(null, Constants.STATE_FAILED,"驗證碼超時");

}

}else {

return ServiceUtil.generateResponseMap(null, Constants.STATE_FAILED,"驗證碼錯誤!");

}

}

return ServiceUtil.generateResponseMap(null, Constants.STATE_FAILED,"驗證碼錯誤!");

}

//查詢注冊

? ? public Map selectRegister(Integer userId){

if (userId !=null) {

Map map =new HashMap<>();

RegisterCriteria registerCriteria =new RegisterCriteria();

registerCriteria.createCriteria().andUserIdEqualTo(userId);

List registerList =registerMapper.selectByExample(registerCriteria);

if (registerList.size()>0){

Register register = registerList.get(0);

String str[] =new String[1];

str[0] = Constants.SHOP_WA_QR_URL + register.getImgUrl();

map.put("register",register);

map.put("img",str);

List provincesList =provincesMapper.selectByExample(new ProvincesCriteria());

map.put("provincesList", provincesList);

Map citiesList = (Map) getCity(register.getProvinceId()).get("data");

Map schoolList = (Map) getSchool(register.getCityId()).get("data");

map.put("citiesList", citiesList.get("citiesList"));

map.put("schoolList", schoolList.get("schoolList"));

}

return ServiceUtil.generateResponseMap(map, Constants.STATE_SUCCESS);

}

return ServiceUtil.generateResponseMap(null, Constants.STATE_FAILED);

}

//修改注冊

? ? public Map updRegister(Integer Id, String provincesId, String citiesId, Integer schoolId, Integer userId, String phone,String email, MultipartFile[] files)throws IOException {

if (Id !=null) {

String Url = UploadUtil.getUrlFromFiles(files, Constants.SHOP_WA_QR_PATH);

Register register =new Register();

register.setId(Id);

register.setProvinceId(provincesId);

register.setEmail(email);

register.setImgUrl(Url);

register.setCityId(citiesId);

register.setSchoolId(schoolId);

register.setPhone(phone);

int i =registerMapper.updateByPrimaryKeySelective(register);

return ServiceUtil.generateResponseMap(null, i >0 ? Constants.STATE_SUCCESS : Constants.STATE_FAILED);

}

return ServiceUtil.generateResponseMap(null, Constants.STATE_FAILED);

}

//獲取用戶權(quán)限

? ? public Map getRule(Integer userId) {

RegisterCriteria registerCriteria =new RegisterCriteria();

System.out.println(userId);

registerCriteria.createCriteria().andUserIdEqualTo(userId);

List registerList =registerMapper.selectByExample(registerCriteria);

int state = Constants.REGISTER_STATE_NO;

System.out.println(registerList);

System.out.println(registerList.get(0).getRegisterState());

if (registerList.size() >0) {

if (registerList.get(0).getRegisterState() == Constants.REGISTER_STATE_WAITING) {

state = Constants.REGISTER_STATE_WAITING;

}else if (registerList.get(0).getRegisterState() == Constants.REGISTER_STATE_SUCCESS) {

state = Constants.REGISTER_STATE_SUCCESS;

}else {

state = Constants.REGISTER_STATE_REFUND;

}

}

Map map =new HashMap<>();

map.put("registerState", state);

return ServiceUtil.generateResponseMap(map, Constants.STATE_SUCCESS);

}

public Map getCode(String email, Integer userID) {

if (email !=null) {

boolean flag =false;

RegisterCriteria registerCriteria =new RegisterCriteria();

registerCriteria.createCriteria().andEmailEqualTo(email);

List registerList =registerMapper.selectByExample(registerCriteria);

if (registerList.size() >1) {

return ServiceUtil.generateResponseMap(null, Constants.STATE_FAILED,"郵箱已經(jīng)被占用陈醒!");

}else if (registerList.size() ==1) {

Register register = registerList.get(0);

if (register.getUserId() == userID) {

flag =true;

}else {

return ServiceUtil.generateResponseMap(null, Constants.STATE_FAILED,"郵箱已經(jīng)被占用!");

}

}

MailOperation operation =new MailOperation();

String from ="13470091370@163.com";

String to = email;// 收件人

? ? ? ? ? ? String subject ="卓豐科技";

//郵箱內(nèi)容

? ? ? ? ? ? StringBuffer sb =new StringBuffer();

Integer yzm = (int)(Math.random()*(9999-1000+1))+1000;//產(chǎn)生1000-9999的隨機數(shù);

? ? ? ? ? ? sb.append("<!DOCTYPE>"+"<div bgcolor='#f1fcfa'? style='border:1px solid #d9f4ee; font-size:14px; line-height:22px; color:#005aa0;padding-left:1px;padding-top:5px;? padding-bottom:5px;'><span style='font-weight:bold;'>溫馨提示:"

? ? ? ? ? ? ? ? ? ? +"<div style='width:950px;font-family:arial;'>歡迎使用本系統(tǒng)瞧甩,您的驗證碼為:<br/><h2 style='color:green'>"+yzm+"</h2><br/>本郵件由系統(tǒng)自動發(fā)出钉跷,請勿回復。<br/>感謝您的使用肚逸。<br/>卓豐科技"

? ? ? ? ? ? ? ? ? ? +"</div>");

try {

String res = operation.sendMail(from, to,

subject, sb.toString());

int i =0;

if ("success".equals(res)) {

RegisterCriteria registerCriteria1 =new RegisterCriteria();

registerCriteria1.createCriteria().andUserIdEqualTo(userID).andEmailEqualTo(email);

Register register =new Register();

register.setEmail(email);

register.setUserId(userID);

register.setEmailCode(yzm.toString());

Calendar calendar = Calendar.getInstance();

calendar.add(Calendar.MINUTE,5);

register.setValidTime(calendar.getTime());

if (flag) {

i =registerMapper.updateByExampleSelective(register, registerCriteria1);

}else {

i =registerMapper.insertSelective(register);

}

Map map =new HashMap<>();

map.put("code",yzm);

return i >0 ? ServiceUtil.generateResponseMap(map, Constants.STATE_SUCCESS) : ServiceUtil.generateResponseMap(null, Constants.STATE_FAILED);

}else if ("failure".equals(res)) {

return ServiceUtil.generateResponseMap(null, Constants.STATE_FAILED);

}

}catch (Exception e) {

e.printStackTrace();

return ServiceUtil.generateResponseMap(null, Constants.STATE_FAILED);

}

}

return ServiceUtil.generateResponseMap(null, Constants.STATE_FAILED,"郵箱不能為空爷辙!");

}

public Map getNotice(Integer userID,Integer offset,Integer limit){

User user =userMapper.selectByPrimaryKey(userID);

RowBounds rowBounds =new RowBounds(offset,limit);

Map maps =new HashMap<>();

List listNotice =new ArrayList<>();

Map params =new HashMap<>();

//userID == "普通用戶"

? ? ? ? if (user.getAccessLevel() ==0){

//? ? ? ? ? 查出所有等于0(并且狀態(tài)是已發(fā)送的)的和 指定發(fā)的

? ? ? ? ? ? params.put("userID",userID);

System.out.println(user.getAccessLevel());

params.put("access",user.getAccessLevel());

listNotice=noticeMapper.selectByAccess(params,rowBounds);

}else if(user.getAccessLevel() ==1) {//userID == "商家"

//? ? ? ? ? ? 查出所有等于0(并且狀態(tài)是已發(fā)送的)和 等于1的 和指定發(fā)的

? ? ? ? ? ? params.put("userID",userID);

params.put("access",user.getAccessLevel());

listNotice=noticeMapper.selectByAccess(params,rowBounds);

}

maps.put("dataMap", listNotice);

return ServiceUtil.generateResponseMap(maps, Constants.STATE_SUCCESS);

}

public Map registerShool(String provinceID,String cityID,String schoolName){

RegisterSchoolCriteria registerSchoolCriteria =new RegisterSchoolCriteria();

registerSchoolCriteria.createCriteria().andCityIdEqualTo(cityID).andSchoolNameEqualTo(schoolName);

List registerSchools =registerSchoolMapper.selectByExample(registerSchoolCriteria);

if (registerSchools.size()>0){

return ServiceUtil.generateResponseMap(null, Constants.STATE_FAILED,"該學校申請已存在,正在審核中");

}

SchoolCriteria schoolCriteria=new SchoolCriteria();

schoolCriteria.createCriteria().andCityIdEqualTo(cityID).andSchoolNameEqualTo(schoolName);

List schoolList=schoolMapper.selectByExample(schoolCriteria);

if (schoolList.size()>0){

return? ServiceUtil.generateResponseMap(null,Constants.STATE_FAILED,"該學校已經(jīng)存在");

}

RegisterSchool registerSchool =new RegisterSchool();

registerSchool.setProvinceId(provinceID);

registerSchool.setCityId(cityID);

registerSchool.setSchoolName(schoolName);

int i =registerSchoolMapper.insertSelective(registerSchool);

return ServiceUtil.generateResponseMap(null, i>0 ? Constants.STATE_SUCCESS:Constants.STATE_FAILED);

}

public Map getInstructions(){

List list =adconfigMapper.selectTotal();

Map map =new HashMap<>();

map.put("dataMap",list);

return ServiceUtil.generateResponseMap(map,Constants.STATE_SUCCESS);

}

}

WXMineController.java

package com.drefore.secondhand.wechat.controller;

import com.alibaba.fastjson.JSONObject;

import com.drefore.secondhand.wechat.service.WXMineService;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestBody;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestParam;

import org.springframework.web.bind.annotation.ResponseBody;

import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;

import java.io.IOException;

import java.text.ParseException;

import java.util.Map;

@Controller

@RequestMapping("/wechat/user")

public class WXMineController {

@Autowired

? ? private WXMineServicewxMineService;

//我的

? ? @ResponseBody

? ? @RequestMapping("/getMine")

public Map getMine(@RequestBody String parameters){

JSONObject jsonObject = JSONObject.parseObject(parameters);

Integer userID = jsonObject.getInteger("userID");

return wxMineService.getMine(userID);

}

//獲取我的收藏

? ? @ResponseBody

? ? @RequestMapping("/getCollectionList")

public Map getCollectionList(@RequestBody String parameters){

JSONObject jsonObject = JSONObject.parseObject(parameters);

Integer userID = jsonObject.getInteger("userID");

Integer offset = jsonObject.getInteger("offset");

Integer limit = jsonObject.getInteger("limit");

return wxMineService.getCollectionList(userID,offset,limit);

}

//添加收藏

? ? @ResponseBody

? ? @RequestMapping("/addCollection")

public Map addCollection(@RequestBody String parameters){

JSONObject jsonObject = JSONObject.parseObject(parameters);

Integer userID = jsonObject.getInteger("userID");

Integer productID =jsonObject.getInteger("productID");

return wxMineService.addCollection(userID,productID);

}

//獲取省

? ? @ResponseBody

? ? @RequestMapping("/getProvinces")

public Map getProvinces(){

return wxMineService.getProvinces();

}

//獲取城市

? ? @ResponseBody

? ? @RequestMapping("/getCity")

public Map getCity(@RequestBody String parameters){

JSONObject jsonObject = JSONObject.parseObject(parameters);

String provinceId = jsonObject.getString("provinceId");

return wxMineService.getCity(provinceId);

}

//獲取學校

? ? @ResponseBody

? ? @RequestMapping("/getSchool")

public Map getSchool(@RequestBody String parameters){

JSONObject jsonObject = JSONObject.parseObject(parameters);

String citiesId = jsonObject.getString("citiesId");

return wxMineService.getSchool(citiesId);

}

//獲取繳費規(guī)則

? ? @ResponseBody

? ? @RequestMapping("/getPaymentRules")

public Map getPaymentRules(){

return wxMineService.getPaymentRules();

}

//注冊

? ? @ResponseBody

? ? @RequestMapping("/insertRegister")

public Map insertRegister(HttpServletRequest request,@RequestParam(value ="file") MultipartFile[] file)throws IOException {

JSONObject jsonObject = JSONObject.parseObject(request.getParameter("parameters"));

Integer paymentRulesId = jsonObject.getInteger("paymentRulesId");

String provincesId = jsonObject.getString("provincesId");

String citiesId = jsonObject.getString("citiesId");

Integer schoolId = jsonObject.getInteger("schoolId");

Integer userId = jsonObject.getInteger("userId");

String phone = jsonObject.getString("phone");

String code = jsonObject.getString("code");

return wxMineService.insertRegister(paymentRulesId,provincesId,citiesId,schoolId,userId,phone,code,file);

}

//查詢注冊

? ? @ResponseBody

? ? @RequestMapping("/selectRegister")

public Map selectRegister(@RequestBody String parameters){

JSONObject jsonObject = JSONObject.parseObject(parameters);

Integer userId = jsonObject.getInteger("userId");

System.out.println(userId);

return wxMineService.selectRegister(userId);

}

//修改注冊

? ? @ResponseBody

? ? @RequestMapping("/updRegister")

public Map updRegister(HttpServletRequest request,@RequestParam(value ="file") MultipartFile[] file)throws IOException {

JSONObject jsonObject = JSONObject.parseObject(request.getParameter("parameters"));

Integer Id = jsonObject.getInteger("Id");

String provincesId = jsonObject.getString("provincesId");

String citiesId = jsonObject.getString("citiesId");

Integer schoolId = jsonObject.getInteger("schoolId");

Integer userId = jsonObject.getInteger("userId");

String phone = jsonObject.getString("phone");

String email = jsonObject.getString("email");

return wxMineService.updRegister(Id,provincesId,citiesId,schoolId,userId,phone,email,file);

}

//獲取用戶權(quán)限

? ? @ResponseBody

? ? @RequestMapping("/getRule")

public Map getRule(@RequestBody String parameters){

JSONObject jsonObject = JSONObject.parseObject(parameters);

Integer userId = jsonObject.getInteger("userId");

return wxMineService.getRule(userId);

}

//獲取驗證碼

? ? @ResponseBody

? ? @RequestMapping("/getCode")

public Map getCode (@RequestBody String parameters) {

JSONObject jsonObject = JSONObject.parseObject(parameters);

String email = jsonObject.getString("email");

Integer userID = jsonObject.getInteger("userID");

return wxMineService.getCode(email,userID);

}

//獲取通知

? ? @ResponseBody

? ? @RequestMapping("/getNotice")

public Map getNotice (@RequestBody String parameters){

JSONObject jsonObject = JSONObject.parseObject(parameters);

Integer userID = jsonObject.getInteger("userID");

Integer offset = jsonObject.getInteger("offset");

Integer limit = jsonObject.getInteger("limit");

return wxMineService.getNotice(userID,offset,limit);

}

//學校申請

? ? @ResponseBody

? ? @RequestMapping("/registerShool")

public Map registerShool (@RequestBody String parameters){

JSONObject jsonObject = JSONObject.parseObject(parameters);

String provinceID = jsonObject.getString("provinceID");

String cityID = jsonObject.getString("cityID");

String schoolName = jsonObject.getString("schoolName");

return wxMineService.registerShool(provinceID,cityID,schoolName);

}

@ResponseBody

? ? @RequestMapping("/getInstructions")

public Map getInstructions(){

return wxMineService.getInstructions();

}

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末朦促,一起剝皮案震驚了整個濱河市膝晾,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌务冕,老刑警劉巖血当,帶你破解...
    沈念sama閱讀 222,000評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異禀忆,居然都是意外死亡臊旭,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評論 3 399
  • 文/潘曉璐 我一進店門箩退,熙熙樓的掌柜王于貴愁眉苦臉地迎上來离熏,“玉大人,你說我怎么就攤上這事戴涝∽檀粒” “怎么了钻蔑?”我有些...
    開封第一講書人閱讀 168,561評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長胧瓜。 經(jīng)常有香客問我矢棚,道長,這世上最難降的妖魔是什么府喳? 我笑而不...
    開封第一講書人閱讀 59,782評論 1 298
  • 正文 為了忘掉前任蒲肋,我火速辦了婚禮,結(jié)果婚禮上钝满,老公的妹妹穿的比我還像新娘兜粘。我一直安慰自己,他們只是感情好弯蚜,可當我...
    茶點故事閱讀 68,798評論 6 397
  • 文/花漫 我一把揭開白布孔轴。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上炊邦,一...
    開封第一講書人閱讀 52,394評論 1 310
  • 那天忱反,我揣著相機與錄音槐沼,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的雁竞。 我是一名探鬼主播,決...
    沈念sama閱讀 40,952評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼拧额,長吁一口氣:“原來是場噩夢啊……” “哼碑诉!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起侥锦,我...
    開封第一講書人閱讀 39,852評論 0 276
  • 序言:老撾萬榮一對情侶失蹤进栽,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后恭垦,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體泪幌,經(jīng)...
    沈念sama閱讀 46,409評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,483評論 3 341
  • 正文 我和宋清朗相戀三年署照,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片吗浩。...
    茶點故事閱讀 40,615評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡建芙,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出懂扼,到底是詐尸還是另有隱情禁荸,我是刑警寧澤右蒲,帶...
    沈念sama閱讀 36,303評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站赶熟,受9級特大地震影響瑰妄,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜映砖,卻給世界環(huán)境...
    茶點故事閱讀 41,979評論 3 334
  • 文/蒙蒙 一间坐、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧邑退,春花似錦竹宋、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至莫矗,卻和暖如春飒硅,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背作谚。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評論 1 272
  • 我被黑心中介騙來泰國打工三娩, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人食磕。 一個月前我還...
    沈念sama閱讀 49,041評論 3 377
  • 正文 我出身青樓尽棕,卻偏偏與公主長得像,于是被迫代替她去往敵國和親彬伦。 傳聞我的和親對象是個殘疾皇子滔悉,可洞房花燭夜當晚...
    茶點故事閱讀 45,630評論 2 359

推薦閱讀更多精彩內(nèi)容