天天看點

基于java的校園活動管理小程式一、整體目錄(示範):二、運作截圖三、代碼部分(示範):四、資料庫表(示範):資料庫表有注釋,可以導出資料字典及更新資料庫時間,歡迎交流學習五、主要技術介紹:六、項目調試學習(點選檢視)七、項目交流

目錄

一、整體目錄(示範):

文檔含項目技術介紹、E-R圖、資料字典、項目功能介紹與截圖等

二、運作截圖

三、代碼部分(示範):

四、資料庫表(示範):

       資料庫表有注釋,可以導出資料字典及更新資料庫時間,歡迎交流學習

五、主要技術介紹:

六、項目調試學習(點選檢視)

七、項目交流

一、整體目錄(示範):

文檔含項目技術介紹、E-R圖、資料字典、項目功能介紹與截圖等

二、運作截圖

基于java的校園活動管理小程式一、整體目錄(示範):二、運作截圖三、代碼部分(示範):四、資料庫表(示範):資料庫表有注釋,可以導出資料字典及更新資料庫時間,歡迎交流學習五、主要技術介紹:六、項目調試學習(點選檢視)七、項目交流
基于java的校園活動管理小程式一、整體目錄(示範):二、運作截圖三、代碼部分(示範):四、資料庫表(示範):資料庫表有注釋,可以導出資料字典及更新資料庫時間,歡迎交流學習五、主要技術介紹:六、項目調試學習(點選檢視)七、項目交流
基于java的校園活動管理小程式一、整體目錄(示範):二、運作截圖三、代碼部分(示範):四、資料庫表(示範):資料庫表有注釋,可以導出資料字典及更新資料庫時間,歡迎交流學習五、主要技術介紹:六、項目調試學習(點選檢視)七、項目交流

三、代碼部分(示範):

商品推薦、内容推薦算法

/**
     * 前端智能排序
     */
	@IgnoreAuth
    @RequestMapping("/autoSort")
    public R autoSort(@RequestParam Map<String, Object> params,NaichashangpinEntity naichashangpin, HttpServletRequest request,String pre){
        EntityWrapper<NaichashangpinEntity> ew = new EntityWrapper<NaichashangpinEntity>();
        Map<String, Object> newMap = new HashMap<String, Object>();
        Map<String, Object> param = new HashMap<String, Object>();
		Iterator<Map.Entry<String, Object>> it = param.entrySet().iterator();
		while (it.hasNext()) {
			Map.Entry<String, Object> entry = it.next();
			String key = entry.getKey();
			String newKey = entry.getKey();
			if (pre.endsWith(".")) {
				newMap.put(pre + newKey, entry.getValue());
			} else if (StringUtils.isEmpty(pre)) {
				newMap.put(newKey, entry.getValue());
			} else {
				newMap.put(pre + "." + newKey, entry.getValue());
			}
		}
		params.put("sort", "clicknum");
        
        params.put("order", "desc");
		PageUtils page = naichashangpinService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, naichashangpin), params), params));
        return R.ok().put("data", page);
    }


	/**
     * 協同算法(按使用者購買推薦)
     */
    @RequestMapping("/autoSort2")
    public R autoSort2(@RequestParam Map<String, Object> params,NaichashangpinEntity naichashangpin, HttpServletRequest request){
    	String userId = request.getSession().getAttribute("userId").toString();
    	String goodtypeColumn = "naichafenlei";
    	List<OrdersEntity> orders = ordersService.selectList(new EntityWrapper<OrdersEntity>().eq("userid", userId).eq("tablename", "naichashangpin").orderBy("addtime", false));
        List<String> goodtypes = new ArrayList<String>();
    	Integer limit = params.get("limit")==null?10:Integer.parseInt(params.get("limit").toString());
    	List<NaichashangpinEntity> naichashangpinList = new ArrayList<NaichashangpinEntity>();
	//去重
    	List<OrdersEntity> ordersDist = new ArrayList<OrdersEntity>();
    	for(OrdersEntity o1 : orders) {
    		boolean addFlag = true;
    		for(OrdersEntity o2 : ordersDist) {
    			if(o1.getGoodid()==o2.getGoodid() || o1.getGoodtype().equals(o2.getGoodtype())) {
    				addFlag = false;
    				break;
    			}
    		}
    		if(addFlag) ordersDist.add(o1);
    	}
        if(ordersDist!=null && ordersDist.size()>0) {
        	for(OrdersEntity o : ordersDist) {
        		naichashangpinList.addAll(naichashangpinService.selectList(new EntityWrapper<NaichashangpinEntity>().eq(goodtypeColumn, o.getGoodtype())));
        	}
        }
    	EntityWrapper<NaichashangpinEntity> ew = new EntityWrapper<NaichashangpinEntity>();
	params.put("sort", "id");
	params.put("order", "desc");
	PageUtils page = naichashangpinService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, naichashangpin), params), params));
        List<NaichashangpinEntity> pageList = (List<NaichashangpinEntity>)page.getList();
        if(naichashangpinList.size()<limit) {
        	int toAddNum = (limit-naichashangpinList.size())<=pageList.size()?(limit-naichashangpinList.size()):pageList.size();
            for(NaichashangpinEntity o1 : pageList) {
                boolean addFlag = true;
                for(NaichashangpinEntity o2 : naichashangpinList) {
                    if(o1.getId().intValue()==o2.getId().intValue()) {
                        addFlag = false;
                        break;
                    }
                }
                if(addFlag) {
                    naichashangpinList.add(o1);
                    if(--toAddNum==0) break;
                }
            }
        }
        page.setList(naichashangpinList);
	return R.ok().put("data", page);
    }
           

資料庫配置連接配接

validationQuery=SELECT 1

jdbc_url=jdbc:mysql://127.0.0.1:3306/ssmt375d?useUnicode=true&characterEncoding=UTF-8&tinyInt1isBit=false
jdbc_username=root
jdbc_password=123456

#jdbc_url=jdbc:sqlserver://127.0.0.1:1433;DatabaseName=ssmt375d
#jdbc_username=sa
#jdbc_password=123456
           

四、資料庫表(示範):

資料庫表有注釋,可以導出資料字典及更新資料庫時間,歡迎交流學習

基于java的校園活動管理小程式一、整體目錄(示範):二、運作截圖三、代碼部分(示範):四、資料庫表(示範):資料庫表有注釋,可以導出資料字典及更新資料庫時間,歡迎交流學習五、主要技術介紹:六、項目調試學習(點選檢視)七、項目交流

五、主要技術介紹:

項目技術開發文檔

1.架構說明:

uni-app 是一個使用 Vue.js 開發所有前端應用的架構,開發者編寫一套代碼,可釋出到iOS、Android、Web(響應式)、以及各種小程式(微信/支付寶/百度/頭條/飛書/QQ/快手/釘釘/淘寶)、快應用等多個平台。

DCloud公司擁有900萬開發者、數百萬應用、12億手機端月活使用者、數千款uni-app插件、70+微信/qq群。阿裡小程式工具官方内置uni-app,騰訊課堂官方為uni-app錄制教育訓練課程,開發者可以放心選擇。

2.架構優勢:

uni-app在開發者數量、案例、跨端抹平度、擴充靈活性、性能體驗、周邊生态、學習成本、開發成本等8大關鍵名額上擁有更強的優勢。

2.1開發者/案例數量更多

數百萬應用、uni統計月活12億、70+微信/qq群、更高的百度指數。跨端完善度更高,真正落地的提高生産力

2.2平台能力不受限

在跨端的同時,通過條件編譯+平台特有API調用,可以優雅的為某平台寫個性化代碼,調用專有能力而不影響其他平台。支援原生代碼混寫和原生sdk內建。

2.3性能體驗優秀

加載新頁面速度更快、自動diff更新資料。App端支援原生渲染,可支撐更流暢的使用者體驗。小程式端的性能優于市場其他架構。

2.4周邊生态豐富

插件市場數千款插件。支援NPM、支援小程式元件和SDK。微信生态的各種sdk可直接用于跨平台App。

2.5學習成本低

基于通用的前端技術棧,采用vue文法+微信小程式api,無額外學習成本。

2.6開發成本低

不止開發成本,招聘、管理、測試各方面成本都大幅下降。HBuilderX是高效開發神器,熟練掌握後研發效率至少翻倍(即便隻開發一個平台)。

3.運作環境

運作uni-app項目需要安裝HBuilderX前端開發工具。

浏覽器運作:進入uniapp項目,點選工具欄的運作-運作到浏覽器-選擇浏覽器,即可在浏覽器裡面體驗uni-app 的 H5 版。

真機運作:連接配接手機,開啟USB調試,進入uniapp項目,點選工具欄的運作-真機運作-選擇運作的裝置,即可在該裝置裡面體驗uni-app。

在微信開發者工具裡運作:進入uniapp項目,點選工具欄的運作-運作到小程式模拟器-微信開發者工具,即可在微信開發者工具裡面體驗uni-app。

4.主要功能

uni-app實作了一套代碼,同時運作到多個平台一套代碼,同時運作到iOS模拟器、Android模拟器、H5、微信開發者工具、支付寶小程式Studio、百度開發者工具、位元組跳動開發者工具、QQ開發者工具(底部8個終端頁籤代表8個終端模拟器。

六、項目調試學習(點選檢視)

七、項目交流