diff --git a/src/main/java/com/tianpengtech/common/MyConfig.java b/src/main/java/com/tianpengtech/common/MyConfig.java index 22e46edea93ffccc33836006082a5ca2428ac720..46ee979ddedba6ddc1ce05ba82b30d9193bd7d98 100644 --- a/src/main/java/com/tianpengtech/common/MyConfig.java +++ b/src/main/java/com/tianpengtech/common/MyConfig.java @@ -24,6 +24,7 @@ import com.tianpengtech.common.model.fairauth.FairAuth; import com.tianpengtech.common.model.fairbankno.FairBankno; import com.tianpengtech.common.model.fairext.FairExt; import com.tianpengtech.common.model.fairmessage.FairMessage; +import com.tianpengtech.common.model.fairphoto.FairPhoto; import com.tianpengtech.common.model.fairreport.FairReport; import com.tianpengtech.common.model.fairwithdraw.FairWithdraw; import com.tianpengtech.common.model.feedback.FeedBack; @@ -152,6 +153,7 @@ public class MyConfig extends JFinalConfig { arp.addMapping(FairWithdraw.dao.tableName(),FairWithdraw.class); arp.addMapping(FairReport.dao.tableName(),FairReport.class); arp.addMapping(FairAdvertisement.dao.tableName(),FairAdvertisement.class); + arp.addMapping(FairPhoto.dao.tableName(),FairPhoto.class); EhCachePlugin cachePlugin = new EhCachePlugin(); me.add(cachePlugin); } @@ -172,7 +174,7 @@ public class MyConfig extends JFinalConfig { } public static void main(String[] args) { - JFinal.start("src/main/webapp", 8090, "/",5); + JFinal.start("src/main/webapp", 8090, "/"); } @Override diff --git a/src/main/java/com/tianpengtech/common/generator/app/Generator.java b/src/main/java/com/tianpengtech/common/generator/app/Generator.java index d3a0f79a3bb9436c396383c840b37691631e25f2..8d49ad8a9ee49576db44f585d377573263655c20 100644 --- a/src/main/java/com/tianpengtech/common/generator/app/Generator.java +++ b/src/main/java/com/tianpengtech/common/generator/app/Generator.java @@ -232,7 +232,7 @@ public class Generator { Engine engine = engineConfig(); // Generator.excute(engine,".user", "User", "fair_user", "用户表"); // Generator.excute(engine,".authenticate", "Authenticate", "fair_user_authenticate", "用户认证表"); - Generator.excute(engine,".fairadvertisement", "FairAdvertisement", "fair_advertisement", "广告信息表"); + Generator.excute(engine,".fair", "FairPhoto", "fair_photo", "网红照片表"); // Generator.excute(engine,".wh", "Fair", "fair_wh", "网红表"); // Generator.excute(engine,".feedback", "FeedBack", "fair_feedback", "反馈表"); diff --git a/src/main/java/com/tianpengtech/common/model/fairphoto/FairPhoto.java b/src/main/java/com/tianpengtech/common/model/fairphoto/FairPhoto.java new file mode 100644 index 0000000000000000000000000000000000000000..9a53721505312afd5e7a504d28bff5198a4291f9 --- /dev/null +++ b/src/main/java/com/tianpengtech/common/model/fairphoto/FairPhoto.java @@ -0,0 +1,30 @@ +package com.tianpengtech.common.model.fairphoto; +import com.tianpengtech.common.model.AbstractBaseModel; +/** + *实体类名-网红照片表 + * fair_photo + * + * @since Thu Sep 07 21:03:22 CST 2017 + */ +public class FairPhoto extends AbstractBaseModel< FairPhoto > { + + /** + * + */ + private static final long serialVersionUID = 1L; + public static final FairPhoto dao = new FairPhoto(); + + + public static final String ID ="id"; // + public static final String URL ="url"; //图片链接 + public static final String WH_ID ="wh_id"; //网红ID + public static final String DELETETAG ="deletetag"; //删除标识 + public static final String CREATE_TIME ="create_time"; // + + + @Override + public String tableName() { + return "fair_photo"; + } + +} \ No newline at end of file diff --git a/src/main/java/com/tianpengtech/front/mobile/passport/MobilePassportController.java b/src/main/java/com/tianpengtech/front/mobile/passport/MobilePassportController.java index d5d05b6649df22bccf45809503cf1a628a116b8c..756c5df25f1ccacd3fb2d61a57836ccfce5c40d7 100644 --- a/src/main/java/com/tianpengtech/front/mobile/passport/MobilePassportController.java +++ b/src/main/java/com/tianpengtech/front/mobile/passport/MobilePassportController.java @@ -218,6 +218,40 @@ public class MobilePassportController extends BaseController{ R r=ps.withdraw(money,46,wdToken,bankId); renderJson(r); } + + /** + * 保存网红照片 + */ + public void savePhoto(){ + String url = getPara("url"); + User user= UserUtil.getCurrentUser(getPara("token"),getHeader("source")); + long uid = user.get(User.ID); + R r=ps.savePhoto(uid,url); + renderJson(r); + } + + /** + * 获取网红照片 + */ + public void getPhoto(){ + User user= UserUtil.getCurrentUser(getPara("token"),getHeader("source")); + long uid = user.get(User.ID); + R r=ps.getPhoto(uid); + renderJson(r); + } + + /** + * 删除照片 + */ + public void delPhoto(){ + User user= UserUtil.getCurrentUser(getPara("token"),getHeader("source")); + long uid = user.get(User.ID); + String id = getPara("id"); + R r=ps.delPhoto(uid,id); + renderJson(r); + } + + public void yandou(){ R r = R.ok("成功"); @@ -245,4 +279,7 @@ public class MobilePassportController extends BaseController{ throw e; } } + + + } diff --git a/src/main/java/com/tianpengtech/front/mobile/passport/MobilePassportService.java b/src/main/java/com/tianpengtech/front/mobile/passport/MobilePassportService.java index a4d428fd3afa57d6e0d8723fb4e860018d57b1ce..d6552efd81dce9325412311725f95935b673e33a 100644 --- a/src/main/java/com/tianpengtech/front/mobile/passport/MobilePassportService.java +++ b/src/main/java/com/tianpengtech/front/mobile/passport/MobilePassportService.java @@ -10,6 +10,7 @@ import com.jfinal.plugin.ehcache.CacheKit; import com.tianpengtech.common.model.fair.Fair; import com.tianpengtech.common.model.fairauth.FairAuth; import com.tianpengtech.common.model.fairext.FairExt; +import com.tianpengtech.common.model.fairphoto.FairPhoto; import com.tianpengtech.common.model.fairwithdraw.FairWithdraw; import com.tianpengtech.common.model.moneylog.MoneyLog; import com.tianpengtech.common.model.task.Task; @@ -528,7 +529,59 @@ public class MobilePassportService { } } - + + + /** + * 保存网红图片 + * @return + */ + public R savePhoto(long uid,String picUrl){ + FairPhoto fp = new FairPhoto(); + fp.set(FairPhoto.URL,picUrl); + fp.set(FairPhoto.WH_ID,uid); + if(fp.save()){ + return R.ok(); + }else{ + return R.fail("保存失败"); + } + } + + + /** + * 获取网红所有照片 + * @param uid + * @return + */ + public R getPhoto(long uid){ + String sql=String.format("select %s,%s from %s where %s=? and %s=? ",FairPhoto.URL,FairPhoto.ID,FairPhoto.dao.tableName(),FairPhoto.DELETETAG,FairPhoto.WH_ID); + List<FairPhoto> list=FairPhoto.dao.find(sql,0,uid); + R r = R.ok("成功"); + r.p("photos",list); + return r; + } + + /** + * 删除照片 + * @param id + * @return + */ + public R delPhoto(long uid,String id){ + String sql=String.format("select * from %s where %s=? and %s=? and %s=?",FairPhoto.dao.tableName(),FairPhoto.DELETETAG,FairPhoto.ID,FairPhoto.WH_ID); + FairPhoto fp=FairPhoto.dao.findFirst(sql,0,id,uid); + if (fp==null){ + return R.fail("照片不存在"); + }else{ + fp.set(FairPhoto.DELETETAG,1); + if(fp.update()){ + return R.ok(); + }else{ + return R.fail("删除失败"); + } + } + } + + + public static void main(String[] args) { diff --git a/src/main/java/com/tianpengtech/front/web/fair/FairWebController.java b/src/main/java/com/tianpengtech/front/web/fair/FairWebController.java index 5ed2905fe5c0f98ee7abb03035cfd9e7df6381d3..c986064b13477386b8115ba0f9abc479ccbb4bd1 100644 --- a/src/main/java/com/tianpengtech/front/web/fair/FairWebController.java +++ b/src/main/java/com/tianpengtech/front/web/fair/FairWebController.java @@ -93,16 +93,14 @@ public class FairWebController extends BaseController { */ public void detail_task(){ String id=getPara("id"); - int start = getParaToInt(GlobalConfigConstant.PARAM_NAME_START, - 5); - int length = getParaToInt(GlobalConfigConstant.PARAM_NAME_LENGTH, + int pageNum = getParaToInt(GlobalConfigConstant.PARAM_NAME_PAGENUM, GlobalConfigConstant.DEFAULT_VALUE_PAGENUM); + int pageSize = getParaToInt(GlobalConfigConstant.PARAM_NAME_PAGESIZE, GlobalConfigConstant.DEFAULT_VALUE_PAGESIZE); - int pageNum = XxxUtil.calculatePageNumForDataTable(start, length); if (StrKit.isBlank(id)) { renderJson(Ret.fail("msg", "网红不存在")); return; } - setAttr("taskPage",taskService.findTaskByFair(pageNum,length,Integer.parseInt(id))); + setAttr("taskPage",taskService.findTaskByFair(pageNum,pageSize,Integer.parseInt(id))); renderJson(); } } diff --git a/src/main/java/com/tianpengtech/front/web/task/TaskService.java b/src/main/java/com/tianpengtech/front/web/task/TaskService.java index 7b1a408dbbc3232e17c7b42eda73d4939273abb2..01eeda1ae2845a5fbda3b9c05e2f362e7169b556 100644 --- a/src/main/java/com/tianpengtech/front/web/task/TaskService.java +++ b/src/main/java/com/tianpengtech/front/web/task/TaskService.java @@ -16,6 +16,7 @@ import com.tianpengtech.common.ip.IpUtil; import com.tianpengtech.common.model.authenticate.Authenticate; import com.tianpengtech.common.model.dictionary.Dictionary; import com.tianpengtech.common.model.fair.Fair; +import com.tianpengtech.common.model.fairauth.FairAuth; import com.tianpengtech.common.model.moneylog.MoneyLog; import com.tianpengtech.common.model.task.*; import com.tianpengtech.common.model.user.User; @@ -347,13 +348,22 @@ public class TaskService { * @return */ public Page<Task> findTaskByFair(int pageNum, int length, int fairId){ - String sql="select * "; + String sql="select *,(select auth.company_name from "+ Authenticate.dao.tableName()+" auth where auth."+Authenticate.USER_ID+"=task."+Task.CREATE_USER+") as cmp,(select fa.nick_name from "+FairAuth.dao.tableName()+" fa where fa."+FairAuth.ID+"=tw."+TaskWh.WH_ID+") whn " + + " "; QueryConstructor queryConstructor = new QueryConstructor(); queryConstructor.setCommand("from "+TaskWh.dao.tableName() +" tw left join " + taskDao.tableName() +" task on tw."+TaskWh.TASK_ID+"=task."+Task.ID); queryConstructor.and(new EqualCondition("tw." + TaskWh.DELETETAG, TaskWh.DELETE_STATUS_NO)); queryConstructor.and(new EqualCondition("tw." + TaskWh.WH_ID,fairId)); - String from = queryConstructor.buildSQL("order by tw.id desc"); - return taskDao.paginateByCache(Task.TASK_CACHE_NAME,"fair_task_"+fairId+"_"+pageNum+"_"+length,pageNum,length,sql,from,queryConstructor.getParams().toArray()); + String from = queryConstructor.buildSQL(" order by tw.id desc"); + Page<Task> taskPage= taskDao.paginateByCache(Task.TASK_CACHE_NAME,"fair_task_"+fairId+"_"+pageNum+"_"+length,pageNum,length,sql,from,queryConstructor.getParams().toArray()); + List<Task> tasks=taskPage.getList(); + for (Task t:tasks) { + t.put("statusString",t.status()); + t.put("click",t.getClick()); + t.put("cvs",t.getCvs()); + t.put("dateString",t.getDateString()); + } + return taskPage; } /** diff --git a/src/main/resources/a_little_config.txt b/src/main/resources/a_little_config.txt index 08ae1df0de9d6a711276d26d283450c4cc4ab9b6..591775ff27c885fb464f667311457df9cd15287e 100644 --- a/src/main/resources/a_little_config.txt +++ b/src/main/resources/a_little_config.txt @@ -9,7 +9,7 @@ password =ad--Test devMode = true ##这个路径请定位到项目中的view文件夹所在的文件夹的路径(WEB-INF/view) -codeBaseTemplatePath=/Users/tianpengtech/git/fair/src/main/webapp/WEB-INF/view +codeBaseTemplatePath=E:/project/fair/src/main/webapp/WEB-INF/view ##设置输出的文件夹,这里放置在项目中的/WEB-INF/view/admin/ pageOutPutBasePath=/Users/tianpengtech/git/fair/src/main/webapp/WEB-INF/view/admin diff --git a/src/main/webapp/WEB-INF/view/web/fair/fair_detail.html b/src/main/webapp/WEB-INF/view/web/fair/fair_detail.html index 345bec3be2716ad297f86123bb607cb69f9e4bf2..621b740a4862ead74bd1dc86331b5e2685918f44 100644 --- a/src/main/webapp/WEB-INF/view/web/fair/fair_detail.html +++ b/src/main/webapp/WEB-INF/view/web/fair/fair_detail.html @@ -1,11 +1,14 @@ #@web_layout?() #define css() +<link rel="stylesheet" type="text/css" href="#(contextPath)/assets/front/web/css/layer.css?#(getUUID())" /> <link rel="stylesheet" type="text/css" href="#(contextPath)/assets/front/web/css/main.css?#(getUUID())" /> +<link rel="stylesheet" type="text/css" href="#(contextPath)/assets/front/web/css/laypage.css?#(getUUID())" /> #end #define content() <div class="c-article"> <div class="g-fair-base-info"> <div class="u-title">个人信息</div> + <input type="hidden" id="fair_id" value="#(fair.id)"> <div class="m-box-row"> <div class="m-card"> #if(fair.personal_photo??) @@ -85,49 +88,10 @@ </div> <div class="g-fair-task-info"> <div class="u-title">任务信息</div> - <ul class="m-list"> - - #for(x:[1,2,3]) - <li class="m-cell"> - <div class="m-content"> - <div class="u-content-value">2017-05-04</div> - <div class="u-content-value">xxxxxxxxxx活动</div> - <div class="u-content-value">点击量:xxxxx</div> - <div class="u-content-value">转化量:xxxx</div> - <div class="u-content-value">已完成</div> - <div class="u-content-value "> - <div class="u-content-btn" data-status="off" style="border-radius:3px;">评论(xxx)</div> - </div> - </div> - <ul class="m-more"> - <li class="m-more-cell"> - <div class="u-more-value"> - <div class="u-more-head"></div> - <div class="u-more-name">xxxxxxx</div> - </div> - <div class="u-more-value-mid">xxxxx2131d2ef13ef13ef1fewr2er213r13r4134r134r14exxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div> - <div class="u-more-value">2017-05-02</div> - </li> - <li class="m-more-cell"> - <div class="u-more-value"> - <div class="u-more-head"></div> - <div class="u-more-name">xxxxxxx</div> - </div> - <div class="u-more-value-mid">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div> - <div class="u-more-value">2017-05-02</div> - </li> - <li class="m-more-cell"> - <div class="u-more-value"> - <div class="u-more-head"></div> - <div class="u-more-name">xxxxxxx</div> - </div> - <div class="u-more-value-mid">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div> - <div class="u-more-value">2017-05-02</div> - </li> - </ul> - </li> - #end + <ul class="m-list" id="data" > + </ul> + <div class="m-choice-page" id="m_choice_page"></div> </div> </div> #end diff --git a/src/main/webapp/assets/front/web/script/platform_fair_detail.js b/src/main/webapp/assets/front/web/script/platform_fair_detail.js index fdeffb63a7f9db906bfc1cb08dd04d9a4e47f26a..ea7527cc95dd500fb0fffecbd53b606465fa11f3 100644 --- a/src/main/webapp/assets/front/web/script/platform_fair_detail.js +++ b/src/main/webapp/assets/front/web/script/platform_fair_detail.js @@ -1,13 +1,15 @@ /** * Created by Delicate on 2017/5/31. */ -require(["jquery"],()=>{ +let laypage; +require(["jquery", "common", "laypage"], (a, b, c) => { + laypage = c; init(); monitor(); service(); }) const init = ()=>{ - + load(1); } const monitor = ()=>{ $(".g-fair-task-info .u-content-btn").on("click",function(){ @@ -16,7 +18,7 @@ const monitor = ()=>{ $(".g-fair-task-info .m-cell-active").removeClass("m-cell-active"); $(this).parent().parent().parent().addClass("m-cell-active"); $(".u-content-btn").each(function (i,item){ - console.log(item); + // console.log(item); $(item).attr("data-status","off"); }); $(this).attr("data-status","open"); @@ -28,4 +30,86 @@ const monitor = ()=>{ } const service = ()=>{ +} + +const load = number => { + $.ajax({ + type:"post", + url:"/platform/fair/detail_task", + datatype:"json", + data:{ + pageNum: number, + pageSize: 4, + id: $("#fair_id").val() + }, + success:function(data){ + let _html = ""; + if(data.taskPage.list.length>0){ + for (var i=0;i<data.taskPage.list.length;i++){ + const item = data.taskPage.list[i]; + var h=""; + var count=0; + if (item.evaluate_issuer!=null || item.evaluate_whom !=null){ + h+='<ul class="m-more">'; + if (item.evaluate_issuer!=null){ + count++; + h+='<li class="m-more-cell">'+ + '<div class="u-more-value">'+ + '<div class="u-more-head"></div>'+ + '<div class="u-more-name">'+item.cmp+'</div>'+ + '</div>'+ + '<div class="u-more-value-mid">'+item.evaluate_issuer+'</div>'+ + '<div class="u-more-value">'+item.issuer_date+'</div>'+ + '</li>'; + } + if (item.evaluate_whom!=null){ + count++; + h+='<li class="m-more-cell">'+ + '<div class="u-more-value">'+ + '<div class="u-more-head"></div>'+ + '<div class="u-more-name">'+item.whn+'</div>'+ + '</div>'+ + '<div class="u-more-value-mid">'+item.evaluate_whom+'</div>'+ + '<div class="u-more-value">'+item.whom_date+'</div>'+ + '</li>'; + } + h+='</ul>'; + } + _html += '<li class="m-cell">'+ + '<div class="m-content">'+ + '<div class="u-content-value">'+item.dateString+'</div>'+ + '<div class="u-content-value">'+item.task_title+'</div>'+ + '<div class="u-content-value">点击量:'+item.click+'</div>'+ + '<div class="u-content-value">转化量:'+item.cvs+'</div>'+ + '<div class="u-content-value">'+item.statusString+'</div>'+ + '<div class="u-content-value ">'+ + '<div class="u-content-btn" data-status="off" style="border-radius:3px;">评论('+count+')</div>'+ + '</div>'+ + '</div>'; + _html+=h; + _html+='</li>'; + } + page(data.taskPage.totalPage,data.taskPage.pageNumber); + $("#m_choice_page").show(); + }else{ + _html="<tr><td colspan='6' style='text-align:center;font-weight:500;padding-top:27px;position:initial;'>当前没有检索到任何相关信息</td>" + $("#m_choice_page").hide(); + } + $("#data").html(_html); + monitor(); + } + }) +} + +const page = (total, index) => { + laypage({ + cont: 'm_choice_page', //容器。值支持id名、原生dom对象,jquery对象。【如该容器为】:<div id="page1"></div> + pages: total||1, //通过后台拿到的总页数 + curr: index || 1, //当前页 + jump: function (obj, first) { //触发分页后的回调 + if (!first) { //点击跳页触发函数自身,并传递当前页:obj.curr + load(obj.curr); + } + } + }); } \ No newline at end of file